@glissandoo/lib 1.63.0 → 1.63.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@glissandoo/lib",
3
- "version": "1.63.0",
3
+ "version": "1.63.2",
4
4
  "description": "Glissandoo library js",
5
5
  "main": "./index.js",
6
6
  "types": "./index.d.ts",
@@ -21,14 +21,15 @@
21
21
  "link": "cp package.json ./lib && cd ./lib && npm link",
22
22
  "translation:upload": "localazy upload",
23
23
  "translation:download": "localazy download",
24
- "supabase:types": "supabase gen types typescript --local > src/types/supabase.gen.ts"
24
+ "supabase:types": "supabase gen types typescript --local > src/types/supabase/generated.ts"
25
25
  },
26
26
  "author": "Glissandoo",
27
27
  "license": "ISC",
28
28
  "dependencies": {
29
29
  "date-fns": "^2.20.3",
30
30
  "date-fns-tz": "^1.1.3",
31
- "lodash": "^4.17.21"
31
+ "lodash": "^4.17.21",
32
+ "type-fest": "^4.8.3"
32
33
  },
33
34
  "devDependencies": {
34
35
  "@google-cloud/firestore": "^7.1.0",
@@ -42,9 +43,8 @@
42
43
  "husky": "^8.0.1",
43
44
  "lint-staged": "^12.4.1",
44
45
  "prettier": "^2.2.1",
45
- "type-fest": "^3.12.0",
46
- "typescript": "^4.9.4",
47
- "supabase": "^1.110.3"
46
+ "supabase": "^1.110.3",
47
+ "typescript": "^4.9.4"
48
48
  },
49
49
  "lint-staged": {
50
50
  "*.ts": [
@@ -1,19 +1,19 @@
1
- import { MergeDeep } from 'type-fest';
1
+ import { MergeDeep, SetOptional } from 'type-fest';
2
2
  import { Database as DatabaseGenerated } from './generated';
3
+ import { EventOverwrite } from './overwrites/event';
4
+ import { GroupOverwrite } from './overwrites/group';
3
5
  export type Database = MergeDeep<DatabaseGenerated, {
4
6
  public: {
5
7
  Tables: {
6
8
  group: {
7
- Row: {
8
- addresses: {
9
- address: string;
10
- location: {
11
- latitude: number;
12
- longitude: number;
13
- } | null;
14
- default: boolean;
15
- }[];
16
- };
9
+ Row: GroupOverwrite;
10
+ Insert: SetOptional<GroupOverwrite, 'configSites' | 'socialNetworks'>;
11
+ Update: Partial<GroupOverwrite>;
12
+ };
13
+ event: {
14
+ Row: EventOverwrite;
15
+ Insert: SetOptional<EventOverwrite, 'repeat' | 'stage'>;
16
+ Update: Partial<EventOverwrite>;
17
17
  };
18
18
  };
19
19
  };
@@ -0,0 +1,24 @@
1
+ import { MergeDeep, SetOptional } from 'type-fest';
2
+ import { Database as DatabaseGenerated } from './generated';
3
+ import { EventOverwrite } from './overwrites/event';
4
+ import { GroupOverwrite } from './overwrites/group';
5
+
6
+ export type Database = MergeDeep<
7
+ DatabaseGenerated,
8
+ {
9
+ public: {
10
+ Tables: {
11
+ group: {
12
+ Row: GroupOverwrite;
13
+ Insert: SetOptional<GroupOverwrite, 'configSites' | 'socialNetworks'>;
14
+ Update: Partial<GroupOverwrite>;
15
+ };
16
+ event: {
17
+ Row: EventOverwrite;
18
+ Insert: SetOptional<EventOverwrite, 'repeat' | 'stage'>;
19
+ Update: Partial<EventOverwrite>;
20
+ };
21
+ };
22
+ };
23
+ }
24
+ >;
@@ -0,0 +1,23 @@
1
+ import { EventData } from '../../../models/Evento/types';
2
+ export interface EventRepeatType {
3
+ period: NonNullable<EventData['repeat']>['period'];
4
+ untilAt: string;
5
+ }
6
+ export type EventRepeat = EventRepeatType | null;
7
+ export interface EventResponseDeadline {
8
+ option: EventData['responseDeadline']['option'];
9
+ customAt: string | null;
10
+ }
11
+ export interface EventRollcallHistory {
12
+ changedAt: string;
13
+ changedBy: string;
14
+ }
15
+ export interface EventOverwrite {
16
+ descriptionSlate: EventData['descriptionSlate'];
17
+ players: EventData['players'];
18
+ repeat: EventRepeat;
19
+ repertory: EventData['repertory'];
20
+ responseDeadline: EventResponseDeadline;
21
+ rollCallHistory: EventRollcallHistory[];
22
+ stage: EventData['stage'];
23
+ }
@@ -0,0 +1,28 @@
1
+ import { EventData } from '../../../models/Evento/types';
2
+
3
+ export interface EventRepeatType {
4
+ period: NonNullable<EventData['repeat']>['period'];
5
+ untilAt: string;
6
+ }
7
+
8
+ export type EventRepeat = EventRepeatType | null;
9
+
10
+ export interface EventResponseDeadline {
11
+ option: EventData['responseDeadline']['option'];
12
+ customAt: string | null;
13
+ }
14
+
15
+ export interface EventRollcallHistory {
16
+ changedAt: string;
17
+ changedBy: string;
18
+ }
19
+
20
+ export interface EventOverwrite {
21
+ descriptionSlate: EventData['descriptionSlate'];
22
+ players: EventData['players'];
23
+ repeat: EventRepeat;
24
+ repertory: EventData['repertory'];
25
+ responseDeadline: EventResponseDeadline;
26
+ rollCallHistory: EventRollcallHistory[];
27
+ stage: EventData['stage'];
28
+ }
@@ -0,0 +1,40 @@
1
+ import { GroupData } from '../../../models/Group/types';
2
+ export interface GroupAddress {
3
+ address: string;
4
+ location: {
5
+ latitude: number;
6
+ longitude: number;
7
+ } | null;
8
+ default: boolean;
9
+ }
10
+ export interface GroupOnboardingMessage {
11
+ type: string;
12
+ createdAt: string;
13
+ via: string;
14
+ to: string[];
15
+ }
16
+ export interface GroupTemplateData {
17
+ title: string;
18
+ playerIds: string[];
19
+ updatedAt?: string;
20
+ updatedBy?: string;
21
+ createdAt: string;
22
+ owner: string;
23
+ }
24
+ export type GroupSocialNetworks = NonNullable<GroupData['socialNetworks']> | null;
25
+ export type GroupTemplates = Record<string, GroupTemplateData>;
26
+ export type GroupVisitedDashboardAt = Record<string, string>;
27
+ export interface GroupOverwrite {
28
+ addresses: GroupAddress[];
29
+ config: GroupData['config'];
30
+ configSites: GroupData['configSites'];
31
+ instruments: GroupData['instruments'];
32
+ metadata: GroupData['metadata'];
33
+ onboardingMessages: GroupOnboardingMessage[];
34
+ players: GroupData['players'];
35
+ repertoireTags: GroupData['repertoireTags'];
36
+ satisfactionIndex: GroupData['satisfactionIndex'];
37
+ socialNetworks: GroupSocialNetworks;
38
+ templates: GroupTemplates;
39
+ visitedDashboardAt: GroupVisitedDashboardAt;
40
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,47 @@
1
+ import { GroupData } from '../../../models/Group/types';
2
+
3
+ export interface GroupAddress {
4
+ address: string;
5
+ location: {
6
+ latitude: number;
7
+ longitude: number;
8
+ } | null;
9
+ default: boolean;
10
+ }
11
+
12
+ export interface GroupOnboardingMessage {
13
+ type: string;
14
+ createdAt: string;
15
+ via: string;
16
+ to: string[];
17
+ }
18
+
19
+ export interface GroupTemplateData {
20
+ title: string;
21
+ playerIds: string[];
22
+ updatedAt?: string;
23
+ updatedBy?: string;
24
+ createdAt: string;
25
+ owner: string;
26
+ }
27
+
28
+ export type GroupSocialNetworks = NonNullable<GroupData['socialNetworks']> | null;
29
+
30
+ export type GroupTemplates = Record<string, GroupTemplateData>;
31
+
32
+ export type GroupVisitedDashboardAt = Record<string, string>;
33
+
34
+ export interface GroupOverwrite {
35
+ addresses: GroupAddress[];
36
+ config: GroupData['config'];
37
+ configSites: GroupData['configSites'];
38
+ instruments: GroupData['instruments'];
39
+ metadata: GroupData['metadata'];
40
+ onboardingMessages: GroupOnboardingMessage[];
41
+ players: GroupData['players'];
42
+ repertoireTags: GroupData['repertoireTags'];
43
+ satisfactionIndex: GroupData['satisfactionIndex'];
44
+ socialNetworks: GroupSocialNetworks;
45
+ templates: GroupTemplates;
46
+ visitedDashboardAt: GroupVisitedDashboardAt;
47
+ }
@@ -1,505 +0,0 @@
1
- export type Json = string | number | boolean | null | {
2
- [key: string]: Json | undefined;
3
- } | Json[];
4
- export interface Database {
5
- graphql_public: {
6
- Tables: {
7
- [_ in never]: never;
8
- };
9
- Views: {
10
- [_ in never]: never;
11
- };
12
- Functions: {
13
- graphql: {
14
- Args: {
15
- operationName?: string;
16
- query?: string;
17
- variables?: Json;
18
- extensions?: Json;
19
- };
20
- Returns: Json;
21
- };
22
- };
23
- Enums: {
24
- [_ in never]: never;
25
- };
26
- CompositeTypes: {
27
- [_ in never]: never;
28
- };
29
- };
30
- public: {
31
- Tables: {
32
- event: {
33
- Row: {
34
- activeInvitationLink: boolean;
35
- coverURL: string | null;
36
- createdAt: string;
37
- createdOn: Database['public']['Enums']['event_created_on'];
38
- datetime: string;
39
- datetimeEnd: string;
40
- deletedAt: string | null;
41
- description: string | null;
42
- descriptionSlate: Json[];
43
- displayName: string | null;
44
- id: string;
45
- invitationLink: string | null;
46
- locality: string | null;
47
- location: unknown;
48
- location_lonlat: Database['public']['CompositeTypes']['lonlat'];
49
- maxAttendance: number | null;
50
- notifyAt: string;
51
- online: boolean;
52
- owner: string | null;
53
- playerIds: string[];
54
- players: Json;
55
- promoter: string | null;
56
- relEvents: string[];
57
- repeat: Json | null;
58
- repertory: Json;
59
- repertoryIds: string[];
60
- responseDeadline: Json;
61
- responseDeadlineAt: string;
62
- rollCalledAt: string | null;
63
- rollCalledBy: string | null;
64
- rollCallHistory: Json[];
65
- rollCallReminderAt: string | null;
66
- selectionMode: Database['public']['Enums']['event_selection_mode'] | null;
67
- selectionModeClosedAt: string | null;
68
- shortDynamicLink: string | null;
69
- sites: boolean;
70
- stage: Json | null;
71
- stageTemplateId: string | null;
72
- templateId: string | null;
73
- timezone: string;
74
- type: Database['public']['Enums']['event_type'];
75
- updatedAt: string;
76
- videoURL: string | null;
77
- };
78
- Insert: {
79
- activeInvitationLink: boolean;
80
- coverURL?: string | null;
81
- createdAt?: string;
82
- createdOn: Database['public']['Enums']['event_created_on'];
83
- datetime: string;
84
- datetimeEnd: string;
85
- deletedAt?: string | null;
86
- description?: string | null;
87
- descriptionSlate: Json[];
88
- displayName?: string | null;
89
- id: string;
90
- invitationLink?: string | null;
91
- locality?: string | null;
92
- location: unknown;
93
- location_lonlat?: Database['public']['CompositeTypes']['lonlat'];
94
- maxAttendance?: number | null;
95
- notifyAt: string;
96
- online: boolean;
97
- owner?: string | null;
98
- playerIds: string[];
99
- players: Json;
100
- promoter?: string | null;
101
- relEvents: string[];
102
- repeat?: Json | null;
103
- repertory: Json;
104
- repertoryIds: string[];
105
- responseDeadline: Json;
106
- responseDeadlineAt: string;
107
- rollCalledAt?: string | null;
108
- rollCalledBy?: string | null;
109
- rollCallHistory: Json[];
110
- rollCallReminderAt?: string | null;
111
- selectionMode?: Database['public']['Enums']['event_selection_mode'] | null;
112
- selectionModeClosedAt?: string | null;
113
- shortDynamicLink?: string | null;
114
- sites?: boolean;
115
- stage?: Json | null;
116
- stageTemplateId?: string | null;
117
- templateId?: string | null;
118
- timezone: string;
119
- type: Database['public']['Enums']['event_type'];
120
- updatedAt?: string;
121
- videoURL?: string | null;
122
- };
123
- Update: {
124
- activeInvitationLink?: boolean;
125
- coverURL?: string | null;
126
- createdAt?: string;
127
- createdOn?: Database['public']['Enums']['event_created_on'];
128
- datetime?: string;
129
- datetimeEnd?: string;
130
- deletedAt?: string | null;
131
- description?: string | null;
132
- descriptionSlate?: Json[];
133
- displayName?: string | null;
134
- id?: string;
135
- invitationLink?: string | null;
136
- locality?: string | null;
137
- location?: unknown;
138
- location_lonlat?: Database['public']['CompositeTypes']['lonlat'];
139
- maxAttendance?: number | null;
140
- notifyAt?: string;
141
- online?: boolean;
142
- owner?: string | null;
143
- playerIds?: string[];
144
- players?: Json;
145
- promoter?: string | null;
146
- relEvents?: string[];
147
- repeat?: Json | null;
148
- repertory?: Json;
149
- repertoryIds?: string[];
150
- responseDeadline?: Json;
151
- responseDeadlineAt?: string;
152
- rollCalledAt?: string | null;
153
- rollCalledBy?: string | null;
154
- rollCallHistory?: Json[];
155
- rollCallReminderAt?: string | null;
156
- selectionMode?: Database['public']['Enums']['event_selection_mode'] | null;
157
- selectionModeClosedAt?: string | null;
158
- shortDynamicLink?: string | null;
159
- sites?: boolean;
160
- stage?: Json | null;
161
- stageTemplateId?: string | null;
162
- templateId?: string | null;
163
- timezone?: string;
164
- type?: Database['public']['Enums']['event_type'];
165
- updatedAt?: string;
166
- videoURL?: string | null;
167
- };
168
- Relationships: [
169
- {
170
- foreignKeyName: 'event_promoter_fkey';
171
- columns: ['promoter'];
172
- referencedRelation: 'group';
173
- referencedColumns: ['id'];
174
- }
175
- ];
176
- };
177
- group: {
178
- Row: {
179
- activeInvitationLink: boolean;
180
- addresses: Json[];
181
- administrators: string[];
182
- config: Json;
183
- configSites: Json;
184
- country: string;
185
- createdAt: string;
186
- createdOn: Database['public']['Enums']['group_created_on'];
187
- customerId: string | null;
188
- deletedAt: string | null;
189
- description: string | null;
190
- displayName: string;
191
- id: string;
192
- instruments: Json;
193
- intercomId: string | null;
194
- invitationEmails: string[];
195
- invitationLink: string | null;
196
- locality: string;
197
- location: unknown;
198
- location_lonlat: Database['public']['CompositeTypes']['lonlat'];
199
- metadata: Json;
200
- musicStyle: string;
201
- onboardingMessages: Json[];
202
- owner: string | null;
203
- partnershipId: string | null;
204
- photoURL: string;
205
- planId: Database['public']['Enums']['group_plan'];
206
- playerIds: string[];
207
- players: Json;
208
- repertoireTags: Json;
209
- satisfactionIndex: Json;
210
- shortDynamicLink: string | null;
211
- socialNetworks: Json | null;
212
- status: Database['public']['Enums']['group_status'];
213
- templates: Json;
214
- trialEndAt: string | null;
215
- updatedAt: string;
216
- username: string;
217
- visitedDashboardAt: Json;
218
- };
219
- Insert: {
220
- activeInvitationLink: boolean;
221
- addresses: Json[];
222
- administrators: string[];
223
- config: Json;
224
- configSites?: Json;
225
- country: string;
226
- createdAt?: string;
227
- createdOn: Database['public']['Enums']['group_created_on'];
228
- customerId?: string | null;
229
- deletedAt?: string | null;
230
- description?: string | null;
231
- displayName: string;
232
- id: string;
233
- instruments: Json;
234
- intercomId?: string | null;
235
- invitationEmails: string[];
236
- invitationLink?: string | null;
237
- locality: string;
238
- location: unknown;
239
- location_lonlat?: Database['public']['CompositeTypes']['lonlat'];
240
- metadata: Json;
241
- musicStyle: string;
242
- onboardingMessages: Json[];
243
- owner?: string | null;
244
- partnershipId?: string | null;
245
- photoURL: string;
246
- planId: Database['public']['Enums']['group_plan'];
247
- playerIds: string[];
248
- players: Json;
249
- repertoireTags: Json;
250
- satisfactionIndex: Json;
251
- shortDynamicLink?: string | null;
252
- socialNetworks?: Json | null;
253
- status: Database['public']['Enums']['group_status'];
254
- templates: Json;
255
- trialEndAt?: string | null;
256
- updatedAt?: string;
257
- username: string;
258
- visitedDashboardAt: Json;
259
- };
260
- Update: {
261
- activeInvitationLink?: boolean;
262
- addresses?: Json[];
263
- administrators?: string[];
264
- config?: Json;
265
- configSites?: Json;
266
- country?: string;
267
- createdAt?: string;
268
- createdOn?: Database['public']['Enums']['group_created_on'];
269
- customerId?: string | null;
270
- deletedAt?: string | null;
271
- description?: string | null;
272
- displayName?: string;
273
- id?: string;
274
- instruments?: Json;
275
- intercomId?: string | null;
276
- invitationEmails?: string[];
277
- invitationLink?: string | null;
278
- locality?: string;
279
- location?: unknown;
280
- location_lonlat?: Database['public']['CompositeTypes']['lonlat'];
281
- metadata?: Json;
282
- musicStyle?: string;
283
- onboardingMessages?: Json[];
284
- owner?: string | null;
285
- partnershipId?: string | null;
286
- photoURL?: string;
287
- planId?: Database['public']['Enums']['group_plan'];
288
- playerIds?: string[];
289
- players?: Json;
290
- repertoireTags?: Json;
291
- satisfactionIndex?: Json;
292
- shortDynamicLink?: string | null;
293
- socialNetworks?: Json | null;
294
- status?: Database['public']['Enums']['group_status'];
295
- templates?: Json;
296
- trialEndAt?: string | null;
297
- updatedAt?: string;
298
- username?: string;
299
- visitedDashboardAt?: Json;
300
- };
301
- Relationships: [];
302
- };
303
- };
304
- Views: {
305
- [_ in never]: never;
306
- };
307
- Functions: {
308
- [_ in never]: never;
309
- };
310
- Enums: {
311
- event_created_on: 'app' | 'dashboard' | 'auth';
312
- event_selection_mode: 'open' | 'closed';
313
- event_type: 'practice' | 'performance';
314
- group_created_on: 'web' | 'app' | 'dashboard';
315
- group_plan: 'piano' | 'mezzopiano' | 'mezzoforte' | 'forte' | 'fortissimo' | 'tutti';
316
- group_plan_period: 'yearly' | 'monthly';
317
- group_status: 'premium' | 'trial' | 'inactive' | 'deleted';
318
- social_network: 'facebook' | 'twitter' | 'instagram' | 'youtube';
319
- };
320
- CompositeTypes: {
321
- lonlat: {
322
- longitude: number;
323
- latitude: number;
324
- };
325
- };
326
- };
327
- storage: {
328
- Tables: {
329
- buckets: {
330
- Row: {
331
- allowed_mime_types: string[] | null;
332
- avif_autodetection: boolean | null;
333
- created_at: string | null;
334
- file_size_limit: number | null;
335
- id: string;
336
- name: string;
337
- owner: string | null;
338
- owner_id: string | null;
339
- public: boolean | null;
340
- updated_at: string | null;
341
- };
342
- Insert: {
343
- allowed_mime_types?: string[] | null;
344
- avif_autodetection?: boolean | null;
345
- created_at?: string | null;
346
- file_size_limit?: number | null;
347
- id: string;
348
- name: string;
349
- owner?: string | null;
350
- owner_id?: string | null;
351
- public?: boolean | null;
352
- updated_at?: string | null;
353
- };
354
- Update: {
355
- allowed_mime_types?: string[] | null;
356
- avif_autodetection?: boolean | null;
357
- created_at?: string | null;
358
- file_size_limit?: number | null;
359
- id?: string;
360
- name?: string;
361
- owner?: string | null;
362
- owner_id?: string | null;
363
- public?: boolean | null;
364
- updated_at?: string | null;
365
- };
366
- Relationships: [];
367
- };
368
- migrations: {
369
- Row: {
370
- executed_at: string | null;
371
- hash: string;
372
- id: number;
373
- name: string;
374
- };
375
- Insert: {
376
- executed_at?: string | null;
377
- hash: string;
378
- id: number;
379
- name: string;
380
- };
381
- Update: {
382
- executed_at?: string | null;
383
- hash?: string;
384
- id?: number;
385
- name?: string;
386
- };
387
- Relationships: [];
388
- };
389
- objects: {
390
- Row: {
391
- bucket_id: string | null;
392
- created_at: string | null;
393
- id: string;
394
- last_accessed_at: string | null;
395
- metadata: Json | null;
396
- name: string | null;
397
- owner: string | null;
398
- owner_id: string | null;
399
- path_tokens: string[] | null;
400
- updated_at: string | null;
401
- version: string | null;
402
- };
403
- Insert: {
404
- bucket_id?: string | null;
405
- created_at?: string | null;
406
- id?: string;
407
- last_accessed_at?: string | null;
408
- metadata?: Json | null;
409
- name?: string | null;
410
- owner?: string | null;
411
- owner_id?: string | null;
412
- path_tokens?: string[] | null;
413
- updated_at?: string | null;
414
- version?: string | null;
415
- };
416
- Update: {
417
- bucket_id?: string | null;
418
- created_at?: string | null;
419
- id?: string;
420
- last_accessed_at?: string | null;
421
- metadata?: Json | null;
422
- name?: string | null;
423
- owner?: string | null;
424
- owner_id?: string | null;
425
- path_tokens?: string[] | null;
426
- updated_at?: string | null;
427
- version?: string | null;
428
- };
429
- Relationships: [
430
- {
431
- foreignKeyName: 'objects_bucketId_fkey';
432
- columns: ['bucket_id'];
433
- referencedRelation: 'buckets';
434
- referencedColumns: ['id'];
435
- }
436
- ];
437
- };
438
- };
439
- Views: {
440
- [_ in never]: never;
441
- };
442
- Functions: {
443
- can_insert_object: {
444
- Args: {
445
- bucketid: string;
446
- name: string;
447
- owner: string;
448
- metadata: Json;
449
- };
450
- Returns: undefined;
451
- };
452
- extension: {
453
- Args: {
454
- name: string;
455
- };
456
- Returns: string;
457
- };
458
- filename: {
459
- Args: {
460
- name: string;
461
- };
462
- Returns: string;
463
- };
464
- foldername: {
465
- Args: {
466
- name: string;
467
- };
468
- Returns: unknown;
469
- };
470
- get_size_by_bucket: {
471
- Args: Record<PropertyKey, never>;
472
- Returns: {
473
- size: number;
474
- bucket_id: string;
475
- }[];
476
- };
477
- search: {
478
- Args: {
479
- prefix: string;
480
- bucketname: string;
481
- limits?: number;
482
- levels?: number;
483
- offsets?: number;
484
- search?: string;
485
- sortcolumn?: string;
486
- sortorder?: string;
487
- };
488
- Returns: {
489
- name: string;
490
- id: string;
491
- updated_at: string;
492
- created_at: string;
493
- last_accessed_at: string;
494
- metadata: Json;
495
- }[];
496
- };
497
- };
498
- Enums: {
499
- [_ in never]: never;
500
- };
501
- CompositeTypes: {
502
- [_ in never]: never;
503
- };
504
- };
505
- }