rhythia-api 237.0.0 → 238.0.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.
package/types/database.ts CHANGED
@@ -1,1327 +1,1356 @@
1
- export type Json =
2
- | string
3
- | number
4
- | boolean
5
- | null
6
- | { [key: string]: Json | undefined }
7
- | Json[]
8
-
9
- export type Database = {
10
- // Allows to automatically instantiate createClient with right options
11
- // instead of createClient<Database, { PostgrestVersion: 'XX' }>(URL, KEY)
12
- __InternalSupabase: {
13
- PostgrestVersion: "13.0.4"
14
- }
15
- public: {
16
- Tables: {
17
- admin_actions: {
18
- Row: {
19
- action_type: string
20
- admin_id: number
21
- created_at: string | null
22
- details: Json | null
23
- id: number
24
- target_id: number | null
25
- }
26
- Insert: {
27
- action_type: string
28
- admin_id: number
29
- created_at?: string | null
30
- details?: Json | null
31
- id?: number
32
- target_id?: number | null
33
- }
34
- Update: {
35
- action_type?: string
36
- admin_id?: number
37
- created_at?: string | null
38
- details?: Json | null
39
- id?: number
40
- target_id?: number | null
41
- }
42
- Relationships: []
43
- }
44
- admin_operations: {
45
- Row: {
46
- action_type: string | null
47
- details: Json
48
- id: number
49
- target_id: string | null
50
- }
51
- Insert: {
52
- action_type?: string | null
53
- details: Json
54
- id?: number
55
- target_id?: string | null
56
- }
57
- Update: {
58
- action_type?: string | null
59
- details?: Json
60
- id?: number
61
- target_id?: string | null
62
- }
63
- Relationships: [
64
- {
65
- foreignKeyName: "admin_operations_id_fkey"
66
- columns: ["id"]
67
- isOneToOne: true
68
- referencedRelation: "profiles"
69
- referencedColumns: ["id"]
70
- },
71
- ]
72
- }
73
- beatmapCollections: {
74
- Row: {
75
- created_at: string
76
- description: string
77
- id: number
78
- is_list: boolean
79
- owner: number
80
- title: string
81
- }
82
- Insert: {
83
- created_at?: string
84
- description: string
85
- id?: number
86
- is_list?: boolean
87
- owner: number
88
- title: string
89
- }
90
- Update: {
91
- created_at?: string
92
- description?: string
93
- id?: number
94
- is_list?: boolean
95
- owner?: number
96
- title?: string
97
- }
98
- Relationships: [
99
- {
100
- foreignKeyName: "beatmapCollections_owner_fkey"
101
- columns: ["owner"]
102
- isOneToOne: false
103
- referencedRelation: "profiles"
104
- referencedColumns: ["id"]
105
- },
106
- ]
107
- }
108
- beatmapPageComments: {
109
- Row: {
110
- beatmapPage: number
111
- content: string | null
112
- created_at: string
113
- id: number
114
- owner: number
115
- }
116
- Insert: {
117
- beatmapPage: number
118
- content?: string | null
119
- created_at?: string
120
- id?: number
121
- owner: number
122
- }
123
- Update: {
124
- beatmapPage?: number
125
- content?: string | null
126
- created_at?: string
127
- id?: number
128
- owner?: number
129
- }
130
- Relationships: [
131
- {
132
- foreignKeyName: "beatmapPageComments_beatmapPage_fkey"
133
- columns: ["beatmapPage"]
134
- isOneToOne: false
135
- referencedRelation: "beatmapPages"
136
- referencedColumns: ["id"]
137
- },
138
- {
139
- foreignKeyName: "beatmapPageComments_owner_fkey"
140
- columns: ["owner"]
141
- isOneToOne: false
142
- referencedRelation: "profiles"
143
- referencedColumns: ["id"]
144
- },
145
- ]
146
- }
147
- beatmapPages: {
148
- Row: {
149
- created_at: string
150
- description: string
151
- genre: string | null
152
- id: number
153
- latestBeatmapHash: string | null
154
- nominations: Json | null
155
- owner: number | null
156
- qualified: boolean
157
- qualifiedAt: string | null
158
- ranked_at: number
159
- status: string | null
160
- tags: string
161
- title: string | null
162
- updated_at: number | null
163
- video_url: string | null
164
- }
165
- Insert: {
166
- created_at?: string
167
- description?: string
168
- genre?: string | null
169
- id?: number
170
- latestBeatmapHash?: string | null
171
- nominations?: Json | null
172
- owner?: number | null
173
- qualified?: boolean
174
- qualifiedAt?: string | null
175
- ranked_at?: number
176
- status?: string | null
177
- tags?: string
178
- title?: string | null
179
- updated_at?: number | null
180
- video_url?: string | null
181
- }
182
- Update: {
183
- created_at?: string
184
- description?: string
185
- genre?: string | null
186
- id?: number
187
- latestBeatmapHash?: string | null
188
- nominations?: Json | null
189
- owner?: number | null
190
- qualified?: boolean
191
- qualifiedAt?: string | null
192
- ranked_at?: number
193
- status?: string | null
194
- tags?: string
195
- title?: string | null
196
- updated_at?: number | null
197
- video_url?: string | null
198
- }
199
- Relationships: [
200
- {
201
- foreignKeyName: "beatmapPages_latestBeatmapHash_fkey"
202
- columns: ["latestBeatmapHash"]
203
- isOneToOne: false
204
- referencedRelation: "beatmaps"
205
- referencedColumns: ["beatmapHash"]
206
- },
207
- {
208
- foreignKeyName: "beatmapPages_owner_fkey"
209
- columns: ["owner"]
210
- isOneToOne: false
211
- referencedRelation: "profiles"
212
- referencedColumns: ["id"]
213
- },
214
- ]
215
- }
216
- beatmaps: {
217
- Row: {
218
- beatmapFile: string | null
219
- beatmapHash: string
220
- created_at: string
221
- difficulty: number | null
222
- image: string | null
223
- imageLarge: string | null
224
- length: number | null
225
- noteCount: number | null
226
- playcount: number | null
227
- ranked: boolean | null
228
- starRating: number | null
229
- title: string | null
230
- }
231
- Insert: {
232
- beatmapFile?: string | null
233
- beatmapHash: string
234
- created_at?: string
235
- difficulty?: number | null
236
- image?: string | null
237
- imageLarge?: string | null
238
- length?: number | null
239
- noteCount?: number | null
240
- playcount?: number | null
241
- ranked?: boolean | null
242
- starRating?: number | null
243
- title?: string | null
244
- }
245
- Update: {
246
- beatmapFile?: string | null
247
- beatmapHash?: string
248
- created_at?: string
249
- difficulty?: number | null
250
- image?: string | null
251
- imageLarge?: string | null
252
- length?: number | null
253
- noteCount?: number | null
254
- playcount?: number | null
255
- ranked?: boolean | null
256
- starRating?: number | null
257
- title?: string | null
258
- }
259
- Relationships: []
260
- }
261
- cache: {
262
- Row: {
263
- key: string
264
- value: Json
265
- }
266
- Insert: {
267
- key: string
268
- value: Json
269
- }
270
- Update: {
271
- key?: string
272
- value?: Json
273
- }
274
- Relationships: []
275
- }
276
- chartedValues: {
277
- Row: {
278
- created_at: string
279
- id: number
280
- type: string | null
281
- value: number | null
282
- }
283
- Insert: {
284
- created_at?: string
285
- id?: number
286
- type?: string | null
287
- value?: number | null
288
- }
289
- Update: {
290
- created_at?: string
291
- id?: number
292
- type?: string | null
293
- value?: number | null
294
- }
295
- Relationships: []
296
- }
297
- clans: {
298
- Row: {
299
- acronym: string | null
300
- allowed_users: Json
301
- avatar_url: string | null
302
- created_at: string
303
- description: string | null
304
- id: number
305
- name: string
306
- owner: number | null
307
- }
308
- Insert: {
309
- acronym?: string | null
310
- allowed_users?: Json
311
- avatar_url?: string | null
312
- created_at?: string
313
- description?: string | null
314
- id?: number
315
- name?: string
316
- owner?: number | null
317
- }
318
- Update: {
319
- acronym?: string | null
320
- allowed_users?: Json
321
- avatar_url?: string | null
322
- created_at?: string
323
- description?: string | null
324
- id?: number
325
- name?: string
326
- owner?: number | null
327
- }
328
- Relationships: [
329
- {
330
- foreignKeyName: "clans_owner_fkey"
331
- columns: ["owner"]
332
- isOneToOne: false
333
- referencedRelation: "profiles"
334
- referencedColumns: ["id"]
335
- },
336
- ]
337
- }
338
- collectionRelations: {
339
- Row: {
340
- beatmapPage: number | null
341
- collection: number
342
- created_at: string
343
- id: number
344
- sort: number
345
- }
346
- Insert: {
347
- beatmapPage?: number | null
348
- collection: number
349
- created_at?: string
350
- id?: number
351
- sort?: number
352
- }
353
- Update: {
354
- beatmapPage?: number | null
355
- collection?: number
356
- created_at?: string
357
- id?: number
358
- sort?: number
359
- }
360
- Relationships: [
361
- {
362
- foreignKeyName: "collectionRelations_beatmapPage_fkey"
363
- columns: ["beatmapPage"]
364
- isOneToOne: false
365
- referencedRelation: "beatmapPages"
366
- referencedColumns: ["id"]
367
- },
368
- {
369
- foreignKeyName: "collectionRelations_collection_fkey"
370
- columns: ["collection"]
371
- isOneToOne: false
372
- referencedRelation: "beatmapCollections"
373
- referencedColumns: ["id"]
374
- },
375
- ]
376
- }
377
- discordWebhooks: {
378
- Row: {
379
- id: number
380
- type: Database["public"]["Enums"]["discordWebhookType"] | null
381
- webhook_link: string
382
- }
383
- Insert: {
384
- id?: number
385
- type?: Database["public"]["Enums"]["discordWebhookType"] | null
386
- webhook_link?: string
387
- }
388
- Update: {
389
- id?: number
390
- type?: Database["public"]["Enums"]["discordWebhookType"] | null
391
- webhook_link?: string
392
- }
393
- Relationships: []
394
- }
395
- inventories: {
396
- Row: {
397
- contents: Json
398
- id: number
399
- }
400
- Insert: {
401
- contents?: Json
402
- id?: number
403
- }
404
- Update: {
405
- contents?: Json
406
- id?: number
407
- }
408
- Relationships: [
409
- {
410
- foreignKeyName: "inventory_id_fkey"
411
- columns: ["id"]
412
- isOneToOne: true
413
- referencedRelation: "profiles"
414
- referencedColumns: ["id"]
415
- },
416
- ]
417
- }
418
- invites: {
419
- Row: {
420
- code: string
421
- created_at: string
422
- id: number
423
- resourceId: string
424
- type: string
425
- used: boolean
426
- }
427
- Insert: {
428
- code: string
429
- created_at?: string
430
- id?: number
431
- resourceId: string
432
- type: string
433
- used?: boolean
434
- }
435
- Update: {
436
- code?: string
437
- created_at?: string
438
- id?: number
439
- resourceId?: string
440
- type?: string
441
- used?: boolean
442
- }
443
- Relationships: []
444
- }
445
- leaderboard_map_user: {
446
- Row: {
447
- beatmapHash: string
448
- best_score_id: number | null
449
- best_sp: number | null
450
- userId: number
451
- }
452
- Insert: {
453
- beatmapHash: string
454
- best_score_id?: number | null
455
- best_sp?: number | null
456
- userId: number
457
- }
458
- Update: {
459
- beatmapHash?: string
460
- best_score_id?: number | null
461
- best_sp?: number | null
462
- userId?: number
463
- }
464
- Relationships: []
465
- }
466
- levers: {
467
- Row: {
468
- disable_scores: boolean
469
- id: number
470
- }
471
- Insert: {
472
- disable_scores?: boolean
473
- id?: number
474
- }
475
- Update: {
476
- disable_scores?: boolean
477
- id?: number
478
- }
479
- Relationships: []
480
- }
481
- passkeys: {
482
- Row: {
483
- email: string
484
- id: number
485
- passkey: string
486
- }
487
- Insert: {
488
- email: string
489
- id: number
490
- passkey: string
491
- }
492
- Update: {
493
- email?: string
494
- id?: number
495
- passkey?: string
496
- }
497
- Relationships: [
498
- {
499
- foreignKeyName: "passkeys_id_fkey"
500
- columns: ["id"]
501
- isOneToOne: true
502
- referencedRelation: "profiles"
503
- referencedColumns: ["id"]
504
- },
505
- ]
506
- }
507
- profileActivities: {
508
- Row: {
509
- last_activity: number | null
510
- uid: string
511
- }
512
- Insert: {
513
- last_activity?: number | null
514
- uid: string
515
- }
516
- Update: {
517
- last_activity?: number | null
518
- uid?: string
519
- }
520
- Relationships: []
521
- }
522
- profileReports: {
523
- Row: {
524
- created_at: string
525
- description: string
526
- id: number
527
- reported: number
528
- reporter: number
529
- }
530
- Insert: {
531
- created_at?: string
532
- description: string
533
- id?: number
534
- reported: number
535
- reporter: number
536
- }
537
- Update: {
538
- created_at?: string
539
- description?: string
540
- id?: number
541
- reported?: number
542
- reporter?: number
543
- }
544
- Relationships: [
545
- {
546
- foreignKeyName: "profileReports_reported_fkey"
547
- columns: ["reported"]
548
- isOneToOne: false
549
- referencedRelation: "profiles"
550
- referencedColumns: ["id"]
551
- },
552
- {
553
- foreignKeyName: "profileReports_reporter_fkey"
554
- columns: ["reporter"]
555
- isOneToOne: false
556
- referencedRelation: "profiles"
557
- referencedColumns: ["id"]
558
- },
559
- ]
560
- }
561
- profiles: {
562
- Row: {
563
- about_me: string | null
564
- avatar_url: string | null
565
- badges: Json | null
566
- ban: Database["public"]["Enums"]["banTypes"] | null
567
- bannedAt: number | null
568
- clan: number | null
569
- computedUsername: string | null
570
- created_at: number | null
571
- flag: string | null
572
- id: number
573
- mu_rank: number
574
- play_count: number | null
575
- profile_image: string | null
576
- sigma_rank: number | null
577
- skill_points: number | null
578
- spin_skill_points: number
579
- squares_hit: number | null
580
- total_score: number | null
581
- uid: string | null
582
- username: string | null
583
- verificationDeadline: number
584
- verified: boolean | null
585
- }
586
- Insert: {
587
- about_me?: string | null
588
- avatar_url?: string | null
589
- badges?: Json | null
590
- ban?: Database["public"]["Enums"]["banTypes"] | null
591
- bannedAt?: number | null
592
- clan?: number | null
593
- computedUsername?: string | null
594
- created_at?: number | null
595
- flag?: string | null
596
- id?: number
597
- mu_rank?: number
598
- play_count?: number | null
599
- profile_image?: string | null
600
- sigma_rank?: number | null
601
- skill_points?: number | null
602
- spin_skill_points?: number
603
- squares_hit?: number | null
604
- total_score?: number | null
605
- uid?: string | null
606
- username?: string | null
607
- verificationDeadline?: number
608
- verified?: boolean | null
609
- }
610
- Update: {
611
- about_me?: string | null
612
- avatar_url?: string | null
613
- badges?: Json | null
614
- ban?: Database["public"]["Enums"]["banTypes"] | null
615
- bannedAt?: number | null
616
- clan?: number | null
617
- computedUsername?: string | null
618
- created_at?: number | null
619
- flag?: string | null
620
- id?: number
621
- mu_rank?: number
622
- play_count?: number | null
623
- profile_image?: string | null
624
- sigma_rank?: number | null
625
- skill_points?: number | null
626
- spin_skill_points?: number
627
- squares_hit?: number | null
628
- total_score?: number | null
629
- uid?: string | null
630
- username?: string | null
631
- verificationDeadline?: number
632
- verified?: boolean | null
633
- }
634
- Relationships: [
635
- {
636
- foreignKeyName: "profiles_clan_fkey"
637
- columns: ["clan"]
638
- isOneToOne: false
639
- referencedRelation: "clans"
640
- referencedColumns: ["id"]
641
- },
642
- ]
643
- }
644
- scores: {
645
- Row: {
646
- additional_data: Json
647
- awarded_sp: number | null
648
- beatmapHash: string | null
649
- created_at: string
650
- id: number
651
- misses: number | null
652
- mods: Json
653
- passed: boolean | null
654
- replay_url: string | null
655
- replayHwid: string | null
656
- songId: string | null
657
- speed: number | null
658
- spin: boolean
659
- token: number | null
660
- userId: number | null
661
- }
662
- Insert: {
663
- additional_data?: Json
664
- awarded_sp?: number | null
665
- beatmapHash?: string | null
666
- created_at?: string
667
- id?: number
668
- misses?: number | null
669
- mods?: Json
670
- passed?: boolean | null
671
- replay_url?: string | null
672
- replayHwid?: string | null
673
- songId?: string | null
674
- speed?: number | null
675
- spin?: boolean
676
- token?: number | null
677
- userId?: number | null
678
- }
679
- Update: {
680
- additional_data?: Json
681
- awarded_sp?: number | null
682
- beatmapHash?: string | null
683
- created_at?: string
684
- id?: number
685
- misses?: number | null
686
- mods?: Json
687
- passed?: boolean | null
688
- replay_url?: string | null
689
- replayHwid?: string | null
690
- songId?: string | null
691
- speed?: number | null
692
- spin?: boolean
693
- token?: number | null
694
- userId?: number | null
695
- }
696
- Relationships: [
697
- {
698
- foreignKeyName: "scores_beatmapHash_fkey"
699
- columns: ["beatmapHash"]
700
- isOneToOne: false
701
- referencedRelation: "beatmaps"
702
- referencedColumns: ["beatmapHash"]
703
- },
704
- {
705
- foreignKeyName: "scores_token_fkey"
706
- columns: ["token"]
707
- isOneToOne: false
708
- referencedRelation: "tokens"
709
- referencedColumns: ["id"]
710
- },
711
- {
712
- foreignKeyName: "scores_userId_fkey"
713
- columns: ["userId"]
714
- isOneToOne: false
715
- referencedRelation: "profiles"
716
- referencedColumns: ["id"]
717
- },
718
- ]
719
- }
720
- tokens: {
721
- Row: {
722
- created_at: string
723
- id: number
724
- processed: Json | null
725
- raw: string | null
726
- }
727
- Insert: {
728
- created_at?: string
729
- id?: number
730
- processed?: Json | null
731
- raw?: string | null
732
- }
733
- Update: {
734
- created_at?: string
735
- id?: number
736
- processed?: Json | null
737
- raw?: string | null
738
- }
739
- Relationships: []
740
- }
741
- vetos: {
742
- Row: {
743
- beatmapPage: number
744
- created_at: string
745
- id: number
746
- user: number
747
- veto_reason: string
748
- }
749
- Insert: {
750
- beatmapPage: number
751
- created_at?: string
752
- id?: number
753
- user: number
754
- veto_reason: string
755
- }
756
- Update: {
757
- beatmapPage?: number
758
- created_at?: string
759
- id?: number
760
- user?: number
761
- veto_reason?: string
762
- }
763
- Relationships: [
764
- {
765
- foreignKeyName: "vetos_beatmapPage_fkey"
766
- columns: ["beatmapPage"]
767
- isOneToOne: false
768
- referencedRelation: "beatmapPages"
769
- referencedColumns: ["id"]
770
- },
771
- {
772
- foreignKeyName: "vetos_user_fkey"
773
- columns: ["user"]
774
- isOneToOne: false
775
- referencedRelation: "profiles"
776
- referencedColumns: ["id"]
777
- },
778
- ]
779
- }
780
- }
781
- Views: {
782
- [_ in never]: never
783
- }
784
- Functions: {
785
- admin_delete_user: { Args: { user_id: number }; Returns: boolean }
786
- admin_exclude_user: { Args: { user_id: number }; Returns: boolean }
787
- admin_invalidate_ranked_scores: {
788
- Args: { user_id: number }
789
- Returns: number
790
- }
791
- admin_log_action:
792
- | {
793
- Args: {
794
- action_type: string
795
- admin_id: number
796
- details?: Json
797
- target_id: number
798
- }
799
- Returns: undefined
800
- }
801
- | {
802
- Args: {
803
- action_type: string
804
- admin_id: number
805
- details?: Json
806
- target_id: string
807
- }
808
- Returns: undefined
809
- }
810
- admin_profanity_clear: { Args: { user_id: number }; Returns: boolean }
811
- admin_remove_all_scores: { Args: { user_id: number }; Returns: number }
812
- admin_restrict_user: { Args: { user_id: number }; Returns: boolean }
813
- admin_search_users: {
814
- Args: { search_text: string }
815
- Returns: {
816
- about_me: string | null
817
- avatar_url: string | null
818
- badges: Json | null
819
- ban: Database["public"]["Enums"]["banTypes"] | null
820
- bannedAt: number | null
821
- clan: number | null
822
- computedUsername: string | null
823
- created_at: number | null
824
- flag: string | null
825
- id: number
826
- mu_rank: number
827
- play_count: number | null
828
- profile_image: string | null
829
- sigma_rank: number | null
830
- skill_points: number | null
831
- spin_skill_points: number
832
- squares_hit: number | null
833
- total_score: number | null
834
- uid: string | null
835
- username: string | null
836
- verificationDeadline: number
837
- verified: boolean | null
838
- }[]
839
- SetofOptions: {
840
- from: "*"
841
- to: "profiles"
842
- isOneToOne: false
843
- isSetofReturn: true
844
- }
845
- }
846
- admin_silence_user: { Args: { user_id: number }; Returns: boolean }
847
- admin_unban_user: { Args: { user_id: number }; Returns: boolean }
848
- enhanced_search: {
849
- Args: { result_limit?: number; search_text: string }
850
- Returns: {
851
- beatmap_description: string
852
- beatmap_image: string
853
- beatmap_length: number
854
- beatmap_map_id: string
855
- beatmap_owner: number
856
- beatmap_owner_avatar: string
857
- beatmap_owner_username: string
858
- beatmap_page_id: number
859
- beatmap_star_rating: number
860
- beatmap_status: string
861
- beatmap_tags: string
862
- beatmap_title: string
863
- relevance: number
864
- result_type: string
865
- user_about_me: string
866
- user_avatar_url: string
867
- user_flag: string
868
- user_id: number
869
- user_username: string
870
- }[]
871
- }
872
- get_badge_leaderboard: {
873
- Args: { p_limit?: number }
874
- Returns: {
875
- avatar_url: string
876
- display_name: string
877
- id: number
878
- special_badge_count: number
879
- }[]
880
- }
881
- get_clan_leaderboard: {
882
- Args: { items_per_page?: number; page_number?: number }
883
- Returns: {
884
- acronym: string
885
- avatar_url: string
886
- description: string
887
- id: number
888
- member_count: number
889
- name: string
890
- total_pages: number
891
- total_skill_points: number
892
- }[]
893
- }
894
- get_collections_v1: {
895
- Args: { items_per_page?: number; page_number?: number }
896
- Returns: {
897
- beatmap_count: number
898
- created_at: string
899
- description: string
900
- id: number
901
- owner: number
902
- star1: number
903
- star10: number
904
- star11: number
905
- star12: number
906
- star13: number
907
- star14: number
908
- star15: number
909
- star16: number
910
- star17: number
911
- star18: number
912
- star2: number
913
- star3: number
914
- star4: number
915
- star5: number
916
- star6: number
917
- star7: number
918
- star8: number
919
- star9: number
920
- title: string
921
- total_pages: number
922
- }[]
923
- }
924
- get_collections_v2:
925
- | {
926
- Args: { items_per_page?: number; page_number?: number }
927
- Returns: {
928
- beatmap_count: number
929
- created_at: string
930
- description: string
931
- id: number
932
- owner: number
933
- owner_avatar_url: string
934
- owner_username: string
935
- star1: number
936
- star10: number
937
- star11: number
938
- star12: number
939
- star13: number
940
- star14: number
941
- star15: number
942
- star16: number
943
- star17: number
944
- star18: number
945
- star2: number
946
- star3: number
947
- star4: number
948
- star5: number
949
- star6: number
950
- star7: number
951
- star8: number
952
- star9: number
953
- title: string
954
- total_pages: number
955
- }[]
956
- }
957
- | {
958
- Args: {
959
- items_per_page?: number
960
- owner_filter?: number
961
- page_number?: number
962
- }
963
- Returns: {
964
- beatmap_count: number
965
- created_at: string
966
- description: string
967
- id: number
968
- owner: number
969
- owner_avatar_url: string
970
- owner_username: string
971
- star1: number
972
- star10: number
973
- star11: number
974
- star12: number
975
- star13: number
976
- star14: number
977
- star15: number
978
- star16: number
979
- star17: number
980
- star18: number
981
- star2: number
982
- star3: number
983
- star4: number
984
- star5: number
985
- star6: number
986
- star7: number
987
- star8: number
988
- star9: number
989
- title: string
990
- total_pages: number
991
- }[]
992
- }
993
- get_collections_v3: {
994
- Args: {
995
- items_per_page?: number
996
- owner_filter?: number
997
- page_number?: number
998
- }
999
- Returns: {
1000
- beatmap_count: number
1001
- created_at: string
1002
- description: string
1003
- id: number
1004
- owner: number
1005
- owner_avatar_url: string
1006
- owner_username: string
1007
- star1: number
1008
- star10: number
1009
- star11: number
1010
- star12: number
1011
- star13: number
1012
- star14: number
1013
- star15: number
1014
- star16: number
1015
- star17: number
1016
- star18: number
1017
- star2: number
1018
- star3: number
1019
- star4: number
1020
- star5: number
1021
- star6: number
1022
- star7: number
1023
- star8: number
1024
- star9: number
1025
- title: string
1026
- total_pages: number
1027
- }[]
1028
- }
1029
- get_collections_v4: {
1030
- Args: {
1031
- author_filter?: string
1032
- items_per_page?: number
1033
- min_beatmaps?: number
1034
- owner_filter?: number
1035
- page_number?: number
1036
- search_query?: string
1037
- }
1038
- Returns: {
1039
- beatmap_count: number
1040
- created_at: string
1041
- description: string
1042
- id: number
1043
- owner: number
1044
- owner_avatar_url: string
1045
- owner_username: string
1046
- star1: number
1047
- star10: number
1048
- star11: number
1049
- star12: number
1050
- star13: number
1051
- star14: number
1052
- star15: number
1053
- star16: number
1054
- star17: number
1055
- star18: number
1056
- star2: number
1057
- star3: number
1058
- star4: number
1059
- star5: number
1060
- star6: number
1061
- star7: number
1062
- star8: number
1063
- star9: number
1064
- title: string
1065
- total_pages: number
1066
- }[]
1067
- }
1068
- get_top_scores_for_beatmap: {
1069
- Args: { beatmap_hash: string }
1070
- Returns: {
1071
- accuracy: number
1072
- avatar_url: string
1073
- awarded_sp: number
1074
- created_at: string
1075
- id: number
1076
- misses: number
1077
- mods: Json
1078
- passed: boolean
1079
- replayhwid: string
1080
- songid: string
1081
- speed: number
1082
- spin: boolean
1083
- userid: number
1084
- username: string
1085
- }[]
1086
- }
1087
- get_top_scores_for_beatmap2: {
1088
- Args: { beatmap_hash: string }
1089
- Returns: {
1090
- accuracy: number
1091
- avatar_url: string
1092
- awarded_sp: number
1093
- created_at: string
1094
- id: number
1095
- misses: number
1096
- mods: Json
1097
- passed: boolean
1098
- replayhwid: string
1099
- songid: string
1100
- speed: number
1101
- spin: boolean
1102
- userid: number
1103
- username: string
1104
- }[]
1105
- }
1106
- get_top_scores_for_beatmap3: {
1107
- Args: { beatmap_hash: string }
1108
- Returns: {
1109
- accuracy: number
1110
- avatar_url: string
1111
- awarded_sp: number
1112
- created_at: string
1113
- id: number
1114
- misses: number
1115
- mods: Json
1116
- passed: boolean
1117
- replayHwid: string
1118
- songId: string
1119
- speed: number
1120
- spin: boolean
1121
- userId: number
1122
- username: string
1123
- }[]
1124
- }
1125
- get_user_activity: {
1126
- Args: { score_limit?: number; user_id: number }
1127
- Returns: Json
1128
- }
1129
- get_user_by_email: { Args: { email_address: string }; Returns: Json }
1130
- get_user_reigning_scores:
1131
- | {
1132
- Args: { userid: number }
1133
- Returns: {
1134
- awarded_sp: number
1135
- beatmaphash: string
1136
- created_at: string
1137
- id: number
1138
- misses: number
1139
- mods: Json
1140
- passed: boolean
1141
- replayhwid: string
1142
- songid: string
1143
- speed: number
1144
- spin: boolean
1145
- }[]
1146
- }
1147
- | {
1148
- Args: { page_size: number; userid: number }
1149
- Returns: {
1150
- awarded_sp: number
1151
- beatmaphash: string
1152
- beatmaptitle: string
1153
- created_at: string
1154
- difficulty: number
1155
- id: number
1156
- misses: number
1157
- mods: Json
1158
- notes: number
1159
- passed: boolean
1160
- replayhwid: string
1161
- songid: string
1162
- speed: number
1163
- spin: boolean
1164
- }[]
1165
- }
1166
- get_user_scores_lastday: {
1167
- Args: { limit_param: number; userid: number }
1168
- Returns: Json
1169
- }
1170
- get_user_scores_payload: {
1171
- Args: { limit_param: number; userid: number }
1172
- Returns: Json
1173
- }
1174
- get_user_scores_reign: { Args: { userid: number }; Returns: Json }
1175
- get_user_scores_summary: {
1176
- Args: { limit_param?: number; userid: number }
1177
- Returns: Json
1178
- }
1179
- get_user_scores_top_and_stats: {
1180
- Args: { limit_param: number; userid: number }
1181
- Returns: Json
1182
- }
1183
- grant_special_badges: {
1184
- Args: {
1185
- p_beatmap_id: number
1186
- p_passed?: boolean
1187
- p_spin?: boolean
1188
- p_user_id: number
1189
- }
1190
- Returns: Json
1191
- }
1192
- }
1193
- Enums: {
1194
- banTypes: "cool" | "silenced" | "restricted" | "excluded"
1195
- discordWebhookType: "maps" | "scores"
1196
- }
1197
- CompositeTypes: {
1198
- [_ in never]: never
1199
- }
1200
- }
1201
- }
1202
-
1203
- type DatabaseWithoutInternals = Omit<Database, "__InternalSupabase">
1204
-
1205
- type DefaultSchema = DatabaseWithoutInternals[Extract<keyof Database, "public">]
1206
-
1207
- export type Tables<
1208
- DefaultSchemaTableNameOrOptions extends
1209
- | keyof (DefaultSchema["Tables"] & DefaultSchema["Views"])
1210
- | { schema: keyof DatabaseWithoutInternals },
1211
- TableName extends DefaultSchemaTableNameOrOptions extends {
1212
- schema: keyof DatabaseWithoutInternals
1213
- }
1214
- ? keyof (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] &
1215
- DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Views"])
1216
- : never = never,
1217
- > = DefaultSchemaTableNameOrOptions extends {
1218
- schema: keyof DatabaseWithoutInternals
1219
- }
1220
- ? (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] &
1221
- DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Views"])[TableName] extends {
1222
- Row: infer R
1223
- }
1224
- ? R
1225
- : never
1226
- : DefaultSchemaTableNameOrOptions extends keyof (DefaultSchema["Tables"] &
1227
- DefaultSchema["Views"])
1228
- ? (DefaultSchema["Tables"] &
1229
- DefaultSchema["Views"])[DefaultSchemaTableNameOrOptions] extends {
1230
- Row: infer R
1231
- }
1232
- ? R
1233
- : never
1234
- : never
1235
-
1236
- export type TablesInsert<
1237
- DefaultSchemaTableNameOrOptions extends
1238
- | keyof DefaultSchema["Tables"]
1239
- | { schema: keyof DatabaseWithoutInternals },
1240
- TableName extends DefaultSchemaTableNameOrOptions extends {
1241
- schema: keyof DatabaseWithoutInternals
1242
- }
1243
- ? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"]
1244
- : never = never,
1245
- > = DefaultSchemaTableNameOrOptions extends {
1246
- schema: keyof DatabaseWithoutInternals
1247
- }
1248
- ? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends {
1249
- Insert: infer I
1250
- }
1251
- ? I
1252
- : never
1253
- : DefaultSchemaTableNameOrOptions extends keyof DefaultSchema["Tables"]
1254
- ? DefaultSchema["Tables"][DefaultSchemaTableNameOrOptions] extends {
1255
- Insert: infer I
1256
- }
1257
- ? I
1258
- : never
1259
- : never
1260
-
1261
- export type TablesUpdate<
1262
- DefaultSchemaTableNameOrOptions extends
1263
- | keyof DefaultSchema["Tables"]
1264
- | { schema: keyof DatabaseWithoutInternals },
1265
- TableName extends DefaultSchemaTableNameOrOptions extends {
1266
- schema: keyof DatabaseWithoutInternals
1267
- }
1268
- ? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"]
1269
- : never = never,
1270
- > = DefaultSchemaTableNameOrOptions extends {
1271
- schema: keyof DatabaseWithoutInternals
1272
- }
1273
- ? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends {
1274
- Update: infer U
1275
- }
1276
- ? U
1277
- : never
1278
- : DefaultSchemaTableNameOrOptions extends keyof DefaultSchema["Tables"]
1279
- ? DefaultSchema["Tables"][DefaultSchemaTableNameOrOptions] extends {
1280
- Update: infer U
1281
- }
1282
- ? U
1283
- : never
1284
- : never
1285
-
1286
- export type Enums<
1287
- DefaultSchemaEnumNameOrOptions extends
1288
- | keyof DefaultSchema["Enums"]
1289
- | { schema: keyof DatabaseWithoutInternals },
1290
- EnumName extends DefaultSchemaEnumNameOrOptions extends {
1291
- schema: keyof DatabaseWithoutInternals
1292
- }
1293
- ? keyof DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"]
1294
- : never = never,
1295
- > = DefaultSchemaEnumNameOrOptions extends {
1296
- schema: keyof DatabaseWithoutInternals
1297
- }
1298
- ? DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"][EnumName]
1299
- : DefaultSchemaEnumNameOrOptions extends keyof DefaultSchema["Enums"]
1300
- ? DefaultSchema["Enums"][DefaultSchemaEnumNameOrOptions]
1301
- : never
1302
-
1303
- export type CompositeTypes<
1304
- PublicCompositeTypeNameOrOptions extends
1305
- | keyof DefaultSchema["CompositeTypes"]
1306
- | { schema: keyof DatabaseWithoutInternals },
1307
- CompositeTypeName extends PublicCompositeTypeNameOrOptions extends {
1308
- schema: keyof DatabaseWithoutInternals
1309
- }
1310
- ? keyof DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"]
1311
- : never = never,
1312
- > = PublicCompositeTypeNameOrOptions extends {
1313
- schema: keyof DatabaseWithoutInternals
1314
- }
1315
- ? DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"][CompositeTypeName]
1316
- : PublicCompositeTypeNameOrOptions extends keyof DefaultSchema["CompositeTypes"]
1317
- ? DefaultSchema["CompositeTypes"][PublicCompositeTypeNameOrOptions]
1318
- : never
1319
-
1320
- export const Constants = {
1321
- public: {
1322
- Enums: {
1323
- banTypes: ["cool", "silenced", "restricted", "excluded"],
1324
- discordWebhookType: ["maps", "scores"],
1325
- },
1326
- },
1327
- } as const
1
+ export type Json =
2
+ | string
3
+ | number
4
+ | boolean
5
+ | null
6
+ | { [key: string]: Json | undefined }
7
+ | Json[]
8
+
9
+ export type Database = {
10
+ // Allows to automatically instantiate createClient with right options
11
+ // instead of createClient<Database, { PostgrestVersion: 'XX' }>(URL, KEY)
12
+ __InternalSupabase: {
13
+ PostgrestVersion: "13.0.4"
14
+ }
15
+ public: {
16
+ Tables: {
17
+ admin_actions: {
18
+ Row: {
19
+ action_type: string
20
+ admin_id: number
21
+ created_at: string | null
22
+ details: Json | null
23
+ id: number
24
+ target_id: number | null
25
+ }
26
+ Insert: {
27
+ action_type: string
28
+ admin_id: number
29
+ created_at?: string | null
30
+ details?: Json | null
31
+ id?: number
32
+ target_id?: number | null
33
+ }
34
+ Update: {
35
+ action_type?: string
36
+ admin_id?: number
37
+ created_at?: string | null
38
+ details?: Json | null
39
+ id?: number
40
+ target_id?: number | null
41
+ }
42
+ Relationships: []
43
+ }
44
+ admin_operations: {
45
+ Row: {
46
+ action_type: string | null
47
+ details: Json
48
+ id: number
49
+ target_id: string | null
50
+ }
51
+ Insert: {
52
+ action_type?: string | null
53
+ details: Json
54
+ id?: number
55
+ target_id?: string | null
56
+ }
57
+ Update: {
58
+ action_type?: string | null
59
+ details?: Json
60
+ id?: number
61
+ target_id?: string | null
62
+ }
63
+ Relationships: [
64
+ {
65
+ foreignKeyName: "admin_operations_id_fkey"
66
+ columns: ["id"]
67
+ isOneToOne: true
68
+ referencedRelation: "profiles"
69
+ referencedColumns: ["id"]
70
+ },
71
+ ]
72
+ }
73
+ beatmapCollections: {
74
+ Row: {
75
+ created_at: string
76
+ description: string
77
+ id: number
78
+ is_list: boolean
79
+ owner: number
80
+ title: string
81
+ }
82
+ Insert: {
83
+ created_at?: string
84
+ description: string
85
+ id?: number
86
+ is_list?: boolean
87
+ owner: number
88
+ title: string
89
+ }
90
+ Update: {
91
+ created_at?: string
92
+ description?: string
93
+ id?: number
94
+ is_list?: boolean
95
+ owner?: number
96
+ title?: string
97
+ }
98
+ Relationships: [
99
+ {
100
+ foreignKeyName: "beatmapCollections_owner_fkey"
101
+ columns: ["owner"]
102
+ isOneToOne: false
103
+ referencedRelation: "profiles"
104
+ referencedColumns: ["id"]
105
+ },
106
+ ]
107
+ }
108
+ beatmapPageComments: {
109
+ Row: {
110
+ beatmapPage: number
111
+ content: string | null
112
+ created_at: string
113
+ id: number
114
+ owner: number
115
+ }
116
+ Insert: {
117
+ beatmapPage: number
118
+ content?: string | null
119
+ created_at?: string
120
+ id?: number
121
+ owner: number
122
+ }
123
+ Update: {
124
+ beatmapPage?: number
125
+ content?: string | null
126
+ created_at?: string
127
+ id?: number
128
+ owner?: number
129
+ }
130
+ Relationships: [
131
+ {
132
+ foreignKeyName: "beatmapPageComments_beatmapPage_fkey"
133
+ columns: ["beatmapPage"]
134
+ isOneToOne: false
135
+ referencedRelation: "beatmapPages"
136
+ referencedColumns: ["id"]
137
+ },
138
+ {
139
+ foreignKeyName: "beatmapPageComments_owner_fkey"
140
+ columns: ["owner"]
141
+ isOneToOne: false
142
+ referencedRelation: "profiles"
143
+ referencedColumns: ["id"]
144
+ },
145
+ ]
146
+ }
147
+ beatmapPages: {
148
+ Row: {
149
+ created_at: string
150
+ description: string
151
+ genre: string | null
152
+ id: number
153
+ latestBeatmapHash: string | null
154
+ nominations: Json | null
155
+ owner: number | null
156
+ qualified: boolean
157
+ qualifiedAt: string | null
158
+ ranked_at: number
159
+ status: string | null
160
+ tags: string
161
+ title: string | null
162
+ updated_at: number | null
163
+ video_url: string | null
164
+ }
165
+ Insert: {
166
+ created_at?: string
167
+ description?: string
168
+ genre?: string | null
169
+ id?: number
170
+ latestBeatmapHash?: string | null
171
+ nominations?: Json | null
172
+ owner?: number | null
173
+ qualified?: boolean
174
+ qualifiedAt?: string | null
175
+ ranked_at?: number
176
+ status?: string | null
177
+ tags?: string
178
+ title?: string | null
179
+ updated_at?: number | null
180
+ video_url?: string | null
181
+ }
182
+ Update: {
183
+ created_at?: string
184
+ description?: string
185
+ genre?: string | null
186
+ id?: number
187
+ latestBeatmapHash?: string | null
188
+ nominations?: Json | null
189
+ owner?: number | null
190
+ qualified?: boolean
191
+ qualifiedAt?: string | null
192
+ ranked_at?: number
193
+ status?: string | null
194
+ tags?: string
195
+ title?: string | null
196
+ updated_at?: number | null
197
+ video_url?: string | null
198
+ }
199
+ Relationships: [
200
+ {
201
+ foreignKeyName: "beatmapPages_latestBeatmapHash_fkey"
202
+ columns: ["latestBeatmapHash"]
203
+ isOneToOne: false
204
+ referencedRelation: "beatmaps"
205
+ referencedColumns: ["beatmapHash"]
206
+ },
207
+ {
208
+ foreignKeyName: "beatmapPages_owner_fkey"
209
+ columns: ["owner"]
210
+ isOneToOne: false
211
+ referencedRelation: "profiles"
212
+ referencedColumns: ["id"]
213
+ },
214
+ ]
215
+ }
216
+ beatmaps: {
217
+ Row: {
218
+ beatmapFile: string | null
219
+ beatmapHash: string
220
+ created_at: string
221
+ difficulty: number | null
222
+ image: string | null
223
+ imageLarge: string | null
224
+ length: number | null
225
+ noteCount: number | null
226
+ playcount: number | null
227
+ ranked: boolean | null
228
+ starRating: number | null
229
+ title: string | null
230
+ }
231
+ Insert: {
232
+ beatmapFile?: string | null
233
+ beatmapHash: string
234
+ created_at?: string
235
+ difficulty?: number | null
236
+ image?: string | null
237
+ imageLarge?: string | null
238
+ length?: number | null
239
+ noteCount?: number | null
240
+ playcount?: number | null
241
+ ranked?: boolean | null
242
+ starRating?: number | null
243
+ title?: string | null
244
+ }
245
+ Update: {
246
+ beatmapFile?: string | null
247
+ beatmapHash?: string
248
+ created_at?: string
249
+ difficulty?: number | null
250
+ image?: string | null
251
+ imageLarge?: string | null
252
+ length?: number | null
253
+ noteCount?: number | null
254
+ playcount?: number | null
255
+ ranked?: boolean | null
256
+ starRating?: number | null
257
+ title?: string | null
258
+ }
259
+ Relationships: []
260
+ }
261
+ cache: {
262
+ Row: {
263
+ key: string
264
+ value: Json
265
+ }
266
+ Insert: {
267
+ key: string
268
+ value: Json
269
+ }
270
+ Update: {
271
+ key?: string
272
+ value?: Json
273
+ }
274
+ Relationships: []
275
+ }
276
+ chartedValues: {
277
+ Row: {
278
+ created_at: string
279
+ id: number
280
+ type: string | null
281
+ value: number | null
282
+ }
283
+ Insert: {
284
+ created_at?: string
285
+ id?: number
286
+ type?: string | null
287
+ value?: number | null
288
+ }
289
+ Update: {
290
+ created_at?: string
291
+ id?: number
292
+ type?: string | null
293
+ value?: number | null
294
+ }
295
+ Relationships: []
296
+ }
297
+ clans: {
298
+ Row: {
299
+ acronym: string | null
300
+ allowed_users: Json
301
+ avatar_url: string | null
302
+ created_at: string
303
+ description: string | null
304
+ id: number
305
+ name: string
306
+ owner: number | null
307
+ }
308
+ Insert: {
309
+ acronym?: string | null
310
+ allowed_users?: Json
311
+ avatar_url?: string | null
312
+ created_at?: string
313
+ description?: string | null
314
+ id?: number
315
+ name?: string
316
+ owner?: number | null
317
+ }
318
+ Update: {
319
+ acronym?: string | null
320
+ allowed_users?: Json
321
+ avatar_url?: string | null
322
+ created_at?: string
323
+ description?: string | null
324
+ id?: number
325
+ name?: string
326
+ owner?: number | null
327
+ }
328
+ Relationships: [
329
+ {
330
+ foreignKeyName: "clans_owner_fkey"
331
+ columns: ["owner"]
332
+ isOneToOne: false
333
+ referencedRelation: "profiles"
334
+ referencedColumns: ["id"]
335
+ },
336
+ ]
337
+ }
338
+ collectionRelations: {
339
+ Row: {
340
+ beatmapPage: number | null
341
+ collection: number
342
+ created_at: string
343
+ id: number
344
+ sort: number
345
+ }
346
+ Insert: {
347
+ beatmapPage?: number | null
348
+ collection: number
349
+ created_at?: string
350
+ id?: number
351
+ sort?: number
352
+ }
353
+ Update: {
354
+ beatmapPage?: number | null
355
+ collection?: number
356
+ created_at?: string
357
+ id?: number
358
+ sort?: number
359
+ }
360
+ Relationships: [
361
+ {
362
+ foreignKeyName: "collectionRelations_beatmapPage_fkey"
363
+ columns: ["beatmapPage"]
364
+ isOneToOne: false
365
+ referencedRelation: "beatmapPages"
366
+ referencedColumns: ["id"]
367
+ },
368
+ {
369
+ foreignKeyName: "collectionRelations_collection_fkey"
370
+ columns: ["collection"]
371
+ isOneToOne: false
372
+ referencedRelation: "beatmapCollections"
373
+ referencedColumns: ["id"]
374
+ },
375
+ ]
376
+ }
377
+ discordWebhooks: {
378
+ Row: {
379
+ id: number
380
+ type: Database["public"]["Enums"]["discordWebhookType"] | null
381
+ webhook_link: string
382
+ }
383
+ Insert: {
384
+ id?: number
385
+ type?: Database["public"]["Enums"]["discordWebhookType"] | null
386
+ webhook_link?: string
387
+ }
388
+ Update: {
389
+ id?: number
390
+ type?: Database["public"]["Enums"]["discordWebhookType"] | null
391
+ webhook_link?: string
392
+ }
393
+ Relationships: []
394
+ }
395
+ inventories: {
396
+ Row: {
397
+ contents: Json
398
+ id: number
399
+ }
400
+ Insert: {
401
+ contents?: Json
402
+ id?: number
403
+ }
404
+ Update: {
405
+ contents?: Json
406
+ id?: number
407
+ }
408
+ Relationships: [
409
+ {
410
+ foreignKeyName: "inventory_id_fkey"
411
+ columns: ["id"]
412
+ isOneToOne: true
413
+ referencedRelation: "profiles"
414
+ referencedColumns: ["id"]
415
+ },
416
+ ]
417
+ }
418
+ invites: {
419
+ Row: {
420
+ code: string
421
+ created_at: string
422
+ id: number
423
+ resourceId: string
424
+ type: string
425
+ used: boolean
426
+ }
427
+ Insert: {
428
+ code: string
429
+ created_at?: string
430
+ id?: number
431
+ resourceId: string
432
+ type: string
433
+ used?: boolean
434
+ }
435
+ Update: {
436
+ code?: string
437
+ created_at?: string
438
+ id?: number
439
+ resourceId?: string
440
+ type?: string
441
+ used?: boolean
442
+ }
443
+ Relationships: []
444
+ }
445
+ leaderboard_map_user: {
446
+ Row: {
447
+ beatmapHash: string
448
+ best_score_id: number | null
449
+ best_sp: number | null
450
+ userId: number
451
+ }
452
+ Insert: {
453
+ beatmapHash: string
454
+ best_score_id?: number | null
455
+ best_sp?: number | null
456
+ userId: number
457
+ }
458
+ Update: {
459
+ beatmapHash?: string
460
+ best_score_id?: number | null
461
+ best_sp?: number | null
462
+ userId?: number
463
+ }
464
+ Relationships: []
465
+ }
466
+ levers: {
467
+ Row: {
468
+ disable_scores: boolean
469
+ id: number
470
+ }
471
+ Insert: {
472
+ disable_scores?: boolean
473
+ id?: number
474
+ }
475
+ Update: {
476
+ disable_scores?: boolean
477
+ id?: number
478
+ }
479
+ Relationships: []
480
+ }
481
+ passkeys: {
482
+ Row: {
483
+ email: string
484
+ id: number
485
+ passkey: string
486
+ }
487
+ Insert: {
488
+ email: string
489
+ id: number
490
+ passkey: string
491
+ }
492
+ Update: {
493
+ email?: string
494
+ id?: number
495
+ passkey?: string
496
+ }
497
+ Relationships: [
498
+ {
499
+ foreignKeyName: "passkeys_id_fkey"
500
+ columns: ["id"]
501
+ isOneToOne: true
502
+ referencedRelation: "profiles"
503
+ referencedColumns: ["id"]
504
+ },
505
+ ]
506
+ }
507
+ profileActivities: {
508
+ Row: {
509
+ last_activity: number | null
510
+ uid: string
511
+ }
512
+ Insert: {
513
+ last_activity?: number | null
514
+ uid: string
515
+ }
516
+ Update: {
517
+ last_activity?: number | null
518
+ uid?: string
519
+ }
520
+ Relationships: []
521
+ }
522
+ profileReports: {
523
+ Row: {
524
+ created_at: string
525
+ description: string
526
+ id: number
527
+ reported: number
528
+ reporter: number
529
+ }
530
+ Insert: {
531
+ created_at?: string
532
+ description: string
533
+ id?: number
534
+ reported: number
535
+ reporter: number
536
+ }
537
+ Update: {
538
+ created_at?: string
539
+ description?: string
540
+ id?: number
541
+ reported?: number
542
+ reporter?: number
543
+ }
544
+ Relationships: [
545
+ {
546
+ foreignKeyName: "profileReports_reported_fkey"
547
+ columns: ["reported"]
548
+ isOneToOne: false
549
+ referencedRelation: "profiles"
550
+ referencedColumns: ["id"]
551
+ },
552
+ {
553
+ foreignKeyName: "profileReports_reporter_fkey"
554
+ columns: ["reporter"]
555
+ isOneToOne: false
556
+ referencedRelation: "profiles"
557
+ referencedColumns: ["id"]
558
+ },
559
+ ]
560
+ }
561
+ profiles: {
562
+ Row: {
563
+ about_me: string | null
564
+ avatar_url: string | null
565
+ badges: Json | null
566
+ ban: Database["public"]["Enums"]["banTypes"] | null
567
+ bannedAt: number | null
568
+ clan: number | null
569
+ computedUsername: string | null
570
+ created_at: number | null
571
+ flag: string | null
572
+ id: number
573
+ mu_rank: number
574
+ play_count: number | null
575
+ profile_image: string | null
576
+ sigma_rank: number | null
577
+ skill_points: number | null
578
+ spin_skill_points: number
579
+ squares_hit: number | null
580
+ total_score: number | null
581
+ uid: string | null
582
+ username: string | null
583
+ verificationDeadline: number
584
+ verified: boolean | null
585
+ }
586
+ Insert: {
587
+ about_me?: string | null
588
+ avatar_url?: string | null
589
+ badges?: Json | null
590
+ ban?: Database["public"]["Enums"]["banTypes"] | null
591
+ bannedAt?: number | null
592
+ clan?: number | null
593
+ computedUsername?: string | null
594
+ created_at?: number | null
595
+ flag?: string | null
596
+ id?: number
597
+ mu_rank?: number
598
+ play_count?: number | null
599
+ profile_image?: string | null
600
+ sigma_rank?: number | null
601
+ skill_points?: number | null
602
+ spin_skill_points?: number
603
+ squares_hit?: number | null
604
+ total_score?: number | null
605
+ uid?: string | null
606
+ username?: string | null
607
+ verificationDeadline?: number
608
+ verified?: boolean | null
609
+ }
610
+ Update: {
611
+ about_me?: string | null
612
+ avatar_url?: string | null
613
+ badges?: Json | null
614
+ ban?: Database["public"]["Enums"]["banTypes"] | null
615
+ bannedAt?: number | null
616
+ clan?: number | null
617
+ computedUsername?: string | null
618
+ created_at?: number | null
619
+ flag?: string | null
620
+ id?: number
621
+ mu_rank?: number
622
+ play_count?: number | null
623
+ profile_image?: string | null
624
+ sigma_rank?: number | null
625
+ skill_points?: number | null
626
+ spin_skill_points?: number
627
+ squares_hit?: number | null
628
+ total_score?: number | null
629
+ uid?: string | null
630
+ username?: string | null
631
+ verificationDeadline?: number
632
+ verified?: boolean | null
633
+ }
634
+ Relationships: [
635
+ {
636
+ foreignKeyName: "profiles_clan_fkey"
637
+ columns: ["clan"]
638
+ isOneToOne: false
639
+ referencedRelation: "clans"
640
+ referencedColumns: ["id"]
641
+ },
642
+ ]
643
+ }
644
+ scores: {
645
+ Row: {
646
+ additional_data: Json
647
+ awarded_sp: number | null
648
+ beatmapHash: string | null
649
+ created_at: string
650
+ id: number
651
+ misses: number | null
652
+ mods: Json
653
+ passed: boolean | null
654
+ replay_url: string | null
655
+ replayHwid: string | null
656
+ songId: string | null
657
+ speed: number | null
658
+ spin: boolean
659
+ token: number | null
660
+ userId: number | null
661
+ }
662
+ Insert: {
663
+ additional_data?: Json
664
+ awarded_sp?: number | null
665
+ beatmapHash?: string | null
666
+ created_at?: string
667
+ id?: number
668
+ misses?: number | null
669
+ mods?: Json
670
+ passed?: boolean | null
671
+ replay_url?: string | null
672
+ replayHwid?: string | null
673
+ songId?: string | null
674
+ speed?: number | null
675
+ spin?: boolean
676
+ token?: number | null
677
+ userId?: number | null
678
+ }
679
+ Update: {
680
+ additional_data?: Json
681
+ awarded_sp?: number | null
682
+ beatmapHash?: string | null
683
+ created_at?: string
684
+ id?: number
685
+ misses?: number | null
686
+ mods?: Json
687
+ passed?: boolean | null
688
+ replay_url?: string | null
689
+ replayHwid?: string | null
690
+ songId?: string | null
691
+ speed?: number | null
692
+ spin?: boolean
693
+ token?: number | null
694
+ userId?: number | null
695
+ }
696
+ Relationships: [
697
+ {
698
+ foreignKeyName: "scores_beatmapHash_fkey"
699
+ columns: ["beatmapHash"]
700
+ isOneToOne: false
701
+ referencedRelation: "beatmaps"
702
+ referencedColumns: ["beatmapHash"]
703
+ },
704
+ {
705
+ foreignKeyName: "scores_token_fkey"
706
+ columns: ["token"]
707
+ isOneToOne: false
708
+ referencedRelation: "tokens"
709
+ referencedColumns: ["id"]
710
+ },
711
+ {
712
+ foreignKeyName: "scores_userId_fkey"
713
+ columns: ["userId"]
714
+ isOneToOne: false
715
+ referencedRelation: "profiles"
716
+ referencedColumns: ["id"]
717
+ },
718
+ ]
719
+ }
720
+ tokens: {
721
+ Row: {
722
+ created_at: string
723
+ hash: string | null
724
+ id: number
725
+ processed: Json | null
726
+ raw: string | null
727
+ }
728
+ Insert: {
729
+ created_at?: string
730
+ hash?: string | null
731
+ id?: number
732
+ processed?: Json | null
733
+ raw?: string | null
734
+ }
735
+ Update: {
736
+ created_at?: string
737
+ hash?: string | null
738
+ id?: number
739
+ processed?: Json | null
740
+ raw?: string | null
741
+ }
742
+ Relationships: []
743
+ }
744
+ user_hwids: {
745
+ Row: {
746
+ created_at: string | null
747
+ hwid: string
748
+ id: number
749
+ }
750
+ Insert: {
751
+ created_at?: string | null
752
+ hwid: string
753
+ id?: number
754
+ }
755
+ Update: {
756
+ created_at?: string | null
757
+ hwid?: string
758
+ id?: number
759
+ }
760
+ Relationships: [
761
+ {
762
+ foreignKeyName: "user_hwids_id_fkey"
763
+ columns: ["id"]
764
+ isOneToOne: false
765
+ referencedRelation: "profiles"
766
+ referencedColumns: ["id"]
767
+ },
768
+ ]
769
+ }
770
+ vetos: {
771
+ Row: {
772
+ beatmapPage: number
773
+ created_at: string
774
+ id: number
775
+ user: number
776
+ veto_reason: string
777
+ }
778
+ Insert: {
779
+ beatmapPage: number
780
+ created_at?: string
781
+ id?: number
782
+ user: number
783
+ veto_reason: string
784
+ }
785
+ Update: {
786
+ beatmapPage?: number
787
+ created_at?: string
788
+ id?: number
789
+ user?: number
790
+ veto_reason?: string
791
+ }
792
+ Relationships: [
793
+ {
794
+ foreignKeyName: "vetos_beatmapPage_fkey"
795
+ columns: ["beatmapPage"]
796
+ isOneToOne: false
797
+ referencedRelation: "beatmapPages"
798
+ referencedColumns: ["id"]
799
+ },
800
+ {
801
+ foreignKeyName: "vetos_user_fkey"
802
+ columns: ["user"]
803
+ isOneToOne: false
804
+ referencedRelation: "profiles"
805
+ referencedColumns: ["id"]
806
+ },
807
+ ]
808
+ }
809
+ }
810
+ Views: {
811
+ [_ in never]: never
812
+ }
813
+ Functions: {
814
+ admin_delete_user: { Args: { user_id: number }; Returns: boolean }
815
+ admin_exclude_user: { Args: { user_id: number }; Returns: boolean }
816
+ admin_invalidate_ranked_scores: {
817
+ Args: { user_id: number }
818
+ Returns: number
819
+ }
820
+ admin_log_action:
821
+ | {
822
+ Args: {
823
+ action_type: string
824
+ admin_id: number
825
+ details?: Json
826
+ target_id: number
827
+ }
828
+ Returns: undefined
829
+ }
830
+ | {
831
+ Args: {
832
+ action_type: string
833
+ admin_id: number
834
+ details?: Json
835
+ target_id: string
836
+ }
837
+ Returns: undefined
838
+ }
839
+ admin_profanity_clear: { Args: { user_id: number }; Returns: boolean }
840
+ admin_remove_all_scores: { Args: { user_id: number }; Returns: number }
841
+ admin_restrict_user: { Args: { user_id: number }; Returns: boolean }
842
+ admin_search_users: {
843
+ Args: { search_text: string }
844
+ Returns: {
845
+ about_me: string | null
846
+ avatar_url: string | null
847
+ badges: Json | null
848
+ ban: Database["public"]["Enums"]["banTypes"] | null
849
+ bannedAt: number | null
850
+ clan: number | null
851
+ computedUsername: string | null
852
+ created_at: number | null
853
+ flag: string | null
854
+ id: number
855
+ mu_rank: number
856
+ play_count: number | null
857
+ profile_image: string | null
858
+ sigma_rank: number | null
859
+ skill_points: number | null
860
+ spin_skill_points: number
861
+ squares_hit: number | null
862
+ total_score: number | null
863
+ uid: string | null
864
+ username: string | null
865
+ verificationDeadline: number
866
+ verified: boolean | null
867
+ }[]
868
+ SetofOptions: {
869
+ from: "*"
870
+ to: "profiles"
871
+ isOneToOne: false
872
+ isSetofReturn: true
873
+ }
874
+ }
875
+ admin_silence_user: { Args: { user_id: number }; Returns: boolean }
876
+ admin_unban_user: { Args: { user_id: number }; Returns: boolean }
877
+ enhanced_search: {
878
+ Args: { result_limit?: number; search_text: string }
879
+ Returns: {
880
+ beatmap_description: string
881
+ beatmap_image: string
882
+ beatmap_length: number
883
+ beatmap_map_id: string
884
+ beatmap_owner: number
885
+ beatmap_owner_avatar: string
886
+ beatmap_owner_username: string
887
+ beatmap_page_id: number
888
+ beatmap_star_rating: number
889
+ beatmap_status: string
890
+ beatmap_tags: string
891
+ beatmap_title: string
892
+ relevance: number
893
+ result_type: string
894
+ user_about_me: string
895
+ user_avatar_url: string
896
+ user_flag: string
897
+ user_id: number
898
+ user_username: string
899
+ }[]
900
+ }
901
+ get_badge_leaderboard: {
902
+ Args: { p_limit?: number }
903
+ Returns: {
904
+ avatar_url: string
905
+ display_name: string
906
+ id: number
907
+ special_badge_count: number
908
+ }[]
909
+ }
910
+ get_clan_leaderboard: {
911
+ Args: { items_per_page?: number; page_number?: number }
912
+ Returns: {
913
+ acronym: string
914
+ avatar_url: string
915
+ description: string
916
+ id: number
917
+ member_count: number
918
+ name: string
919
+ total_pages: number
920
+ total_skill_points: number
921
+ }[]
922
+ }
923
+ get_collections_v1: {
924
+ Args: { items_per_page?: number; page_number?: number }
925
+ Returns: {
926
+ beatmap_count: number
927
+ created_at: string
928
+ description: string
929
+ id: number
930
+ owner: number
931
+ star1: number
932
+ star10: number
933
+ star11: number
934
+ star12: number
935
+ star13: number
936
+ star14: number
937
+ star15: number
938
+ star16: number
939
+ star17: number
940
+ star18: number
941
+ star2: number
942
+ star3: number
943
+ star4: number
944
+ star5: number
945
+ star6: number
946
+ star7: number
947
+ star8: number
948
+ star9: number
949
+ title: string
950
+ total_pages: number
951
+ }[]
952
+ }
953
+ get_collections_v2:
954
+ | {
955
+ Args: { items_per_page?: number; page_number?: number }
956
+ Returns: {
957
+ beatmap_count: number
958
+ created_at: string
959
+ description: string
960
+ id: number
961
+ owner: number
962
+ owner_avatar_url: string
963
+ owner_username: string
964
+ star1: number
965
+ star10: number
966
+ star11: number
967
+ star12: number
968
+ star13: number
969
+ star14: number
970
+ star15: number
971
+ star16: number
972
+ star17: number
973
+ star18: number
974
+ star2: number
975
+ star3: number
976
+ star4: number
977
+ star5: number
978
+ star6: number
979
+ star7: number
980
+ star8: number
981
+ star9: number
982
+ title: string
983
+ total_pages: number
984
+ }[]
985
+ }
986
+ | {
987
+ Args: {
988
+ items_per_page?: number
989
+ owner_filter?: number
990
+ page_number?: number
991
+ }
992
+ Returns: {
993
+ beatmap_count: number
994
+ created_at: string
995
+ description: string
996
+ id: number
997
+ owner: number
998
+ owner_avatar_url: string
999
+ owner_username: string
1000
+ star1: number
1001
+ star10: number
1002
+ star11: number
1003
+ star12: number
1004
+ star13: number
1005
+ star14: number
1006
+ star15: number
1007
+ star16: number
1008
+ star17: number
1009
+ star18: number
1010
+ star2: number
1011
+ star3: number
1012
+ star4: number
1013
+ star5: number
1014
+ star6: number
1015
+ star7: number
1016
+ star8: number
1017
+ star9: number
1018
+ title: string
1019
+ total_pages: number
1020
+ }[]
1021
+ }
1022
+ get_collections_v3: {
1023
+ Args: {
1024
+ items_per_page?: number
1025
+ owner_filter?: number
1026
+ page_number?: number
1027
+ }
1028
+ Returns: {
1029
+ beatmap_count: number
1030
+ created_at: string
1031
+ description: string
1032
+ id: number
1033
+ owner: number
1034
+ owner_avatar_url: string
1035
+ owner_username: string
1036
+ star1: number
1037
+ star10: number
1038
+ star11: number
1039
+ star12: number
1040
+ star13: number
1041
+ star14: number
1042
+ star15: number
1043
+ star16: number
1044
+ star17: number
1045
+ star18: number
1046
+ star2: number
1047
+ star3: number
1048
+ star4: number
1049
+ star5: number
1050
+ star6: number
1051
+ star7: number
1052
+ star8: number
1053
+ star9: number
1054
+ title: string
1055
+ total_pages: number
1056
+ }[]
1057
+ }
1058
+ get_collections_v4: {
1059
+ Args: {
1060
+ author_filter?: string
1061
+ items_per_page?: number
1062
+ min_beatmaps?: number
1063
+ owner_filter?: number
1064
+ page_number?: number
1065
+ search_query?: string
1066
+ }
1067
+ Returns: {
1068
+ beatmap_count: number
1069
+ created_at: string
1070
+ description: string
1071
+ id: number
1072
+ owner: number
1073
+ owner_avatar_url: string
1074
+ owner_username: string
1075
+ star1: number
1076
+ star10: number
1077
+ star11: number
1078
+ star12: number
1079
+ star13: number
1080
+ star14: number
1081
+ star15: number
1082
+ star16: number
1083
+ star17: number
1084
+ star18: number
1085
+ star2: number
1086
+ star3: number
1087
+ star4: number
1088
+ star5: number
1089
+ star6: number
1090
+ star7: number
1091
+ star8: number
1092
+ star9: number
1093
+ title: string
1094
+ total_pages: number
1095
+ }[]
1096
+ }
1097
+ get_top_scores_for_beatmap: {
1098
+ Args: { beatmap_hash: string }
1099
+ Returns: {
1100
+ accuracy: number
1101
+ avatar_url: string
1102
+ awarded_sp: number
1103
+ created_at: string
1104
+ id: number
1105
+ misses: number
1106
+ mods: Json
1107
+ passed: boolean
1108
+ replayhwid: string
1109
+ songid: string
1110
+ speed: number
1111
+ spin: boolean
1112
+ userid: number
1113
+ username: string
1114
+ }[]
1115
+ }
1116
+ get_top_scores_for_beatmap2: {
1117
+ Args: { beatmap_hash: string }
1118
+ Returns: {
1119
+ accuracy: number
1120
+ avatar_url: string
1121
+ awarded_sp: number
1122
+ created_at: string
1123
+ id: number
1124
+ misses: number
1125
+ mods: Json
1126
+ passed: boolean
1127
+ replayhwid: string
1128
+ songid: string
1129
+ speed: number
1130
+ spin: boolean
1131
+ userid: number
1132
+ username: string
1133
+ }[]
1134
+ }
1135
+ get_top_scores_for_beatmap3: {
1136
+ Args: { beatmap_hash: string }
1137
+ Returns: {
1138
+ accuracy: number
1139
+ avatar_url: string
1140
+ awarded_sp: number
1141
+ created_at: string
1142
+ id: number
1143
+ misses: number
1144
+ mods: Json
1145
+ passed: boolean
1146
+ replayHwid: string
1147
+ songId: string
1148
+ speed: number
1149
+ spin: boolean
1150
+ userId: number
1151
+ username: string
1152
+ }[]
1153
+ }
1154
+ get_user_activity: {
1155
+ Args: { score_limit?: number; user_id: number }
1156
+ Returns: Json
1157
+ }
1158
+ get_user_by_email: { Args: { email_address: string }; Returns: Json }
1159
+ get_user_reigning_scores:
1160
+ | {
1161
+ Args: { userid: number }
1162
+ Returns: {
1163
+ awarded_sp: number
1164
+ beatmaphash: string
1165
+ created_at: string
1166
+ id: number
1167
+ misses: number
1168
+ mods: Json
1169
+ passed: boolean
1170
+ replayhwid: string
1171
+ songid: string
1172
+ speed: number
1173
+ spin: boolean
1174
+ }[]
1175
+ }
1176
+ | {
1177
+ Args: { page_size: number; userid: number }
1178
+ Returns: {
1179
+ awarded_sp: number
1180
+ beatmaphash: string
1181
+ beatmaptitle: string
1182
+ created_at: string
1183
+ difficulty: number
1184
+ id: number
1185
+ misses: number
1186
+ mods: Json
1187
+ notes: number
1188
+ passed: boolean
1189
+ replayhwid: string
1190
+ songid: string
1191
+ speed: number
1192
+ spin: boolean
1193
+ }[]
1194
+ }
1195
+ get_user_scores_lastday: {
1196
+ Args: { limit_param: number; userid: number }
1197
+ Returns: Json
1198
+ }
1199
+ get_user_scores_payload: {
1200
+ Args: { limit_param: number; userid: number }
1201
+ Returns: Json
1202
+ }
1203
+ get_user_scores_reign: { Args: { userid: number }; Returns: Json }
1204
+ get_user_scores_summary: {
1205
+ Args: { limit_param?: number; userid: number }
1206
+ Returns: Json
1207
+ }
1208
+ get_user_scores_top_and_stats: {
1209
+ Args: { limit_param: number; userid: number }
1210
+ Returns: Json
1211
+ }
1212
+ grant_special_badges: {
1213
+ Args: {
1214
+ p_beatmap_id: number
1215
+ p_passed?: boolean
1216
+ p_spin?: boolean
1217
+ p_user_id: number
1218
+ }
1219
+ Returns: Json
1220
+ }
1221
+ }
1222
+ Enums: {
1223
+ banTypes: "cool" | "silenced" | "restricted" | "excluded"
1224
+ discordWebhookType: "maps" | "scores"
1225
+ }
1226
+ CompositeTypes: {
1227
+ [_ in never]: never
1228
+ }
1229
+ }
1230
+ }
1231
+
1232
+ type DatabaseWithoutInternals = Omit<Database, "__InternalSupabase">
1233
+
1234
+ type DefaultSchema = DatabaseWithoutInternals[Extract<keyof Database, "public">]
1235
+
1236
+ export type Tables<
1237
+ DefaultSchemaTableNameOrOptions extends
1238
+ | keyof (DefaultSchema["Tables"] & DefaultSchema["Views"])
1239
+ | { schema: keyof DatabaseWithoutInternals },
1240
+ TableName extends DefaultSchemaTableNameOrOptions extends {
1241
+ schema: keyof DatabaseWithoutInternals
1242
+ }
1243
+ ? keyof (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] &
1244
+ DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Views"])
1245
+ : never = never,
1246
+ > = DefaultSchemaTableNameOrOptions extends {
1247
+ schema: keyof DatabaseWithoutInternals
1248
+ }
1249
+ ? (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] &
1250
+ DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Views"])[TableName] extends {
1251
+ Row: infer R
1252
+ }
1253
+ ? R
1254
+ : never
1255
+ : DefaultSchemaTableNameOrOptions extends keyof (DefaultSchema["Tables"] &
1256
+ DefaultSchema["Views"])
1257
+ ? (DefaultSchema["Tables"] &
1258
+ DefaultSchema["Views"])[DefaultSchemaTableNameOrOptions] extends {
1259
+ Row: infer R
1260
+ }
1261
+ ? R
1262
+ : never
1263
+ : never
1264
+
1265
+ export type TablesInsert<
1266
+ DefaultSchemaTableNameOrOptions extends
1267
+ | keyof DefaultSchema["Tables"]
1268
+ | { schema: keyof DatabaseWithoutInternals },
1269
+ TableName extends DefaultSchemaTableNameOrOptions extends {
1270
+ schema: keyof DatabaseWithoutInternals
1271
+ }
1272
+ ? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"]
1273
+ : never = never,
1274
+ > = DefaultSchemaTableNameOrOptions extends {
1275
+ schema: keyof DatabaseWithoutInternals
1276
+ }
1277
+ ? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends {
1278
+ Insert: infer I
1279
+ }
1280
+ ? I
1281
+ : never
1282
+ : DefaultSchemaTableNameOrOptions extends keyof DefaultSchema["Tables"]
1283
+ ? DefaultSchema["Tables"][DefaultSchemaTableNameOrOptions] extends {
1284
+ Insert: infer I
1285
+ }
1286
+ ? I
1287
+ : never
1288
+ : never
1289
+
1290
+ export type TablesUpdate<
1291
+ DefaultSchemaTableNameOrOptions extends
1292
+ | keyof DefaultSchema["Tables"]
1293
+ | { schema: keyof DatabaseWithoutInternals },
1294
+ TableName extends DefaultSchemaTableNameOrOptions extends {
1295
+ schema: keyof DatabaseWithoutInternals
1296
+ }
1297
+ ? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"]
1298
+ : never = never,
1299
+ > = DefaultSchemaTableNameOrOptions extends {
1300
+ schema: keyof DatabaseWithoutInternals
1301
+ }
1302
+ ? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends {
1303
+ Update: infer U
1304
+ }
1305
+ ? U
1306
+ : never
1307
+ : DefaultSchemaTableNameOrOptions extends keyof DefaultSchema["Tables"]
1308
+ ? DefaultSchema["Tables"][DefaultSchemaTableNameOrOptions] extends {
1309
+ Update: infer U
1310
+ }
1311
+ ? U
1312
+ : never
1313
+ : never
1314
+
1315
+ export type Enums<
1316
+ DefaultSchemaEnumNameOrOptions extends
1317
+ | keyof DefaultSchema["Enums"]
1318
+ | { schema: keyof DatabaseWithoutInternals },
1319
+ EnumName extends DefaultSchemaEnumNameOrOptions extends {
1320
+ schema: keyof DatabaseWithoutInternals
1321
+ }
1322
+ ? keyof DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"]
1323
+ : never = never,
1324
+ > = DefaultSchemaEnumNameOrOptions extends {
1325
+ schema: keyof DatabaseWithoutInternals
1326
+ }
1327
+ ? DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"][EnumName]
1328
+ : DefaultSchemaEnumNameOrOptions extends keyof DefaultSchema["Enums"]
1329
+ ? DefaultSchema["Enums"][DefaultSchemaEnumNameOrOptions]
1330
+ : never
1331
+
1332
+ export type CompositeTypes<
1333
+ PublicCompositeTypeNameOrOptions extends
1334
+ | keyof DefaultSchema["CompositeTypes"]
1335
+ | { schema: keyof DatabaseWithoutInternals },
1336
+ CompositeTypeName extends PublicCompositeTypeNameOrOptions extends {
1337
+ schema: keyof DatabaseWithoutInternals
1338
+ }
1339
+ ? keyof DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"]
1340
+ : never = never,
1341
+ > = PublicCompositeTypeNameOrOptions extends {
1342
+ schema: keyof DatabaseWithoutInternals
1343
+ }
1344
+ ? DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"][CompositeTypeName]
1345
+ : PublicCompositeTypeNameOrOptions extends keyof DefaultSchema["CompositeTypes"]
1346
+ ? DefaultSchema["CompositeTypes"][PublicCompositeTypeNameOrOptions]
1347
+ : never
1348
+
1349
+ export const Constants = {
1350
+ public: {
1351
+ Enums: {
1352
+ banTypes: ["cool", "silenced", "restricted", "excluded"],
1353
+ discordWebhookType: ["maps", "scores"],
1354
+ },
1355
+ },
1356
+ } as const