@shakerquiz/utilities 0.1.37 → 0.2.0

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.
@@ -1,9 +1,428 @@
1
1
  import { URLOptions } from '@yurkimus/url'
2
2
 
3
+ import { Roles } from 'source/enumerations/roles'
3
4
  import { Features } from '../enumerations/features'
4
5
  import { Methods } from '../enumerations/methods'
5
6
  import { Networks } from '../enumerations/networks'
6
7
 
8
+ type RequestResults = {
9
+ [Features.Checkin]: {
10
+ [Methods.DELETE]: {
11
+ [Roles.Admin]: unknown
12
+ [Roles.Default]: unknown
13
+ [Roles.Organizer]: unknown
14
+ }
15
+
16
+ [Methods.GET]: {
17
+ [Roles.Admin]: CheckinAdminResult
18
+ [Roles.Default]: CheckinDefaultResult
19
+ [Roles.Organizer]: CheckinOrganizerResult
20
+ }
21
+
22
+ [Methods.OPTIONS]: {
23
+ [Roles.Admin]: unknown
24
+ [Roles.Default]: unknown
25
+ [Roles.Organizer]: unknown
26
+ }
27
+
28
+ [Methods.PATCH]: {
29
+ [Roles.Admin]: unknown
30
+ [Roles.Default]: unknown
31
+ [Roles.Organizer]: unknown
32
+ }
33
+
34
+ [Methods.POST]: {
35
+ [Roles.Admin]: unknown
36
+ [Roles.Default]: unknown
37
+ [Roles.Organizer]: unknown
38
+ }
39
+ }
40
+
41
+ [Features.User]: {
42
+ [Methods.DELETE]: {
43
+ [Roles.Admin]: unknown
44
+ [Roles.Default]: unknown
45
+ [Roles.Organizer]: unknown
46
+ }
47
+
48
+ [Methods.GET]: {
49
+ [Roles.Admin]: UserAdminResult
50
+ [Roles.Default]: UserDefaultResult
51
+ [Roles.Organizer]: UserOrganizerResult
52
+ }
53
+
54
+ [Methods.OPTIONS]: {
55
+ [Roles.Admin]: unknown
56
+ [Roles.Default]: unknown
57
+ [Roles.Organizer]: unknown
58
+ }
59
+
60
+ [Methods.PATCH]: {
61
+ [Roles.Admin]: unknown
62
+ [Roles.Default]: unknown
63
+ [Roles.Organizer]: unknown
64
+ }
65
+
66
+ [Methods.POST]: {
67
+ [Roles.Admin]: unknown
68
+ [Roles.Default]: unknown
69
+ [Roles.Organizer]: unknown
70
+ }
71
+ }
72
+
73
+ [Features.Users]: {
74
+ [Methods.DELETE]: {
75
+ [Roles.Admin]: unknown
76
+ [Roles.Default]: unknown
77
+ [Roles.Organizer]: unknown
78
+ }
79
+
80
+ [Methods.GET]: {
81
+ [Roles.Admin]: UserAdminResult
82
+ [Roles.Default]: UserDefaultResult
83
+ [Roles.Organizer]: UserOrganizerResult
84
+ }
85
+
86
+ [Methods.OPTIONS]: {
87
+ [Roles.Admin]: unknown
88
+ [Roles.Default]: unknown
89
+ [Roles.Organizer]: unknown
90
+ }
91
+
92
+ [Methods.PATCH]: {
93
+ [Roles.Admin]: unknown
94
+ [Roles.Default]: unknown
95
+ [Roles.Organizer]: unknown
96
+ }
97
+
98
+ [Methods.POST]: {
99
+ [Roles.Admin]: unknown
100
+ [Roles.Default]: unknown
101
+ [Roles.Organizer]: unknown
102
+ }
103
+ }
104
+
105
+ [Features.Theme]: {
106
+ [Methods.DELETE]: {
107
+ [Roles.Admin]: unknown
108
+ [Roles.Default]: unknown
109
+ [Roles.Organizer]: unknown
110
+ }
111
+
112
+ [Methods.GET]: {
113
+ [Roles.Admin]: ThemeAdminResult
114
+ [Roles.Default]: unknown
115
+ [Roles.Organizer]: ThemeOrganizerResult
116
+ }
117
+
118
+ [Methods.OPTIONS]: {
119
+ [Roles.Admin]: unknown
120
+ [Roles.Default]: unknown
121
+ [Roles.Organizer]: unknown
122
+ }
123
+
124
+ [Methods.PATCH]: {
125
+ [Roles.Admin]: unknown
126
+ [Roles.Default]: unknown
127
+ [Roles.Organizer]: unknown
128
+ }
129
+
130
+ [Methods.POST]: {
131
+ [Roles.Admin]: unknown
132
+ [Roles.Default]: unknown
133
+ [Roles.Organizer]: unknown
134
+ }
135
+ }
136
+
137
+ [Features.Themes]: {
138
+ [Methods.DELETE]: {
139
+ [Roles.Admin]: unknown
140
+ [Roles.Default]: unknown
141
+ [Roles.Organizer]: unknown
142
+ }
143
+
144
+ [Methods.GET]: {
145
+ [Roles.Admin]: ThemeAdminResult[]
146
+ [Roles.Default]: unknown
147
+ [Roles.Organizer]: ThemeOrganizerResult[]
148
+ }
149
+
150
+ [Methods.OPTIONS]: {
151
+ [Roles.Admin]: unknown
152
+ [Roles.Default]: unknown
153
+ [Roles.Organizer]: unknown
154
+ }
155
+
156
+ [Methods.PATCH]: {
157
+ [Roles.Admin]: unknown
158
+ [Roles.Default]: unknown
159
+ [Roles.Organizer]: unknown
160
+ }
161
+
162
+ [Methods.POST]: {
163
+ [Roles.Admin]: unknown
164
+ [Roles.Default]: unknown
165
+ [Roles.Organizer]: unknown
166
+ }
167
+ }
168
+
169
+ [Features.Game]: {
170
+ [Methods.DELETE]: {
171
+ [Roles.Admin]: unknown
172
+ [Roles.Default]: unknown
173
+ [Roles.Organizer]: unknown
174
+ }
175
+
176
+ [Methods.GET]: {
177
+ [Roles.Admin]: GameAdminResult
178
+ [Roles.Default]: GameDefaultResult
179
+ [Roles.Organizer]: GameOrginizerResult
180
+ }
181
+
182
+ [Methods.OPTIONS]: {
183
+ [Roles.Admin]: unknown
184
+ [Roles.Default]: unknown
185
+ [Roles.Organizer]: unknown
186
+ }
187
+
188
+ [Methods.PATCH]: {
189
+ [Roles.Admin]: unknown
190
+ [Roles.Default]: unknown
191
+ [Roles.Organizer]: unknown
192
+ }
193
+
194
+ [Methods.POST]: {
195
+ [Roles.Admin]: unknown
196
+ [Roles.Default]: unknown
197
+ [Roles.Organizer]: unknown
198
+ }
199
+ }
200
+
201
+ [Features.Games]: {
202
+ [Methods.DELETE]: {
203
+ [Roles.Admin]: unknown
204
+ [Roles.Default]: unknown
205
+ [Roles.Organizer]: unknown
206
+ }
207
+
208
+ [Methods.GET]: {
209
+ [Roles.Admin]: GameAdminResult[]
210
+ [Roles.Default]: GameDefaultResult[]
211
+ [Roles.Organizer]: GameOrginizerResult[]
212
+ }
213
+
214
+ [Methods.OPTIONS]: {
215
+ [Roles.Admin]: unknown
216
+ [Roles.Default]: unknown
217
+ [Roles.Organizer]: unknown
218
+ }
219
+
220
+ [Methods.PATCH]: {
221
+ [Roles.Admin]: unknown
222
+ [Roles.Default]: unknown
223
+ [Roles.Organizer]: unknown
224
+ }
225
+
226
+ [Methods.POST]: {
227
+ [Roles.Admin]: unknown
228
+ [Roles.Default]: unknown
229
+ [Roles.Organizer]: unknown
230
+ }
231
+ }
232
+
233
+ [Features.Registration]: {
234
+ [Methods.DELETE]: {
235
+ [Roles.Admin]: unknown
236
+ [Roles.Default]: unknown
237
+ [Roles.Organizer]: unknown
238
+ }
239
+
240
+ [Methods.GET]: {
241
+ [Roles.Admin]: unknown
242
+ [Roles.Default]: unknown
243
+ [Roles.Organizer]: unknown
244
+ }
245
+
246
+ [Methods.OPTIONS]: {
247
+ [Roles.Admin]: unknown
248
+ [Roles.Default]: unknown
249
+ [Roles.Organizer]: unknown
250
+ }
251
+
252
+ [Methods.PATCH]: {
253
+ [Roles.Admin]: unknown
254
+ [Roles.Default]: unknown
255
+ [Roles.Organizer]: unknown
256
+ }
257
+
258
+ [Methods.POST]: {
259
+ [Roles.Admin]: unknown
260
+ [Roles.Default]: unknown
261
+ [Roles.Organizer]: unknown
262
+ }
263
+ }
264
+
265
+ [Features.Registrations]: {
266
+ [Methods.DELETE]: {
267
+ [Roles.Admin]: unknown
268
+ [Roles.Default]: unknown
269
+ [Roles.Organizer]: unknown
270
+ }
271
+
272
+ [Methods.GET]: {
273
+ [Roles.Admin]: unknown
274
+ [Roles.Default]: unknown
275
+ [Roles.Organizer]: unknown
276
+ }
277
+
278
+ [Methods.OPTIONS]: {
279
+ [Roles.Admin]: unknown
280
+ [Roles.Default]: unknown
281
+ [Roles.Organizer]: unknown
282
+ }
283
+
284
+ [Methods.PATCH]: {
285
+ [Roles.Admin]: unknown
286
+ [Roles.Default]: unknown
287
+ [Roles.Organizer]: unknown
288
+ }
289
+
290
+ [Methods.POST]: {
291
+ [Roles.Admin]: unknown
292
+ [Roles.Default]: unknown
293
+ [Roles.Organizer]: unknown
294
+ }
295
+ }
296
+
297
+ [Features.City]: {
298
+ [Methods.DELETE]: {
299
+ [Roles.Admin]: unknown
300
+ [Roles.Default]: unknown
301
+ [Roles.Organizer]: unknown
302
+ }
303
+
304
+ [Methods.GET]: {
305
+ [Roles.Admin]: CityAdminResult
306
+ [Roles.Default]: CityDefaultResult
307
+ [Roles.Organizer]: CityOrganizerResult
308
+ }
309
+
310
+ [Methods.OPTIONS]: {
311
+ [Roles.Admin]: unknown
312
+ [Roles.Default]: unknown
313
+ [Roles.Organizer]: unknown
314
+ }
315
+
316
+ [Methods.PATCH]: {
317
+ [Roles.Admin]: unknown
318
+ [Roles.Default]: unknown
319
+ [Roles.Organizer]: unknown
320
+ }
321
+
322
+ [Methods.POST]: {
323
+ [Roles.Admin]: unknown
324
+ [Roles.Default]: unknown
325
+ [Roles.Organizer]: unknown
326
+ }
327
+ }
328
+
329
+ [Features.Cities]: {
330
+ [Methods.DELETE]: {
331
+ [Roles.Admin]: unknown
332
+ [Roles.Default]: unknown
333
+ [Roles.Organizer]: unknown
334
+ }
335
+
336
+ [Methods.GET]: {
337
+ [Roles.Admin]: CityAdminResult[]
338
+ [Roles.Default]: CityDefaultResult[]
339
+ [Roles.Organizer]: CityOrganizerResult[]
340
+ }
341
+
342
+ [Methods.OPTIONS]: {
343
+ [Roles.Admin]: unknown
344
+ [Roles.Default]: unknown
345
+ [Roles.Organizer]: unknown
346
+ }
347
+
348
+ [Methods.PATCH]: {
349
+ [Roles.Admin]: unknown
350
+ [Roles.Default]: unknown
351
+ [Roles.Organizer]: unknown
352
+ }
353
+
354
+ [Methods.POST]: {
355
+ [Roles.Admin]: unknown
356
+ [Roles.Default]: unknown
357
+ [Roles.Organizer]: unknown
358
+ }
359
+ }
360
+
361
+ [Features.Location]: {
362
+ [Methods.DELETE]: {
363
+ [Roles.Admin]: unknown
364
+ [Roles.Default]: unknown
365
+ [Roles.Organizer]: unknown
366
+ }
367
+
368
+ [Methods.GET]: {
369
+ [Roles.Admin]: LocationAdminResult
370
+ [Roles.Default]: LocationDefaultResult
371
+ [Roles.Organizer]: LocationOrganizerResult
372
+ }
373
+
374
+ [Methods.OPTIONS]: {
375
+ [Roles.Admin]: unknown
376
+ [Roles.Default]: unknown
377
+ [Roles.Organizer]: unknown
378
+ }
379
+
380
+ [Methods.PATCH]: {
381
+ [Roles.Admin]: unknown
382
+ [Roles.Default]: unknown
383
+ [Roles.Organizer]: unknown
384
+ }
385
+
386
+ [Methods.POST]: {
387
+ [Roles.Admin]: unknown
388
+ [Roles.Default]: unknown
389
+ [Roles.Organizer]: unknown
390
+ }
391
+ }
392
+
393
+ [Features.Locations]: {
394
+ [Methods.DELETE]: {
395
+ [Roles.Admin]: unknown
396
+ [Roles.Default]: unknown
397
+ [Roles.Organizer]: unknown
398
+ }
399
+
400
+ [Methods.GET]: {
401
+ [Roles.Admin]: LocationAdminResult
402
+ [Roles.Default]: LocationDefaultResult
403
+ [Roles.Organizer]: LocationOrganizerResult
404
+ }
405
+
406
+ [Methods.OPTIONS]: {
407
+ [Roles.Admin]: unknown
408
+ [Roles.Default]: unknown
409
+ [Roles.Organizer]: unknown
410
+ }
411
+
412
+ [Methods.PATCH]: {
413
+ [Roles.Admin]: unknown
414
+ [Roles.Default]: unknown
415
+ [Roles.Organizer]: unknown
416
+ }
417
+
418
+ [Methods.POST]: {
419
+ [Roles.Admin]: unknown
420
+ [Roles.Default]: unknown
421
+ [Roles.Organizer]: unknown
422
+ }
423
+ }
424
+ }
425
+
7
426
  export let Extensions: WeakMap<
8
427
  Function,
9
428
  Map<
@@ -22,110 +441,7 @@ export let useRequest: <
22
441
  feature: Feature,
23
442
  method: Method,
24
443
  network: Network,
25
- ) => (options: URLOptions, init: RequestInit) => Promise<
26
- {
27
- [Features.Checkin]: {
28
- [Methods.DELETE]: unknown
29
- [Methods.GET]: CheckinResult
30
- [Methods.OPTIONS]: unknown
31
- [Methods.PATCH]: unknown
32
- [Methods.POST]: unknown
33
- }
34
-
35
- [Features.City]: {
36
- [Methods.DELETE]: unknown
37
- [Methods.GET]: CityResult
38
- [Methods.OPTIONS]: unknown
39
- [Methods.PATCH]: unknown
40
- [Methods.POST]: unknown
41
- }
42
-
43
- [Features.Cities]: {
44
- [Methods.DELETE]: unknown
45
- [Methods.GET]: CityResult[]
46
- [Methods.OPTIONS]: unknown
47
- [Methods.PATCH]: unknown
48
- [Methods.POST]: unknown
49
- }
50
-
51
- [Features.CityPublic]: {
52
- [Methods.DELETE]: unknown
53
- [Methods.GET]: CityPublicResult
54
- [Methods.OPTIONS]: unknown
55
- [Methods.PATCH]: unknown
56
- [Methods.POST]: unknown
57
- }
58
-
59
- [Features.CitiesPublic]: {
60
- [Methods.DELETE]: unknown
61
- [Methods.GET]: CityPublicResult[]
62
- [Methods.OPTIONS]: unknown
63
- [Methods.PATCH]: unknown
64
- [Methods.POST]: unknown
65
- }
66
-
67
- [Features.Theme]: {
68
- [Methods.DELETE]: unknown
69
- [Methods.GET]: ThemeResult
70
- [Methods.OPTIONS]: unknown
71
- [Methods.PATCH]: unknown
72
- [Methods.POST]: unknown
73
- }
74
-
75
- [Features.Themes]: {
76
- [Methods.DELETE]: unknown
77
- [Methods.GET]: ThemeResult[]
78
- [Methods.OPTIONS]: unknown
79
- [Methods.PATCH]: unknown
80
- [Methods.POST]: unknown
81
- }
82
-
83
- [Features.Game]: {
84
- [Methods.DELETE]: unknown
85
- [Methods.GET]: unknown
86
- [Methods.OPTIONS]: GameResult
87
- [Methods.PATCH]: unknown
88
- [Methods.POST]: unknown
89
- }
90
-
91
- [Features.Games]: {
92
- [Methods.DELETE]: unknown
93
- [Methods.GET]: GameResult[]
94
- [Methods.OPTIONS]: unknown
95
- [Methods.PATCH]: unknown
96
- [Methods.POST]: unknown
97
- }
98
-
99
- [Features.GamePublic]: {
100
- [Methods.DELETE]: unknown
101
- [Methods.GET]: GamePublicResult
102
- [Methods.OPTIONS]: unknown
103
- [Methods.PATCH]: unknown
104
- [Methods.POST]: unknown
105
- }
106
-
107
- [Features.GamesPublic]: {
108
- [Methods.DELETE]: unknown
109
- [Methods.GET]: GamePublicResult[]
110
- [Methods.OPTIONS]: unknown
111
- [Methods.PATCH]: unknown
112
- [Methods.POST]: unknown
113
- }
114
-
115
- [Features.User]: {
116
- [Methods.DELETE]: unknown
117
- [Methods.GET]: unknown
118
- [Methods.OPTIONS]: unknown
119
- [Methods.PATCH]: unknown
120
- [Methods.POST]: unknown
121
- }
122
-
123
- [Features.Users]: {
124
- [Methods.DELETE]: unknown
125
- [Methods.GET]: unknown
126
- [Methods.OPTIONS]: unknown
127
- [Methods.PATCH]: unknown
128
- [Methods.POST]: unknown
129
- }
130
- }[Feature][Method]
131
- >
444
+ ) => <Role extends typeof Roles[keyof typeof Roles] = typeof Roles.Default>(
445
+ options: URLOptions,
446
+ init: RequestInit,
447
+ ) => Promise<RequestResults[Feature][Method][Role]>
@@ -0,0 +1,179 @@
1
+ type GameAdminResult = {
2
+ event_id: GameRow['id']
3
+ event_alias: GameRow['alias']
4
+ event_number: GameRow['number']
5
+ event_time: GameRow['event_time']
6
+ event_status: GameRow['status']
7
+ location_id: LocationRow['id']
8
+ location_name: LocationRow['name']
9
+ city_id: CityRow['id']
10
+ city_alias: CityRow['alias']
11
+ city_name: CityRow['name']
12
+ city_is_franchise: CityRow['is_franchise']
13
+ theme_id: ThemeRow['id']
14
+ theme_name: ThemeRow['name']
15
+ media_id: ImageMediaRow['id']
16
+ media_title: ImageMediaRow['title']
17
+ media_path: ImageMediaRow['path']
18
+ people_amount: number
19
+ people_reserve_amount: number
20
+ teams_amount: number
21
+ teams_reserve_amount: number
22
+ }
23
+
24
+ type GameDefaultResult = {
25
+ theme_description: ThemeRow['description']
26
+ theme_id: ThemeRow['id']
27
+ theme_name: ThemeRow['name']
28
+ theme_short_description: ThemeRow['short_description']
29
+ alias: GameRow['alias']
30
+ currency: GameRow['currency']
31
+ id: GameRow['id']
32
+ max_members_count: GameRow['max_members_count']
33
+ min_members_count: GameRow['min_members_count']
34
+ number: GameRow['number']
35
+ price: GameRow['price']
36
+ status: GameRow['status']
37
+ event_time: GameRow['event_time']
38
+ city_alias: CityRow['alias']
39
+ city_id: CityRow['id']
40
+ location_house_number: LocationRow['house_number']
41
+ location_id: LocationRow['id']
42
+ location_info: LocationRow['location_info']
43
+ location_name: LocationRow['name']
44
+ location_street: LocationRow['street']
45
+ media_id: MediaRow['id']
46
+ media_path: MediaRow['path']
47
+ image_id: ImageMediaRow['id']
48
+ }
49
+
50
+ type GameOrginizerResult = {
51
+ event_id: GameRow['id']
52
+ event_alias: GameRow['alias']
53
+ event_number: GameRow['number']
54
+ event_time: GameRow['event_time']
55
+ event_status: GameRow['status']
56
+ location_id: LocationRow['id']
57
+ location_name: LocationRow['name']
58
+ city_id: CityRow['id']
59
+ city_alias: CityRow['alias']
60
+ city_name: CityRow['name']
61
+ city_is_franchise: CityRow['is_franchise']
62
+ theme_id: ThemeRow['id']
63
+ theme_name: ThemeRow['name']
64
+ media_id: ImageMediaRow['id']
65
+ media_title: ImageMediaRow['title']
66
+ media_path: ImageMediaRow['path']
67
+ people_amount: number
68
+ people_reserve_amount: number
69
+ teams_amount: number
70
+ teams_reserve_amount: number
71
+ }
72
+
73
+ type GameRow = {
74
+ /**
75
+ * @description "uuid"
76
+ */
77
+ city_id: Nullable<string>
78
+ /**
79
+ * @description "uuid"
80
+ */
81
+ game_pack_id: Nullable<string>
82
+ /**
83
+ * @description "uuid"
84
+ */
85
+ id: Nullable<string>
86
+ /**
87
+ * @description "timestamp with time zone"
88
+ */
89
+ time_created: string
90
+ /**
91
+ * @description "timestamp with time zone"
92
+ */
93
+ time_updated: Nullable<string>
94
+ /**
95
+ * @description "uuid"
96
+ */
97
+ owner_id: string
98
+ /**
99
+ * @description "integer"
100
+ */
101
+ timezone: Nullable<number>
102
+ /**
103
+ * @description "integer"
104
+ */
105
+ min_members_count: Nullable<number>
106
+ /**
107
+ * @description "integer"
108
+ */
109
+ max_members_count: Nullable<number>
110
+ /**
111
+ * @description "USER-DEFINED"
112
+ */
113
+ status:
114
+ | 'MODERATION'
115
+ | 'PUBLISHED'
116
+ | 'REJECTED'
117
+ | 'APPROVED'
118
+ | 'FINISHED'
119
+ | 'ARCHIVE'
120
+ | 'FORINVITES'
121
+ | 'IS_RESERVE'
122
+ | 'CLOSED'
123
+ /**
124
+ * @description "timestamp without time zone"
125
+ */
126
+ event_time: Nullable<string>
127
+ /**
128
+ * @description "double precision"
129
+ */
130
+ price: Nullable<number>
131
+ /**
132
+ * @description "uuid"
133
+ */
134
+ created_by_id: string
135
+ /**
136
+ * @description "uuid"
137
+ */
138
+ image_id: Nullable<string>
139
+ /**
140
+ * @description "uuid"
141
+ */
142
+ location_id: string
143
+ /**
144
+ * @description "uuid"
145
+ */
146
+ theme_id: string
147
+ /**
148
+ * @description "character varying"
149
+ */
150
+ description: Nullable<string>
151
+ /**
152
+ * @description "character varying"
153
+ */
154
+ number: Nullable<string>
155
+ /**
156
+ * @description "character varying"
157
+ */
158
+ short_description: Nullable<string>
159
+ /**
160
+ * @description "character varying"
161
+ */
162
+ personal_comment: Nullable<string>
163
+ /**
164
+ * @description "character varying"
165
+ */
166
+ weekday: Nullable<string>
167
+ /**
168
+ * @description "character varying"
169
+ */
170
+ alias: Nullable<string>
171
+ /**
172
+ * @description "character varying"
173
+ */
174
+ name: Nullable<string>
175
+ /**
176
+ * @description "character varying"
177
+ */
178
+ currency: Nullable<string>
179
+ }