feat: refine admin forms, attendance and finance workflows
Squash merge PR #23. Included changes: - complete occupancy check-in required fields/default payload - improve responsive admin management pages - fix attendance edge cases and attendance period config - refine wallet/finance-related workflow handling Checks: - npm run typecheck -w apps/admin - npm run typecheck -w apps/server
This commit is contained in:
33
apps/server/src/entities/attendance-period-config.entity.ts
Normal file
33
apps/server/src/entities/attendance-period-config.entity.ts
Normal file
@@ -0,0 +1,33 @@
|
||||
import { Column, CreateDateColumn, Entity, Index, PrimaryGeneratedColumn, UpdateDateColumn } from 'typeorm';
|
||||
|
||||
@Entity('attendance_period_configs')
|
||||
@Index(['periodKey'], { unique: true })
|
||||
@Index(['sortOrder'])
|
||||
export class AttendancePeriodConfig {
|
||||
@PrimaryGeneratedColumn()
|
||||
id: number;
|
||||
|
||||
@Column({ name: 'period_key', type: 'varchar', length: 40 })
|
||||
periodKey: string;
|
||||
|
||||
@Column({ type: 'varchar', length: 40 })
|
||||
label: string;
|
||||
|
||||
@Column({ name: 'start_time', type: 'varchar', length: 5 })
|
||||
startTime: string;
|
||||
|
||||
@Column({ name: 'end_time', type: 'varchar', length: 5 })
|
||||
endTime: string;
|
||||
|
||||
@Column({ name: 'sort_order', type: 'integer', default: 0 })
|
||||
sortOrder: number;
|
||||
|
||||
@Column({ type: 'boolean', default: true })
|
||||
enabled: boolean;
|
||||
|
||||
@CreateDateColumn({ name: 'created_at' })
|
||||
createdAt: Date;
|
||||
|
||||
@UpdateDateColumn({ name: 'updated_at' })
|
||||
updatedAt: Date;
|
||||
}
|
||||
@@ -23,6 +23,7 @@ export { ClassSchedule, ScheduleType } from './class-schedule.entity';
|
||||
export { AttendanceRecord } from './attendance-record.entity';
|
||||
export { AttendanceSession } from './attendance-session.entity';
|
||||
export { AttendanceDevice, AttendanceDeviceStatus } from './attendance-device.entity';
|
||||
export { AttendancePeriodConfig } from './attendance-period-config.entity';
|
||||
export { DingAttendanceRaw } from './ding-attendance-raw.entity';
|
||||
export { SyncLog } from './sync-log.entity';
|
||||
export { SyncState } from './sync-state.entity';
|
||||
|
||||
Reference in New Issue
Block a user