@kidemy/lib 0.0.2 → 1.0.1
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/index.js +7 -23
- package/dist/index.js.map +1 -1
- package/dist/model/account.dto.js +14 -17
- package/dist/model/account.dto.js.map +1 -1
- package/dist/model/assignment.dto.d.ts +0 -1
- package/dist/model/assignment.dto.js +43 -50
- package/dist/model/assignment.dto.js.map +1 -1
- package/dist/model/assignment.model.js +18 -21
- package/dist/model/assignment.model.js.map +1 -1
- package/dist/model/auth.dto.js +36 -39
- package/dist/model/auth.dto.js.map +1 -1
- package/dist/model/model.js +2 -5
- package/dist/model/model.js.map +1 -1
- package/dist/model/user.dto.js +21 -24
- package/dist/model/user.dto.js.map +1 -1
- package/dist/model/utility.js +3 -6
- package/dist/model/utility.js.map +1 -1
- package/dist/tests/account.dto.spec.js +18 -20
- package/dist/tests/account.dto.spec.js.map +1 -1
- package/dist/tests/assignment.dto.spec.js +27 -69
- package/dist/tests/assignment.dto.spec.js.map +1 -1
- package/dist/tests/auth.dto.spec.js +40 -42
- package/dist/tests/auth.dto.spec.js.map +1 -1
- package/dist/tests/model.spec.js +50 -52
- package/dist/tests/model.spec.js.map +1 -1
- package/dist/tests/user.dto.spec.js +30 -32
- package/dist/tests/user.dto.spec.js.map +1 -1
- package/dist/tests/utility.spec.js +48 -50
- package/dist/tests/utility.spec.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -1
package/dist/index.js
CHANGED
|
@@ -1,24 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./model/account.dto"), exports);
|
|
18
|
-
__exportStar(require("./model/assignment.dto"), exports);
|
|
19
|
-
__exportStar(require("./model/auth.dto"), exports);
|
|
20
|
-
__exportStar(require("./model/user.dto"), exports);
|
|
21
|
-
__exportStar(require("./model/model"), exports);
|
|
22
|
-
__exportStar(require("./model/assignment.model"), exports);
|
|
23
|
-
__exportStar(require("./model/utility"), exports);
|
|
1
|
+
export * from './model/account.dto';
|
|
2
|
+
export * from './model/assignment.dto';
|
|
3
|
+
export * from './model/auth.dto';
|
|
4
|
+
export * from './model/user.dto';
|
|
5
|
+
export * from './model/model';
|
|
6
|
+
export * from './model/assignment.model';
|
|
7
|
+
export * from './model/utility';
|
|
24
8
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC"}
|
|
@@ -1,26 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
language: zod_1.z.string(),
|
|
13
|
-
createdAt: zod_1.z.date(),
|
|
14
|
-
updatedAt: zod_1.z.date(),
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ActivationStatus } from './model';
|
|
3
|
+
import { createZodEnum } from './utility';
|
|
4
|
+
export const AccountDtoSchema = z.object({
|
|
5
|
+
id: z.uuid(),
|
|
6
|
+
name: z.string(),
|
|
7
|
+
createdByUserId: z.uuid(),
|
|
8
|
+
status: createZodEnum(ActivationStatus),
|
|
9
|
+
language: z.string(),
|
|
10
|
+
createdAt: z.date(),
|
|
11
|
+
updatedAt: z.date(),
|
|
15
12
|
});
|
|
16
|
-
|
|
13
|
+
export const UpdateAccountDtoSchema = z
|
|
17
14
|
.object({
|
|
18
|
-
name:
|
|
15
|
+
name: z
|
|
19
16
|
.string()
|
|
20
17
|
.min(3, 'Name is required')
|
|
21
18
|
.max(255, 'Name must be less than 255 characters')
|
|
22
19
|
.optional(),
|
|
23
|
-
language:
|
|
20
|
+
language: z
|
|
24
21
|
.string()
|
|
25
22
|
.min(2, 'Language must be at least 2 characters')
|
|
26
23
|
.max(10, 'Language must be less than 10 characters')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account.dto.js","sourceRoot":"","sources":["../../src/model/account.dto.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"account.dto.js","sourceRoot":"","sources":["../../src/model/account.dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;IACZ,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,eAAe,EAAE,CAAC,CAAC,IAAI,EAAE;IACzB,MAAM,EAAE,aAAa,CAAC,gBAAgB,CAAC;IACvC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;IACnB,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;CACpB,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,MAAM,CAAC;IACN,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,kBAAkB,CAAC;SAC1B,GAAG,CAAC,GAAG,EAAE,uCAAuC,CAAC;SACjD,QAAQ,EAAE;IACb,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,wCAAwC,CAAC;SAChD,GAAG,CAAC,EAAE,EAAE,0CAA0C,CAAC;SACnD,QAAQ,EAAE;CACd,CAAC;KACD,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EACtC,gDAAgD,CACjD,CAAC"}
|
|
@@ -1,60 +1,53 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
exports.CreateAssignmentDtoSchema = zod_1.z.object({
|
|
7
|
-
assigneeId: zod_1.z.uuid('Invalid assignee ID format'),
|
|
8
|
-
title: zod_1.z
|
|
9
|
-
.string()
|
|
10
|
-
.min(1, 'Title is required')
|
|
11
|
-
.max(255, 'Title must be less than 255 characters'),
|
|
12
|
-
prompt: zod_1.z
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { AssignmentAnswerSchema, AssignmentSchema, } from './assignment.model';
|
|
3
|
+
export const CreateAssignmentDtoSchema = z.object({
|
|
4
|
+
assigneeId: z.uuid('Invalid assignee ID format'),
|
|
5
|
+
prompt: z
|
|
13
6
|
.string()
|
|
14
7
|
.min(1, 'Prompt is required')
|
|
15
8
|
.max(10000, 'Prompt must be less than 10000 characters'),
|
|
16
9
|
});
|
|
17
|
-
|
|
18
|
-
id:
|
|
19
|
-
accountId:
|
|
20
|
-
createdByUserId:
|
|
21
|
-
assigneeId:
|
|
22
|
-
title:
|
|
23
|
-
prompt:
|
|
24
|
-
assignment:
|
|
25
|
-
answers:
|
|
10
|
+
export const AssignmentDtoSchema = z.object({
|
|
11
|
+
id: z.uuid(),
|
|
12
|
+
accountId: z.uuid(),
|
|
13
|
+
createdByUserId: z.uuid(),
|
|
14
|
+
assigneeId: z.uuid(),
|
|
15
|
+
title: z.string(),
|
|
16
|
+
prompt: z.string(),
|
|
17
|
+
assignment: AssignmentSchema,
|
|
18
|
+
answers: z
|
|
26
19
|
.object({
|
|
27
|
-
answers:
|
|
20
|
+
answers: z.array(AssignmentAnswerSchema),
|
|
28
21
|
})
|
|
29
22
|
.nullable(),
|
|
30
|
-
submittedAt:
|
|
31
|
-
createdAt:
|
|
32
|
-
updatedAt:
|
|
23
|
+
submittedAt: z.date().nullable(),
|
|
24
|
+
createdAt: z.date(),
|
|
25
|
+
updatedAt: z.date(),
|
|
33
26
|
});
|
|
34
|
-
|
|
35
|
-
page:
|
|
27
|
+
export const GetAssignmentsQueryDtoSchema = z.object({
|
|
28
|
+
page: z
|
|
36
29
|
.string()
|
|
37
30
|
.optional()
|
|
38
31
|
.transform((val) => (val ? parseInt(val, 10) : 1))
|
|
39
32
|
.refine((val) => val > 0, 'Page must be greater than 0'),
|
|
40
|
-
limit:
|
|
33
|
+
limit: z
|
|
41
34
|
.string()
|
|
42
35
|
.optional()
|
|
43
36
|
.transform((val) => (val ? parseInt(val, 10) : 10))
|
|
44
37
|
.refine((val) => val > 0 && val <= 100, 'Limit must be between 1 and 100'),
|
|
45
|
-
sortBy:
|
|
38
|
+
sortBy: z
|
|
46
39
|
.enum(['createdAt', 'updatedAt', 'submittedAt'])
|
|
47
40
|
.optional()
|
|
48
41
|
.default('createdAt'),
|
|
49
|
-
sortOrder:
|
|
50
|
-
assigneeId:
|
|
51
|
-
createdByUserId:
|
|
52
|
-
title:
|
|
42
|
+
sortOrder: z.enum(['asc', 'desc']).optional().default('desc'),
|
|
43
|
+
assigneeId: z.uuid('Invalid assignee ID format').optional(),
|
|
44
|
+
createdByUserId: z.uuid('Invalid creator ID format').optional(),
|
|
45
|
+
title: z
|
|
53
46
|
.string()
|
|
54
47
|
.min(1, 'Title search term cannot be empty')
|
|
55
48
|
.max(255, 'Title search term too long')
|
|
56
49
|
.optional(),
|
|
57
|
-
hasAnswers:
|
|
50
|
+
hasAnswers: z
|
|
58
51
|
.string()
|
|
59
52
|
.optional()
|
|
60
53
|
.transform((val) => {
|
|
@@ -64,44 +57,44 @@ exports.GetAssignmentsQueryDtoSchema = zod_1.z.object({
|
|
|
64
57
|
return false;
|
|
65
58
|
return undefined;
|
|
66
59
|
}),
|
|
67
|
-
createdAtFrom:
|
|
60
|
+
createdAtFrom: z
|
|
68
61
|
.string()
|
|
69
62
|
.optional()
|
|
70
63
|
.transform((val) => (val ? new Date(val) : undefined)),
|
|
71
|
-
createdAtTo:
|
|
64
|
+
createdAtTo: z
|
|
72
65
|
.string()
|
|
73
66
|
.optional()
|
|
74
67
|
.transform((val) => (val ? new Date(val) : undefined)),
|
|
75
|
-
submittedAtFrom:
|
|
68
|
+
submittedAtFrom: z
|
|
76
69
|
.string()
|
|
77
70
|
.optional()
|
|
78
71
|
.transform((val) => (val ? new Date(val) : undefined)),
|
|
79
|
-
submittedAtTo:
|
|
72
|
+
submittedAtTo: z
|
|
80
73
|
.string()
|
|
81
74
|
.optional()
|
|
82
75
|
.transform((val) => (val ? new Date(val) : undefined)),
|
|
83
76
|
});
|
|
84
|
-
|
|
85
|
-
assignments:
|
|
86
|
-
pagination:
|
|
87
|
-
page:
|
|
88
|
-
limit:
|
|
77
|
+
export const PaginatedAssignmentsDtoSchema = z.object({
|
|
78
|
+
assignments: z.array(AssignmentDtoSchema),
|
|
79
|
+
pagination: z.object({
|
|
80
|
+
page: z.number(),
|
|
81
|
+
limit: z.number(),
|
|
89
82
|
}),
|
|
90
83
|
});
|
|
91
|
-
|
|
92
|
-
answers:
|
|
93
|
-
.array(
|
|
84
|
+
export const AssignmentAnswerDtoSchema = z.object({
|
|
85
|
+
answers: z
|
|
86
|
+
.array(AssignmentAnswerSchema)
|
|
94
87
|
.min(1, 'At least one answer is required'),
|
|
95
88
|
});
|
|
96
|
-
|
|
89
|
+
export const UpdateAssignmentDtoSchema = z
|
|
97
90
|
.object({
|
|
98
|
-
assigneeId:
|
|
99
|
-
title:
|
|
91
|
+
assigneeId: z.uuid('Invalid assignee ID format').optional(),
|
|
92
|
+
title: z
|
|
100
93
|
.string()
|
|
101
94
|
.min(1, 'Title is required')
|
|
102
95
|
.max(255, 'Title must be less than 255 characters')
|
|
103
96
|
.optional(),
|
|
104
|
-
assignment:
|
|
97
|
+
assignment: AssignmentSchema.optional(),
|
|
105
98
|
})
|
|
106
99
|
.refine((data) => Object.keys(data).length > 0, 'At least one field must be provided for update');
|
|
107
100
|
//# sourceMappingURL=assignment.dto.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assignment.dto.js","sourceRoot":"","sources":["../../src/model/assignment.dto.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"assignment.dto.js","sourceRoot":"","sources":["../../src/model/assignment.dto.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,30 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
answers: zod_1.z.array(zod_1.z.string()).describe('The answers of the question'),
|
|
9
|
-
correctAnswerIndex: zod_1.z.number().describe('The index of the correct answer'),
|
|
10
|
-
answerExplanation: zod_1.z.string().describe('The explanation of the answer'),
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const AssignmentQuestionSchema = z.object({
|
|
3
|
+
id: z.string().describe('The unique identifier of the question'),
|
|
4
|
+
content: z.string().describe('The content of the question'),
|
|
5
|
+
answers: z.array(z.string()).describe('The answers of the question'),
|
|
6
|
+
correctAnswerIndex: z.number().describe('The index of the correct answer'),
|
|
7
|
+
answerExplanation: z.string().describe('The explanation of the answer'),
|
|
11
8
|
});
|
|
12
|
-
|
|
13
|
-
title:
|
|
14
|
-
content:
|
|
15
|
-
questions:
|
|
16
|
-
.array(
|
|
9
|
+
export const AssignmentSchema = z.object({
|
|
10
|
+
title: z.string().describe('The title of the assignment'),
|
|
11
|
+
content: z.string().describe('The content of the assignment'),
|
|
12
|
+
questions: z
|
|
13
|
+
.array(AssignmentQuestionSchema)
|
|
17
14
|
.describe('The questions of the assignment'),
|
|
18
15
|
});
|
|
19
|
-
|
|
20
|
-
questionId:
|
|
16
|
+
export const AssignmentAnswerSchema = z.object({
|
|
17
|
+
questionId: z
|
|
21
18
|
.string()
|
|
22
19
|
.describe('The unique identifier of the question being answered'),
|
|
23
|
-
answerIndex:
|
|
20
|
+
answerIndex: z.number().describe('The index of the correct answer'),
|
|
24
21
|
});
|
|
25
|
-
|
|
26
|
-
answers:
|
|
27
|
-
.array(
|
|
22
|
+
export const AssignmentAnswersSchema = z.object({
|
|
23
|
+
answers: z
|
|
24
|
+
.array(AssignmentAnswerSchema)
|
|
28
25
|
.min(1, 'At least one answer is required'),
|
|
29
26
|
});
|
|
30
27
|
//# sourceMappingURL=assignment.model.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assignment.model.js","sourceRoot":"","sources":["../../src/model/assignment.model.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"assignment.model.js","sourceRoot":"","sources":["../../src/model/assignment.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IAChE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC3D,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IACpE,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAC1E,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;CACxE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IACzD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC7D,SAAS,EAAE,CAAC;SACT,KAAK,CAAC,wBAAwB,CAAC;SAC/B,QAAQ,CAAC,iCAAiC,CAAC;CAC/C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,CAAC,sDAAsD,CAAC;IACnE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;CACpE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,OAAO,EAAE,CAAC;SACP,KAAK,CAAC,sBAAsB,CAAC;SAC7B,GAAG,CAAC,CAAC,EAAE,iCAAiC,CAAC;CAC7C,CAAC,CAAC"}
|
package/dist/model/auth.dto.js
CHANGED
|
@@ -1,71 +1,68 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
exports.CreateAccountUserDtoSchema = zod_1.z.object({
|
|
8
|
-
account: zod_1.z.object({
|
|
9
|
-
name: zod_1.z
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ActivationStatus, UserRole } from './model';
|
|
3
|
+
import { createZodEnum } from './utility';
|
|
4
|
+
export const CreateAccountUserDtoSchema = z.object({
|
|
5
|
+
account: z.object({
|
|
6
|
+
name: z
|
|
10
7
|
.string()
|
|
11
8
|
.min(1, 'Account name is required')
|
|
12
9
|
.max(255, 'Account name must be less than 255 characters'),
|
|
13
10
|
}),
|
|
14
|
-
user:
|
|
15
|
-
firstName:
|
|
11
|
+
user: z.object({
|
|
12
|
+
firstName: z
|
|
16
13
|
.string()
|
|
17
14
|
.min(1, 'First name is required')
|
|
18
15
|
.max(255, 'First name must be less than 255 characters'),
|
|
19
|
-
lastName:
|
|
16
|
+
lastName: z
|
|
20
17
|
.string()
|
|
21
18
|
.min(1, 'Last name is required')
|
|
22
19
|
.max(255, 'Last name must be less than 255 characters'),
|
|
23
|
-
email:
|
|
20
|
+
email: z
|
|
24
21
|
.email('Invalid email format')
|
|
25
22
|
.max(255, 'Email must be less than 255 characters'),
|
|
26
|
-
username:
|
|
23
|
+
username: z
|
|
27
24
|
.string()
|
|
28
25
|
.min(1, 'Username is required')
|
|
29
26
|
.max(255, 'Username must be less than 255 characters'),
|
|
30
|
-
password:
|
|
27
|
+
password: z
|
|
31
28
|
.string()
|
|
32
29
|
.min(6, 'Password must be at least 6 characters')
|
|
33
30
|
.max(255, 'Password must be less than 255 characters'),
|
|
34
|
-
birthdate:
|
|
31
|
+
birthdate: z
|
|
35
32
|
.string()
|
|
36
33
|
.optional()
|
|
37
34
|
.transform((val) => (val ? new Date(val) : undefined)),
|
|
38
35
|
}),
|
|
39
36
|
});
|
|
40
|
-
|
|
41
|
-
account:
|
|
42
|
-
id:
|
|
43
|
-
name:
|
|
44
|
-
status:
|
|
45
|
-
createdAt:
|
|
46
|
-
updatedAt:
|
|
37
|
+
export const CreateAccountUserResponseSchema = z.object({
|
|
38
|
+
account: z.object({
|
|
39
|
+
id: z.uuid(),
|
|
40
|
+
name: z.string(),
|
|
41
|
+
status: createZodEnum(ActivationStatus),
|
|
42
|
+
createdAt: z.date(),
|
|
43
|
+
updatedAt: z.date(),
|
|
47
44
|
}),
|
|
48
|
-
user:
|
|
49
|
-
id:
|
|
50
|
-
accountId:
|
|
51
|
-
firstName:
|
|
52
|
-
lastName:
|
|
53
|
-
email:
|
|
54
|
-
username:
|
|
55
|
-
role:
|
|
56
|
-
status:
|
|
57
|
-
createdAt:
|
|
58
|
-
updatedAt:
|
|
45
|
+
user: z.object({
|
|
46
|
+
id: z.uuid(),
|
|
47
|
+
accountId: z.uuid(),
|
|
48
|
+
firstName: z.string(),
|
|
49
|
+
lastName: z.string(),
|
|
50
|
+
email: z.string(),
|
|
51
|
+
username: z.string(),
|
|
52
|
+
role: createZodEnum(UserRole),
|
|
53
|
+
status: createZodEnum(ActivationStatus),
|
|
54
|
+
createdAt: z.date(),
|
|
55
|
+
updatedAt: z.date(),
|
|
59
56
|
}),
|
|
60
57
|
});
|
|
61
|
-
|
|
62
|
-
emailOrUsername:
|
|
58
|
+
export const LoginDtoSchema = z.object({
|
|
59
|
+
emailOrUsername: z
|
|
63
60
|
.string()
|
|
64
61
|
.min(1, 'Email or username is required')
|
|
65
62
|
.max(255, 'Email or username must be less than 255 characters'),
|
|
66
|
-
password:
|
|
63
|
+
password: z.string('Password must be provided'),
|
|
67
64
|
});
|
|
68
|
-
|
|
69
|
-
token:
|
|
65
|
+
export const LoginResponseSchema = z.object({
|
|
66
|
+
token: z.string(),
|
|
70
67
|
});
|
|
71
68
|
//# sourceMappingURL=auth.dto.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.dto.js","sourceRoot":"","sources":["../../src/model/auth.dto.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth.dto.js","sourceRoot":"","sources":["../../src/model/auth.dto.ts"],"names":[],"mappings":"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"}
|
package/dist/model/model.js
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ActivationStatus = exports.UserRole = void 0;
|
|
4
|
-
exports.UserRole = {
|
|
1
|
+
export const UserRole = {
|
|
5
2
|
OWNER: 'owner',
|
|
6
3
|
PARENT: 'parent',
|
|
7
4
|
CHILD: 'child',
|
|
8
5
|
};
|
|
9
|
-
|
|
6
|
+
export const ActivationStatus = {
|
|
10
7
|
ACTIVE: 'active',
|
|
11
8
|
DISABLED: 'disabled',
|
|
12
9
|
};
|
package/dist/model/model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/model/model.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/model/model.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACN,CAAC;AAIX,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;CACZ,CAAC"}
|
package/dist/model/user.dto.js
CHANGED
|
@@ -1,31 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
status: (0, utility_1.createZodEnum)(model_1.ActivationStatus),
|
|
15
|
-
createdAt: zod_1.z.date(),
|
|
16
|
-
updatedAt: zod_1.z.date(),
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ActivationStatus, UserRole } from './model';
|
|
3
|
+
import { createZodEnum } from './utility';
|
|
4
|
+
export const UserDtoSchema = z.object({
|
|
5
|
+
id: z.uuid(),
|
|
6
|
+
firstName: z.string(),
|
|
7
|
+
lastName: z.string(),
|
|
8
|
+
email: z.email().optional(),
|
|
9
|
+
username: z.string(),
|
|
10
|
+
role: createZodEnum(UserRole),
|
|
11
|
+
status: createZodEnum(ActivationStatus),
|
|
12
|
+
createdAt: z.date(),
|
|
13
|
+
updatedAt: z.date(),
|
|
17
14
|
});
|
|
18
|
-
|
|
19
|
-
firstName:
|
|
20
|
-
lastName:
|
|
21
|
-
username:
|
|
22
|
-
password:
|
|
23
|
-
birthdate:
|
|
15
|
+
export const CreateChildUserDtoSchema = z.object({
|
|
16
|
+
firstName: z.string().min(1, 'First name is required'),
|
|
17
|
+
lastName: z.string().min(1, 'Last name is required'),
|
|
18
|
+
username: z.string().min(3, 'Username is required'),
|
|
19
|
+
password: z.string().length(4, 'Password must be exactly 4 characters'),
|
|
20
|
+
birthdate: z
|
|
24
21
|
.string()
|
|
25
22
|
.optional()
|
|
26
23
|
.transform((val) => (val ? new Date(val) : undefined)),
|
|
27
24
|
});
|
|
28
|
-
|
|
29
|
-
users:
|
|
25
|
+
export const AccountUsersDtoSchema = z.object({
|
|
26
|
+
users: z.array(UserDtoSchema),
|
|
30
27
|
});
|
|
31
28
|
//# sourceMappingURL=user.dto.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.dto.js","sourceRoot":"","sources":["../../src/model/user.dto.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"user.dto.js","sourceRoot":"","sources":["../../src/model/user.dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;IACZ,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;IAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC;IAC7B,MAAM,EAAE,aAAa,CAAC,gBAAgB,CAAC;IACvC,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;IACnB,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;CACpB,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,wBAAwB,CAAC;IACtD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,uBAAuB,CAAC;IACpD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC;IACnD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,uCAAuC,CAAC;IACvE,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;CACzD,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC;CAC9B,CAAC,CAAC"}
|
package/dist/model/utility.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const zod_1 = require("zod");
|
|
5
|
-
function createZodEnum(enumObject) {
|
|
6
|
-
return zod_1.z.enum(Object.values(enumObject));
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export function createZodEnum(enumObject) {
|
|
3
|
+
return z.enum(Object.values(enumObject));
|
|
7
4
|
}
|
|
8
5
|
//# sourceMappingURL=utility.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utility.js","sourceRoot":"","sources":["../../src/model/utility.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utility.js","sourceRoot":"","sources":["../../src/model/utility.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,UAAU,aAAa,CAAmC,UAAa;IAC3E,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAA0B,CAAC,CAAC;AACpE,CAAC"}
|