rhythia-api 237.0.0 → 239.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,1385 @@
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
+ profileUsernames: {
562
+ Row: {
563
+ changed_at: string
564
+ id: number
565
+ profile_id: number
566
+ username: string
567
+ }
568
+ Insert: {
569
+ changed_at?: string
570
+ id?: number
571
+ profile_id: number
572
+ username: string
573
+ }
574
+ Update: {
575
+ changed_at?: string
576
+ id?: number
577
+ profile_id?: number
578
+ username?: string
579
+ }
580
+ Relationships: [
581
+ {
582
+ foreignKeyName: "profileUsernames_profile_id_fkey"
583
+ columns: ["profile_id"]
584
+ isOneToOne: false
585
+ referencedRelation: "profiles"
586
+ referencedColumns: ["id"]
587
+ },
588
+ ]
589
+ }
590
+ profiles: {
591
+ Row: {
592
+ about_me: string | null
593
+ avatar_url: string | null
594
+ badges: Json | null
595
+ ban: Database["public"]["Enums"]["banTypes"] | null
596
+ bannedAt: number | null
597
+ clan: number | null
598
+ computedUsername: string | null
599
+ created_at: number | null
600
+ flag: string | null
601
+ id: number
602
+ mu_rank: number
603
+ play_count: number | null
604
+ profile_image: string | null
605
+ sigma_rank: number | null
606
+ skill_points: number | null
607
+ spin_skill_points: number
608
+ squares_hit: number | null
609
+ total_score: number | null
610
+ uid: string | null
611
+ username: string | null
612
+ verificationDeadline: number
613
+ verified: boolean | null
614
+ }
615
+ Insert: {
616
+ about_me?: string | null
617
+ avatar_url?: string | null
618
+ badges?: Json | null
619
+ ban?: Database["public"]["Enums"]["banTypes"] | null
620
+ bannedAt?: number | null
621
+ clan?: number | null
622
+ computedUsername?: string | null
623
+ created_at?: number | null
624
+ flag?: string | null
625
+ id?: number
626
+ mu_rank?: number
627
+ play_count?: number | null
628
+ profile_image?: string | null
629
+ sigma_rank?: number | null
630
+ skill_points?: number | null
631
+ spin_skill_points?: number
632
+ squares_hit?: number | null
633
+ total_score?: number | null
634
+ uid?: string | null
635
+ username?: string | null
636
+ verificationDeadline?: number
637
+ verified?: boolean | null
638
+ }
639
+ Update: {
640
+ about_me?: string | null
641
+ avatar_url?: string | null
642
+ badges?: Json | null
643
+ ban?: Database["public"]["Enums"]["banTypes"] | null
644
+ bannedAt?: number | null
645
+ clan?: number | null
646
+ computedUsername?: string | null
647
+ created_at?: number | null
648
+ flag?: string | null
649
+ id?: number
650
+ mu_rank?: number
651
+ play_count?: number | null
652
+ profile_image?: string | null
653
+ sigma_rank?: number | null
654
+ skill_points?: number | null
655
+ spin_skill_points?: number
656
+ squares_hit?: number | null
657
+ total_score?: number | null
658
+ uid?: string | null
659
+ username?: string | null
660
+ verificationDeadline?: number
661
+ verified?: boolean | null
662
+ }
663
+ Relationships: [
664
+ {
665
+ foreignKeyName: "profiles_clan_fkey"
666
+ columns: ["clan"]
667
+ isOneToOne: false
668
+ referencedRelation: "clans"
669
+ referencedColumns: ["id"]
670
+ },
671
+ ]
672
+ }
673
+ scores: {
674
+ Row: {
675
+ additional_data: Json
676
+ awarded_sp: number | null
677
+ beatmapHash: string | null
678
+ created_at: string
679
+ id: number
680
+ misses: number | null
681
+ mods: Json
682
+ passed: boolean | null
683
+ replay_url: string | null
684
+ replayHwid: string | null
685
+ songId: string | null
686
+ speed: number | null
687
+ spin: boolean
688
+ token: number | null
689
+ userId: number | null
690
+ }
691
+ Insert: {
692
+ additional_data?: Json
693
+ awarded_sp?: number | null
694
+ beatmapHash?: string | null
695
+ created_at?: string
696
+ id?: number
697
+ misses?: number | null
698
+ mods?: Json
699
+ passed?: boolean | null
700
+ replay_url?: string | null
701
+ replayHwid?: string | null
702
+ songId?: string | null
703
+ speed?: number | null
704
+ spin?: boolean
705
+ token?: number | null
706
+ userId?: number | null
707
+ }
708
+ Update: {
709
+ additional_data?: Json
710
+ awarded_sp?: number | null
711
+ beatmapHash?: string | null
712
+ created_at?: string
713
+ id?: number
714
+ misses?: number | null
715
+ mods?: Json
716
+ passed?: boolean | null
717
+ replay_url?: string | null
718
+ replayHwid?: string | null
719
+ songId?: string | null
720
+ speed?: number | null
721
+ spin?: boolean
722
+ token?: number | null
723
+ userId?: number | null
724
+ }
725
+ Relationships: [
726
+ {
727
+ foreignKeyName: "scores_beatmapHash_fkey"
728
+ columns: ["beatmapHash"]
729
+ isOneToOne: false
730
+ referencedRelation: "beatmaps"
731
+ referencedColumns: ["beatmapHash"]
732
+ },
733
+ {
734
+ foreignKeyName: "scores_token_fkey"
735
+ columns: ["token"]
736
+ isOneToOne: false
737
+ referencedRelation: "tokens"
738
+ referencedColumns: ["id"]
739
+ },
740
+ {
741
+ foreignKeyName: "scores_userId_fkey"
742
+ columns: ["userId"]
743
+ isOneToOne: false
744
+ referencedRelation: "profiles"
745
+ referencedColumns: ["id"]
746
+ },
747
+ ]
748
+ }
749
+ tokens: {
750
+ Row: {
751
+ created_at: string
752
+ hash: string | null
753
+ id: number
754
+ processed: Json | null
755
+ raw: string | null
756
+ }
757
+ Insert: {
758
+ created_at?: string
759
+ hash?: string | null
760
+ id?: number
761
+ processed?: Json | null
762
+ raw?: string | null
763
+ }
764
+ Update: {
765
+ created_at?: string
766
+ hash?: string | null
767
+ id?: number
768
+ processed?: Json | null
769
+ raw?: string | null
770
+ }
771
+ Relationships: []
772
+ }
773
+ user_hwids: {
774
+ Row: {
775
+ created_at: string | null
776
+ hwid: string
777
+ id: number
778
+ }
779
+ Insert: {
780
+ created_at?: string | null
781
+ hwid: string
782
+ id?: number
783
+ }
784
+ Update: {
785
+ created_at?: string | null
786
+ hwid?: string
787
+ id?: number
788
+ }
789
+ Relationships: [
790
+ {
791
+ foreignKeyName: "user_hwids_id_fkey"
792
+ columns: ["id"]
793
+ isOneToOne: false
794
+ referencedRelation: "profiles"
795
+ referencedColumns: ["id"]
796
+ },
797
+ ]
798
+ }
799
+ vetos: {
800
+ Row: {
801
+ beatmapPage: number
802
+ created_at: string
803
+ id: number
804
+ user: number
805
+ veto_reason: string
806
+ }
807
+ Insert: {
808
+ beatmapPage: number
809
+ created_at?: string
810
+ id?: number
811
+ user: number
812
+ veto_reason: string
813
+ }
814
+ Update: {
815
+ beatmapPage?: number
816
+ created_at?: string
817
+ id?: number
818
+ user?: number
819
+ veto_reason?: string
820
+ }
821
+ Relationships: [
822
+ {
823
+ foreignKeyName: "vetos_beatmapPage_fkey"
824
+ columns: ["beatmapPage"]
825
+ isOneToOne: false
826
+ referencedRelation: "beatmapPages"
827
+ referencedColumns: ["id"]
828
+ },
829
+ {
830
+ foreignKeyName: "vetos_user_fkey"
831
+ columns: ["user"]
832
+ isOneToOne: false
833
+ referencedRelation: "profiles"
834
+ referencedColumns: ["id"]
835
+ },
836
+ ]
837
+ }
838
+ }
839
+ Views: {
840
+ [_ in never]: never
841
+ }
842
+ Functions: {
843
+ admin_delete_user: { Args: { user_id: number }; Returns: boolean }
844
+ admin_exclude_user: { Args: { user_id: number }; Returns: boolean }
845
+ admin_invalidate_ranked_scores: {
846
+ Args: { user_id: number }
847
+ Returns: number
848
+ }
849
+ admin_log_action:
850
+ | {
851
+ Args: {
852
+ action_type: string
853
+ admin_id: number
854
+ details?: Json
855
+ target_id: number
856
+ }
857
+ Returns: undefined
858
+ }
859
+ | {
860
+ Args: {
861
+ action_type: string
862
+ admin_id: number
863
+ details?: Json
864
+ target_id: string
865
+ }
866
+ Returns: undefined
867
+ }
868
+ admin_profanity_clear: { Args: { user_id: number }; Returns: boolean }
869
+ admin_remove_all_scores: { Args: { user_id: number }; Returns: number }
870
+ admin_restrict_user: { Args: { user_id: number }; Returns: boolean }
871
+ admin_search_users: {
872
+ Args: { search_text: string }
873
+ Returns: {
874
+ about_me: string | null
875
+ avatar_url: string | null
876
+ badges: Json | null
877
+ ban: Database["public"]["Enums"]["banTypes"] | null
878
+ bannedAt: number | null
879
+ clan: number | null
880
+ computedUsername: string | null
881
+ created_at: number | null
882
+ flag: string | null
883
+ id: number
884
+ mu_rank: number
885
+ play_count: number | null
886
+ profile_image: string | null
887
+ sigma_rank: number | null
888
+ skill_points: number | null
889
+ spin_skill_points: number
890
+ squares_hit: number | null
891
+ total_score: number | null
892
+ uid: string | null
893
+ username: string | null
894
+ verificationDeadline: number
895
+ verified: boolean | null
896
+ }[]
897
+ SetofOptions: {
898
+ from: "*"
899
+ to: "profiles"
900
+ isOneToOne: false
901
+ isSetofReturn: true
902
+ }
903
+ }
904
+ admin_silence_user: { Args: { user_id: number }; Returns: boolean }
905
+ admin_unban_user: { Args: { user_id: number }; Returns: boolean }
906
+ enhanced_search: {
907
+ Args: { result_limit?: number; search_text: string }
908
+ Returns: {
909
+ beatmap_description: string
910
+ beatmap_image: string
911
+ beatmap_length: number
912
+ beatmap_map_id: string
913
+ beatmap_owner: number
914
+ beatmap_owner_avatar: string
915
+ beatmap_owner_username: string
916
+ beatmap_page_id: number
917
+ beatmap_star_rating: number
918
+ beatmap_status: string
919
+ beatmap_tags: string
920
+ beatmap_title: string
921
+ relevance: number
922
+ result_type: string
923
+ user_about_me: string
924
+ user_avatar_url: string
925
+ user_flag: string
926
+ user_id: number
927
+ user_username: string
928
+ }[]
929
+ }
930
+ get_badge_leaderboard: {
931
+ Args: { p_limit?: number }
932
+ Returns: {
933
+ avatar_url: string
934
+ display_name: string
935
+ id: number
936
+ special_badge_count: number
937
+ }[]
938
+ }
939
+ get_clan_leaderboard: {
940
+ Args: { items_per_page?: number; page_number?: number }
941
+ Returns: {
942
+ acronym: string
943
+ avatar_url: string
944
+ description: string
945
+ id: number
946
+ member_count: number
947
+ name: string
948
+ total_pages: number
949
+ total_skill_points: number
950
+ }[]
951
+ }
952
+ get_collections_v1: {
953
+ Args: { items_per_page?: number; page_number?: number }
954
+ Returns: {
955
+ beatmap_count: number
956
+ created_at: string
957
+ description: string
958
+ id: number
959
+ owner: number
960
+ star1: number
961
+ star10: number
962
+ star11: number
963
+ star12: number
964
+ star13: number
965
+ star14: number
966
+ star15: number
967
+ star16: number
968
+ star17: number
969
+ star18: number
970
+ star2: number
971
+ star3: number
972
+ star4: number
973
+ star5: number
974
+ star6: number
975
+ star7: number
976
+ star8: number
977
+ star9: number
978
+ title: string
979
+ total_pages: number
980
+ }[]
981
+ }
982
+ get_collections_v2:
983
+ | {
984
+ Args: { items_per_page?: number; page_number?: number }
985
+ Returns: {
986
+ beatmap_count: number
987
+ created_at: string
988
+ description: string
989
+ id: number
990
+ owner: number
991
+ owner_avatar_url: string
992
+ owner_username: string
993
+ star1: number
994
+ star10: number
995
+ star11: number
996
+ star12: number
997
+ star13: number
998
+ star14: number
999
+ star15: number
1000
+ star16: number
1001
+ star17: number
1002
+ star18: number
1003
+ star2: number
1004
+ star3: number
1005
+ star4: number
1006
+ star5: number
1007
+ star6: number
1008
+ star7: number
1009
+ star8: number
1010
+ star9: number
1011
+ title: string
1012
+ total_pages: number
1013
+ }[]
1014
+ }
1015
+ | {
1016
+ Args: {
1017
+ items_per_page?: number
1018
+ owner_filter?: number
1019
+ page_number?: number
1020
+ }
1021
+ Returns: {
1022
+ beatmap_count: number
1023
+ created_at: string
1024
+ description: string
1025
+ id: number
1026
+ owner: number
1027
+ owner_avatar_url: string
1028
+ owner_username: string
1029
+ star1: number
1030
+ star10: number
1031
+ star11: number
1032
+ star12: number
1033
+ star13: number
1034
+ star14: number
1035
+ star15: number
1036
+ star16: number
1037
+ star17: number
1038
+ star18: number
1039
+ star2: number
1040
+ star3: number
1041
+ star4: number
1042
+ star5: number
1043
+ star6: number
1044
+ star7: number
1045
+ star8: number
1046
+ star9: number
1047
+ title: string
1048
+ total_pages: number
1049
+ }[]
1050
+ }
1051
+ get_collections_v3: {
1052
+ Args: {
1053
+ items_per_page?: number
1054
+ owner_filter?: number
1055
+ page_number?: number
1056
+ }
1057
+ Returns: {
1058
+ beatmap_count: number
1059
+ created_at: string
1060
+ description: string
1061
+ id: number
1062
+ owner: number
1063
+ owner_avatar_url: string
1064
+ owner_username: string
1065
+ star1: number
1066
+ star10: number
1067
+ star11: number
1068
+ star12: number
1069
+ star13: number
1070
+ star14: number
1071
+ star15: number
1072
+ star16: number
1073
+ star17: number
1074
+ star18: number
1075
+ star2: number
1076
+ star3: number
1077
+ star4: number
1078
+ star5: number
1079
+ star6: number
1080
+ star7: number
1081
+ star8: number
1082
+ star9: number
1083
+ title: string
1084
+ total_pages: number
1085
+ }[]
1086
+ }
1087
+ get_collections_v4: {
1088
+ Args: {
1089
+ author_filter?: string
1090
+ items_per_page?: number
1091
+ min_beatmaps?: number
1092
+ owner_filter?: number
1093
+ page_number?: number
1094
+ search_query?: string
1095
+ }
1096
+ Returns: {
1097
+ beatmap_count: number
1098
+ created_at: string
1099
+ description: string
1100
+ id: number
1101
+ owner: number
1102
+ owner_avatar_url: string
1103
+ owner_username: string
1104
+ star1: number
1105
+ star10: number
1106
+ star11: number
1107
+ star12: number
1108
+ star13: number
1109
+ star14: number
1110
+ star15: number
1111
+ star16: number
1112
+ star17: number
1113
+ star18: number
1114
+ star2: number
1115
+ star3: number
1116
+ star4: number
1117
+ star5: number
1118
+ star6: number
1119
+ star7: number
1120
+ star8: number
1121
+ star9: number
1122
+ title: string
1123
+ total_pages: number
1124
+ }[]
1125
+ }
1126
+ get_top_scores_for_beatmap: {
1127
+ Args: { beatmap_hash: string }
1128
+ Returns: {
1129
+ accuracy: number
1130
+ avatar_url: string
1131
+ awarded_sp: number
1132
+ created_at: string
1133
+ id: number
1134
+ misses: number
1135
+ mods: Json
1136
+ passed: boolean
1137
+ replayhwid: string
1138
+ songid: string
1139
+ speed: number
1140
+ spin: boolean
1141
+ userid: number
1142
+ username: string
1143
+ }[]
1144
+ }
1145
+ get_top_scores_for_beatmap2: {
1146
+ Args: { beatmap_hash: string }
1147
+ Returns: {
1148
+ accuracy: number
1149
+ avatar_url: string
1150
+ awarded_sp: number
1151
+ created_at: string
1152
+ id: number
1153
+ misses: number
1154
+ mods: Json
1155
+ passed: boolean
1156
+ replayhwid: string
1157
+ songid: string
1158
+ speed: number
1159
+ spin: boolean
1160
+ userid: number
1161
+ username: string
1162
+ }[]
1163
+ }
1164
+ get_top_scores_for_beatmap3: {
1165
+ Args: { beatmap_hash: string }
1166
+ Returns: {
1167
+ accuracy: number
1168
+ avatar_url: string
1169
+ awarded_sp: number
1170
+ created_at: string
1171
+ id: number
1172
+ misses: number
1173
+ mods: Json
1174
+ passed: boolean
1175
+ replayHwid: string
1176
+ songId: string
1177
+ speed: number
1178
+ spin: boolean
1179
+ userId: number
1180
+ username: string
1181
+ }[]
1182
+ }
1183
+ get_user_activity: {
1184
+ Args: { score_limit?: number; user_id: number }
1185
+ Returns: Json
1186
+ }
1187
+ get_user_by_email: { Args: { email_address: string }; Returns: Json }
1188
+ get_user_reigning_scores:
1189
+ | {
1190
+ Args: { userid: number }
1191
+ Returns: {
1192
+ awarded_sp: number
1193
+ beatmaphash: string
1194
+ created_at: string
1195
+ id: number
1196
+ misses: number
1197
+ mods: Json
1198
+ passed: boolean
1199
+ replayhwid: string
1200
+ songid: string
1201
+ speed: number
1202
+ spin: boolean
1203
+ }[]
1204
+ }
1205
+ | {
1206
+ Args: { page_size: number; userid: number }
1207
+ Returns: {
1208
+ awarded_sp: number
1209
+ beatmaphash: string
1210
+ beatmaptitle: string
1211
+ created_at: string
1212
+ difficulty: number
1213
+ id: number
1214
+ misses: number
1215
+ mods: Json
1216
+ notes: number
1217
+ passed: boolean
1218
+ replayhwid: string
1219
+ songid: string
1220
+ speed: number
1221
+ spin: boolean
1222
+ }[]
1223
+ }
1224
+ get_user_scores_lastday: {
1225
+ Args: { limit_param: number; userid: number }
1226
+ Returns: Json
1227
+ }
1228
+ get_user_scores_payload: {
1229
+ Args: { limit_param: number; userid: number }
1230
+ Returns: Json
1231
+ }
1232
+ get_user_scores_reign: { Args: { userid: number }; Returns: Json }
1233
+ get_user_scores_summary: {
1234
+ Args: { limit_param?: number; userid: number }
1235
+ Returns: Json
1236
+ }
1237
+ get_user_scores_top_and_stats: {
1238
+ Args: { limit_param: number; userid: number }
1239
+ Returns: Json
1240
+ }
1241
+ grant_special_badges: {
1242
+ Args: {
1243
+ p_beatmap_id: number
1244
+ p_passed?: boolean
1245
+ p_spin?: boolean
1246
+ p_user_id: number
1247
+ }
1248
+ Returns: Json
1249
+ }
1250
+ }
1251
+ Enums: {
1252
+ banTypes: "cool" | "silenced" | "restricted" | "excluded"
1253
+ discordWebhookType: "maps" | "scores"
1254
+ }
1255
+ CompositeTypes: {
1256
+ [_ in never]: never
1257
+ }
1258
+ }
1259
+ }
1260
+
1261
+ type DatabaseWithoutInternals = Omit<Database, "__InternalSupabase">
1262
+
1263
+ type DefaultSchema = DatabaseWithoutInternals[Extract<keyof Database, "public">]
1264
+
1265
+ export type Tables<
1266
+ DefaultSchemaTableNameOrOptions extends
1267
+ | keyof (DefaultSchema["Tables"] & DefaultSchema["Views"])
1268
+ | { schema: keyof DatabaseWithoutInternals },
1269
+ TableName extends DefaultSchemaTableNameOrOptions extends {
1270
+ schema: keyof DatabaseWithoutInternals
1271
+ }
1272
+ ? keyof (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] &
1273
+ DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Views"])
1274
+ : never = never,
1275
+ > = DefaultSchemaTableNameOrOptions extends {
1276
+ schema: keyof DatabaseWithoutInternals
1277
+ }
1278
+ ? (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] &
1279
+ DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Views"])[TableName] extends {
1280
+ Row: infer R
1281
+ }
1282
+ ? R
1283
+ : never
1284
+ : DefaultSchemaTableNameOrOptions extends keyof (DefaultSchema["Tables"] &
1285
+ DefaultSchema["Views"])
1286
+ ? (DefaultSchema["Tables"] &
1287
+ DefaultSchema["Views"])[DefaultSchemaTableNameOrOptions] extends {
1288
+ Row: infer R
1289
+ }
1290
+ ? R
1291
+ : never
1292
+ : never
1293
+
1294
+ export type TablesInsert<
1295
+ DefaultSchemaTableNameOrOptions extends
1296
+ | keyof DefaultSchema["Tables"]
1297
+ | { schema: keyof DatabaseWithoutInternals },
1298
+ TableName extends DefaultSchemaTableNameOrOptions extends {
1299
+ schema: keyof DatabaseWithoutInternals
1300
+ }
1301
+ ? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"]
1302
+ : never = never,
1303
+ > = DefaultSchemaTableNameOrOptions extends {
1304
+ schema: keyof DatabaseWithoutInternals
1305
+ }
1306
+ ? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends {
1307
+ Insert: infer I
1308
+ }
1309
+ ? I
1310
+ : never
1311
+ : DefaultSchemaTableNameOrOptions extends keyof DefaultSchema["Tables"]
1312
+ ? DefaultSchema["Tables"][DefaultSchemaTableNameOrOptions] extends {
1313
+ Insert: infer I
1314
+ }
1315
+ ? I
1316
+ : never
1317
+ : never
1318
+
1319
+ export type TablesUpdate<
1320
+ DefaultSchemaTableNameOrOptions extends
1321
+ | keyof DefaultSchema["Tables"]
1322
+ | { schema: keyof DatabaseWithoutInternals },
1323
+ TableName extends DefaultSchemaTableNameOrOptions extends {
1324
+ schema: keyof DatabaseWithoutInternals
1325
+ }
1326
+ ? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"]
1327
+ : never = never,
1328
+ > = DefaultSchemaTableNameOrOptions extends {
1329
+ schema: keyof DatabaseWithoutInternals
1330
+ }
1331
+ ? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends {
1332
+ Update: infer U
1333
+ }
1334
+ ? U
1335
+ : never
1336
+ : DefaultSchemaTableNameOrOptions extends keyof DefaultSchema["Tables"]
1337
+ ? DefaultSchema["Tables"][DefaultSchemaTableNameOrOptions] extends {
1338
+ Update: infer U
1339
+ }
1340
+ ? U
1341
+ : never
1342
+ : never
1343
+
1344
+ export type Enums<
1345
+ DefaultSchemaEnumNameOrOptions extends
1346
+ | keyof DefaultSchema["Enums"]
1347
+ | { schema: keyof DatabaseWithoutInternals },
1348
+ EnumName extends DefaultSchemaEnumNameOrOptions extends {
1349
+ schema: keyof DatabaseWithoutInternals
1350
+ }
1351
+ ? keyof DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"]
1352
+ : never = never,
1353
+ > = DefaultSchemaEnumNameOrOptions extends {
1354
+ schema: keyof DatabaseWithoutInternals
1355
+ }
1356
+ ? DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"][EnumName]
1357
+ : DefaultSchemaEnumNameOrOptions extends keyof DefaultSchema["Enums"]
1358
+ ? DefaultSchema["Enums"][DefaultSchemaEnumNameOrOptions]
1359
+ : never
1360
+
1361
+ export type CompositeTypes<
1362
+ PublicCompositeTypeNameOrOptions extends
1363
+ | keyof DefaultSchema["CompositeTypes"]
1364
+ | { schema: keyof DatabaseWithoutInternals },
1365
+ CompositeTypeName extends PublicCompositeTypeNameOrOptions extends {
1366
+ schema: keyof DatabaseWithoutInternals
1367
+ }
1368
+ ? keyof DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"]
1369
+ : never = never,
1370
+ > = PublicCompositeTypeNameOrOptions extends {
1371
+ schema: keyof DatabaseWithoutInternals
1372
+ }
1373
+ ? DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"][CompositeTypeName]
1374
+ : PublicCompositeTypeNameOrOptions extends keyof DefaultSchema["CompositeTypes"]
1375
+ ? DefaultSchema["CompositeTypes"][PublicCompositeTypeNameOrOptions]
1376
+ : never
1377
+
1378
+ export const Constants = {
1379
+ public: {
1380
+ Enums: {
1381
+ banTypes: ["cool", "silenced", "restricted", "excluded"],
1382
+ discordWebhookType: ["maps", "scores"],
1383
+ },
1384
+ },
1385
+ } as const