- Added endpoints for church career functionalities including overview, available positions, application submission, and application decision-making. - Enhanced the FalukantController to handle church-related requests. - Updated associations and models to support church office types and requirements. - Integrated new routes in the falukantRouter for church career operations. - Implemented service methods for managing church applications and checking church career status. - Updated frontend components to display current positions, available positions, and manage applications with appropriate UI elements and loading states. - Localized new church-related strings in both English and German.
48 lines
1008 B
JavaScript
48 lines
1008 B
JavaScript
import { Model, DataTypes } from 'sequelize';
|
|
import { sequelize } from '../../../utils/sequelize.js';
|
|
|
|
class ChurchApplication extends Model {}
|
|
|
|
ChurchApplication.init({
|
|
id: {
|
|
type: DataTypes.INTEGER,
|
|
primaryKey: true,
|
|
autoIncrement: true
|
|
},
|
|
officeTypeId: {
|
|
type: DataTypes.INTEGER,
|
|
allowNull: false
|
|
},
|
|
characterId: {
|
|
type: DataTypes.INTEGER,
|
|
allowNull: false
|
|
},
|
|
regionId: {
|
|
type: DataTypes.INTEGER,
|
|
allowNull: false
|
|
},
|
|
supervisorId: {
|
|
type: DataTypes.INTEGER,
|
|
allowNull: false,
|
|
comment: 'ID des Vorgesetzten, der über die Bewerbung entscheidet'
|
|
},
|
|
status: {
|
|
type: DataTypes.ENUM('pending', 'approved', 'rejected'),
|
|
allowNull: false,
|
|
defaultValue: 'pending'
|
|
},
|
|
decisionDate: {
|
|
type: DataTypes.DATE,
|
|
allowNull: true
|
|
}
|
|
}, {
|
|
sequelize,
|
|
modelName: 'ChurchApplication',
|
|
tableName: 'church_application',
|
|
schema: 'falukant_data',
|
|
timestamps: true,
|
|
underscored: true
|
|
});
|
|
|
|
export default ChurchApplication;
|