@dirayaah/assessment-module 1.0.3 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/dto/assessment-response.dto.d.ts +3 -1
- package/dist/src/dto/assessment-response.dto.js +1 -5
- package/dist/src/dto/assessment-response.dto.js.map +1 -1
- package/dist/src/dto/assessment.dto.d.ts +2 -0
- package/dist/src/dto/assessment.dto.js +6 -0
- package/dist/src/dto/assessment.dto.js.map +1 -1
- package/dist/src/entities/assessment-response.entity.d.ts +2 -2
- package/dist/src/entities/assessment-response.entity.js +3 -3
- package/dist/src/entities/assessment-response.entity.js.map +1 -1
- package/dist/src/entities/assessment.entity.d.ts +1 -1
- package/dist/src/entities/assessment.entity.js +0 -1
- package/dist/src/entities/assessment.entity.js.map +1 -1
- package/dist/src/migrations/1769428739895-CreateAssessmentResponseTable.d.ts +1 -1
- package/dist/src/migrations/1769428739895-CreateAssessmentResponseTable.js +20 -10
- package/dist/src/migrations/1769428739895-CreateAssessmentResponseTable.js.map +1 -1
- package/dist/src/migrations/index.d.ts +2 -1
- package/dist/src/migrations/index.js +4 -1
- package/dist/src/migrations/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/dto/assessment-response.dto.ts +5 -12
- package/src/dto/assessment.dto.ts +6 -0
- package/src/entities/assessment-response.entity.ts +5 -5
- package/src/entities/assessment.entity.ts +1 -2
- package/src/migrations/1769428739895-CreateAssessmentResponseTable.ts +21 -15
- package/src/migrations/index.ts +3 -0
package/package.json
CHANGED
|
@@ -1,29 +1,22 @@
|
|
|
1
1
|
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
|
|
2
|
-
import {
|
|
3
|
-
IsNumber,
|
|
4
|
-
IsOptional,
|
|
5
|
-
IsString,
|
|
6
|
-
IsNotEmpty,
|
|
7
|
-
IsObject,
|
|
8
|
-
} from 'class-validator';
|
|
2
|
+
import { IsNumber, IsNotEmpty, IsObject } from 'class-validator';
|
|
9
3
|
import { BaseDTO } from './base.dto';
|
|
4
|
+
import { AssessmentDto } from './assessment.dto';
|
|
10
5
|
|
|
11
6
|
export class AssessmentResponseDto extends BaseDTO {
|
|
12
7
|
@ApiProperty({ example: 5 })
|
|
13
|
-
@IsNumber()
|
|
14
|
-
@IsNotEmpty()
|
|
15
8
|
userId: number;
|
|
16
9
|
|
|
17
10
|
@ApiProperty({ example: 5 })
|
|
18
11
|
@IsNumber()
|
|
19
12
|
@IsNotEmpty()
|
|
20
|
-
assessmentId:
|
|
13
|
+
assessmentId: number;
|
|
21
14
|
|
|
22
15
|
@ApiPropertyOptional({
|
|
23
16
|
example: { duration: 60, language: 'en' },
|
|
24
17
|
type: Object,
|
|
25
18
|
})
|
|
26
|
-
@IsNotEmpty()
|
|
27
|
-
@IsObject()
|
|
28
19
|
response: Record<string, any>;
|
|
20
|
+
|
|
21
|
+
assessment?: AssessmentDto;
|
|
29
22
|
}
|
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
IsObject,
|
|
8
8
|
} from 'class-validator';
|
|
9
9
|
import { BaseDTO } from './base.dto';
|
|
10
|
+
import { AssessmentResponseDto } from './assessment-response.dto';
|
|
10
11
|
|
|
11
12
|
export class AssessmentDto extends BaseDTO {
|
|
12
13
|
@ApiProperty({ example: 'DISC' })
|
|
@@ -66,4 +67,9 @@ export class AssessmentDto extends BaseDTO {
|
|
|
66
67
|
@IsOptional()
|
|
67
68
|
@IsString()
|
|
68
69
|
metaDescription?: string;
|
|
70
|
+
|
|
71
|
+
@ApiPropertyOptional({ example: 'SEO meta description for the assessment' })
|
|
72
|
+
@IsOptional()
|
|
73
|
+
@IsObject()
|
|
74
|
+
responses?: AssessmentResponseDto[];
|
|
69
75
|
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { Column, Entity, ManyToOne } from 'typeorm/index.js';
|
|
1
|
+
import { Column, Entity, JoinColumn, ManyToOne } from 'typeorm/index.js';
|
|
2
2
|
import { BaseEntity } from './base.entity';
|
|
3
3
|
import { AssessmentEntity } from './assessment.entity';
|
|
4
4
|
|
|
5
5
|
@Entity('assessment_response')
|
|
6
6
|
export class AssessmentResponseEntity extends BaseEntity {
|
|
7
|
-
@Column({ nullable: false })
|
|
8
|
-
userId:
|
|
7
|
+
@Column({ nullable: false, name: 'userId' })
|
|
8
|
+
userId: number;
|
|
9
9
|
|
|
10
10
|
@ManyToOne(() => AssessmentEntity, (assessment) => assessment.responses)
|
|
11
|
-
@
|
|
12
|
-
assessment
|
|
11
|
+
@JoinColumn({ name: 'assessmentId' })
|
|
12
|
+
assessment?: AssessmentEntity;
|
|
13
13
|
|
|
14
14
|
@Column({ nullable: false, type: 'json' })
|
|
15
15
|
response: Record<string, any>;
|
|
@@ -44,6 +44,5 @@ export class AssessmentEntity extends BaseEntity {
|
|
|
44
44
|
() => AssessmentResponseEntity,
|
|
45
45
|
(assessmentResponse) => assessmentResponse.assessment,
|
|
46
46
|
)
|
|
47
|
-
|
|
48
|
-
responses: AssessmentResponseEntity[];
|
|
47
|
+
responses?: AssessmentResponseEntity[];
|
|
49
48
|
}
|
|
@@ -1,63 +1,69 @@
|
|
|
1
|
+
import { MigrationInterface, QueryRunner, Table } from 'typeorm/index.js';
|
|
1
2
|
import { baseColumns } from '../utilities/migrations/get-base-columns';
|
|
2
|
-
import {
|
|
3
|
-
MigrationInterface,
|
|
4
|
-
QueryRunner,
|
|
5
|
-
Table,
|
|
6
|
-
TableUnique,
|
|
7
|
-
} from 'typeorm/index.js';
|
|
8
3
|
|
|
9
4
|
export class CreateAssessmentResponseTable1769428739895 implements MigrationInterface {
|
|
10
|
-
private
|
|
5
|
+
private table = 'assessment_response';
|
|
6
|
+
|
|
11
7
|
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
8
|
+
console.log('EHNA HNBD2 EL MIGRATION AHU');
|
|
12
9
|
const [idColumn, ...otherBaseColumns] = baseColumns;
|
|
10
|
+
console.log('EL COLUMNS AHU', idColumn, ...otherBaseColumns);
|
|
13
11
|
await queryRunner.createTable(
|
|
14
12
|
new Table({
|
|
15
|
-
name:
|
|
13
|
+
name: this.table,
|
|
16
14
|
columns: [
|
|
17
15
|
idColumn,
|
|
18
16
|
{
|
|
19
17
|
name: 'userId',
|
|
20
|
-
type: '
|
|
18
|
+
type: 'int4',
|
|
21
19
|
isNullable: false,
|
|
22
20
|
},
|
|
23
21
|
{
|
|
24
22
|
name: 'assessmentId',
|
|
25
|
-
type: '
|
|
23
|
+
type: 'int4',
|
|
26
24
|
isNullable: false,
|
|
27
25
|
},
|
|
28
26
|
{
|
|
29
27
|
name: 'response',
|
|
30
28
|
type: 'json',
|
|
31
|
-
isNullable:
|
|
29
|
+
isNullable: false,
|
|
32
30
|
},
|
|
33
31
|
...otherBaseColumns,
|
|
34
32
|
],
|
|
35
|
-
uniques: [{ columnNames: ['userId', 'assessmentId'] }],
|
|
36
33
|
foreignKeys: [
|
|
37
34
|
{
|
|
38
35
|
columnNames: ['assessmentId'],
|
|
39
|
-
referencedTableName: 'assessment',
|
|
40
36
|
referencedColumnNames: ['id'],
|
|
37
|
+
referencedTableName: 'assessment',
|
|
41
38
|
onDelete: 'CASCADE',
|
|
42
|
-
|
|
39
|
+
name: `${this.table}_assessmentId_fk`,
|
|
43
40
|
},
|
|
44
41
|
],
|
|
45
42
|
indices: [
|
|
46
43
|
{
|
|
47
44
|
columnNames: ['assessmentId'],
|
|
45
|
+
name: `${this.table}_assessmentId_idx`,
|
|
48
46
|
isUnique: false,
|
|
49
47
|
},
|
|
50
48
|
{
|
|
51
49
|
columnNames: ['userId'],
|
|
50
|
+
name: `${this.table}_userId_idx`,
|
|
52
51
|
isUnique: false,
|
|
53
52
|
},
|
|
54
53
|
],
|
|
54
|
+
uniques: [
|
|
55
|
+
{
|
|
56
|
+
columnNames: ['assessmentId', 'userId'],
|
|
57
|
+
name: `${this.table}_assessmentId_userId_idx`,
|
|
58
|
+
},
|
|
59
|
+
],
|
|
55
60
|
}),
|
|
56
61
|
true,
|
|
57
62
|
);
|
|
63
|
+
console.log("EHNA KHLSNA L MIGRATIONS")
|
|
58
64
|
}
|
|
59
65
|
|
|
60
66
|
public async down(queryRunner: QueryRunner): Promise<void> {
|
|
61
|
-
await queryRunner.dropTable(this.
|
|
67
|
+
await queryRunner.dropTable(this.table, true, true, true);
|
|
62
68
|
}
|
|
63
69
|
}
|
package/src/migrations/index.ts
CHANGED
|
@@ -5,11 +5,13 @@ import { CreatePredefinedAssessmentTable1767200020161 } from './1767200020161-Cr
|
|
|
5
5
|
import { SeedPredefinedAssessments1767204696509 } from './1767204696509-SeedPredefinedAssessments';
|
|
6
6
|
|
|
7
7
|
import { AddMetaFieldsToAssessmentTable1767651698587 } from './1767651698587-AddMetaFieldsToAssessmentTable';
|
|
8
|
+
import { CreateAssessmentResponseTable1769428739895 } from './1769428739895-CreateAssessmentResponseTable';
|
|
8
9
|
export const AssessmentMigrations = [
|
|
9
10
|
CreateAssessmentTable1767108782301,
|
|
10
11
|
CreatePredefinedAssessmentTable1767200020161,
|
|
11
12
|
SeedPredefinedAssessments1767204696509,
|
|
12
13
|
AddMetaFieldsToAssessmentTable1767651698587,
|
|
14
|
+
CreateAssessmentResponseTable1769428739895,
|
|
13
15
|
];
|
|
14
16
|
|
|
15
17
|
export {
|
|
@@ -17,4 +19,5 @@ export {
|
|
|
17
19
|
CreatePredefinedAssessmentTable1767200020161,
|
|
18
20
|
SeedPredefinedAssessments1767204696509,
|
|
19
21
|
AddMetaFieldsToAssessmentTable1767651698587,
|
|
22
|
+
CreateAssessmentResponseTable1769428739895,
|
|
20
23
|
};
|