@tietokilta/ilmomasiina-models 2.0.0-alpha40 → 2.0.0-alpha42

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 (42) hide show
  1. package/README.md +7 -0
  2. package/dist/attrs/event.d.ts +15 -10
  3. package/dist/attrs/event.d.ts.map +1 -1
  4. package/dist/attrs/event.js +28 -5
  5. package/dist/models/answer.d.ts +2 -2
  6. package/dist/models/answer.d.ts.map +1 -1
  7. package/dist/models/auditlog.d.ts +1 -1
  8. package/dist/models/auditlog.d.ts.map +1 -1
  9. package/dist/models/event.d.ts +18 -8
  10. package/dist/models/event.d.ts.map +1 -1
  11. package/dist/models/index.d.ts +1 -1
  12. package/dist/models/index.d.ts.map +1 -1
  13. package/dist/models/question.d.ts +2 -2
  14. package/dist/models/question.d.ts.map +1 -1
  15. package/dist/models/quota.d.ts +1 -1
  16. package/dist/models/quota.d.ts.map +1 -1
  17. package/dist/models/signup.d.ts +2 -2
  18. package/dist/models/signup.d.ts.map +1 -1
  19. package/dist/schema/event/attributes.d.ts +82 -51
  20. package/dist/schema/event/attributes.d.ts.map +1 -1
  21. package/dist/schema/event/attributes.js +57 -40
  22. package/dist/schema/event/index.d.ts +173 -85
  23. package/dist/schema/event/index.d.ts.map +1 -1
  24. package/dist/schema/event/index.js +45 -28
  25. package/dist/schema/eventList/index.d.ts +64 -22
  26. package/dist/schema/eventList/index.d.ts.map +1 -1
  27. package/dist/schema/eventList/index.js +15 -11
  28. package/dist/schema/question/attributes.d.ts +5 -0
  29. package/dist/schema/question/attributes.d.ts.map +1 -1
  30. package/dist/schema/question/attributes.js +16 -6
  31. package/dist/schema/question/index.d.ts +11 -2
  32. package/dist/schema/question/index.d.ts.map +1 -1
  33. package/dist/schema/question/index.js +3 -1
  34. package/dist/schema/quota/attributes.d.ts +4 -0
  35. package/dist/schema/quota/attributes.d.ts.map +1 -1
  36. package/dist/schema/quota/attributes.js +9 -1
  37. package/dist/schema/quota/index.d.ts +10 -0
  38. package/dist/schema/quota/index.d.ts.map +1 -1
  39. package/dist/schema/quota/index.js +3 -1
  40. package/dist/schema/signupForEdit/index.d.ts +26 -5
  41. package/dist/schema/signupForEdit/index.d.ts.map +1 -1
  42. package/package.json +3 -3
@@ -1,11 +1,14 @@
1
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<{
2
+ import { adminEventLanguage, eventID, eventSlug, userEventLanguage } from "./attributes";
3
+ /** Response schema for fetching an event from the public API. */
4
+ export declare const userEventResponse: import("@sinclair/typebox").TObject<{
5
5
  id: import("@sinclair/typebox").TString;
6
- }>, import("@sinclair/typebox").TObject<{
7
6
  title: import("@sinclair/typebox").TString;
8
7
  description: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
8
+ price: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
9
+ location: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
10
+ webpageUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
11
+ facebookUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
9
12
  date: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
10
13
  slug: import("@sinclair/typebox").TString;
11
14
  endDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
@@ -13,24 +16,24 @@ export declare const adminEventResponse: import("@sinclair/typebox").TIntersect<
13
16
  registrationEndDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
14
17
  openQuotaSize: import("@sinclair/typebox").TInteger;
15
18
  category: import("@sinclair/typebox").TString;
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
19
  signupsPublic: import("@sinclair/typebox").TBoolean;
21
20
  nameQuestion: import("@sinclair/typebox").TBoolean;
22
21
  emailQuestion: import("@sinclair/typebox").TBoolean;
23
- draft: import("@sinclair/typebox").TBoolean;
24
- listed: import("@sinclair/typebox").TBoolean;
25
- verificationEmail: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
26
- }>, import("@sinclair/typebox").TObject<{
27
- questions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
28
- id: import("@sinclair/typebox").TString;
29
- question: import("@sinclair/typebox").TString;
30
- type: import("@sinclair/typebox").TEnum<typeof import("../..").QuestionType>;
31
- options: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>, import("@sinclair/typebox").TNull]>;
32
- required: import("@sinclair/typebox").TBoolean;
33
- public: import("@sinclair/typebox").TBoolean;
22
+ defaultLanguage: import("@sinclair/typebox").TString;
23
+ languages: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
24
+ description: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
25
+ price: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
26
+ location: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
27
+ webpageUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
28
+ facebookUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
29
+ title: import("@sinclair/typebox").TString;
30
+ quotas: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
31
+ title: import("@sinclair/typebox").TString;
32
+ }>>;
33
+ questions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
34
+ question: import("@sinclair/typebox").TString;
35
+ options: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>, import("@sinclair/typebox").TNull]>;
36
+ }>>;
34
37
  }>>;
35
38
  quotas: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
36
39
  id: import("@sinclair/typebox").TString;
@@ -38,11 +41,10 @@ export declare const adminEventResponse: import("@sinclair/typebox").TIntersect<
38
41
  size: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
39
42
  signupCount: import("@sinclair/typebox").TInteger;
40
43
  signups: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
41
- id: import("@sinclair/typebox").TString;
42
- email: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
43
44
  firstName: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
44
45
  lastName: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
45
46
  answers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
47
+ /** Response schema for fetching an event from the public API. */
46
48
  questionId: import("@sinclair/typebox").TString;
47
49
  answer: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>]>;
48
50
  }>>;
@@ -53,14 +55,26 @@ export declare const adminEventResponse: import("@sinclair/typebox").TIntersect<
53
55
  confirmed: import("@sinclair/typebox").TBoolean;
54
56
  }>>;
55
57
  }>>;
56
- updatedAt: import("@sinclair/typebox").TString;
57
- }>]>;
58
- /** Response schema for fetching an event from the public API. */
59
- export declare const userEventResponse: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
58
+ questions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
59
+ id: import("@sinclair/typebox").TString;
60
+ question: import("@sinclair/typebox").TString;
61
+ options: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>, import("@sinclair/typebox").TNull]>;
62
+ type: import("@sinclair/typebox").TEnum<typeof import("../..").QuestionType>;
63
+ required: import("@sinclair/typebox").TBoolean;
64
+ public: import("@sinclair/typebox").TBoolean;
65
+ }>>;
66
+ millisTillOpening: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
67
+ registrationClosed: import("@sinclair/typebox").TBoolean;
68
+ }>;
69
+ /** Response schema when an event is fetched as part of an editable signup. */
70
+ export declare const userEventForSignup: import("@sinclair/typebox").TObject<{
60
71
  id: import("@sinclair/typebox").TString;
61
- }>, import("@sinclair/typebox").TObject<{
62
72
  title: import("@sinclair/typebox").TString;
63
73
  description: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
74
+ price: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
75
+ location: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
76
+ webpageUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
77
+ facebookUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
64
78
  date: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
65
79
  slug: import("@sinclair/typebox").TString;
66
80
  endDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
@@ -68,31 +82,91 @@ export declare const userEventResponse: import("@sinclair/typebox").TIntersect<[
68
82
  registrationEndDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
69
83
  openQuotaSize: import("@sinclair/typebox").TInteger;
70
84
  category: import("@sinclair/typebox").TString;
71
- price: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
72
- location: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
73
- webpageUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
74
- facebookUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
75
85
  signupsPublic: import("@sinclair/typebox").TBoolean;
76
86
  nameQuestion: import("@sinclair/typebox").TBoolean;
77
87
  emailQuestion: import("@sinclair/typebox").TBoolean;
78
- }>, import("@sinclair/typebox").TObject<{
88
+ defaultLanguage: import("@sinclair/typebox").TString;
89
+ languages: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
90
+ description: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
91
+ price: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
92
+ location: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
93
+ webpageUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
94
+ facebookUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
95
+ title: import("@sinclair/typebox").TString;
96
+ quotas: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
97
+ title: import("@sinclair/typebox").TString;
98
+ }>>;
99
+ questions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
100
+ question: import("@sinclair/typebox").TString;
101
+ options: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>, import("@sinclair/typebox").TNull]>;
102
+ }>>;
103
+ }>>;
104
+ quotas: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
105
+ id: import("@sinclair/typebox").TString;
106
+ title: import("@sinclair/typebox").TString;
107
+ size: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
108
+ }>>;
79
109
  questions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
80
110
  id: import("@sinclair/typebox").TString;
81
111
  question: import("@sinclair/typebox").TString;
82
- type: import("@sinclair/typebox").TEnum<typeof import("../..").QuestionType>;
83
112
  options: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>, import("@sinclair/typebox").TNull]>;
113
+ type: import("@sinclair/typebox").TEnum<typeof import("../..").QuestionType>;
84
114
  required: import("@sinclair/typebox").TBoolean;
85
115
  public: import("@sinclair/typebox").TBoolean;
86
116
  }>>;
117
+ }>;
118
+ /** Response schema for fetching or modifying an event in the admin API. */
119
+ export declare const adminEventResponse: import("@sinclair/typebox").TObject<{
120
+ id: import("@sinclair/typebox").TString;
121
+ title: import("@sinclair/typebox").TString;
122
+ description: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
123
+ price: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
124
+ location: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
125
+ webpageUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
126
+ facebookUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
127
+ verificationEmail: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
128
+ date: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
129
+ slug: import("@sinclair/typebox").TString;
130
+ endDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
131
+ registrationStartDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
132
+ registrationEndDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
133
+ openQuotaSize: import("@sinclair/typebox").TInteger;
134
+ category: import("@sinclair/typebox").TString;
135
+ signupsPublic: import("@sinclair/typebox").TBoolean;
136
+ nameQuestion: import("@sinclair/typebox").TBoolean;
137
+ emailQuestion: import("@sinclair/typebox").TBoolean;
138
+ defaultLanguage: import("@sinclair/typebox").TString;
139
+ languages: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
140
+ description: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
141
+ price: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
142
+ location: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
143
+ webpageUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
144
+ facebookUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
145
+ title: import("@sinclair/typebox").TString;
146
+ quotas: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
147
+ title: import("@sinclair/typebox").TString;
148
+ }>>;
149
+ questions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
150
+ question: import("@sinclair/typebox").TString;
151
+ options: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>, import("@sinclair/typebox").TNull]>;
152
+ }>>;
153
+ verificationEmail: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
154
+ }>>;
155
+ draft: import("@sinclair/typebox").TBoolean;
156
+ listed: import("@sinclair/typebox").TBoolean;
157
+ updatedAt: import("@sinclair/typebox").TString;
87
158
  quotas: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
88
159
  id: import("@sinclair/typebox").TString;
89
160
  title: import("@sinclair/typebox").TString;
90
161
  size: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
91
162
  signupCount: import("@sinclair/typebox").TInteger;
92
163
  signups: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
164
+ id: import("@sinclair/typebox").TString;
165
+ email: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
93
166
  firstName: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
94
167
  lastName: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
95
168
  answers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
169
+ /** Response schema for fetching an event from the public API. */
96
170
  questionId: import("@sinclair/typebox").TString;
97
171
  answer: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>]>;
98
172
  }>>;
@@ -103,14 +177,24 @@ export declare const userEventResponse: import("@sinclair/typebox").TIntersect<[
103
177
  confirmed: import("@sinclair/typebox").TBoolean;
104
178
  }>>;
105
179
  }>>;
106
- }>, 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
- }>]>;
180
+ questions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
181
+ id: import("@sinclair/typebox").TString;
182
+ question: import("@sinclair/typebox").TString;
183
+ options: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>, import("@sinclair/typebox").TNull]>;
184
+ type: import("@sinclair/typebox").TEnum<typeof import("../..").QuestionType>;
185
+ required: import("@sinclair/typebox").TBoolean;
186
+ public: import("@sinclair/typebox").TBoolean;
187
+ }>>;
188
+ }>;
110
189
  /** Request body for creating an event. */
111
- export declare const eventCreateBody: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
190
+ export declare const eventCreateBody: import("@sinclair/typebox").TObject<{
112
191
  title: import("@sinclair/typebox").TString;
113
192
  description: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
193
+ price: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
194
+ location: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
195
+ webpageUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
196
+ facebookUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
197
+ verificationEmail: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
114
198
  date: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
115
199
  slug: import("@sinclair/typebox").TString;
116
200
  endDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
@@ -118,17 +202,28 @@ export declare const eventCreateBody: import("@sinclair/typebox").TIntersect<[im
118
202
  registrationEndDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
119
203
  openQuotaSize: import("@sinclair/typebox").TInteger;
120
204
  category: import("@sinclair/typebox").TString;
121
- price: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
122
- location: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
123
- webpageUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
124
- facebookUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
125
205
  signupsPublic: import("@sinclair/typebox").TBoolean;
126
206
  nameQuestion: import("@sinclair/typebox").TBoolean;
127
207
  emailQuestion: import("@sinclair/typebox").TBoolean;
208
+ defaultLanguage: import("@sinclair/typebox").TString;
209
+ languages: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
210
+ description: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
211
+ price: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
212
+ location: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
213
+ webpageUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
214
+ facebookUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
215
+ title: import("@sinclair/typebox").TString;
216
+ quotas: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
217
+ title: import("@sinclair/typebox").TString;
218
+ }>>;
219
+ questions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
220
+ question: import("@sinclair/typebox").TString;
221
+ options: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>, import("@sinclair/typebox").TNull]>;
222
+ }>>;
223
+ verificationEmail: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
224
+ }>>;
128
225
  draft: import("@sinclair/typebox").TBoolean;
129
226
  listed: import("@sinclair/typebox").TBoolean;
130
- verificationEmail: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
131
- }>, import("@sinclair/typebox").TObject<{
132
227
  quotas: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
133
228
  title: import("@sinclair/typebox").TString;
134
229
  size: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
@@ -140,11 +235,16 @@ export declare const eventCreateBody: import("@sinclair/typebox").TIntersect<[im
140
235
  required: import("@sinclair/typebox").TBoolean;
141
236
  public: import("@sinclair/typebox").TBoolean;
142
237
  }>>;
143
- }>]>;
238
+ }>;
144
239
  /** Request body for editing an existing event. */
145
240
  export declare const eventUpdateBody: import("@sinclair/typebox").TObject<{
146
241
  title: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
147
242
  description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
243
+ price: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
244
+ location: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
245
+ webpageUrl: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
246
+ facebookUrl: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
247
+ verificationEmail: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
148
248
  date: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
149
249
  slug: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
150
250
  endDate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
@@ -152,68 +252,52 @@ export declare const eventUpdateBody: import("@sinclair/typebox").TObject<{
152
252
  registrationEndDate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
153
253
  openQuotaSize: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
154
254
  category: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
155
- price: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
156
- location: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
157
- webpageUrl: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
158
- facebookUrl: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
159
255
  signupsPublic: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
160
256
  nameQuestion: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
161
257
  emailQuestion: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
258
+ defaultLanguage: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
259
+ languages: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
260
+ description: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
261
+ price: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
262
+ location: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
263
+ webpageUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
264
+ facebookUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
265
+ title: import("@sinclair/typebox").TString;
266
+ quotas: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
267
+ title: import("@sinclair/typebox").TString;
268
+ }>>;
269
+ questions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
270
+ question: import("@sinclair/typebox").TString;
271
+ options: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>, import("@sinclair/typebox").TNull]>;
272
+ }>>;
273
+ verificationEmail: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
274
+ }>>>;
162
275
  draft: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
163
276
  listed: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
164
- verificationEmail: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
165
277
  updatedAt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
278
+ quotas: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
279
+ id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
280
+ title: import("@sinclair/typebox").TString;
281
+ size: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
282
+ }>>>;
166
283
  questions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
167
284
  id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
168
285
  question: import("@sinclair/typebox").TString;
169
- type: import("@sinclair/typebox").TEnum<typeof import("../..").QuestionType>;
170
286
  options: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>, import("@sinclair/typebox").TNull]>;
287
+ type: import("@sinclair/typebox").TEnum<typeof import("../..").QuestionType>;
171
288
  required: import("@sinclair/typebox").TBoolean;
172
289
  public: import("@sinclair/typebox").TBoolean;
173
290
  }>>>;
174
- quotas: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
175
- id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
176
- title: import("@sinclair/typebox").TString;
177
- size: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
178
- }>>>;
179
291
  moveSignupsToQueue: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
180
292
  }>;
181
- /** Response schema when an event is fetched as part of an editable signup. */
182
- export declare const userEventForSignup: import("@sinclair/typebox").TObject<{
183
- id: import("@sinclair/typebox").TString;
184
- title: import("@sinclair/typebox").TString;
185
- description: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
186
- date: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
293
+ /** Path parameters necessary to fetch an event from the public API. */
294
+ export declare const userEventPathParams: import("@sinclair/typebox").TObject<{
187
295
  slug: import("@sinclair/typebox").TString;
188
- endDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
189
- registrationStartDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
190
- registrationEndDate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
191
- openQuotaSize: import("@sinclair/typebox").TInteger;
192
- category: import("@sinclair/typebox").TString;
193
- price: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
194
- location: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
195
- webpageUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
196
- facebookUrl: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
197
- signupsPublic: import("@sinclair/typebox").TBoolean;
198
- nameQuestion: import("@sinclair/typebox").TBoolean;
199
- emailQuestion: import("@sinclair/typebox").TBoolean;
200
- questions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
201
- id: import("@sinclair/typebox").TString;
202
- question: import("@sinclair/typebox").TString;
203
- type: import("@sinclair/typebox").TEnum<typeof import("../..").QuestionType>;
204
- options: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>, import("@sinclair/typebox").TNull]>;
205
- required: import("@sinclair/typebox").TBoolean;
206
- public: import("@sinclair/typebox").TBoolean;
207
- }>>;
208
296
  }>;
209
297
  /** Path parameters necessary to fetch an event from the admin API. */
210
298
  export declare const adminEventPathParams: import("@sinclair/typebox").TObject<{
211
299
  id: import("@sinclair/typebox").TString;
212
300
  }>;
213
- /** Path parameters necessary to fetch an event from the public API. */
214
- export declare const userEventPathParams: import("@sinclair/typebox").TObject<{
215
- slug: import("@sinclair/typebox").TString;
216
- }>;
217
301
  /** Event ID type. Randomly generated alphanumeric string. */
218
302
  export type EventID = Static<typeof eventID>;
219
303
  /** Event slug type. */
@@ -230,4 +314,8 @@ export type EventUpdateBody = Static<typeof eventUpdateBody>;
230
314
  export type AdminEventResponse = Static<typeof adminEventResponse>;
231
315
  /** Response schema for fetching an event from the public API. */
232
316
  export type UserEventResponse = Static<typeof userEventResponse>;
317
+ /** Schema for an event language version for admins. */
318
+ export type AdminEventLanguage = Static<typeof adminEventLanguage>;
319
+ /** Schema for an event language version. */
320
+ export type UserEventLanguage = Static<typeof userEventLanguage>;
233
321
  //# sourceMappingURL=index.d.ts.map
@@ -1 +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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAW7B,CAAC;AAEH,iEAAiE;AACjE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAQ5B,CAAC;AAEH,0CAA0C;AAC1C,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAM1B,CAAC;AAEH,kDAAkD;AAClD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkB3B,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;EAM7B,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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/schema/event/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAQ,MAAM,mBAAmB,CAAC;AAMjD,OAAO,EAEL,kBAAkB,EAGlB,OAAO,EAEP,SAAS,EAGT,iBAAiB,EAElB,MAAM,cAAc,CAAC;AAKtB,iEAAiE;AACjE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAD9B,iEAAiE;;;;;;;;;;;;;;;;;;;;;EAc/D,CAAC;AAEH,8EAA8E;AAC9E,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO7B,CAAC;AAWH,2EAA2E;AAC3E,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBApC/B,iEAAiE;;;;;;;;;;;;;;;;;;;EA+C/D,CAAC;AAEH,0CAA0C;AAC1C,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM1B,CAAC;AAEH,kDAAkD;AAClD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkB3B,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,mBAAmB;;EAE9B,CAAC;AAEH,sEAAsE;AACtE,eAAO,MAAM,oBAAoB;;EAE/B,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;AAEjE,uDAAuD;AACvD,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACnE,4CAA4C;AAC5C,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
@@ -1,37 +1,62 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.userEventPathParams = exports.adminEventPathParams = exports.userEventForSignup = exports.eventUpdateBody = exports.eventCreateBody = exports.userEventResponse = exports.adminEventResponse = void 0;
3
+ exports.adminEventPathParams = exports.userEventPathParams = exports.eventUpdateBody = exports.eventCreateBody = exports.adminEventResponse = exports.userEventForSignup = exports.userEventResponse = void 0;
4
4
  const typebox_1 = require("@sinclair/typebox");
5
5
  const question_1 = require("../question");
6
6
  const quota_1 = require("../quota");
7
7
  const quotaWithSignups_1 = require("../quotaWithSignups");
8
+ const utils_1 = require("../utils");
8
9
  const attributes_1 = require("./attributes");
9
- /** Response schema for fetching or modifying an event in the admin API. */
10
- exports.adminEventResponse = typebox_1.Type.Intersect([
10
+ /** Non-relation attributes for the public API. */
11
+ const publicAttributes = typebox_1.Type.Composite([attributes_1.publicEventAttributes, attributes_1.publicCommonAttributes, attributes_1.userEventLanguages]);
12
+ /** Response schema for fetching an event from the public API. */
13
+ exports.userEventResponse = typebox_1.Type.Composite([
11
14
  attributes_1.eventIdentity,
12
- attributes_1.adminEventDetailsAttributes,
15
+ publicAttributes,
13
16
  typebox_1.Type.Object({
14
17
  questions: typebox_1.Type.Array(question_1.question),
15
- quotas: typebox_1.Type.Array(quotaWithSignups_1.adminQuotaWithSignups),
16
- updatedAt: typebox_1.Type.String({
17
- description: "Last update time of the event. Used for edit conflict handling.",
18
- format: "date-time",
18
+ quotas: typebox_1.Type.Array(quotaWithSignups_1.userQuotaWithSignups),
19
+ millisTillOpening: (0, utils_1.Nullable)(typebox_1.Type.Integer(), {
20
+ description: "Time in ms until signup opens. If null, the signup will not open in the future.",
21
+ }),
22
+ registrationClosed: typebox_1.Type.Boolean({
23
+ description: "Whether the signup has closed.",
19
24
  }),
20
25
  }),
21
26
  ]);
22
- /** Response schema for fetching an event from the public API. */
23
- exports.userEventResponse = typebox_1.Type.Intersect([
27
+ /** Response schema when an event is fetched as part of an editable signup. */
28
+ exports.userEventForSignup = typebox_1.Type.Composite([
24
29
  attributes_1.eventIdentity,
25
- attributes_1.userEventDetailsAttributes,
30
+ publicAttributes,
26
31
  typebox_1.Type.Object({
27
32
  questions: typebox_1.Type.Array(question_1.question),
28
- quotas: typebox_1.Type.Array(quotaWithSignups_1.userQuotaWithSignups),
33
+ quotas: typebox_1.Type.Array(quota_1.quota),
34
+ }),
35
+ ]);
36
+ /** Non-relation attributes for the admin API. */
37
+ const adminAttributes = typebox_1.Type.Composite([
38
+ attributes_1.publicEventAttributes,
39
+ attributes_1.publicCommonAttributes,
40
+ attributes_1.adminOnlyEventAttributes,
41
+ attributes_1.adminDetailsOnlyCommonAttributes,
42
+ attributes_1.adminEventLanguages,
43
+ ]);
44
+ /** Response schema for fetching or modifying an event in the admin API. */
45
+ exports.adminEventResponse = typebox_1.Type.Composite([
46
+ attributes_1.eventIdentity,
47
+ adminAttributes,
48
+ typebox_1.Type.Object({
49
+ questions: typebox_1.Type.Array(question_1.question),
50
+ quotas: typebox_1.Type.Array(quotaWithSignups_1.adminQuotaWithSignups),
51
+ updatedAt: typebox_1.Type.String({
52
+ description: "Last update time of the event. Used for edit conflict handling.",
53
+ format: "date-time",
54
+ }),
29
55
  }),
30
- attributes_1.eventDynamicAttributes,
31
56
  ]);
32
57
  /** Request body for creating an event. */
33
- exports.eventCreateBody = typebox_1.Type.Intersect([
34
- attributes_1.adminEventDetailsAttributes,
58
+ exports.eventCreateBody = typebox_1.Type.Composite([
59
+ adminAttributes,
35
60
  typebox_1.Type.Object({
36
61
  quotas: typebox_1.Type.Array(quota_1.quotaCreate),
37
62
  questions: typebox_1.Type.Array(question_1.questionCreate),
@@ -39,7 +64,7 @@ exports.eventCreateBody = typebox_1.Type.Intersect([
39
64
  ]);
40
65
  /** Request body for editing an existing event. */
41
66
  exports.eventUpdateBody = typebox_1.Type.Partial(typebox_1.Type.Composite([
42
- attributes_1.adminEventDetailsAttributes,
67
+ adminAttributes,
43
68
  typebox_1.Type.Object({
44
69
  quotas: typebox_1.Type.Array(quota_1.quotaUpdate),
45
70
  questions: typebox_1.Type.Array(question_1.questionUpdate),
@@ -54,19 +79,11 @@ exports.eventUpdateBody = typebox_1.Type.Partial(typebox_1.Type.Composite([
54
79
  }),
55
80
  }),
56
81
  ]));
57
- /** Response schema when an event is fetched as part of an editable signup. */
58
- exports.userEventForSignup = typebox_1.Type.Composite([
59
- attributes_1.eventIdentity,
60
- attributes_1.userEventDetailsAttributes,
61
- typebox_1.Type.Object({
62
- questions: typebox_1.Type.Array(question_1.question),
63
- }),
64
- ]);
65
- /** Path parameters necessary to fetch an event from the admin API. */
66
- exports.adminEventPathParams = typebox_1.Type.Object({
67
- id: attributes_1.eventID,
68
- });
69
82
  /** Path parameters necessary to fetch an event from the public API. */
70
83
  exports.userEventPathParams = typebox_1.Type.Object({
71
84
  slug: attributes_1.eventSlug,
72
85
  });
86
+ /** Path parameters necessary to fetch an event from the admin API. */
87
+ exports.adminEventPathParams = typebox_1.Type.Object({
88
+ id: attributes_1.eventID,
89
+ });