@tietokilta/ilmomasiina-models 2.0.0-alpha30 → 2.0.0-alpha31

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.
Files changed (43) hide show
  1. package/dist/schema/errors/index.d.ts +6 -9
  2. package/dist/schema/errors/index.d.ts.map +1 -1
  3. package/dist/schema/errors/index.js +3 -3
  4. package/dist/schema/event/attributes.d.ts +13 -33
  5. package/dist/schema/event/attributes.d.ts.map +1 -1
  6. package/dist/schema/event/attributes.js +43 -35
  7. package/dist/schema/event/index.d.ts +47 -121
  8. package/dist/schema/event/index.d.ts.map +1 -1
  9. package/dist/schema/event/index.js +7 -7
  10. package/dist/schema/eventList/index.d.ts +24 -42
  11. package/dist/schema/eventList/index.d.ts.map +1 -1
  12. package/dist/schema/eventList/index.js +4 -4
  13. package/dist/schema/login/index.d.ts.map +1 -1
  14. package/dist/schema/login/index.js +3 -6
  15. package/dist/schema/question/attributes.d.ts.map +1 -1
  16. package/dist/schema/question/attributes.js +5 -1
  17. package/dist/schema/question/index.d.ts +4 -6
  18. package/dist/schema/question/index.d.ts.map +1 -1
  19. package/dist/schema/question/index.js +2 -2
  20. package/dist/schema/quota/attributes.d.ts.map +1 -1
  21. package/dist/schema/quota/attributes.js +2 -0
  22. package/dist/schema/quota/index.d.ts +4 -7
  23. package/dist/schema/quota/index.d.ts.map +1 -1
  24. package/dist/schema/quota/index.js +2 -2
  25. package/dist/schema/quotaWithSignups/index.d.ts +15 -26
  26. package/dist/schema/quotaWithSignups/index.d.ts.map +1 -1
  27. package/dist/schema/quotaWithSignups/index.js +3 -3
  28. package/dist/schema/signup/attributes.d.ts +1 -1
  29. package/dist/schema/signup/attributes.d.ts.map +1 -1
  30. package/dist/schema/signup/attributes.js +19 -9
  31. package/dist/schema/signup/index.d.ts +13 -17
  32. package/dist/schema/signup/index.d.ts.map +1 -1
  33. package/dist/schema/signup/index.js +3 -3
  34. package/dist/schema/signupForEdit/index.d.ts +20 -32
  35. package/dist/schema/signupForEdit/index.d.ts.map +1 -1
  36. package/dist/schema/signupForEdit/index.js +2 -2
  37. package/dist/schema/user/attributes.d.ts +5 -3
  38. package/dist/schema/user/attributes.d.ts.map +1 -1
  39. package/dist/schema/user/attributes.js +13 -10
  40. package/dist/schema/user/index.d.ts +6 -9
  41. package/dist/schema/user/index.d.ts.map +1 -1
  42. package/dist/schema/user/index.js +4 -4
  43. package/package.json +1 -1
@@ -7,23 +7,21 @@ export declare const errorResponse: import("@sinclair/typebox").TObject<{
7
7
  message: import("@sinclair/typebox").TString;
8
8
  }>;
9
9
  /** Response schema for an edit conflicting with another edit on the server. */
10
- export declare const editConflictError: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
10
+ export declare const editConflictError: import("@sinclair/typebox").TObject<{
11
11
  statusCode: import("@sinclair/typebox").TNumber;
12
12
  code: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TEnum<typeof ErrorCode>>;
13
13
  message: import("@sinclair/typebox").TString;
14
- }>, import("@sinclair/typebox").TObject<{
15
14
  updatedAt: import("@sinclair/typebox").TString;
16
15
  deletedQuotas: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
17
16
  deletedQuestions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
18
- }>]>;
17
+ }>;
19
18
  /** Response schema for an edit that would move some signups back to the queue. */
20
- export declare const wouldMoveSignupsToQueueError: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
19
+ export declare const wouldMoveSignupsToQueueError: import("@sinclair/typebox").TObject<{
21
20
  statusCode: import("@sinclair/typebox").TNumber;
22
21
  code: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TEnum<typeof ErrorCode>>;
23
22
  message: import("@sinclair/typebox").TString;
24
- }>, import("@sinclair/typebox").TObject<{
25
23
  count: import("@sinclair/typebox").TInteger;
26
- }>]>;
24
+ }>;
27
25
  /** Schema for validation errors on a signup. */
28
26
  declare const signupValidationErrors: import("@sinclair/typebox").TObject<{
29
27
  firstName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TEnum<typeof SignupFieldError>>;
@@ -34,18 +32,17 @@ declare const signupValidationErrors: import("@sinclair/typebox").TObject<{
34
32
  /** Schema for validation errors on a signup. */
35
33
  export type SignupValidationErrors = Static<typeof signupValidationErrors>;
36
34
  /** Response schema for an invalid signup edit. */
37
- export declare const signupValidationError: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
35
+ export declare const signupValidationError: import("@sinclair/typebox").TObject<{
38
36
  statusCode: import("@sinclair/typebox").TNumber;
39
37
  code: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TEnum<typeof ErrorCode>>;
40
38
  message: import("@sinclair/typebox").TString;
41
- }>, import("@sinclair/typebox").TObject<{
42
39
  errors: import("@sinclair/typebox").TObject<{
43
40
  firstName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TEnum<typeof SignupFieldError>>;
44
41
  lastName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TEnum<typeof SignupFieldError>>;
45
42
  email: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TEnum<typeof SignupFieldError>>;
46
43
  answers: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TEnum<typeof SignupFieldError>>>;
47
44
  }>;
48
- }>]>;
45
+ }>;
49
46
  /** Response schema for a generic error. */
50
47
  export type ErrorResponse = Static<typeof errorResponse>;
51
48
  /** Response schema for an edit conflicting with another edit on the server. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/schema/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAQ,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAIzD,2CAA2C;AAC3C,eAAO,MAAM,aAAa;;;;EAIxB,CAAC;AAEH,+EAA+E;AAC/E,eAAO,MAAM,iBAAiB;;;;;;;;IAc5B,CAAC;AAEH,kFAAkF;AAClF,eAAO,MAAM,4BAA4B;;;;;;IAQvC,CAAC;AAEH,gDAAgD;AAChD,QAAA,MAAM,sBAAsB;;;;;EAS1B,CAAC;AAEH,gDAAgD;AAChD,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE3E,kDAAkD;AAClD,eAAO,MAAM,qBAAqB;;;;;;;;;;;IAKhC,CAAC;AAEH,2CAA2C;AAC3C,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC;AACzD,+EAA+E;AAC/E,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACjE,kFAAkF;AAClF,MAAM,MAAM,4BAA4B,GAAG,MAAM,CAAC,OAAO,4BAA4B,CAAC,CAAC;AACvF,kDAAkD;AAClD,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/schema/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAQ,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAIzD,2CAA2C;AAC3C,eAAO,MAAM,aAAa;;;;EAIxB,CAAC;AAEH,+EAA+E;AAC/E,eAAO,MAAM,iBAAiB;;;;;;;EAc5B,CAAC;AAEH,kFAAkF;AAClF,eAAO,MAAM,4BAA4B;;;;;EAOvC,CAAC;AAEH,gDAAgD;AAChD,QAAA,MAAM,sBAAsB;;;;;EAS1B,CAAC;AAEH,gDAAgD;AAChD,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE3E,kDAAkD;AAClD,eAAO,MAAM,qBAAqB;;;;;;;;;;EAKhC,CAAC;AAEH,2CAA2C;AAC3C,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC;AACzD,+EAA+E;AAC/E,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACjE,kFAAkF;AAClF,MAAM,MAAM,4BAA4B,GAAG,MAAM,CAAC,OAAO,4BAA4B,CAAC,CAAC;AACvF,kDAAkD;AAClD,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -12,7 +12,7 @@ exports.errorResponse = typebox_1.Type.Object({
12
12
  message: typebox_1.Type.String(),
13
13
  });
14
14
  /** Response schema for an edit conflicting with another edit on the server. */
15
- exports.editConflictError = typebox_1.Type.Intersect([
15
+ exports.editConflictError = typebox_1.Type.Composite([
16
16
  exports.errorResponse,
17
17
  typebox_1.Type.Object({
18
18
  updatedAt: typebox_1.Type.String({
@@ -28,7 +28,7 @@ exports.editConflictError = typebox_1.Type.Intersect([
28
28
  }),
29
29
  ]);
30
30
  /** Response schema for an edit that would move some signups back to the queue. */
31
- exports.wouldMoveSignupsToQueueError = typebox_1.Type.Intersect([
31
+ exports.wouldMoveSignupsToQueueError = typebox_1.Type.Composite([
32
32
  exports.errorResponse,
33
33
  typebox_1.Type.Object({
34
34
  count: typebox_1.Type.Integer({
@@ -46,7 +46,7 @@ const signupValidationErrors = typebox_1.Type.Object({
46
46
  })),
47
47
  });
48
48
  /** Response schema for an invalid signup edit. */
49
- exports.signupValidationError = typebox_1.Type.Intersect([
49
+ exports.signupValidationError = typebox_1.Type.Composite([
50
50
  exports.errorResponse,
51
51
  typebox_1.Type.Object({
52
52
  errors: signupValidationErrors,
@@ -6,7 +6,7 @@ export declare const eventIdentity: import("@sinclair/typebox").TObject<{
6
6
  id: import("@sinclair/typebox").TString;
7
7
  }>;
8
8
  /** Event attributes that are included in public event lists. */
9
- export declare const userListEventAttributes: import("@sinclair/typebox").TObject<{
9
+ export declare const userEventListAttributes: import("@sinclair/typebox").TObject<{
10
10
  title: import("@sinclair/typebox").TString;
11
11
  slug: import("@sinclair/typebox").TString;
12
12
  date: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
@@ -23,85 +23,65 @@ export declare const userListEventAttributes: import("@sinclair/typebox").TObjec
23
23
  signupsPublic: import("@sinclair/typebox").TBoolean;
24
24
  }>;
25
25
  /** Event attributes that are included in public event details. */
26
- export declare const userFullEventAttributes: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
26
+ export declare const userEventDetailsAttributes: import("@sinclair/typebox").TObject<{
27
27
  title: import("@sinclair/typebox").TString;
28
- slug: import("@sinclair/typebox").TString;
28
+ description: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
29
29
  date: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
30
+ slug: import("@sinclair/typebox").TString;
30
31
  endDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
31
32
  registrationStartDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
32
33
  registrationEndDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
33
34
  openQuotaSize: import("@sinclair/typebox").TInteger;
34
35
  category: import("@sinclair/typebox").TString;
35
- description: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
36
36
  price: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
37
37
  location: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
38
38
  webpageUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
39
39
  facebookUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
40
40
  signupsPublic: import("@sinclair/typebox").TBoolean;
41
- }>, import("@sinclair/typebox").TObject<{
42
41
  nameQuestion: import("@sinclair/typebox").TBoolean;
43
42
  emailQuestion: import("@sinclair/typebox").TBoolean;
44
- }>]>;
43
+ }>;
45
44
  /** Event attributes that are included for admins in event lists. */
46
- export declare const adminListEventAttributes: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
45
+ export declare const adminEventListAttributes: import("@sinclair/typebox").TObject<{
47
46
  title: import("@sinclair/typebox").TString;
48
- slug: import("@sinclair/typebox").TString;
47
+ description: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
49
48
  date: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
49
+ slug: import("@sinclair/typebox").TString;
50
50
  endDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
51
51
  registrationStartDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
52
52
  registrationEndDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
53
53
  openQuotaSize: import("@sinclair/typebox").TInteger;
54
54
  category: import("@sinclair/typebox").TString;
55
- description: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
56
55
  price: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
57
56
  location: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
58
57
  webpageUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
59
58
  facebookUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
60
59
  signupsPublic: import("@sinclair/typebox").TBoolean;
61
- }>, import("@sinclair/typebox").TObject<{
62
60
  draft: import("@sinclair/typebox").TBoolean;
63
61
  listed: import("@sinclair/typebox").TBoolean;
64
- }>]>;
62
+ }>;
65
63
  /** Event attributes that are included for admins in event details. */
66
- export declare const adminFullEventAttributes: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
64
+ export declare const adminEventDetailsAttributes: import("@sinclair/typebox").TObject<{
67
65
  title: import("@sinclair/typebox").TString;
68
- slug: import("@sinclair/typebox").TString;
66
+ description: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
69
67
  date: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
68
+ slug: import("@sinclair/typebox").TString;
70
69
  endDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
71
70
  registrationStartDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
72
71
  registrationEndDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
73
72
  openQuotaSize: import("@sinclair/typebox").TInteger;
74
73
  category: import("@sinclair/typebox").TString;
75
- description: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
76
74
  price: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
77
75
  location: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
78
76
  webpageUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
79
77
  facebookUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
80
78
  signupsPublic: import("@sinclair/typebox").TBoolean;
81
- }>, import("@sinclair/typebox").TObject<{
82
79
  nameQuestion: import("@sinclair/typebox").TBoolean;
83
80
  emailQuestion: import("@sinclair/typebox").TBoolean;
84
- }>]>, import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
85
- title: import("@sinclair/typebox").TString;
86
- slug: import("@sinclair/typebox").TString;
87
- date: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
88
- endDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
89
- registrationStartDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
90
- registrationEndDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
91
- openQuotaSize: import("@sinclair/typebox").TInteger;
92
- category: import("@sinclair/typebox").TString;
93
- description: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
94
- price: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
95
- location: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
96
- webpageUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
97
- facebookUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
98
- signupsPublic: import("@sinclair/typebox").TBoolean;
99
- }>, import("@sinclair/typebox").TObject<{
100
81
  draft: import("@sinclair/typebox").TBoolean;
101
82
  listed: import("@sinclair/typebox").TBoolean;
102
- }>]>, import("@sinclair/typebox").TObject<{
103
83
  verificationEmail: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
104
- }>]>;
84
+ }>;
105
85
  /** Event attributes that are dynamically calculated in public event details. */
106
86
  export declare const eventDynamicAttributes: import("@sinclair/typebox").TObject<{
107
87
  millisTillOpening: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
@@ -1 +1 @@
1
- {"version":3,"file":"attributes.d.ts","sourceRoot":"","sources":["../../../src/schema/event/attributes.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,SAAS,qCAEpB,CAAC;AAEH,6DAA6D;AAC7D,eAAO,MAAM,OAAO,qCAGlB,CAAC;AAEH,mDAAmD;AACnD,eAAO,MAAM,aAAa;;EAExB,CAAC;AAEH,gEAAgE;AAChE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;EA2ClC,CAAC;AAEH,kEAAkE;AAClE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;IAUlC,CAAC;AAEH,oEAAoE;AACpE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;IAYnC,CAAC;AAEH,sEAAsE;AACtE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAQnC,CAAC;AAEH,gFAAgF;AAChF,eAAO,MAAM,sBAAsB;;;EAOjC,CAAC"}
1
+ {"version":3,"file":"attributes.d.ts","sourceRoot":"","sources":["../../../src/schema/event/attributes.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,SAAS,qCAKpB,CAAC;AAEH,6DAA6D;AAC7D,eAAO,MAAM,OAAO,qCAMlB,CAAC;AAEH,mDAAmD;AACnD,eAAO,MAAM,aAAa;;EAExB,CAAC;AAEH,gEAAgE;AAChE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;EA+ClC,CAAC;AAWH,kEAAkE;AAClE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;EAA8E,CAAC;AAatH,oEAAoE;AACpE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;EAAsE,CAAC;AAQ5G,sEAAsE;AACtE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;EAKtC,CAAC;AAEH,gFAAgF;AAChF,eAAO,MAAM,sBAAsB;;;EAOjC,CAAC"}
@@ -1,24 +1,32 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.eventDynamicAttributes = exports.adminFullEventAttributes = exports.adminListEventAttributes = exports.userFullEventAttributes = exports.userListEventAttributes = exports.eventIdentity = exports.eventID = exports.eventSlug = void 0;
3
+ exports.eventDynamicAttributes = exports.adminEventDetailsAttributes = exports.adminEventListAttributes = exports.userEventDetailsAttributes = exports.userEventListAttributes = exports.eventIdentity = exports.eventID = exports.eventSlug = void 0;
4
4
  const typebox_1 = require("@sinclair/typebox");
5
5
  const utils_1 = require("../utils");
6
6
  exports.eventSlug = typebox_1.Type.String({
7
7
  description: "Event slug, used for accessing the event by URL.",
8
+ minLength: 1,
9
+ maxLength: 255,
10
+ pattern: "^[A-Za-z0-9_-]+$",
8
11
  });
9
12
  /** Event ID type. Randomly generated alphanumeric string. */
10
13
  exports.eventID = typebox_1.Type.String({
11
14
  title: "EventID",
12
15
  description: "Event ID. Randomly generated alphanumeric string.",
16
+ minLength: 1,
17
+ maxLength: 32,
18
+ pattern: "^[a-z0-9]+$",
13
19
  });
14
20
  /** Non-editable identity attributes for events. */
15
21
  exports.eventIdentity = typebox_1.Type.Object({
16
22
  id: exports.eventID,
17
23
  });
18
24
  /** Event attributes that are included in public event lists. */
19
- exports.userListEventAttributes = typebox_1.Type.Object({
25
+ exports.userEventListAttributes = typebox_1.Type.Object({
20
26
  title: typebox_1.Type.String({
21
27
  description: "Event title.",
28
+ minLength: 1,
29
+ maxLength: 255,
22
30
  }),
23
31
  slug: exports.eventSlug,
24
32
  date: (0, utils_1.Nullable)(typebox_1.Type.String({ format: "date-time" }), {
@@ -36,63 +44,63 @@ exports.userListEventAttributes = typebox_1.Type.Object({
36
44
  }),
37
45
  openQuotaSize: typebox_1.Type.Integer({
38
46
  description: "The size of the open quota, which will be filled with signups overflowing their dedicated quota.",
47
+ minimum: 0,
39
48
  }),
40
49
  category: typebox_1.Type.String({
41
50
  description: "Category tag for the event. Can be used for filtering.",
51
+ maxLength: 255,
42
52
  }),
43
53
  description: (0, utils_1.Nullable)(typebox_1.Type.String(), {
44
54
  description: "Description for the event. Supports Markdown.",
45
55
  }),
46
- price: (0, utils_1.Nullable)(typebox_1.Type.String(), {
56
+ price: (0, utils_1.Nullable)(typebox_1.Type.String({ maxLength: 255 }), {
47
57
  description: "Free-form pricing information for the event.",
48
58
  }),
49
- location: (0, utils_1.Nullable)(typebox_1.Type.String(), {
59
+ location: (0, utils_1.Nullable)(typebox_1.Type.String({ maxLength: 255 }), {
50
60
  description: "Free-form location information for the event.",
51
61
  }),
52
- webpageUrl: (0, utils_1.Nullable)(typebox_1.Type.String(), {
62
+ webpageUrl: (0, utils_1.Nullable)(typebox_1.Type.String({ maxLength: 255 }), {
53
63
  description: "Link to an external event webpage.",
54
64
  }),
55
- facebookUrl: (0, utils_1.Nullable)(typebox_1.Type.String(), {
65
+ facebookUrl: (0, utils_1.Nullable)(typebox_1.Type.String({ maxLength: 255 }), {
56
66
  description: "Link to a Facebook page for the event.",
57
67
  }),
58
68
  signupsPublic: typebox_1.Type.Boolean({
59
69
  description: "Whether signups should be shown to all users.",
60
70
  }),
61
71
  });
72
+ const attributesAddedForUsersInDetails = typebox_1.Type.Object({
73
+ nameQuestion: typebox_1.Type.Boolean({
74
+ description: "Whether signups should contain a name field.",
75
+ }),
76
+ emailQuestion: typebox_1.Type.Boolean({
77
+ description: "Whether signups should contain an email field. Also enables confirmation emails.",
78
+ }),
79
+ });
62
80
  /** Event attributes that are included in public event details. */
63
- exports.userFullEventAttributes = typebox_1.Type.Intersect([
64
- exports.userListEventAttributes,
65
- typebox_1.Type.Object({
66
- nameQuestion: typebox_1.Type.Boolean({
67
- description: "Whether signups should contain a name field.",
68
- }),
69
- emailQuestion: typebox_1.Type.Boolean({
70
- description: "Whether signups should contain an email field. Also enables confirmation emails.",
71
- }),
81
+ exports.userEventDetailsAttributes = typebox_1.Type.Composite([exports.userEventListAttributes, attributesAddedForUsersInDetails]);
82
+ const attributesAddedForAdmins = typebox_1.Type.Object({
83
+ draft: typebox_1.Type.Boolean({
84
+ description: "Whether the event is a draft, shown only to signed-in admins.",
72
85
  }),
73
- ]);
86
+ listed: typebox_1.Type.Boolean({
87
+ description: "Whether the event is publicly visible on the front page of Ilmomasiina." +
88
+ " Unlisted events are only accessible with a direct link",
89
+ }),
90
+ });
74
91
  /** Event attributes that are included for admins in event lists. */
75
- exports.adminListEventAttributes = typebox_1.Type.Intersect([
76
- exports.userListEventAttributes,
77
- typebox_1.Type.Object({
78
- draft: typebox_1.Type.Boolean({
79
- description: "Whether the event is a draft, shown only to signed-in admins.",
80
- }),
81
- listed: typebox_1.Type.Boolean({
82
- description: "Whether the event is publicly visible on the front page of Ilmomasiina." +
83
- " Unlisted events are only accessible with a direct link",
84
- }),
92
+ exports.adminEventListAttributes = typebox_1.Type.Composite([exports.userEventListAttributes, attributesAddedForAdmins]);
93
+ const attributesAddedForAdminsInDetails = typebox_1.Type.Object({
94
+ verificationEmail: (0, utils_1.Nullable)(typebox_1.Type.String(), {
95
+ description: "Custom message for the signup confirmation email.",
85
96
  }),
86
- ]);
97
+ });
87
98
  /** Event attributes that are included for admins in event details. */
88
- exports.adminFullEventAttributes = typebox_1.Type.Intersect([
89
- exports.userFullEventAttributes,
90
- exports.adminListEventAttributes,
91
- typebox_1.Type.Object({
92
- verificationEmail: (0, utils_1.Nullable)(typebox_1.Type.String(), {
93
- description: "Custom message for the signup confirmation email.",
94
- }),
95
- }),
99
+ exports.adminEventDetailsAttributes = typebox_1.Type.Composite([
100
+ exports.userEventListAttributes,
101
+ attributesAddedForUsersInDetails,
102
+ attributesAddedForAdmins,
103
+ attributesAddedForAdminsInDetails,
96
104
  ]);
97
105
  /** Event attributes that are dynamically calculated in public event details. */
98
106
  exports.eventDynamicAttributes = typebox_1.Type.Object({