@tietokilta/ilmomasiina-models 2.0.0-alpha2.6 → 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.
Files changed (133) hide show
  1. package/README.md +1 -3
  2. package/dist/attrs/event.d.ts +17 -0
  3. package/dist/attrs/event.d.ts.map +1 -0
  4. package/dist/attrs/event.js +85 -0
  5. package/dist/enum.d.ts +44 -0
  6. package/dist/enum.d.ts.map +1 -0
  7. package/dist/enum.js +50 -0
  8. package/dist/index.d.ts +3 -8
  9. package/dist/index.d.ts.map +1 -0
  10. package/dist/index.js +16 -0
  11. package/dist/models/answer.d.ts +2 -1
  12. package/dist/models/answer.d.ts.map +1 -0
  13. package/dist/models/auditlog.d.ts +3 -1
  14. package/dist/models/auditlog.d.ts.map +1 -0
  15. package/dist/models/event.d.ts +1 -0
  16. package/dist/models/event.d.ts.map +1 -0
  17. package/dist/models/index.d.ts +8 -0
  18. package/dist/models/index.d.ts.map +1 -0
  19. package/dist/models/question.d.ts +3 -3
  20. package/dist/models/question.d.ts.map +1 -0
  21. package/dist/models/question.js +0 -2
  22. package/dist/models/quota.d.ts +1 -0
  23. package/dist/models/quota.d.ts.map +1 -0
  24. package/dist/models/signup.d.ts +3 -2
  25. package/dist/models/signup.d.ts.map +1 -0
  26. package/dist/models/signup.js +0 -2
  27. package/dist/models/user.d.ts +1 -0
  28. package/dist/models/user.d.ts.map +1 -0
  29. package/dist/schema/auditLog/attributes.d.ts +15 -0
  30. package/dist/schema/auditLog/attributes.d.ts.map +1 -0
  31. package/dist/schema/auditLog/attributes.js +30 -0
  32. package/dist/schema/auditLog/index.d.ts +36 -0
  33. package/dist/schema/auditLog/index.d.ts.map +1 -0
  34. package/dist/schema/auditLog/index.js +40 -0
  35. package/dist/schema/category/index.d.ts +10 -0
  36. package/dist/schema/category/index.d.ts.map +1 -0
  37. package/dist/schema/category/index.js +10 -0
  38. package/dist/schema/errors/index.d.ts +33 -0
  39. package/dist/schema/errors/index.d.ts.map +1 -0
  40. package/dist/schema/errors/index.js +34 -0
  41. package/dist/schema/event/attributes.d.ts +110 -0
  42. package/dist/schema/event/attributes.d.ts.map +1 -0
  43. package/dist/schema/event/attributes.js +85 -0
  44. package/dist/schema/event/index.d.ts +306 -0
  45. package/dist/schema/event/index.d.ts.map +1 -0
  46. package/dist/schema/event/index.js +72 -0
  47. package/dist/schema/eventList/index.d.ts +135 -0
  48. package/dist/schema/eventList/index.d.ts.map +1 -0
  49. package/dist/schema/eventList/index.js +32 -0
  50. package/dist/schema/headers.d.ts +3 -0
  51. package/dist/schema/headers.d.ts.map +1 -0
  52. package/dist/schema/headers.js +6 -0
  53. package/dist/schema/index.d.ts +15 -0
  54. package/dist/schema/index.d.ts.map +1 -0
  55. package/dist/schema/index.js +30 -0
  56. package/dist/schema/login/index.d.ts +15 -0
  57. package/dist/schema/login/index.d.ts.map +1 -0
  58. package/dist/schema/login/index.js +19 -0
  59. package/dist/schema/question/attributes.d.ts +15 -0
  60. package/dist/schema/question/attributes.d.ts.map +1 -0
  61. package/dist/schema/question/attributes.js +31 -0
  62. package/dist/schema/question/index.d.ts +38 -0
  63. package/dist/schema/question/index.d.ts.map +1 -0
  64. package/dist/schema/question/index.js +19 -0
  65. package/dist/schema/quota/attributes.d.ts +11 -0
  66. package/dist/schema/quota/attributes.d.ts.map +1 -0
  67. package/dist/schema/quota/attributes.js +21 -0
  68. package/dist/schema/quota/index.d.ts +27 -0
  69. package/dist/schema/quota/index.d.ts.map +1 -0
  70. package/dist/schema/quota/index.js +19 -0
  71. package/dist/schema/quotaWithSignups/index.d.ts +68 -0
  72. package/dist/schema/quotaWithSignups/index.d.ts.map +1 -0
  73. package/dist/schema/quotaWithSignups/index.js +29 -0
  74. package/dist/schema/signup/attributes.d.ts +40 -0
  75. package/dist/schema/signup/attributes.d.ts.map +1 -0
  76. package/dist/schema/signup/attributes.js +56 -0
  77. package/dist/schema/signup/index.d.ts +84 -0
  78. package/dist/schema/signup/index.d.ts.map +1 -0
  79. package/dist/schema/signup/index.js +42 -0
  80. package/dist/schema/signupForEdit/index.d.ts +89 -0
  81. package/dist/schema/signupForEdit/index.d.ts.map +1 -0
  82. package/dist/schema/signupForEdit/index.js +22 -0
  83. package/dist/schema/slug/index.d.ts +15 -0
  84. package/dist/schema/slug/index.d.ts.map +1 -0
  85. package/dist/schema/slug/index.js +15 -0
  86. package/dist/schema/user/attributes.d.ts +12 -0
  87. package/dist/schema/user/attributes.d.ts.map +1 -0
  88. package/dist/schema/user/attributes.js +24 -0
  89. package/dist/schema/user/index.d.ts +48 -0
  90. package/dist/schema/user/index.d.ts.map +1 -0
  91. package/dist/schema/user/index.js +32 -0
  92. package/dist/schema/utils.d.ts +3 -0
  93. package/dist/schema/utils.d.ts.map +1 -0
  94. package/dist/schema/utils.js +7 -0
  95. package/package.json +22 -5
  96. package/dist/services/admin/categories/index.d.ts +0 -6
  97. package/dist/services/admin/categories/list.d.ts +0 -1
  98. package/dist/services/admin/categories/list.js +0 -2
  99. package/dist/services/admin/events/create.d.ts +0 -14
  100. package/dist/services/admin/events/create.js +0 -38
  101. package/dist/services/admin/events/index.d.ts +0 -31
  102. package/dist/services/admin/events/index.js +0 -2
  103. package/dist/services/admin/events/update.d.ts +0 -16
  104. package/dist/services/admin/events/update.js +0 -2
  105. package/dist/services/admin/slug/get.d.ts +0 -5
  106. package/dist/services/admin/slug/get.js +0 -2
  107. package/dist/services/admin/slug/index.d.ts +0 -6
  108. package/dist/services/admin/slug/index.js +0 -2
  109. package/dist/services/auditlog/index.d.ts +0 -25
  110. package/dist/services/auditlog/index.js +0 -2
  111. package/dist/services/auth/index.d.ts +0 -17
  112. package/dist/services/auth/index.js +0 -2
  113. package/dist/services/events/details.d.ts +0 -44
  114. package/dist/services/events/details.js +0 -67
  115. package/dist/services/events/index.d.ts +0 -25
  116. package/dist/services/events/index.js +0 -2
  117. package/dist/services/events/list.d.ts +0 -17
  118. package/dist/services/events/list.js +0 -26
  119. package/dist/services/signups/create.d.ts +0 -9
  120. package/dist/services/signups/create.js +0 -2
  121. package/dist/services/signups/getForEdit.d.ts +0 -28
  122. package/dist/services/signups/getForEdit.js +0 -29
  123. package/dist/services/signups/index.d.ts +0 -27
  124. package/dist/services/signups/index.js +0 -2
  125. package/dist/services/signups/update.d.ts +0 -18
  126. package/dist/services/signups/update.js +0 -2
  127. package/dist/services/users/details.d.ts +0 -9
  128. package/dist/services/users/details.js +0 -5
  129. package/dist/services/users/index.d.ts +0 -12
  130. package/dist/services/users/index.js +0 -2
  131. package/dist/utils.d.ts +0 -4
  132. package/dist/utils.js +0 -2
  133. /package/dist/{services/admin/categories → models}/index.js +0 -0
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.wouldMoveSignupsToQueueError = exports.editConflictError = exports.errorResponse = void 0;
4
+ const typebox_1 = require("@sinclair/typebox");
5
+ const enum_1 = require("../../enum");
6
+ const attributes_1 = require("../question/attributes");
7
+ const attributes_2 = require("../quota/attributes");
8
+ /** Response schema for a generic error. */
9
+ exports.errorResponse = typebox_1.Type.Object({
10
+ statusCode: typebox_1.Type.Number(),
11
+ code: typebox_1.Type.Optional(typebox_1.Type.Enum(enum_1.ErrorCode)),
12
+ message: typebox_1.Type.String(),
13
+ });
14
+ /** Response schema for an edit conflicting with another edit on the server. */
15
+ exports.editConflictError = typebox_1.Type.Intersect([
16
+ exports.errorResponse,
17
+ typebox_1.Type.Object({
18
+ updatedAt: typebox_1.Type.String({
19
+ format: 'date-time',
20
+ description: 'Last update time of the event on the server.',
21
+ }),
22
+ deletedQuotas: typebox_1.Type.Array(attributes_2.quotaID, { description: 'IDs of quotas that are already deleted on the server.' }),
23
+ deletedQuestions: typebox_1.Type.Array(attributes_1.questionID, { description: 'IDs of questions that are already deleted on the server.' }),
24
+ }),
25
+ ]);
26
+ /** Response schema for an edit that would move some signups back to the queue. */
27
+ exports.wouldMoveSignupsToQueueError = typebox_1.Type.Intersect([
28
+ exports.errorResponse,
29
+ typebox_1.Type.Object({
30
+ count: typebox_1.Type.Integer({
31
+ description: 'Number of signups that would end up back in the queue if the action is executed.',
32
+ }),
33
+ }),
34
+ ]);
@@ -0,0 +1,110 @@
1
+ export declare const eventSlug: import("@sinclair/typebox").TString;
2
+ /** Event ID type. Randomly generated alphanumeric string. */
3
+ export declare const eventID: import("@sinclair/typebox").TString;
4
+ /** Non-editable identity attributes for events. */
5
+ export declare const eventIdentity: import("@sinclair/typebox").TObject<{
6
+ id: import("@sinclair/typebox").TString;
7
+ }>;
8
+ /** Event attributes that are included in public event lists. */
9
+ export declare const userListEventAttributes: import("@sinclair/typebox").TObject<{
10
+ title: import("@sinclair/typebox").TString;
11
+ slug: import("@sinclair/typebox").TString;
12
+ date: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
13
+ endDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
14
+ registrationStartDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
15
+ registrationEndDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
16
+ openQuotaSize: import("@sinclair/typebox").TInteger;
17
+ category: import("@sinclair/typebox").TString;
18
+ description: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
19
+ price: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
20
+ location: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
21
+ webpageUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
22
+ facebookUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
23
+ signupsPublic: import("@sinclair/typebox").TBoolean;
24
+ }>;
25
+ /** Event attributes that are included in public event details. */
26
+ export declare const userFullEventAttributes: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
27
+ title: import("@sinclair/typebox").TString;
28
+ slug: import("@sinclair/typebox").TString;
29
+ date: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
30
+ endDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
31
+ registrationStartDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
32
+ registrationEndDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
33
+ openQuotaSize: import("@sinclair/typebox").TInteger;
34
+ category: import("@sinclair/typebox").TString;
35
+ description: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
36
+ price: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
37
+ location: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
38
+ webpageUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
39
+ facebookUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
40
+ signupsPublic: import("@sinclair/typebox").TBoolean;
41
+ }>, import("@sinclair/typebox").TObject<{
42
+ nameQuestion: import("@sinclair/typebox").TBoolean;
43
+ emailQuestion: import("@sinclair/typebox").TBoolean;
44
+ }>]>;
45
+ /** Event attributes that are included for admins in event lists. */
46
+ export declare const adminListEventAttributes: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
47
+ title: import("@sinclair/typebox").TString;
48
+ slug: import("@sinclair/typebox").TString;
49
+ date: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
50
+ endDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
51
+ registrationStartDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
52
+ registrationEndDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
53
+ openQuotaSize: import("@sinclair/typebox").TInteger;
54
+ category: import("@sinclair/typebox").TString;
55
+ description: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
56
+ price: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
57
+ location: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
58
+ webpageUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
59
+ facebookUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
60
+ signupsPublic: import("@sinclair/typebox").TBoolean;
61
+ }>, import("@sinclair/typebox").TObject<{
62
+ draft: import("@sinclair/typebox").TBoolean;
63
+ listed: import("@sinclair/typebox").TBoolean;
64
+ }>]>;
65
+ /** 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<{
67
+ title: import("@sinclair/typebox").TString;
68
+ slug: import("@sinclair/typebox").TString;
69
+ date: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
70
+ endDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
71
+ registrationStartDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
72
+ registrationEndDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
73
+ openQuotaSize: import("@sinclair/typebox").TInteger;
74
+ category: import("@sinclair/typebox").TString;
75
+ description: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
76
+ price: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
77
+ location: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
78
+ webpageUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
79
+ facebookUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
80
+ signupsPublic: import("@sinclair/typebox").TBoolean;
81
+ }>, import("@sinclair/typebox").TObject<{
82
+ nameQuestion: import("@sinclair/typebox").TBoolean;
83
+ 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
+ draft: import("@sinclair/typebox").TBoolean;
101
+ listed: import("@sinclair/typebox").TBoolean;
102
+ }>]>, import("@sinclair/typebox").TObject<{
103
+ verificationEmail: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
104
+ }>]>;
105
+ /** Event attributes that are dynamically calculated in public event details. */
106
+ export declare const eventDynamicAttributes: import("@sinclair/typebox").TObject<{
107
+ millisTillOpening: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
108
+ registrationClosed: import("@sinclair/typebox").TBoolean;
109
+ }>;
110
+ //# sourceMappingURL=attributes.d.ts.map
@@ -0,0 +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;;;;;;;;;;;;;;;EAqDlC,CAAC;AAEH,kEAAkE;AAClE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;IAYnC,CAAC;AAEF,oEAAoE;AACpE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;IAapC,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAWpC,CAAC;AAEF,gFAAgF;AAChF,eAAO,MAAM,sBAAsB;;;EAQjC,CAAC"}
@@ -0,0 +1,85 @@
1
+ "use strict";
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;
4
+ const typebox_1 = require("@sinclair/typebox");
5
+ const utils_1 = require("../utils");
6
+ exports.eventSlug = typebox_1.Type.String({
7
+ description: 'Event slug, used for accessing the event by URL.',
8
+ });
9
+ /** Event ID type. Randomly generated alphanumeric string. */
10
+ exports.eventID = typebox_1.Type.String({
11
+ title: 'EventID',
12
+ description: 'Event ID. Randomly generated alphanumeric string.',
13
+ });
14
+ /** Non-editable identity attributes for events. */
15
+ exports.eventIdentity = typebox_1.Type.Object({
16
+ id: exports.eventID,
17
+ });
18
+ /** Event attributes that are included in public event lists. */
19
+ exports.userListEventAttributes = typebox_1.Type.Object({
20
+ title: typebox_1.Type.String({
21
+ description: 'Event title.',
22
+ }),
23
+ slug: exports.eventSlug,
24
+ date: (0, utils_1.Nullable)(typebox_1.Type.String({ format: 'date-time' }), {
25
+ description: 'Event start date. Considered to be the start date if endDate is also set. If null, '
26
+ + 'the event is signup-only.',
27
+ }),
28
+ endDate: (0, utils_1.Nullable)(typebox_1.Type.String({ format: 'date-time' }), { description: 'Event end date. If null, the event will not appear in iCalendar exports.' }),
29
+ registrationStartDate: (0, utils_1.Nullable)(typebox_1.Type.String({ format: 'date-time' }), { description: 'Event signup opening date. If null, the event does not have a signup.' }),
30
+ registrationEndDate: (0, utils_1.Nullable)(typebox_1.Type.String({ format: 'date-time' }), { description: 'Event signup closing date.' }),
31
+ openQuotaSize: typebox_1.Type.Integer({
32
+ description: 'The size of the open quota, which will be filled with signups overflowing their dedicated quota.',
33
+ }),
34
+ category: typebox_1.Type.String({
35
+ description: 'Category tag for the event. Can be used for filtering.',
36
+ }),
37
+ description: (0, utils_1.Nullable)(typebox_1.Type.String(), { description: 'Description for the event. Supports Markdown.' }),
38
+ price: (0, utils_1.Nullable)(typebox_1.Type.String(), { description: 'Free-form pricing information for the event.' }),
39
+ location: (0, utils_1.Nullable)(typebox_1.Type.String(), { description: 'Free-form location information for the event.' }),
40
+ webpageUrl: (0, utils_1.Nullable)(typebox_1.Type.String(), { description: 'Link to an external event webpage.' }),
41
+ facebookUrl: (0, utils_1.Nullable)(typebox_1.Type.String(), { description: 'Link to a Facebook page for the event.' }),
42
+ signupsPublic: typebox_1.Type.Boolean({
43
+ description: 'Whether signups should be shown to all users.',
44
+ }),
45
+ });
46
+ /** Event attributes that are included in public event details. */
47
+ exports.userFullEventAttributes = typebox_1.Type.Intersect([
48
+ exports.userListEventAttributes,
49
+ typebox_1.Type.Object({
50
+ nameQuestion: typebox_1.Type.Boolean({
51
+ description: 'Whether signups should contain a name field.',
52
+ }),
53
+ emailQuestion: typebox_1.Type.Boolean({
54
+ description: 'Whether signups should contain an email field. Also enables confirmation emails.',
55
+ }),
56
+ }),
57
+ ]);
58
+ /** Event attributes that are included for admins in event lists. */
59
+ exports.adminListEventAttributes = typebox_1.Type.Intersect([
60
+ exports.userListEventAttributes,
61
+ typebox_1.Type.Object({
62
+ draft: typebox_1.Type.Boolean({
63
+ description: 'Whether the event is a draft, shown only to signed-in admins.',
64
+ }),
65
+ listed: typebox_1.Type.Boolean({
66
+ description: 'Whether the event is publicly visible on the front page of Ilmomasiina.'
67
+ + ' Unlisted events are only accessible with a direct link',
68
+ }),
69
+ }),
70
+ ]);
71
+ /** Event attributes that are included for admins in event details. */
72
+ exports.adminFullEventAttributes = typebox_1.Type.Intersect([
73
+ exports.userFullEventAttributes,
74
+ exports.adminListEventAttributes,
75
+ typebox_1.Type.Object({
76
+ verificationEmail: (0, utils_1.Nullable)(typebox_1.Type.String(), { description: 'Custom message for the signup confirmation email.' }),
77
+ }),
78
+ ]);
79
+ /** Event attributes that are dynamically calculated in public event details. */
80
+ exports.eventDynamicAttributes = typebox_1.Type.Object({
81
+ millisTillOpening: (0, utils_1.Nullable)(typebox_1.Type.Integer(), { description: 'Time in ms until signup opens. If null, the signup will not open in the future.' }),
82
+ registrationClosed: typebox_1.Type.Boolean({
83
+ description: 'Whether the signup has closed.',
84
+ }),
85
+ });
@@ -0,0 +1,306 @@
1
+ import { Static } from '@sinclair/typebox';
2
+ import { eventID, eventSlug } from './attributes';
3
+ /** Response schema for fetching or modifying an event in the admin API. */
4
+ export declare const adminEventResponse: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
5
+ id: import("@sinclair/typebox").TString;
6
+ }>, import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
7
+ title: import("@sinclair/typebox").TString;
8
+ slug: import("@sinclair/typebox").TString;
9
+ date: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
10
+ endDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
11
+ registrationStartDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
12
+ registrationEndDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
13
+ openQuotaSize: import("@sinclair/typebox").TInteger;
14
+ category: import("@sinclair/typebox").TString;
15
+ description: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
16
+ price: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
17
+ location: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
18
+ webpageUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
19
+ facebookUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
20
+ signupsPublic: import("@sinclair/typebox").TBoolean;
21
+ }>, import("@sinclair/typebox").TObject<{
22
+ nameQuestion: import("@sinclair/typebox").TBoolean;
23
+ emailQuestion: import("@sinclair/typebox").TBoolean;
24
+ }>]>, import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
25
+ title: import("@sinclair/typebox").TString;
26
+ slug: import("@sinclair/typebox").TString;
27
+ date: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
28
+ endDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
29
+ registrationStartDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
30
+ registrationEndDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
31
+ openQuotaSize: import("@sinclair/typebox").TInteger;
32
+ category: import("@sinclair/typebox").TString;
33
+ description: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
34
+ price: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
35
+ location: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
36
+ webpageUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
37
+ facebookUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
38
+ signupsPublic: import("@sinclair/typebox").TBoolean;
39
+ }>, import("@sinclair/typebox").TObject<{
40
+ draft: import("@sinclair/typebox").TBoolean;
41
+ listed: import("@sinclair/typebox").TBoolean;
42
+ }>]>, import("@sinclair/typebox").TObject<{
43
+ verificationEmail: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
44
+ }>]>, import("@sinclair/typebox").TObject<{
45
+ questions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
46
+ id: import("@sinclair/typebox").TString;
47
+ }>, import("@sinclair/typebox").TObject<{
48
+ question: import("@sinclair/typebox").TString;
49
+ type: import("@sinclair/typebox").TEnum<typeof import("../..").QuestionType>;
50
+ options: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>, import("@sinclair/typebox").TNull]>;
51
+ required: import("@sinclair/typebox").TBoolean;
52
+ public: import("@sinclair/typebox").TBoolean;
53
+ }>]>>;
54
+ quotas: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
55
+ id: import("@sinclair/typebox").TString;
56
+ }>, import("@sinclair/typebox").TObject<{
57
+ title: import("@sinclair/typebox").TString;
58
+ size: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
59
+ }>]>, import("@sinclair/typebox").TObject<{
60
+ signupCount: import("@sinclair/typebox").TInteger;
61
+ }>]>, import("@sinclair/typebox").TObject<{
62
+ signups: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
63
+ id: import("@sinclair/typebox").TString;
64
+ }>, import("@sinclair/typebox").TObject<{
65
+ firstName: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
66
+ lastName: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
67
+ email: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
68
+ namePublic: import("@sinclair/typebox").TBoolean;
69
+ answers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
70
+ questionId: import("@sinclair/typebox").TString;
71
+ answer: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>]>;
72
+ }>>;
73
+ }>, import("@sinclair/typebox").TObject<{
74
+ status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TEnum<typeof import("../..").SignupStatus>, import("@sinclair/typebox").TNull]>;
75
+ position: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
76
+ createdAt: import("@sinclair/typebox").TString;
77
+ confirmed: import("@sinclair/typebox").TBoolean;
78
+ }>]>>;
79
+ }>]>>;
80
+ updatedAt: import("@sinclair/typebox").TString;
81
+ }>]>;
82
+ /** Response schema for fetching an event from the public API. */
83
+ export declare const userEventResponse: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
84
+ id: import("@sinclair/typebox").TString;
85
+ }>, import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
86
+ title: import("@sinclair/typebox").TString;
87
+ slug: import("@sinclair/typebox").TString;
88
+ date: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
89
+ endDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
90
+ registrationStartDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
91
+ registrationEndDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
92
+ openQuotaSize: import("@sinclair/typebox").TInteger;
93
+ category: import("@sinclair/typebox").TString;
94
+ description: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
95
+ price: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
96
+ location: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
97
+ webpageUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
98
+ facebookUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
99
+ signupsPublic: import("@sinclair/typebox").TBoolean;
100
+ }>, import("@sinclair/typebox").TObject<{
101
+ nameQuestion: import("@sinclair/typebox").TBoolean;
102
+ emailQuestion: import("@sinclair/typebox").TBoolean;
103
+ }>]>, import("@sinclair/typebox").TObject<{
104
+ questions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
105
+ id: import("@sinclair/typebox").TString;
106
+ }>, import("@sinclair/typebox").TObject<{
107
+ question: import("@sinclair/typebox").TString;
108
+ type: import("@sinclair/typebox").TEnum<typeof import("../..").QuestionType>;
109
+ options: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>, import("@sinclair/typebox").TNull]>;
110
+ required: import("@sinclair/typebox").TBoolean;
111
+ public: import("@sinclair/typebox").TBoolean;
112
+ }>]>>;
113
+ quotas: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
114
+ id: import("@sinclair/typebox").TString;
115
+ }>, import("@sinclair/typebox").TObject<{
116
+ title: import("@sinclair/typebox").TString;
117
+ size: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
118
+ }>]>, import("@sinclair/typebox").TObject<{
119
+ signupCount: import("@sinclair/typebox").TInteger;
120
+ }>]>, import("@sinclair/typebox").TObject<{
121
+ signups: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
122
+ firstName: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
123
+ lastName: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
124
+ namePublic: import("@sinclair/typebox").TBoolean;
125
+ answers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
126
+ questionId: import("@sinclair/typebox").TString;
127
+ answer: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>]>;
128
+ }>>;
129
+ }>, import("@sinclair/typebox").TObject<{
130
+ status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TEnum<typeof import("../..").SignupStatus>, import("@sinclair/typebox").TNull]>;
131
+ position: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
132
+ createdAt: import("@sinclair/typebox").TString;
133
+ confirmed: import("@sinclair/typebox").TBoolean;
134
+ }>]>>;
135
+ }>]>>;
136
+ }>, import("@sinclair/typebox").TObject<{
137
+ millisTillOpening: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
138
+ registrationClosed: import("@sinclair/typebox").TBoolean;
139
+ }>]>;
140
+ /** Request body for creating an event. */
141
+ export declare const eventCreateBody: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
142
+ title: import("@sinclair/typebox").TString;
143
+ slug: import("@sinclair/typebox").TString;
144
+ date: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
145
+ endDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
146
+ registrationStartDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
147
+ registrationEndDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
148
+ openQuotaSize: import("@sinclair/typebox").TInteger;
149
+ category: import("@sinclair/typebox").TString;
150
+ description: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
151
+ price: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
152
+ location: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
153
+ webpageUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
154
+ facebookUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
155
+ signupsPublic: import("@sinclair/typebox").TBoolean;
156
+ }>, import("@sinclair/typebox").TObject<{
157
+ nameQuestion: import("@sinclair/typebox").TBoolean;
158
+ emailQuestion: import("@sinclair/typebox").TBoolean;
159
+ }>]>, import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
160
+ title: import("@sinclair/typebox").TString;
161
+ slug: import("@sinclair/typebox").TString;
162
+ date: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
163
+ endDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
164
+ registrationStartDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
165
+ registrationEndDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
166
+ openQuotaSize: import("@sinclair/typebox").TInteger;
167
+ category: import("@sinclair/typebox").TString;
168
+ description: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
169
+ price: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
170
+ location: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
171
+ webpageUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
172
+ facebookUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
173
+ signupsPublic: import("@sinclair/typebox").TBoolean;
174
+ }>, import("@sinclair/typebox").TObject<{
175
+ draft: import("@sinclair/typebox").TBoolean;
176
+ listed: import("@sinclair/typebox").TBoolean;
177
+ }>]>, import("@sinclair/typebox").TObject<{
178
+ verificationEmail: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
179
+ }>]>, import("@sinclair/typebox").TObject<{
180
+ quotas: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
181
+ title: import("@sinclair/typebox").TString;
182
+ size: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
183
+ }>>;
184
+ questions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
185
+ question: import("@sinclair/typebox").TString;
186
+ type: import("@sinclair/typebox").TEnum<typeof import("../..").QuestionType>;
187
+ options: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>, import("@sinclair/typebox").TNull]>;
188
+ required: import("@sinclair/typebox").TBoolean;
189
+ public: import("@sinclair/typebox").TBoolean;
190
+ }>>;
191
+ }>]>;
192
+ /** Request body for editing an existing event. */
193
+ export declare const eventUpdateBody: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
194
+ title: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
195
+ slug: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
196
+ date: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
197
+ endDate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
198
+ registrationStartDate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
199
+ registrationEndDate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
200
+ openQuotaSize: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
201
+ category: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
202
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
203
+ price: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
204
+ location: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
205
+ webpageUrl: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
206
+ facebookUrl: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
207
+ signupsPublic: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
208
+ }>, import("@sinclair/typebox").TObject<{
209
+ nameQuestion: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
210
+ emailQuestion: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
211
+ }>]>, import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
212
+ title: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
213
+ slug: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
214
+ date: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
215
+ endDate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
216
+ registrationStartDate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
217
+ registrationEndDate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
218
+ openQuotaSize: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
219
+ category: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
220
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
221
+ price: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
222
+ location: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
223
+ webpageUrl: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
224
+ facebookUrl: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
225
+ signupsPublic: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
226
+ }>, import("@sinclair/typebox").TObject<{
227
+ draft: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
228
+ listed: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
229
+ }>]>, import("@sinclair/typebox").TObject<{
230
+ verificationEmail: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
231
+ }>]>, import("@sinclair/typebox").TObject<{
232
+ quotas: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
233
+ id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
234
+ }>, import("@sinclair/typebox").TObject<{
235
+ title: import("@sinclair/typebox").TString;
236
+ size: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
237
+ }>]>>>;
238
+ questions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
239
+ id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
240
+ }>, import("@sinclair/typebox").TObject<{
241
+ question: import("@sinclair/typebox").TString;
242
+ type: import("@sinclair/typebox").TEnum<typeof import("../..").QuestionType>;
243
+ options: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>, import("@sinclair/typebox").TNull]>;
244
+ required: import("@sinclair/typebox").TBoolean;
245
+ public: import("@sinclair/typebox").TBoolean;
246
+ }>]>>>;
247
+ moveSignupsToQueue: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
248
+ updatedAt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
249
+ }>]>;
250
+ /** Response schema when an event is fetched as part of an editable signup. */
251
+ export declare const userEventForSignup: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
252
+ id: import("@sinclair/typebox").TString;
253
+ }>, import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
254
+ title: import("@sinclair/typebox").TString;
255
+ slug: import("@sinclair/typebox").TString;
256
+ date: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
257
+ endDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
258
+ registrationStartDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
259
+ registrationEndDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
260
+ openQuotaSize: import("@sinclair/typebox").TInteger;
261
+ category: import("@sinclair/typebox").TString;
262
+ description: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
263
+ price: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
264
+ location: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
265
+ webpageUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
266
+ facebookUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
267
+ signupsPublic: import("@sinclair/typebox").TBoolean;
268
+ }>, import("@sinclair/typebox").TObject<{
269
+ nameQuestion: import("@sinclair/typebox").TBoolean;
270
+ emailQuestion: import("@sinclair/typebox").TBoolean;
271
+ }>]>, import("@sinclair/typebox").TObject<{
272
+ questions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
273
+ id: import("@sinclair/typebox").TString;
274
+ }>, import("@sinclair/typebox").TObject<{
275
+ question: import("@sinclair/typebox").TString;
276
+ type: import("@sinclair/typebox").TEnum<typeof import("../..").QuestionType>;
277
+ options: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>, import("@sinclair/typebox").TNull]>;
278
+ required: import("@sinclair/typebox").TBoolean;
279
+ public: import("@sinclair/typebox").TBoolean;
280
+ }>]>>;
281
+ }>]>;
282
+ /** Path parameters necessary to fetch an event from the admin API. */
283
+ export declare const adminEventPathParams: import("@sinclair/typebox").TObject<{
284
+ id: import("@sinclair/typebox").TString;
285
+ }>;
286
+ /** Path parameters necessary to fetch an event from the public API. */
287
+ export declare const userEventPathParams: import("@sinclair/typebox").TObject<{
288
+ slug: import("@sinclair/typebox").TString;
289
+ }>;
290
+ /** Event ID type. Randomly generated alphanumeric string. */
291
+ export type EventID = Static<typeof eventID>;
292
+ /** Event slug type. */
293
+ export type EventSlug = Static<typeof eventSlug>;
294
+ /** Path parameters necessary to fetch an event from the admin API. */
295
+ export type AdminEventPathParams = Static<typeof adminEventPathParams>;
296
+ /** Path parameters necessary to fetch an event from the public API. */
297
+ export type UserEventPathParams = Static<typeof userEventPathParams>;
298
+ /** Request body for creating an event. */
299
+ export type EventCreateBody = Static<typeof eventCreateBody>;
300
+ /** Request body for editing an existing event. */
301
+ export type EventUpdateBody = Static<typeof eventUpdateBody>;
302
+ /** Response schema for fetching or modifying an event in the admin API. */
303
+ export type AdminEventResponse = Static<typeof adminEventResponse>;
304
+ /** Response schema for fetching an event from the public API. */
305
+ export type UserEventResponse = Static<typeof userEventResponse>;
306
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/schema/event/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAQ,MAAM,mBAAmB,CAAC;AAKjD,OAAO,EAGL,OAAO,EAEP,SAAS,EAEV,MAAM,cAAc,CAAC;AAEtB,2EAA2E;AAC3E,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAa9B,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAQ5B,CAAC;AAEH,0CAA0C;AAC1C,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAM1B,CAAC;AAEH,kDAAkD;AAClD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAezB,CAAC;AAEJ,8EAA8E;AAC9E,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAM7B,CAAC;AAEH,sEAAsE;AACtE,eAAO,MAAM,oBAAoB;;EAE/B,CAAC;AAEH,uEAAuE;AACvE,eAAO,MAAM,mBAAmB;;EAE9B,CAAC;AAEH,6DAA6D;AAC7D,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,OAAO,CAAC,CAAC;AAC7C,uBAAuB;AACvB,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,SAAS,CAAC,CAAC;AAEjD,sEAAsE;AACtE,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACvE,uEAAuE;AACvE,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAErE,0CAA0C;AAC1C,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC;AAC7D,kDAAkD;AAClD,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC;AAE7D,2EAA2E;AAC3E,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACnE,iEAAiE;AACjE,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC"}