feat: implement QuestionBank CRUD with pagination and template query
- Add pagination support to findAll (page, limit query params) - Add findByTemplateId method to service - Add GET /by-template/:templateId endpoint to controller - Service already includes CRUD for QuestionBank and QuestionBankItem
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
import { MigrationInterface, QueryRunner } from 'typeorm';
|
||||
|
||||
export class CreateFeishuAssessmentSessionTable1773200000001 implements MigrationInterface {
|
||||
name = 'CreateFeishuAssessmentSessionTable1773200000001';
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`
|
||||
CREATE TABLE feishu_assessment_sessions (
|
||||
id VARCHAR(36) PRIMARY KEY,
|
||||
bot_id VARCHAR(36) NOT NULL,
|
||||
open_id VARCHAR(255) NOT NULL,
|
||||
assessment_session_id VARCHAR(36) NOT NULL,
|
||||
status ENUM('active', 'completed', 'cancelled') DEFAULT 'active',
|
||||
current_question_index INT DEFAULT 0,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
INDEX idx_bot_open (bot_id, open_id),
|
||||
INDEX idx_assessment_session (assessment_session_id),
|
||||
CONSTRAINT fk_feishu_assessment_bot
|
||||
FOREIGN KEY (bot_id)
|
||||
REFERENCES feishu_bots(id)
|
||||
ON DELETE CASCADE
|
||||
);
|
||||
`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`
|
||||
DROP TABLE feishu_assessment_sessions;
|
||||
`);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user