@tietokilta/ilmomasiina-models 2.0.0-alpha2.5 → 2.0.0-alpha21
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/README.md +1 -3
- package/dist/attrs/event.d.ts +17 -0
- package/dist/attrs/event.d.ts.map +1 -0
- package/dist/attrs/event.js +85 -0
- package/dist/enum.d.ts +44 -0
- package/dist/enum.d.ts.map +1 -0
- package/dist/enum.js +50 -0
- package/dist/index.d.ts +3 -8
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +16 -0
- package/dist/models/answer.d.ts +2 -1
- package/dist/models/answer.d.ts.map +1 -0
- package/dist/models/auditlog.d.ts +3 -1
- package/dist/models/auditlog.d.ts.map +1 -0
- package/dist/models/event.d.ts +1 -0
- package/dist/models/event.d.ts.map +1 -0
- package/dist/models/index.d.ts +8 -0
- package/dist/models/index.d.ts.map +1 -0
- package/dist/models/question.d.ts +3 -3
- package/dist/models/question.d.ts.map +1 -0
- package/dist/models/question.js +0 -2
- package/dist/models/quota.d.ts +1 -0
- package/dist/models/quota.d.ts.map +1 -0
- package/dist/models/signup.d.ts +3 -2
- package/dist/models/signup.d.ts.map +1 -0
- package/dist/models/signup.js +0 -2
- package/dist/models/user.d.ts +1 -0
- package/dist/models/user.d.ts.map +1 -0
- package/dist/schema/auditLog/attributes.d.ts +15 -0
- package/dist/schema/auditLog/attributes.d.ts.map +1 -0
- package/dist/schema/auditLog/attributes.js +30 -0
- package/dist/schema/auditLog/index.d.ts +36 -0
- package/dist/schema/auditLog/index.d.ts.map +1 -0
- package/dist/schema/auditLog/index.js +40 -0
- package/dist/schema/category/index.d.ts +10 -0
- package/dist/schema/category/index.d.ts.map +1 -0
- package/dist/schema/category/index.js +10 -0
- package/dist/schema/errors/index.d.ts +33 -0
- package/dist/schema/errors/index.d.ts.map +1 -0
- package/dist/schema/errors/index.js +34 -0
- package/dist/schema/event/attributes.d.ts +110 -0
- package/dist/schema/event/attributes.d.ts.map +1 -0
- package/dist/schema/event/attributes.js +85 -0
- package/dist/schema/event/index.d.ts +306 -0
- package/dist/schema/event/index.d.ts.map +1 -0
- package/dist/schema/event/index.js +72 -0
- package/dist/schema/eventList/index.d.ts +135 -0
- package/dist/schema/eventList/index.d.ts.map +1 -0
- package/dist/schema/eventList/index.js +32 -0
- package/dist/schema/headers.d.ts +3 -0
- package/dist/schema/headers.d.ts.map +1 -0
- package/dist/schema/headers.js +6 -0
- package/dist/schema/index.d.ts +15 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +30 -0
- package/dist/schema/login/index.d.ts +15 -0
- package/dist/schema/login/index.d.ts.map +1 -0
- package/dist/schema/login/index.js +19 -0
- package/dist/schema/question/attributes.d.ts +15 -0
- package/dist/schema/question/attributes.d.ts.map +1 -0
- package/dist/schema/question/attributes.js +31 -0
- package/dist/schema/question/index.d.ts +38 -0
- package/dist/schema/question/index.d.ts.map +1 -0
- package/dist/schema/question/index.js +19 -0
- package/dist/schema/quota/attributes.d.ts +11 -0
- package/dist/schema/quota/attributes.d.ts.map +1 -0
- package/dist/schema/quota/attributes.js +21 -0
- package/dist/schema/quota/index.d.ts +27 -0
- package/dist/schema/quota/index.d.ts.map +1 -0
- package/dist/schema/quota/index.js +19 -0
- package/dist/schema/quotaWithSignups/index.d.ts +68 -0
- package/dist/schema/quotaWithSignups/index.d.ts.map +1 -0
- package/dist/schema/quotaWithSignups/index.js +29 -0
- package/dist/schema/signup/attributes.d.ts +40 -0
- package/dist/schema/signup/attributes.d.ts.map +1 -0
- package/dist/schema/signup/attributes.js +56 -0
- package/dist/schema/signup/index.d.ts +84 -0
- package/dist/schema/signup/index.d.ts.map +1 -0
- package/dist/schema/signup/index.js +42 -0
- package/dist/schema/signupForEdit/index.d.ts +89 -0
- package/dist/schema/signupForEdit/index.d.ts.map +1 -0
- package/dist/schema/signupForEdit/index.js +22 -0
- package/dist/schema/slug/index.d.ts +15 -0
- package/dist/schema/slug/index.d.ts.map +1 -0
- package/dist/schema/slug/index.js +15 -0
- package/dist/schema/user/attributes.d.ts +12 -0
- package/dist/schema/user/attributes.d.ts.map +1 -0
- package/dist/schema/user/attributes.js +24 -0
- package/dist/schema/user/index.d.ts +48 -0
- package/dist/schema/user/index.d.ts.map +1 -0
- package/dist/schema/user/index.js +32 -0
- package/dist/schema/utils.d.ts +3 -0
- package/dist/schema/utils.d.ts.map +1 -0
- package/dist/schema/utils.js +7 -0
- package/package.json +22 -5
- package/dist/services/admin/categories/index.d.ts +0 -6
- package/dist/services/admin/categories/list.d.ts +0 -1
- package/dist/services/admin/categories/list.js +0 -2
- package/dist/services/admin/events/create.d.ts +0 -14
- package/dist/services/admin/events/create.js +0 -38
- package/dist/services/admin/events/index.d.ts +0 -31
- package/dist/services/admin/events/index.js +0 -2
- package/dist/services/admin/events/update.d.ts +0 -16
- package/dist/services/admin/events/update.js +0 -2
- package/dist/services/admin/slug/get.d.ts +0 -5
- package/dist/services/admin/slug/get.js +0 -2
- package/dist/services/admin/slug/index.d.ts +0 -6
- package/dist/services/admin/slug/index.js +0 -2
- package/dist/services/auditlog/index.d.ts +0 -25
- package/dist/services/auditlog/index.js +0 -2
- package/dist/services/auth/index.d.ts +0 -17
- package/dist/services/auth/index.js +0 -2
- package/dist/services/events/details.d.ts +0 -44
- package/dist/services/events/details.js +0 -67
- package/dist/services/events/index.d.ts +0 -25
- package/dist/services/events/index.js +0 -2
- package/dist/services/events/list.d.ts +0 -17
- package/dist/services/events/list.js +0 -26
- package/dist/services/signups/create.d.ts +0 -9
- package/dist/services/signups/create.js +0 -2
- package/dist/services/signups/getForEdit.d.ts +0 -28
- package/dist/services/signups/getForEdit.js +0 -29
- package/dist/services/signups/index.d.ts +0 -27
- package/dist/services/signups/index.js +0 -2
- package/dist/services/signups/update.d.ts +0 -18
- package/dist/services/signups/update.js +0 -2
- package/dist/services/users/details.d.ts +0 -9
- package/dist/services/users/details.js +0 -5
- package/dist/services/users/index.d.ts +0 -12
- package/dist/services/users/index.js +0 -2
- package/dist/utils.d.ts +0 -4
- package/dist/utils.js +0 -2
- /package/dist/{services/admin/categories → models}/index.js +0 -0
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Static } from '@sinclair/typebox';
|
|
2
|
+
/** Schema for a quota with a count of its signups. */
|
|
3
|
+
export declare const quotaWithSignupCount: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
|
|
4
|
+
id: import("@sinclair/typebox").TString;
|
|
5
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
6
|
+
title: import("@sinclair/typebox").TString;
|
|
7
|
+
size: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
|
|
8
|
+
}>]>, import("@sinclair/typebox").TObject<{
|
|
9
|
+
signupCount: import("@sinclair/typebox").TInteger;
|
|
10
|
+
}>]>;
|
|
11
|
+
/** Schema for a quota with public information of its signups. */
|
|
12
|
+
export declare const userQuotaWithSignups: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
|
|
13
|
+
id: import("@sinclair/typebox").TString;
|
|
14
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
15
|
+
title: import("@sinclair/typebox").TString;
|
|
16
|
+
size: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
|
|
17
|
+
}>]>, import("@sinclair/typebox").TObject<{
|
|
18
|
+
signupCount: import("@sinclair/typebox").TInteger;
|
|
19
|
+
}>]>, import("@sinclair/typebox").TObject<{
|
|
20
|
+
signups: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
|
|
21
|
+
firstName: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
22
|
+
lastName: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
23
|
+
namePublic: import("@sinclair/typebox").TBoolean;
|
|
24
|
+
answers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
25
|
+
questionId: import("@sinclair/typebox").TString;
|
|
26
|
+
answer: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>]>;
|
|
27
|
+
}>>;
|
|
28
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
29
|
+
status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TEnum<typeof import("../..").SignupStatus>, import("@sinclair/typebox").TNull]>;
|
|
30
|
+
position: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
|
|
31
|
+
createdAt: import("@sinclair/typebox").TString;
|
|
32
|
+
confirmed: import("@sinclair/typebox").TBoolean;
|
|
33
|
+
}>]>>;
|
|
34
|
+
}>]>;
|
|
35
|
+
/** Schema for a quota with full information of its signups. */
|
|
36
|
+
export declare const adminQuotaWithSignups: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
|
|
37
|
+
id: import("@sinclair/typebox").TString;
|
|
38
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
39
|
+
title: import("@sinclair/typebox").TString;
|
|
40
|
+
size: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
|
|
41
|
+
}>]>, import("@sinclair/typebox").TObject<{
|
|
42
|
+
signupCount: import("@sinclair/typebox").TInteger;
|
|
43
|
+
}>]>, import("@sinclair/typebox").TObject<{
|
|
44
|
+
signups: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
|
|
45
|
+
id: import("@sinclair/typebox").TString;
|
|
46
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
47
|
+
firstName: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
48
|
+
lastName: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
49
|
+
email: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
50
|
+
namePublic: import("@sinclair/typebox").TBoolean;
|
|
51
|
+
answers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
52
|
+
questionId: import("@sinclair/typebox").TString;
|
|
53
|
+
answer: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>]>;
|
|
54
|
+
}>>;
|
|
55
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
56
|
+
status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TEnum<typeof import("../..").SignupStatus>, import("@sinclair/typebox").TNull]>;
|
|
57
|
+
position: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
|
|
58
|
+
createdAt: import("@sinclair/typebox").TString;
|
|
59
|
+
confirmed: import("@sinclair/typebox").TBoolean;
|
|
60
|
+
}>]>>;
|
|
61
|
+
}>]>;
|
|
62
|
+
/** Schema for a quota with a count of its signups. */
|
|
63
|
+
export type QuotaWithSignupCount = Static<typeof quotaWithSignupCount>;
|
|
64
|
+
/** Schema for a quota, with public information of its signups. */
|
|
65
|
+
export type UserQuotaWithSignups = Static<typeof userQuotaWithSignups>;
|
|
66
|
+
/** Schema for a quota, with full information of its signups. */
|
|
67
|
+
export type AdminQuotaWithSignups = Static<typeof adminQuotaWithSignups>;
|
|
68
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/schema/quotaWithSignups/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAQ,MAAM,mBAAmB,CAAC;AAKjD,sDAAsD;AACtD,eAAO,MAAM,oBAAoB;;;;;;;IAO/B,CAAC;AAEH,iEAAiE;AACjE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;IAQ/B,CAAC;AAEH,+DAA+D;AAC/D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;IAQhC,CAAC;AAEH,sDAAsD;AACtD,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACvE,kEAAkE;AAClE,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACvE,gEAAgE;AAChE,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.adminQuotaWithSignups = exports.userQuotaWithSignups = exports.quotaWithSignupCount = void 0;
|
|
4
|
+
const typebox_1 = require("@sinclair/typebox");
|
|
5
|
+
const quota_1 = require("../quota");
|
|
6
|
+
const signup_1 = require("../signup");
|
|
7
|
+
/** Schema for a quota with a count of its signups. */
|
|
8
|
+
exports.quotaWithSignupCount = typebox_1.Type.Intersect([
|
|
9
|
+
quota_1.quota,
|
|
10
|
+
typebox_1.Type.Object({
|
|
11
|
+
signupCount: typebox_1.Type.Integer({
|
|
12
|
+
description: 'Total number of signups in this quota.',
|
|
13
|
+
}),
|
|
14
|
+
}),
|
|
15
|
+
]);
|
|
16
|
+
/** Schema for a quota with public information of its signups. */
|
|
17
|
+
exports.userQuotaWithSignups = typebox_1.Type.Intersect([
|
|
18
|
+
exports.quotaWithSignupCount,
|
|
19
|
+
typebox_1.Type.Object({
|
|
20
|
+
signups: typebox_1.Type.Array(signup_1.publicSignupSchema, { description: 'Public information of signups in the quota.' }),
|
|
21
|
+
}),
|
|
22
|
+
]);
|
|
23
|
+
/** Schema for a quota with full information of its signups. */
|
|
24
|
+
exports.adminQuotaWithSignups = typebox_1.Type.Intersect([
|
|
25
|
+
exports.quotaWithSignupCount,
|
|
26
|
+
typebox_1.Type.Object({
|
|
27
|
+
signups: typebox_1.Type.Array(signup_1.adminSignupSchema, { description: 'Signups in the quota.' }),
|
|
28
|
+
}),
|
|
29
|
+
]);
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { SignupStatus } from '../../enum';
|
|
2
|
+
export declare const signupID: import("@sinclair/typebox").TString;
|
|
3
|
+
export declare const signupIdentity: import("@sinclair/typebox").TObject<{
|
|
4
|
+
id: import("@sinclair/typebox").TString;
|
|
5
|
+
}>;
|
|
6
|
+
export declare const editToken: import("@sinclair/typebox").TString;
|
|
7
|
+
/** Answer to a single signup question */
|
|
8
|
+
export declare const signupAnswer: import("@sinclair/typebox").TObject<{
|
|
9
|
+
questionId: import("@sinclair/typebox").TString;
|
|
10
|
+
answer: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>]>;
|
|
11
|
+
}>;
|
|
12
|
+
/** Editable attributes of a signup. */
|
|
13
|
+
export declare const editableSignupAttributes: import("@sinclair/typebox").TObject<{
|
|
14
|
+
firstName: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
15
|
+
lastName: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
16
|
+
email: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
17
|
+
namePublic: import("@sinclair/typebox").TBoolean;
|
|
18
|
+
answers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
19
|
+
questionId: import("@sinclair/typebox").TString;
|
|
20
|
+
answer: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>]>;
|
|
21
|
+
}>>;
|
|
22
|
+
}>;
|
|
23
|
+
/** Editable attributes of a signup with non-public information removed. */
|
|
24
|
+
export declare const publicEditableSignupAttributes: import("@sinclair/typebox").TObject<{
|
|
25
|
+
firstName: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
26
|
+
lastName: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
27
|
+
namePublic: import("@sinclair/typebox").TBoolean;
|
|
28
|
+
answers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
29
|
+
questionId: import("@sinclair/typebox").TString;
|
|
30
|
+
answer: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>]>;
|
|
31
|
+
}>>;
|
|
32
|
+
}>;
|
|
33
|
+
/** Non-editable, automatically updated signup attributes. */
|
|
34
|
+
export declare const signupDynamicAttributes: import("@sinclair/typebox").TObject<{
|
|
35
|
+
status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TEnum<typeof SignupStatus>, import("@sinclair/typebox").TNull]>;
|
|
36
|
+
position: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
|
|
37
|
+
createdAt: import("@sinclair/typebox").TString;
|
|
38
|
+
confirmed: import("@sinclair/typebox").TBoolean;
|
|
39
|
+
}>;
|
|
40
|
+
//# sourceMappingURL=attributes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attributes.d.ts","sourceRoot":"","sources":["../../../src/schema/signup/attributes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI1C,eAAO,MAAM,QAAQ,qCAInB,CAAC;AAEH,eAAO,MAAM,cAAc;;EAEzB,CAAC;AAMH,eAAO,MAAM,SAAS,qCAEpB,CAAC;AAEH,yCAAyC;AACzC,eAAO,MAAM,YAAY;;;EASvB,CAAC;AAEH,uCAAuC;AACvC,eAAO,MAAM,wBAAwB;;;;;;;;;EAkBnC,CAAC;AAEH,2EAA2E;AAC3E,eAAO,MAAM,8BAA8B;;;;;;;;EAczC,CAAC;AAEH,6DAA6D;AAC7D,eAAO,MAAM,uBAAuB;;;;;EAgBlC,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.signupDynamicAttributes = exports.publicEditableSignupAttributes = exports.editableSignupAttributes = exports.signupAnswer = exports.editToken = exports.signupIdentity = exports.signupID = void 0;
|
|
4
|
+
const typebox_1 = require("@sinclair/typebox");
|
|
5
|
+
const enum_1 = require("../../enum");
|
|
6
|
+
const attributes_1 = require("../question/attributes");
|
|
7
|
+
const utils_1 = require("../utils");
|
|
8
|
+
exports.signupID = typebox_1.Type.String({
|
|
9
|
+
title: 'SignupID',
|
|
10
|
+
description: 'Signup ID. Randomly generated alphanumeric string.',
|
|
11
|
+
// TODO: Validation? max-length?
|
|
12
|
+
});
|
|
13
|
+
exports.signupIdentity = typebox_1.Type.Object({
|
|
14
|
+
id: exports.signupID,
|
|
15
|
+
});
|
|
16
|
+
const namePublic = typebox_1.Type.Boolean({
|
|
17
|
+
description: 'Whether to show `firstName` and `lastName` publicly.',
|
|
18
|
+
});
|
|
19
|
+
exports.editToken = typebox_1.Type.String({
|
|
20
|
+
description: 'Token required for editing or deleting the signup.',
|
|
21
|
+
});
|
|
22
|
+
/** Answer to a single signup question */
|
|
23
|
+
exports.signupAnswer = typebox_1.Type.Object({
|
|
24
|
+
questionId: attributes_1.questionID,
|
|
25
|
+
answer: typebox_1.Type.Union([
|
|
26
|
+
typebox_1.Type.String(),
|
|
27
|
+
typebox_1.Type.Array(typebox_1.Type.String()),
|
|
28
|
+
], { description: 'Answer to the question.' }),
|
|
29
|
+
});
|
|
30
|
+
/** Editable attributes of a signup. */
|
|
31
|
+
exports.editableSignupAttributes = typebox_1.Type.Object({
|
|
32
|
+
firstName: (0, utils_1.Nullable)(typebox_1.Type.String(), { description: 'First name of the attendee. Null if not set yet.' }),
|
|
33
|
+
lastName: (0, utils_1.Nullable)(typebox_1.Type.String(), { description: 'Last name of the attendee. Null if not set yet.' }),
|
|
34
|
+
email: (0, utils_1.Nullable)(typebox_1.Type.String(), { description: 'Email of the attendee. Null if not set yet.' }),
|
|
35
|
+
namePublic,
|
|
36
|
+
answers: typebox_1.Type.Array(exports.signupAnswer, { description: 'Answers to the questions of the event.' }),
|
|
37
|
+
});
|
|
38
|
+
/** Editable attributes of a signup with non-public information removed. */
|
|
39
|
+
exports.publicEditableSignupAttributes = typebox_1.Type.Object({
|
|
40
|
+
firstName: (0, utils_1.Nullable)(typebox_1.Type.String(), { description: 'First name of the attendee. Null if not set yet or not public.' }),
|
|
41
|
+
lastName: (0, utils_1.Nullable)(typebox_1.Type.String(), { description: 'Fast name of the attendee. Null if not set yet or not public.' }),
|
|
42
|
+
namePublic,
|
|
43
|
+
answers: typebox_1.Type.Array(exports.signupAnswer, { description: 'Answers to the public questions in the event.' }),
|
|
44
|
+
});
|
|
45
|
+
/** Non-editable, automatically updated signup attributes. */
|
|
46
|
+
exports.signupDynamicAttributes = typebox_1.Type.Object({
|
|
47
|
+
status: (0, utils_1.Nullable)(typebox_1.Type.Enum(enum_1.SignupStatus, { title: 'SignupStatus' }), { description: 'Status of the signup. If null, the status has not been computed yet.' }),
|
|
48
|
+
position: (0, utils_1.Nullable)(typebox_1.Type.Integer(), { description: 'Position of the signup in its current quota. If null, the status has not been computed yet.' }),
|
|
49
|
+
createdAt: typebox_1.Type.String({
|
|
50
|
+
format: 'date-time',
|
|
51
|
+
description: 'The creation date of the signup.',
|
|
52
|
+
}),
|
|
53
|
+
confirmed: typebox_1.Type.Boolean({
|
|
54
|
+
description: 'Whether the signup has been confirmed (saved).',
|
|
55
|
+
}),
|
|
56
|
+
});
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { Static } from '@sinclair/typebox';
|
|
2
|
+
import { editToken, signupID } from './attributes';
|
|
3
|
+
/** Request body for creating a signup. */
|
|
4
|
+
export declare const signupCreateBody: import("@sinclair/typebox").TObject<{
|
|
5
|
+
quotaId: import("@sinclair/typebox").TString;
|
|
6
|
+
}>;
|
|
7
|
+
/** Response schema for successfully creating a signup. */
|
|
8
|
+
export declare const signupCreateResponse: import("@sinclair/typebox").TObject<{
|
|
9
|
+
id: import("@sinclair/typebox").TString;
|
|
10
|
+
editToken: import("@sinclair/typebox").TString;
|
|
11
|
+
}>;
|
|
12
|
+
/** Request body for editing an existing signup. */
|
|
13
|
+
export declare const signupUpdateBody: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
|
|
14
|
+
firstName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
|
|
15
|
+
lastName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
|
|
16
|
+
email: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
|
|
17
|
+
namePublic: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
18
|
+
answers: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
19
|
+
questionId: import("@sinclair/typebox").TString;
|
|
20
|
+
answer: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>]>;
|
|
21
|
+
}>>>;
|
|
22
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
23
|
+
language: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
24
|
+
}>]>;
|
|
25
|
+
/** Response schema for successfully editing a signup. */
|
|
26
|
+
export declare const signupUpdateResponse: import("@sinclair/typebox").TObject<{
|
|
27
|
+
id: import("@sinclair/typebox").TString;
|
|
28
|
+
}>;
|
|
29
|
+
/** Schema for signups in event details from the public API. */
|
|
30
|
+
export declare const publicSignupSchema: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
|
|
31
|
+
firstName: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
32
|
+
lastName: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
33
|
+
namePublic: import("@sinclair/typebox").TBoolean;
|
|
34
|
+
answers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
35
|
+
questionId: import("@sinclair/typebox").TString;
|
|
36
|
+
answer: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>]>;
|
|
37
|
+
}>>;
|
|
38
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
39
|
+
status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TEnum<typeof import("../..").SignupStatus>, import("@sinclair/typebox").TNull]>;
|
|
40
|
+
position: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
|
|
41
|
+
createdAt: import("@sinclair/typebox").TString;
|
|
42
|
+
confirmed: import("@sinclair/typebox").TBoolean;
|
|
43
|
+
}>]>;
|
|
44
|
+
/** Schema for signups in event details from the admin API. */
|
|
45
|
+
export declare const adminSignupSchema: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
|
|
46
|
+
id: import("@sinclair/typebox").TString;
|
|
47
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
48
|
+
firstName: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
49
|
+
lastName: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
50
|
+
email: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
51
|
+
namePublic: import("@sinclair/typebox").TBoolean;
|
|
52
|
+
answers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
53
|
+
questionId: import("@sinclair/typebox").TString;
|
|
54
|
+
answer: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>]>;
|
|
55
|
+
}>>;
|
|
56
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
57
|
+
status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TEnum<typeof import("../..").SignupStatus>, import("@sinclair/typebox").TNull]>;
|
|
58
|
+
position: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
|
|
59
|
+
createdAt: import("@sinclair/typebox").TString;
|
|
60
|
+
confirmed: import("@sinclair/typebox").TBoolean;
|
|
61
|
+
}>]>;
|
|
62
|
+
/** Path parameters necessary to fetch and manipulate signups. */
|
|
63
|
+
export declare const signupPathParams: import("@sinclair/typebox").TObject<{
|
|
64
|
+
id: import("@sinclair/typebox").TString;
|
|
65
|
+
}>;
|
|
66
|
+
/** Signup ID type. Randomly generated alphanumeric string. */
|
|
67
|
+
export type SignupID = Static<typeof signupID>;
|
|
68
|
+
/** Signup edit token type. */
|
|
69
|
+
export type SignupEditToken = Static<typeof editToken>;
|
|
70
|
+
/** Path parameters necessary to fetch and manipulate signups. */
|
|
71
|
+
export type SignupPathParams = Static<typeof signupPathParams>;
|
|
72
|
+
/** Request body for creating a signup. */
|
|
73
|
+
export type SignupCreateBody = Static<typeof signupCreateBody>;
|
|
74
|
+
/** Response schema for successfully creating a signup. */
|
|
75
|
+
export type SignupCreateResponse = Static<typeof signupCreateResponse>;
|
|
76
|
+
/** Request body for editing an existing signup. */
|
|
77
|
+
export type SignupUpdateBody = Static<typeof signupUpdateBody>;
|
|
78
|
+
/** Response schema for successfully editing a signup. */
|
|
79
|
+
export type SignupUpdateResponse = Static<typeof signupUpdateResponse>;
|
|
80
|
+
/** Schema for signups in event details from the public API. */
|
|
81
|
+
export type PublicSignupSchema = Static<typeof publicSignupSchema>;
|
|
82
|
+
/** Schema for signups in event details from the admin API. */
|
|
83
|
+
export type AdminSignupSchema = Static<typeof adminSignupSchema>;
|
|
84
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/schema/signup/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAQ,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EACqB,SAAS,EACnC,QAAQ,EACT,MAAM,cAAc,CAAC;AAEtB,0CAA0C;AAC1C,eAAO,MAAM,gBAAgB;;EAE3B,CAAC;AAEH,0DAA0D;AAC1D,eAAO,MAAM,oBAAoB;;;EAG/B,CAAC;AAEH,mDAAmD;AACnD,eAAO,MAAM,gBAAgB;;;;;;;;;;;IAQ1B,CAAC;AAEJ,yDAAyD;AACzD,eAAO,MAAM,oBAAoB;;EAAiB,CAAC;AAEnD,+DAA+D;AAC/D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;IAG7B,CAAC;AAEH,8DAA8D;AAC9D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;IAI5B,CAAC;AAEH,iEAAiE;AACjE,eAAO,MAAM,gBAAgB;;EAE3B,CAAC;AAEH,8DAA8D;AAC9D,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC/C,8BAA8B;AAC9B,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,SAAS,CAAC,CAAC;AAEvD,iEAAiE;AACjE,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE/D,0CAA0C;AAC1C,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC/D,0DAA0D;AAC1D,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEvE,mDAAmD;AACnD,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC/D,yDAAyD;AACzD,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEvE,+DAA+D;AAC/D,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACnE,8DAA8D;AAC9D,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.signupPathParams = exports.adminSignupSchema = exports.publicSignupSchema = exports.signupUpdateResponse = exports.signupUpdateBody = exports.signupCreateResponse = exports.signupCreateBody = void 0;
|
|
4
|
+
const typebox_1 = require("@sinclair/typebox");
|
|
5
|
+
const attributes_1 = require("../quota/attributes");
|
|
6
|
+
const attributes_2 = require("./attributes");
|
|
7
|
+
/** Request body for creating a signup. */
|
|
8
|
+
exports.signupCreateBody = typebox_1.Type.Object({
|
|
9
|
+
quotaId: attributes_1.quotaID,
|
|
10
|
+
});
|
|
11
|
+
/** Response schema for successfully creating a signup. */
|
|
12
|
+
exports.signupCreateResponse = typebox_1.Type.Object({
|
|
13
|
+
id: attributes_2.signupID,
|
|
14
|
+
editToken: attributes_2.editToken,
|
|
15
|
+
});
|
|
16
|
+
/** Request body for editing an existing signup. */
|
|
17
|
+
exports.signupUpdateBody = typebox_1.Type.Partial(typebox_1.Type.Intersect([
|
|
18
|
+
attributes_2.editableSignupAttributes,
|
|
19
|
+
typebox_1.Type.Object({
|
|
20
|
+
language: typebox_1.Type.String({
|
|
21
|
+
maxLength: 8,
|
|
22
|
+
description: 'The language code used for emails related to this signup',
|
|
23
|
+
}),
|
|
24
|
+
}),
|
|
25
|
+
]));
|
|
26
|
+
/** Response schema for successfully editing a signup. */
|
|
27
|
+
exports.signupUpdateResponse = attributes_2.signupIdentity;
|
|
28
|
+
/** Schema for signups in event details from the public API. */
|
|
29
|
+
exports.publicSignupSchema = typebox_1.Type.Intersect([
|
|
30
|
+
attributes_2.publicEditableSignupAttributes,
|
|
31
|
+
attributes_2.signupDynamicAttributes,
|
|
32
|
+
]);
|
|
33
|
+
/** Schema for signups in event details from the admin API. */
|
|
34
|
+
exports.adminSignupSchema = typebox_1.Type.Intersect([
|
|
35
|
+
attributes_2.signupIdentity,
|
|
36
|
+
attributes_2.editableSignupAttributes,
|
|
37
|
+
attributes_2.signupDynamicAttributes,
|
|
38
|
+
]);
|
|
39
|
+
/** Path parameters necessary to fetch and manipulate signups. */
|
|
40
|
+
exports.signupPathParams = typebox_1.Type.Object({
|
|
41
|
+
id: attributes_2.signupID,
|
|
42
|
+
});
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { Static } from '@sinclair/typebox';
|
|
2
|
+
/** Schema for fetching a signup for editing. */
|
|
3
|
+
export declare const signupForEdit: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
|
|
4
|
+
id: import("@sinclair/typebox").TString;
|
|
5
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
6
|
+
firstName: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
7
|
+
lastName: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
8
|
+
email: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
9
|
+
namePublic: import("@sinclair/typebox").TBoolean;
|
|
10
|
+
answers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
11
|
+
questionId: import("@sinclair/typebox").TString;
|
|
12
|
+
answer: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>]>;
|
|
13
|
+
}>>;
|
|
14
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
15
|
+
quota: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
|
|
16
|
+
id: import("@sinclair/typebox").TString;
|
|
17
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
18
|
+
title: import("@sinclair/typebox").TString;
|
|
19
|
+
size: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
|
|
20
|
+
}>]>;
|
|
21
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
22
|
+
status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TEnum<typeof import("../..").SignupStatus>, import("@sinclair/typebox").TNull]>;
|
|
23
|
+
position: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
|
|
24
|
+
createdAt: import("@sinclair/typebox").TString;
|
|
25
|
+
confirmed: import("@sinclair/typebox").TBoolean;
|
|
26
|
+
}>]>;
|
|
27
|
+
/** Response schema for fetching a signup for editing. */
|
|
28
|
+
export declare const signupForEditResponse: import("@sinclair/typebox").TObject<{
|
|
29
|
+
signup: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
|
|
30
|
+
id: import("@sinclair/typebox").TString;
|
|
31
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
32
|
+
firstName: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
33
|
+
lastName: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
34
|
+
email: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
35
|
+
namePublic: import("@sinclair/typebox").TBoolean;
|
|
36
|
+
answers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
37
|
+
questionId: import("@sinclair/typebox").TString;
|
|
38
|
+
answer: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>]>;
|
|
39
|
+
}>>;
|
|
40
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
41
|
+
quota: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
|
|
42
|
+
id: import("@sinclair/typebox").TString;
|
|
43
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
44
|
+
title: import("@sinclair/typebox").TString;
|
|
45
|
+
size: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
|
|
46
|
+
}>]>;
|
|
47
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
48
|
+
status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TEnum<typeof import("../..").SignupStatus>, import("@sinclair/typebox").TNull]>;
|
|
49
|
+
position: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
|
|
50
|
+
createdAt: import("@sinclair/typebox").TString;
|
|
51
|
+
confirmed: import("@sinclair/typebox").TBoolean;
|
|
52
|
+
}>]>;
|
|
53
|
+
event: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
|
|
54
|
+
id: import("@sinclair/typebox").TString;
|
|
55
|
+
}>, import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
|
|
56
|
+
title: import("@sinclair/typebox").TString;
|
|
57
|
+
slug: import("@sinclair/typebox").TString;
|
|
58
|
+
date: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
59
|
+
endDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
60
|
+
registrationStartDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
61
|
+
registrationEndDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
62
|
+
openQuotaSize: import("@sinclair/typebox").TInteger;
|
|
63
|
+
category: import("@sinclair/typebox").TString;
|
|
64
|
+
description: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
65
|
+
price: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
66
|
+
location: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
67
|
+
webpageUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
68
|
+
facebookUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
69
|
+
signupsPublic: import("@sinclair/typebox").TBoolean;
|
|
70
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
71
|
+
nameQuestion: import("@sinclair/typebox").TBoolean;
|
|
72
|
+
emailQuestion: import("@sinclair/typebox").TBoolean;
|
|
73
|
+
}>]>, import("@sinclair/typebox").TObject<{
|
|
74
|
+
questions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
|
|
75
|
+
id: import("@sinclair/typebox").TString;
|
|
76
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
77
|
+
question: import("@sinclair/typebox").TString;
|
|
78
|
+
type: import("@sinclair/typebox").TEnum<typeof import("../..").QuestionType>;
|
|
79
|
+
options: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>, import("@sinclair/typebox").TNull]>;
|
|
80
|
+
required: import("@sinclair/typebox").TBoolean;
|
|
81
|
+
public: import("@sinclair/typebox").TBoolean;
|
|
82
|
+
}>]>>;
|
|
83
|
+
}>]>;
|
|
84
|
+
}>;
|
|
85
|
+
/** Schema for fetching a signup for editing. */
|
|
86
|
+
export type SignupForEdit = Static<typeof signupForEdit>;
|
|
87
|
+
/** Response schema for fetching a signup for editing. */
|
|
88
|
+
export type SignupForEditResponse = Static<typeof signupForEditResponse>;
|
|
89
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/schema/signupForEdit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAQ,MAAM,mBAAmB,CAAC;AAOjD,gDAAgD;AAChD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;IAOxB,CAAC;AAEH,yDAAyD;AACzD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGhC,CAAC;AAEH,gDAAgD;AAChD,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC;AAEzD,yDAAyD;AACzD,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.signupForEditResponse = exports.signupForEdit = void 0;
|
|
4
|
+
const typebox_1 = require("@sinclair/typebox");
|
|
5
|
+
const event_1 = require("../event");
|
|
6
|
+
const quota_1 = require("../quota");
|
|
7
|
+
const attributes_1 = require("../signup/attributes");
|
|
8
|
+
// This is here because it depends on quota, causing an import cycle.
|
|
9
|
+
/** Schema for fetching a signup for editing. */
|
|
10
|
+
exports.signupForEdit = typebox_1.Type.Intersect([
|
|
11
|
+
attributes_1.signupIdentity,
|
|
12
|
+
attributes_1.editableSignupAttributes,
|
|
13
|
+
typebox_1.Type.Object({
|
|
14
|
+
quota: quota_1.quota,
|
|
15
|
+
}),
|
|
16
|
+
attributes_1.signupDynamicAttributes,
|
|
17
|
+
]);
|
|
18
|
+
/** Response schema for fetching a signup for editing. */
|
|
19
|
+
exports.signupForEditResponse = typebox_1.Type.Object({
|
|
20
|
+
signup: exports.signupForEdit,
|
|
21
|
+
event: event_1.userEventForSignup,
|
|
22
|
+
});
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Static } from '@sinclair/typebox';
|
|
2
|
+
/** Path parameters necessary to check a slug's availability from the admin API. */
|
|
3
|
+
export declare const checkSlugParams: import("@sinclair/typebox").TObject<{
|
|
4
|
+
slug: import("@sinclair/typebox").TString;
|
|
5
|
+
}>;
|
|
6
|
+
/** Response schema for checking a slug's availability. */
|
|
7
|
+
export declare const checkSlugResponse: import("@sinclair/typebox").TObject<{
|
|
8
|
+
id: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
9
|
+
title: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
10
|
+
}>;
|
|
11
|
+
/** Path parameters necessary to check a slug's availability from the admin API. */
|
|
12
|
+
export type CheckSlugParams = Static<typeof checkSlugParams>;
|
|
13
|
+
/** Response schema for checking a slug's availability. */
|
|
14
|
+
export type CheckSlugResponse = Static<typeof checkSlugResponse>;
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/schema/slug/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAQ,MAAM,mBAAmB,CAAC;AAKjD,mFAAmF;AACnF,eAAO,MAAM,eAAe;;EAE1B,CAAC;AAEH,0DAA0D;AAC1D,eAAO,MAAM,iBAAiB;;;EAS5B,CAAC;AAEH,mFAAmF;AACnF,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC;AAC7D,0DAA0D;AAC1D,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkSlugResponse = exports.checkSlugParams = void 0;
|
|
4
|
+
const typebox_1 = require("@sinclair/typebox");
|
|
5
|
+
const attributes_1 = require("../event/attributes");
|
|
6
|
+
const utils_1 = require("../utils");
|
|
7
|
+
/** Path parameters necessary to check a slug's availability from the admin API. */
|
|
8
|
+
exports.checkSlugParams = typebox_1.Type.Object({
|
|
9
|
+
slug: attributes_1.eventSlug,
|
|
10
|
+
});
|
|
11
|
+
/** Response schema for checking a slug's availability. */
|
|
12
|
+
exports.checkSlugResponse = typebox_1.Type.Object({
|
|
13
|
+
id: (0, utils_1.Nullable)(attributes_1.eventID, { description: 'ID of the event with the given slug, or null if none exist.' }),
|
|
14
|
+
title: (0, utils_1.Nullable)(typebox_1.Type.String(), { description: 'Title of the event with the given slug, or null if none exist.' }),
|
|
15
|
+
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const userID: import("@sinclair/typebox").TInteger;
|
|
2
|
+
/** Non-editable identity attributes of a user. */
|
|
3
|
+
export declare const userIdentity: import("@sinclair/typebox").TObject<{
|
|
4
|
+
id: import("@sinclair/typebox").TInteger;
|
|
5
|
+
}>;
|
|
6
|
+
/** Editable attributes of a user. */
|
|
7
|
+
export declare const userAttributes: import("@sinclair/typebox").TObject<{
|
|
8
|
+
email: import("@sinclair/typebox").TString;
|
|
9
|
+
}>;
|
|
10
|
+
/** Password of a user. */
|
|
11
|
+
export declare const password: import("@sinclair/typebox").TString;
|
|
12
|
+
//# sourceMappingURL=attributes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attributes.d.ts","sourceRoot":"","sources":["../../../src/schema/user/attributes.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,sCAEjB,CAAC;AAEH,kDAAkD;AAClD,eAAO,MAAM,YAAY;;EAEvB,CAAC;AAEH,qCAAqC;AACrC,eAAO,MAAM,cAAc;;EAMzB,CAAC;AAEH,0BAA0B;AAC1B,eAAO,MAAM,QAAQ,qCAGnB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.password = exports.userAttributes = exports.userIdentity = exports.userID = void 0;
|
|
4
|
+
const typebox_1 = require("@sinclair/typebox");
|
|
5
|
+
exports.userID = typebox_1.Type.Integer({
|
|
6
|
+
title: 'UserID',
|
|
7
|
+
});
|
|
8
|
+
/** Non-editable identity attributes of a user. */
|
|
9
|
+
exports.userIdentity = typebox_1.Type.Object({
|
|
10
|
+
id: exports.userID,
|
|
11
|
+
});
|
|
12
|
+
/** Editable attributes of a user. */
|
|
13
|
+
exports.userAttributes = typebox_1.Type.Object({
|
|
14
|
+
email: typebox_1.Type.String({
|
|
15
|
+
format: 'email',
|
|
16
|
+
description: 'Email address, used as username.',
|
|
17
|
+
// TODO: Add validation RegExp for email
|
|
18
|
+
}),
|
|
19
|
+
});
|
|
20
|
+
/** Password of a user. */
|
|
21
|
+
exports.password = typebox_1.Type.String({
|
|
22
|
+
minLength: 10,
|
|
23
|
+
maxLength: 255,
|
|
24
|
+
});
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Static } from '@sinclair/typebox';
|
|
2
|
+
import { userID } from './attributes';
|
|
3
|
+
/** Request body for creating an admin user. */
|
|
4
|
+
export declare const userCreateSchema: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
|
|
5
|
+
email: import("@sinclair/typebox").TString;
|
|
6
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
7
|
+
password: import("@sinclair/typebox").TString;
|
|
8
|
+
}>]>;
|
|
9
|
+
/** Request body for inviting an admin user. */
|
|
10
|
+
export declare const userInviteSchema: import("@sinclair/typebox").TObject<{
|
|
11
|
+
email: import("@sinclair/typebox").TString;
|
|
12
|
+
}>;
|
|
13
|
+
/** Request body for changing the user's own password. */
|
|
14
|
+
export declare const userChangePasswordSchema: import("@sinclair/typebox").TObject<{
|
|
15
|
+
oldPassword: import("@sinclair/typebox").TString;
|
|
16
|
+
newPassword: import("@sinclair/typebox").TString;
|
|
17
|
+
}>;
|
|
18
|
+
/** Schema for a user. */
|
|
19
|
+
export declare const userSchema: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
|
|
20
|
+
id: import("@sinclair/typebox").TInteger;
|
|
21
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
22
|
+
email: import("@sinclair/typebox").TString;
|
|
23
|
+
}>]>;
|
|
24
|
+
/** Response schema for fetching a list of users. */
|
|
25
|
+
export declare const userListResponse: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
|
|
26
|
+
id: import("@sinclair/typebox").TInteger;
|
|
27
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
28
|
+
email: import("@sinclair/typebox").TString;
|
|
29
|
+
}>]>>;
|
|
30
|
+
/** Path parameters necessary to fetch and manipulate users. */
|
|
31
|
+
export declare const userPathParams: import("@sinclair/typebox").TObject<{
|
|
32
|
+
id: import("@sinclair/typebox").TInteger;
|
|
33
|
+
}>;
|
|
34
|
+
/** User ID type. */
|
|
35
|
+
export type UserID = Static<typeof userID>;
|
|
36
|
+
/** Request body for creating an admin user. */
|
|
37
|
+
export type UserCreateSchema = Static<typeof userCreateSchema>;
|
|
38
|
+
/** Request body for inviting an admin user. */
|
|
39
|
+
export type UserInviteSchema = Static<typeof userInviteSchema>;
|
|
40
|
+
/** Request body for changing the user's own password. */
|
|
41
|
+
export type UserChangePasswordSchema = Static<typeof userChangePasswordSchema>;
|
|
42
|
+
/** Path parameters necessary to fetch and manipulate users. */
|
|
43
|
+
export type UserPathParams = Static<typeof userPathParams>;
|
|
44
|
+
/** Schema for a user. */
|
|
45
|
+
export type UserSchema = Static<typeof userSchema>;
|
|
46
|
+
/** Response schema for fetching a list of users. */
|
|
47
|
+
export type UserListResponse = Static<typeof userListResponse>;
|
|
48
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/schema/user/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAQ,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EACqB,MAAM,EACjC,MAAM,cAAc,CAAC;AAEtB,+CAA+C;AAC/C,eAAO,MAAM,gBAAgB;;;;IAK3B,CAAC;AAEH,+CAA+C;AAC/C,eAAO,MAAM,gBAAgB;;EAE3B,CAAC;AAEH,yDAAyD;AACzD,eAAO,MAAM,wBAAwB;;;EAGnC,CAAC;AAEH,yBAAyB;AACzB,eAAO,MAAM,UAAU;;;;IAGrB,CAAC;AAEH,oDAAoD;AACpD,eAAO,MAAM,gBAAgB;;;;KAAyB,CAAC;AAEvD,+DAA+D;AAC/D,eAAO,MAAM,cAAc;;EAEzB,CAAC;AAEH,oBAAoB;AACpB,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC;AAE3C,+CAA+C;AAC/C,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC/D,+CAA+C;AAC/C,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC/D,yDAAyD;AACzD,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE/E,+DAA+D;AAC/D,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,cAAc,CAAC,CAAC;AAC3D,yBAAyB;AACzB,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,UAAU,CAAC,CAAC;AACnD,oDAAoD;AACpD,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
|