rhythia-api 216.0.0 → 225.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,1084 +1,1179 @@
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
- ranked_at: number
157
- status: string | null
158
- tags: string
159
- title: string | null
160
- updated_at: number | null
161
- video_url: string | null
162
- }
163
- Insert: {
164
- created_at?: string
165
- description?: string
166
- genre?: string | null
167
- id?: number
168
- latestBeatmapHash?: string | null
169
- nominations?: Json | null
170
- owner?: number | null
171
- ranked_at?: number
172
- status?: string | null
173
- tags?: string
174
- title?: string | null
175
- updated_at?: number | null
176
- video_url?: string | null
177
- }
178
- Update: {
179
- created_at?: string
180
- description?: string
181
- genre?: string | null
182
- id?: number
183
- latestBeatmapHash?: string | null
184
- nominations?: Json | null
185
- owner?: number | null
186
- ranked_at?: number
187
- status?: string | null
188
- tags?: string
189
- title?: string | null
190
- updated_at?: number | null
191
- video_url?: string | null
192
- }
193
- Relationships: [
194
- {
195
- foreignKeyName: "beatmapPages_latestBeatmapHash_fkey"
196
- columns: ["latestBeatmapHash"]
197
- isOneToOne: false
198
- referencedRelation: "beatmaps"
199
- referencedColumns: ["beatmapHash"]
200
- },
201
- {
202
- foreignKeyName: "beatmapPages_owner_fkey"
203
- columns: ["owner"]
204
- isOneToOne: false
205
- referencedRelation: "profiles"
206
- referencedColumns: ["id"]
207
- },
208
- ]
209
- }
210
- beatmaps: {
211
- Row: {
212
- beatmapFile: string | null
213
- beatmapHash: string
214
- created_at: string
215
- difficulty: number | null
216
- image: string | null
217
- imageLarge: string | null
218
- length: number | null
219
- noteCount: number | null
220
- playcount: number | null
221
- ranked: boolean | null
222
- starRating: number | null
223
- title: string | null
224
- }
225
- Insert: {
226
- beatmapFile?: string | null
227
- beatmapHash: string
228
- created_at?: string
229
- difficulty?: number | null
230
- image?: string | null
231
- imageLarge?: string | null
232
- length?: number | null
233
- noteCount?: number | null
234
- playcount?: number | null
235
- ranked?: boolean | null
236
- starRating?: number | null
237
- title?: string | null
238
- }
239
- Update: {
240
- beatmapFile?: string | null
241
- beatmapHash?: string
242
- created_at?: string
243
- difficulty?: number | null
244
- image?: string | null
245
- imageLarge?: string | null
246
- length?: number | null
247
- noteCount?: number | null
248
- playcount?: number | null
249
- ranked?: boolean | null
250
- starRating?: number | null
251
- title?: string | null
252
- }
253
- Relationships: []
254
- }
255
- chartedValues: {
256
- Row: {
257
- created_at: string
258
- id: number
259
- type: string | null
260
- value: number | null
261
- }
262
- Insert: {
263
- created_at?: string
264
- id?: number
265
- type?: string | null
266
- value?: number | null
267
- }
268
- Update: {
269
- created_at?: string
270
- id?: number
271
- type?: string | null
272
- value?: number | null
273
- }
274
- Relationships: []
275
- }
276
- clans: {
277
- Row: {
278
- acronym: string | null
279
- allowed_users: Json
280
- avatar_url: string | null
281
- created_at: string
282
- description: string | null
283
- id: number
284
- name: string
285
- owner: number | null
286
- }
287
- Insert: {
288
- acronym?: string | null
289
- allowed_users?: Json
290
- avatar_url?: string | null
291
- created_at?: string
292
- description?: string | null
293
- id?: number
294
- name?: string
295
- owner?: number | null
296
- }
297
- Update: {
298
- acronym?: string | null
299
- allowed_users?: Json
300
- avatar_url?: string | null
301
- created_at?: string
302
- description?: string | null
303
- id?: number
304
- name?: string
305
- owner?: number | null
306
- }
307
- Relationships: [
308
- {
309
- foreignKeyName: "clans_owner_fkey"
310
- columns: ["owner"]
311
- isOneToOne: false
312
- referencedRelation: "profiles"
313
- referencedColumns: ["id"]
314
- },
315
- ]
316
- }
317
- collectionRelations: {
318
- Row: {
319
- beatmapPage: number | null
320
- collection: number
321
- created_at: string
322
- id: number
323
- sort: number
324
- }
325
- Insert: {
326
- beatmapPage?: number | null
327
- collection: number
328
- created_at?: string
329
- id?: number
330
- sort?: number
331
- }
332
- Update: {
333
- beatmapPage?: number | null
334
- collection?: number
335
- created_at?: string
336
- id?: number
337
- sort?: number
338
- }
339
- Relationships: [
340
- {
341
- foreignKeyName: "collectionRelations_beatmapPage_fkey"
342
- columns: ["beatmapPage"]
343
- isOneToOne: false
344
- referencedRelation: "beatmapPages"
345
- referencedColumns: ["id"]
346
- },
347
- {
348
- foreignKeyName: "collectionRelations_collection_fkey"
349
- columns: ["collection"]
350
- isOneToOne: false
351
- referencedRelation: "beatmapCollections"
352
- referencedColumns: ["id"]
353
- },
354
- ]
355
- }
356
- discordWebhooks: {
357
- Row: {
358
- id: number
359
- type: Database["public"]["Enums"]["discordWebhookType"] | null
360
- webhook_link: string
361
- }
362
- Insert: {
363
- id?: number
364
- type?: Database["public"]["Enums"]["discordWebhookType"] | null
365
- webhook_link?: string
366
- }
367
- Update: {
368
- id?: number
369
- type?: Database["public"]["Enums"]["discordWebhookType"] | null
370
- webhook_link?: string
371
- }
372
- Relationships: []
373
- }
374
- inventories: {
375
- Row: {
376
- contents: Json
377
- id: number
378
- }
379
- Insert: {
380
- contents?: Json
381
- id?: number
382
- }
383
- Update: {
384
- contents?: Json
385
- id?: number
386
- }
387
- Relationships: [
388
- {
389
- foreignKeyName: "inventory_id_fkey"
390
- columns: ["id"]
391
- isOneToOne: true
392
- referencedRelation: "profiles"
393
- referencedColumns: ["id"]
394
- },
395
- ]
396
- }
397
- invites: {
398
- Row: {
399
- code: string
400
- created_at: string
401
- id: number
402
- resourceId: string
403
- type: string
404
- used: boolean
405
- }
406
- Insert: {
407
- code: string
408
- created_at?: string
409
- id?: number
410
- resourceId: string
411
- type: string
412
- used?: boolean
413
- }
414
- Update: {
415
- code?: string
416
- created_at?: string
417
- id?: number
418
- resourceId?: string
419
- type?: string
420
- used?: boolean
421
- }
422
- Relationships: []
423
- }
424
- levers: {
425
- Row: {
426
- disable_scores: boolean
427
- id: number
428
- }
429
- Insert: {
430
- disable_scores?: boolean
431
- id?: number
432
- }
433
- Update: {
434
- disable_scores?: boolean
435
- id?: number
436
- }
437
- Relationships: []
438
- }
439
- passkeys: {
440
- Row: {
441
- email: string
442
- id: number
443
- passkey: string
444
- }
445
- Insert: {
446
- email: string
447
- id: number
448
- passkey: string
449
- }
450
- Update: {
451
- email?: string
452
- id?: number
453
- passkey?: string
454
- }
455
- Relationships: [
456
- {
457
- foreignKeyName: "passkeys_id_fkey"
458
- columns: ["id"]
459
- isOneToOne: true
460
- referencedRelation: "profiles"
461
- referencedColumns: ["id"]
462
- },
463
- ]
464
- }
465
- profileActivities: {
466
- Row: {
467
- last_activity: number | null
468
- uid: string
469
- }
470
- Insert: {
471
- last_activity?: number | null
472
- uid: string
473
- }
474
- Update: {
475
- last_activity?: number | null
476
- uid?: string
477
- }
478
- Relationships: []
479
- }
480
- profiles: {
481
- Row: {
482
- about_me: string | null
483
- avatar_url: string | null
484
- badges: Json | null
485
- ban: Database["public"]["Enums"]["banTypes"] | null
486
- bannedAt: number | null
487
- clan: number | null
488
- computedUsername: string | null
489
- created_at: number | null
490
- flag: string | null
491
- id: number
492
- mu_rank: number
493
- play_count: number | null
494
- profile_image: string | null
495
- sigma_rank: number | null
496
- skill_points: number | null
497
- spin_skill_points: number
498
- squares_hit: number | null
499
- total_score: number | null
500
- uid: string | null
501
- username: string | null
502
- verificationDeadline: number
503
- verified: boolean | null
504
- }
505
- Insert: {
506
- about_me?: string | null
507
- avatar_url?: string | null
508
- badges?: Json | null
509
- ban?: Database["public"]["Enums"]["banTypes"] | null
510
- bannedAt?: number | null
511
- clan?: number | null
512
- computedUsername?: string | null
513
- created_at?: number | null
514
- flag?: string | null
515
- id?: number
516
- mu_rank?: number
517
- play_count?: number | null
518
- profile_image?: string | null
519
- sigma_rank?: number | null
520
- skill_points?: number | null
521
- spin_skill_points?: number
522
- squares_hit?: number | null
523
- total_score?: number | null
524
- uid?: string | null
525
- username?: string | null
526
- verificationDeadline?: number
527
- verified?: boolean | null
528
- }
529
- Update: {
530
- about_me?: string | null
531
- avatar_url?: string | null
532
- badges?: Json | null
533
- ban?: Database["public"]["Enums"]["banTypes"] | null
534
- bannedAt?: number | null
535
- clan?: number | null
536
- computedUsername?: string | null
537
- created_at?: number | null
538
- flag?: string | null
539
- id?: number
540
- mu_rank?: number
541
- play_count?: number | null
542
- profile_image?: string | null
543
- sigma_rank?: number | null
544
- skill_points?: number | null
545
- spin_skill_points?: number
546
- squares_hit?: number | null
547
- total_score?: number | null
548
- uid?: string | null
549
- username?: string | null
550
- verificationDeadline?: number
551
- verified?: boolean | null
552
- }
553
- Relationships: [
554
- {
555
- foreignKeyName: "profiles_clan_fkey"
556
- columns: ["clan"]
557
- isOneToOne: false
558
- referencedRelation: "clans"
559
- referencedColumns: ["id"]
560
- },
561
- ]
562
- }
563
- scores: {
564
- Row: {
565
- additional_data: Json
566
- awarded_sp: number | null
567
- beatmapHash: string | null
568
- created_at: string
569
- id: number
570
- misses: number | null
571
- mods: Json
572
- passed: boolean | null
573
- replayHwid: string | null
574
- songId: string | null
575
- speed: number | null
576
- spin: boolean
577
- userId: number | null
578
- }
579
- Insert: {
580
- additional_data?: Json
581
- awarded_sp?: number | null
582
- beatmapHash?: string | null
583
- created_at?: string
584
- id?: number
585
- misses?: number | null
586
- mods?: Json
587
- passed?: boolean | null
588
- replayHwid?: string | null
589
- songId?: string | null
590
- speed?: number | null
591
- spin?: boolean
592
- userId?: number | null
593
- }
594
- Update: {
595
- additional_data?: Json
596
- awarded_sp?: number | null
597
- beatmapHash?: string | null
598
- created_at?: string
599
- id?: number
600
- misses?: number | null
601
- mods?: Json
602
- passed?: boolean | null
603
- replayHwid?: string | null
604
- songId?: string | null
605
- speed?: number | null
606
- spin?: boolean
607
- userId?: number | null
608
- }
609
- Relationships: [
610
- {
611
- foreignKeyName: "scores_beatmapHash_fkey"
612
- columns: ["beatmapHash"]
613
- isOneToOne: false
614
- referencedRelation: "beatmaps"
615
- referencedColumns: ["beatmapHash"]
616
- },
617
- {
618
- foreignKeyName: "scores_userId_fkey"
619
- columns: ["userId"]
620
- isOneToOne: false
621
- referencedRelation: "profiles"
622
- referencedColumns: ["id"]
623
- },
624
- ]
625
- }
626
- }
627
- Views: {
628
- [_ in never]: never
629
- }
630
- Functions: {
631
- admin_delete_user: {
632
- Args: { user_id: number }
633
- Returns: boolean
634
- }
635
- admin_exclude_user: {
636
- Args: { user_id: number }
637
- Returns: boolean
638
- }
639
- admin_invalidate_ranked_scores: {
640
- Args: { user_id: number }
641
- Returns: number
642
- }
643
- admin_log_action: {
644
- Args:
645
- | {
646
- action_type: string
647
- admin_id: number
648
- details?: Json
649
- target_id: number
650
- }
651
- | {
652
- action_type: string
653
- admin_id: number
654
- details?: Json
655
- target_id: string
656
- }
657
- Returns: undefined
658
- }
659
- admin_profanity_clear: {
660
- Args: { user_id: number }
661
- Returns: boolean
662
- }
663
- admin_remove_all_scores: {
664
- Args: { user_id: number }
665
- Returns: number
666
- }
667
- admin_restrict_user: {
668
- Args: { user_id: number }
669
- Returns: boolean
670
- }
671
- admin_search_users: {
672
- Args: { search_text: string }
673
- Returns: {
674
- about_me: string | null
675
- avatar_url: string | null
676
- badges: Json | null
677
- ban: Database["public"]["Enums"]["banTypes"] | null
678
- bannedAt: number | null
679
- clan: number | null
680
- computedUsername: string | null
681
- created_at: number | null
682
- flag: string | null
683
- id: number
684
- mu_rank: number
685
- play_count: number | null
686
- profile_image: string | null
687
- sigma_rank: number | null
688
- skill_points: number | null
689
- spin_skill_points: number
690
- squares_hit: number | null
691
- total_score: number | null
692
- uid: string | null
693
- username: string | null
694
- verificationDeadline: number
695
- verified: boolean | null
696
- }[]
697
- }
698
- admin_silence_user: {
699
- Args: { user_id: number }
700
- Returns: boolean
701
- }
702
- admin_unban_user: {
703
- Args: { user_id: number }
704
- Returns: boolean
705
- }
706
- get_badge_leaderboard: {
707
- Args: { p_limit?: number }
708
- Returns: {
709
- avatar_url: string
710
- display_name: string
711
- id: number
712
- special_badge_count: number
713
- }[]
714
- }
715
- get_clan_leaderboard: {
716
- Args: { items_per_page?: number; page_number?: number }
717
- Returns: {
718
- acronym: string
719
- avatar_url: string
720
- description: string
721
- id: number
722
- member_count: number
723
- name: string
724
- total_pages: number
725
- total_skill_points: number
726
- }[]
727
- }
728
- get_collections_v1: {
729
- Args: { items_per_page?: number; page_number?: number }
730
- Returns: {
731
- beatmap_count: number
732
- created_at: string
733
- description: string
734
- id: number
735
- owner: number
736
- star1: number
737
- star10: number
738
- star11: number
739
- star12: number
740
- star13: number
741
- star14: number
742
- star15: number
743
- star16: number
744
- star17: number
745
- star18: number
746
- star2: number
747
- star3: number
748
- star4: number
749
- star5: number
750
- star6: number
751
- star7: number
752
- star8: number
753
- star9: number
754
- title: string
755
- total_pages: number
756
- }[]
757
- }
758
- get_collections_v2: {
759
- Args:
760
- | {
761
- items_per_page?: number
762
- owner_filter?: number
763
- page_number?: number
764
- }
765
- | { items_per_page?: number; page_number?: number }
766
- Returns: {
767
- beatmap_count: number
768
- created_at: string
769
- description: string
770
- id: number
771
- owner: number
772
- owner_avatar_url: string
773
- owner_username: string
774
- star1: number
775
- star10: number
776
- star11: number
777
- star12: number
778
- star13: number
779
- star14: number
780
- star15: number
781
- star16: number
782
- star17: number
783
- star18: number
784
- star2: number
785
- star3: number
786
- star4: number
787
- star5: number
788
- star6: number
789
- star7: number
790
- star8: number
791
- star9: number
792
- title: string
793
- total_pages: number
794
- }[]
795
- }
796
- get_collections_v3: {
797
- Args: {
798
- items_per_page?: number
799
- owner_filter?: number
800
- page_number?: number
801
- }
802
- Returns: {
803
- beatmap_count: number
804
- created_at: string
805
- description: string
806
- id: number
807
- owner: number
808
- owner_avatar_url: string
809
- owner_username: string
810
- star1: number
811
- star10: number
812
- star11: number
813
- star12: number
814
- star13: number
815
- star14: number
816
- star15: number
817
- star16: number
818
- star17: number
819
- star18: number
820
- star2: number
821
- star3: number
822
- star4: number
823
- star5: number
824
- star6: number
825
- star7: number
826
- star8: number
827
- star9: number
828
- title: string
829
- total_pages: number
830
- }[]
831
- }
832
- get_collections_v4: {
833
- Args: {
834
- author_filter?: string
835
- items_per_page?: number
836
- min_beatmaps?: number
837
- owner_filter?: number
838
- page_number?: number
839
- search_query?: string
840
- }
841
- Returns: {
842
- beatmap_count: number
843
- created_at: string
844
- description: string
845
- id: number
846
- owner: number
847
- owner_avatar_url: string
848
- owner_username: string
849
- star1: number
850
- star10: number
851
- star11: number
852
- star12: number
853
- star13: number
854
- star14: number
855
- star15: number
856
- star16: number
857
- star17: number
858
- star18: number
859
- star2: number
860
- star3: number
861
- star4: number
862
- star5: number
863
- star6: number
864
- star7: number
865
- star8: number
866
- star9: number
867
- title: string
868
- total_pages: number
869
- }[]
870
- }
871
- get_top_scores_for_beatmap: {
872
- Args: { beatmap_hash: string }
873
- Returns: {
874
- accuracy: number
875
- avatar_url: string
876
- awarded_sp: number
877
- created_at: string
878
- id: number
879
- misses: number
880
- mods: Json
881
- passed: boolean
882
- replayhwid: string
883
- songid: string
884
- speed: number
885
- spin: boolean
886
- userid: number
887
- username: string
888
- }[]
889
- }
890
- get_top_scores_for_beatmap2: {
891
- Args: { beatmap_hash: string }
892
- Returns: {
893
- accuracy: number
894
- avatar_url: string
895
- awarded_sp: number
896
- created_at: string
897
- id: number
898
- misses: number
899
- mods: Json
900
- passed: boolean
901
- replayhwid: string
902
- songid: string
903
- speed: number
904
- spin: boolean
905
- userid: number
906
- username: string
907
- }[]
908
- }
909
- get_user_activity: {
910
- Args: { score_limit?: number; user_id: number }
911
- Returns: Json
912
- }
913
- get_user_by_email: {
914
- Args: { email_address: string }
915
- Returns: Json
916
- }
917
- get_user_reigning_scores: {
918
- Args: { page_size: number; userid: number } | { userid: number }
919
- Returns: {
920
- awarded_sp: number
921
- beatmaphash: string
922
- beatmaptitle: string
923
- created_at: string
924
- difficulty: number
925
- id: number
926
- misses: number
927
- mods: Json
928
- notes: number
929
- passed: boolean
930
- replayhwid: string
931
- songid: string
932
- speed: number
933
- spin: boolean
934
- }[]
935
- }
936
- get_user_scores_summary: {
937
- Args: { limit_param?: number; userid: number }
938
- Returns: Json
939
- }
940
- grant_special_badges: {
941
- Args: {
942
- p_beatmap_id: number
943
- p_passed?: boolean
944
- p_spin?: boolean
945
- p_user_id: number
946
- }
947
- Returns: Json
948
- }
949
- }
950
- Enums: {
951
- banTypes: "cool" | "silenced" | "restricted" | "excluded"
952
- discordWebhookType: "maps" | "scores"
953
- }
954
- CompositeTypes: {
955
- [_ in never]: never
956
- }
957
- }
958
- }
959
-
960
- type DatabaseWithoutInternals = Omit<Database, "__InternalSupabase">
961
-
962
- type DefaultSchema = DatabaseWithoutInternals[Extract<keyof Database, "public">]
963
-
964
- export type Tables<
965
- DefaultSchemaTableNameOrOptions extends
966
- | keyof (DefaultSchema["Tables"] & DefaultSchema["Views"])
967
- | { schema: keyof DatabaseWithoutInternals },
968
- TableName extends DefaultSchemaTableNameOrOptions extends {
969
- schema: keyof DatabaseWithoutInternals
970
- }
971
- ? keyof (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] &
972
- DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Views"])
973
- : never = never,
974
- > = DefaultSchemaTableNameOrOptions extends {
975
- schema: keyof DatabaseWithoutInternals
976
- }
977
- ? (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] &
978
- DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Views"])[TableName] extends {
979
- Row: infer R
980
- }
981
- ? R
982
- : never
983
- : DefaultSchemaTableNameOrOptions extends keyof (DefaultSchema["Tables"] &
984
- DefaultSchema["Views"])
985
- ? (DefaultSchema["Tables"] &
986
- DefaultSchema["Views"])[DefaultSchemaTableNameOrOptions] extends {
987
- Row: infer R
988
- }
989
- ? R
990
- : never
991
- : never
992
-
993
- export type TablesInsert<
994
- DefaultSchemaTableNameOrOptions extends
995
- | keyof DefaultSchema["Tables"]
996
- | { schema: keyof DatabaseWithoutInternals },
997
- TableName extends DefaultSchemaTableNameOrOptions extends {
998
- schema: keyof DatabaseWithoutInternals
999
- }
1000
- ? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"]
1001
- : never = never,
1002
- > = DefaultSchemaTableNameOrOptions extends {
1003
- schema: keyof DatabaseWithoutInternals
1004
- }
1005
- ? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends {
1006
- Insert: infer I
1007
- }
1008
- ? I
1009
- : never
1010
- : DefaultSchemaTableNameOrOptions extends keyof DefaultSchema["Tables"]
1011
- ? DefaultSchema["Tables"][DefaultSchemaTableNameOrOptions] extends {
1012
- Insert: infer I
1013
- }
1014
- ? I
1015
- : never
1016
- : never
1017
-
1018
- export type TablesUpdate<
1019
- DefaultSchemaTableNameOrOptions extends
1020
- | keyof DefaultSchema["Tables"]
1021
- | { schema: keyof DatabaseWithoutInternals },
1022
- TableName extends DefaultSchemaTableNameOrOptions extends {
1023
- schema: keyof DatabaseWithoutInternals
1024
- }
1025
- ? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"]
1026
- : never = never,
1027
- > = DefaultSchemaTableNameOrOptions extends {
1028
- schema: keyof DatabaseWithoutInternals
1029
- }
1030
- ? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends {
1031
- Update: infer U
1032
- }
1033
- ? U
1034
- : never
1035
- : DefaultSchemaTableNameOrOptions extends keyof DefaultSchema["Tables"]
1036
- ? DefaultSchema["Tables"][DefaultSchemaTableNameOrOptions] extends {
1037
- Update: infer U
1038
- }
1039
- ? U
1040
- : never
1041
- : never
1042
-
1043
- export type Enums<
1044
- DefaultSchemaEnumNameOrOptions extends
1045
- | keyof DefaultSchema["Enums"]
1046
- | { schema: keyof DatabaseWithoutInternals },
1047
- EnumName extends DefaultSchemaEnumNameOrOptions extends {
1048
- schema: keyof DatabaseWithoutInternals
1049
- }
1050
- ? keyof DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"]
1051
- : never = never,
1052
- > = DefaultSchemaEnumNameOrOptions extends {
1053
- schema: keyof DatabaseWithoutInternals
1054
- }
1055
- ? DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"][EnumName]
1056
- : DefaultSchemaEnumNameOrOptions extends keyof DefaultSchema["Enums"]
1057
- ? DefaultSchema["Enums"][DefaultSchemaEnumNameOrOptions]
1058
- : never
1059
-
1060
- export type CompositeTypes<
1061
- PublicCompositeTypeNameOrOptions extends
1062
- | keyof DefaultSchema["CompositeTypes"]
1063
- | { schema: keyof DatabaseWithoutInternals },
1064
- CompositeTypeName extends PublicCompositeTypeNameOrOptions extends {
1065
- schema: keyof DatabaseWithoutInternals
1066
- }
1067
- ? keyof DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"]
1068
- : never = never,
1069
- > = PublicCompositeTypeNameOrOptions extends {
1070
- schema: keyof DatabaseWithoutInternals
1071
- }
1072
- ? DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"][CompositeTypeName]
1073
- : PublicCompositeTypeNameOrOptions extends keyof DefaultSchema["CompositeTypes"]
1074
- ? DefaultSchema["CompositeTypes"][PublicCompositeTypeNameOrOptions]
1075
- : never
1076
-
1077
- export const Constants = {
1078
- public: {
1079
- Enums: {
1080
- banTypes: ["cool", "silenced", "restricted", "excluded"],
1081
- discordWebhookType: ["maps", "scores"],
1082
- },
1083
- },
1084
- } 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
+ ranked_at: number
157
+ status: string | null
158
+ tags: string
159
+ title: string | null
160
+ updated_at: number | null
161
+ video_url: string | null
162
+ }
163
+ Insert: {
164
+ created_at?: string
165
+ description?: string
166
+ genre?: string | null
167
+ id?: number
168
+ latestBeatmapHash?: string | null
169
+ nominations?: Json | null
170
+ owner?: number | null
171
+ ranked_at?: number
172
+ status?: string | null
173
+ tags?: string
174
+ title?: string | null
175
+ updated_at?: number | null
176
+ video_url?: string | null
177
+ }
178
+ Update: {
179
+ created_at?: string
180
+ description?: string
181
+ genre?: string | null
182
+ id?: number
183
+ latestBeatmapHash?: string | null
184
+ nominations?: Json | null
185
+ owner?: number | null
186
+ ranked_at?: number
187
+ status?: string | null
188
+ tags?: string
189
+ title?: string | null
190
+ updated_at?: number | null
191
+ video_url?: string | null
192
+ }
193
+ Relationships: [
194
+ {
195
+ foreignKeyName: "beatmapPages_latestBeatmapHash_fkey"
196
+ columns: ["latestBeatmapHash"]
197
+ isOneToOne: false
198
+ referencedRelation: "beatmaps"
199
+ referencedColumns: ["beatmapHash"]
200
+ },
201
+ {
202
+ foreignKeyName: "beatmapPages_owner_fkey"
203
+ columns: ["owner"]
204
+ isOneToOne: false
205
+ referencedRelation: "profiles"
206
+ referencedColumns: ["id"]
207
+ },
208
+ ]
209
+ }
210
+ beatmaps: {
211
+ Row: {
212
+ beatmapFile: string | null
213
+ beatmapHash: string
214
+ created_at: string
215
+ difficulty: number | null
216
+ image: string | null
217
+ imageLarge: string | null
218
+ length: number | null
219
+ noteCount: number | null
220
+ playcount: number | null
221
+ ranked: boolean | null
222
+ starRating: number | null
223
+ title: string | null
224
+ }
225
+ Insert: {
226
+ beatmapFile?: string | null
227
+ beatmapHash: string
228
+ created_at?: string
229
+ difficulty?: number | null
230
+ image?: string | null
231
+ imageLarge?: string | null
232
+ length?: number | null
233
+ noteCount?: number | null
234
+ playcount?: number | null
235
+ ranked?: boolean | null
236
+ starRating?: number | null
237
+ title?: string | null
238
+ }
239
+ Update: {
240
+ beatmapFile?: string | null
241
+ beatmapHash?: string
242
+ created_at?: string
243
+ difficulty?: number | null
244
+ image?: string | null
245
+ imageLarge?: string | null
246
+ length?: number | null
247
+ noteCount?: number | null
248
+ playcount?: number | null
249
+ ranked?: boolean | null
250
+ starRating?: number | null
251
+ title?: string | null
252
+ }
253
+ Relationships: []
254
+ }
255
+ cache: {
256
+ Row: {
257
+ key: string
258
+ value: Json
259
+ }
260
+ Insert: {
261
+ key: string
262
+ value: Json
263
+ }
264
+ Update: {
265
+ key?: string
266
+ value?: Json
267
+ }
268
+ Relationships: []
269
+ }
270
+ chartedValues: {
271
+ Row: {
272
+ created_at: string
273
+ id: number
274
+ type: string | null
275
+ value: number | null
276
+ }
277
+ Insert: {
278
+ created_at?: string
279
+ id?: number
280
+ type?: string | null
281
+ value?: number | null
282
+ }
283
+ Update: {
284
+ created_at?: string
285
+ id?: number
286
+ type?: string | null
287
+ value?: number | null
288
+ }
289
+ Relationships: []
290
+ }
291
+ clans: {
292
+ Row: {
293
+ acronym: string | null
294
+ allowed_users: Json
295
+ avatar_url: string | null
296
+ created_at: string
297
+ description: string | null
298
+ id: number
299
+ name: string
300
+ owner: number | null
301
+ }
302
+ Insert: {
303
+ acronym?: string | null
304
+ allowed_users?: Json
305
+ avatar_url?: string | null
306
+ created_at?: string
307
+ description?: string | null
308
+ id?: number
309
+ name?: string
310
+ owner?: number | null
311
+ }
312
+ Update: {
313
+ acronym?: string | null
314
+ allowed_users?: Json
315
+ avatar_url?: string | null
316
+ created_at?: string
317
+ description?: string | null
318
+ id?: number
319
+ name?: string
320
+ owner?: number | null
321
+ }
322
+ Relationships: [
323
+ {
324
+ foreignKeyName: "clans_owner_fkey"
325
+ columns: ["owner"]
326
+ isOneToOne: false
327
+ referencedRelation: "profiles"
328
+ referencedColumns: ["id"]
329
+ },
330
+ ]
331
+ }
332
+ collectionRelations: {
333
+ Row: {
334
+ beatmapPage: number | null
335
+ collection: number
336
+ created_at: string
337
+ id: number
338
+ sort: number
339
+ }
340
+ Insert: {
341
+ beatmapPage?: number | null
342
+ collection: number
343
+ created_at?: string
344
+ id?: number
345
+ sort?: number
346
+ }
347
+ Update: {
348
+ beatmapPage?: number | null
349
+ collection?: number
350
+ created_at?: string
351
+ id?: number
352
+ sort?: number
353
+ }
354
+ Relationships: [
355
+ {
356
+ foreignKeyName: "collectionRelations_beatmapPage_fkey"
357
+ columns: ["beatmapPage"]
358
+ isOneToOne: false
359
+ referencedRelation: "beatmapPages"
360
+ referencedColumns: ["id"]
361
+ },
362
+ {
363
+ foreignKeyName: "collectionRelations_collection_fkey"
364
+ columns: ["collection"]
365
+ isOneToOne: false
366
+ referencedRelation: "beatmapCollections"
367
+ referencedColumns: ["id"]
368
+ },
369
+ ]
370
+ }
371
+ discordWebhooks: {
372
+ Row: {
373
+ id: number
374
+ type: Database["public"]["Enums"]["discordWebhookType"] | null
375
+ webhook_link: string
376
+ }
377
+ Insert: {
378
+ id?: number
379
+ type?: Database["public"]["Enums"]["discordWebhookType"] | null
380
+ webhook_link?: string
381
+ }
382
+ Update: {
383
+ id?: number
384
+ type?: Database["public"]["Enums"]["discordWebhookType"] | null
385
+ webhook_link?: string
386
+ }
387
+ Relationships: []
388
+ }
389
+ inventories: {
390
+ Row: {
391
+ contents: Json
392
+ id: number
393
+ }
394
+ Insert: {
395
+ contents?: Json
396
+ id?: number
397
+ }
398
+ Update: {
399
+ contents?: Json
400
+ id?: number
401
+ }
402
+ Relationships: [
403
+ {
404
+ foreignKeyName: "inventory_id_fkey"
405
+ columns: ["id"]
406
+ isOneToOne: true
407
+ referencedRelation: "profiles"
408
+ referencedColumns: ["id"]
409
+ },
410
+ ]
411
+ }
412
+ invites: {
413
+ Row: {
414
+ code: string
415
+ created_at: string
416
+ id: number
417
+ resourceId: string
418
+ type: string
419
+ used: boolean
420
+ }
421
+ Insert: {
422
+ code: string
423
+ created_at?: string
424
+ id?: number
425
+ resourceId: string
426
+ type: string
427
+ used?: boolean
428
+ }
429
+ Update: {
430
+ code?: string
431
+ created_at?: string
432
+ id?: number
433
+ resourceId?: string
434
+ type?: string
435
+ used?: boolean
436
+ }
437
+ Relationships: []
438
+ }
439
+ levers: {
440
+ Row: {
441
+ disable_scores: boolean
442
+ id: number
443
+ }
444
+ Insert: {
445
+ disable_scores?: boolean
446
+ id?: number
447
+ }
448
+ Update: {
449
+ disable_scores?: boolean
450
+ id?: number
451
+ }
452
+ Relationships: []
453
+ }
454
+ passkeys: {
455
+ Row: {
456
+ email: string
457
+ id: number
458
+ passkey: string
459
+ }
460
+ Insert: {
461
+ email: string
462
+ id: number
463
+ passkey: string
464
+ }
465
+ Update: {
466
+ email?: string
467
+ id?: number
468
+ passkey?: string
469
+ }
470
+ Relationships: [
471
+ {
472
+ foreignKeyName: "passkeys_id_fkey"
473
+ columns: ["id"]
474
+ isOneToOne: true
475
+ referencedRelation: "profiles"
476
+ referencedColumns: ["id"]
477
+ },
478
+ ]
479
+ }
480
+ profileActivities: {
481
+ Row: {
482
+ last_activity: number | null
483
+ uid: string
484
+ }
485
+ Insert: {
486
+ last_activity?: number | null
487
+ uid: string
488
+ }
489
+ Update: {
490
+ last_activity?: number | null
491
+ uid?: string
492
+ }
493
+ Relationships: []
494
+ }
495
+ profiles: {
496
+ Row: {
497
+ about_me: string | null
498
+ avatar_url: string | null
499
+ badges: Json | null
500
+ ban: Database["public"]["Enums"]["banTypes"] | null
501
+ bannedAt: number | null
502
+ clan: number | null
503
+ computedUsername: string | null
504
+ created_at: number | null
505
+ flag: string | null
506
+ id: number
507
+ mu_rank: number
508
+ play_count: number | null
509
+ profile_image: string | null
510
+ sigma_rank: number | null
511
+ skill_points: number | null
512
+ spin_skill_points: number
513
+ squares_hit: number | null
514
+ total_score: number | null
515
+ uid: string | null
516
+ username: string | null
517
+ verificationDeadline: number
518
+ verified: boolean | null
519
+ }
520
+ Insert: {
521
+ about_me?: string | null
522
+ avatar_url?: string | null
523
+ badges?: Json | null
524
+ ban?: Database["public"]["Enums"]["banTypes"] | null
525
+ bannedAt?: number | null
526
+ clan?: number | null
527
+ computedUsername?: string | null
528
+ created_at?: number | null
529
+ flag?: string | null
530
+ id?: number
531
+ mu_rank?: number
532
+ play_count?: number | null
533
+ profile_image?: string | null
534
+ sigma_rank?: number | null
535
+ skill_points?: number | null
536
+ spin_skill_points?: number
537
+ squares_hit?: number | null
538
+ total_score?: number | null
539
+ uid?: string | null
540
+ username?: string | null
541
+ verificationDeadline?: number
542
+ verified?: boolean | null
543
+ }
544
+ Update: {
545
+ about_me?: string | null
546
+ avatar_url?: string | null
547
+ badges?: Json | null
548
+ ban?: Database["public"]["Enums"]["banTypes"] | null
549
+ bannedAt?: number | null
550
+ clan?: number | null
551
+ computedUsername?: string | null
552
+ created_at?: number | null
553
+ flag?: string | null
554
+ id?: number
555
+ mu_rank?: number
556
+ play_count?: number | null
557
+ profile_image?: string | null
558
+ sigma_rank?: number | null
559
+ skill_points?: number | null
560
+ spin_skill_points?: number
561
+ squares_hit?: number | null
562
+ total_score?: number | null
563
+ uid?: string | null
564
+ username?: string | null
565
+ verificationDeadline?: number
566
+ verified?: boolean | null
567
+ }
568
+ Relationships: [
569
+ {
570
+ foreignKeyName: "profiles_clan_fkey"
571
+ columns: ["clan"]
572
+ isOneToOne: false
573
+ referencedRelation: "clans"
574
+ referencedColumns: ["id"]
575
+ },
576
+ ]
577
+ }
578
+ scores: {
579
+ Row: {
580
+ additional_data: Json
581
+ awarded_sp: number | null
582
+ beatmapHash: string | null
583
+ created_at: string
584
+ id: number
585
+ misses: number | null
586
+ mods: Json
587
+ passed: boolean | null
588
+ replay_url: string | null
589
+ replayHwid: string | null
590
+ songId: string | null
591
+ speed: number | null
592
+ spin: boolean
593
+ token: number | null
594
+ userId: number | null
595
+ }
596
+ Insert: {
597
+ additional_data?: Json
598
+ awarded_sp?: number | null
599
+ beatmapHash?: string | null
600
+ created_at?: string
601
+ id?: number
602
+ misses?: number | null
603
+ mods?: Json
604
+ passed?: boolean | null
605
+ replay_url?: string | null
606
+ replayHwid?: string | null
607
+ songId?: string | null
608
+ speed?: number | null
609
+ spin?: boolean
610
+ token?: number | null
611
+ userId?: number | null
612
+ }
613
+ Update: {
614
+ additional_data?: Json
615
+ awarded_sp?: number | null
616
+ beatmapHash?: string | null
617
+ created_at?: string
618
+ id?: number
619
+ misses?: number | null
620
+ mods?: Json
621
+ passed?: boolean | null
622
+ replay_url?: string | null
623
+ replayHwid?: string | null
624
+ songId?: string | null
625
+ speed?: number | null
626
+ spin?: boolean
627
+ token?: number | null
628
+ userId?: number | null
629
+ }
630
+ Relationships: [
631
+ {
632
+ foreignKeyName: "scores_beatmapHash_fkey"
633
+ columns: ["beatmapHash"]
634
+ isOneToOne: false
635
+ referencedRelation: "beatmaps"
636
+ referencedColumns: ["beatmapHash"]
637
+ },
638
+ {
639
+ foreignKeyName: "scores_token_fkey"
640
+ columns: ["token"]
641
+ isOneToOne: false
642
+ referencedRelation: "tokens"
643
+ referencedColumns: ["id"]
644
+ },
645
+ {
646
+ foreignKeyName: "scores_userId_fkey"
647
+ columns: ["userId"]
648
+ isOneToOne: false
649
+ referencedRelation: "profiles"
650
+ referencedColumns: ["id"]
651
+ },
652
+ ]
653
+ }
654
+ tokens: {
655
+ Row: {
656
+ created_at: string
657
+ id: number
658
+ processed: Json | null
659
+ raw: string | null
660
+ }
661
+ Insert: {
662
+ created_at?: string
663
+ id?: number
664
+ processed?: Json | null
665
+ raw?: string | null
666
+ }
667
+ Update: {
668
+ created_at?: string
669
+ id?: number
670
+ processed?: Json | null
671
+ raw?: string | null
672
+ }
673
+ Relationships: []
674
+ }
675
+ }
676
+ Views: {
677
+ [_ in never]: never
678
+ }
679
+ Functions: {
680
+ admin_delete_user: { Args: { user_id: number }; Returns: boolean }
681
+ admin_exclude_user: { Args: { user_id: number }; Returns: boolean }
682
+ admin_invalidate_ranked_scores: {
683
+ Args: { user_id: number }
684
+ Returns: number
685
+ }
686
+ admin_log_action:
687
+ | {
688
+ Args: {
689
+ action_type: string
690
+ admin_id: number
691
+ details?: Json
692
+ target_id: number
693
+ }
694
+ Returns: undefined
695
+ }
696
+ | {
697
+ Args: {
698
+ action_type: string
699
+ admin_id: number
700
+ details?: Json
701
+ target_id: string
702
+ }
703
+ Returns: undefined
704
+ }
705
+ admin_profanity_clear: { Args: { user_id: number }; Returns: boolean }
706
+ admin_remove_all_scores: { Args: { user_id: number }; Returns: number }
707
+ admin_restrict_user: { Args: { user_id: number }; Returns: boolean }
708
+ admin_search_users: {
709
+ Args: { search_text: string }
710
+ Returns: {
711
+ about_me: string | null
712
+ avatar_url: string | null
713
+ badges: Json | null
714
+ ban: Database["public"]["Enums"]["banTypes"] | null
715
+ bannedAt: number | null
716
+ clan: number | null
717
+ computedUsername: string | null
718
+ created_at: number | null
719
+ flag: string | null
720
+ id: number
721
+ mu_rank: number
722
+ play_count: number | null
723
+ profile_image: string | null
724
+ sigma_rank: number | null
725
+ skill_points: number | null
726
+ spin_skill_points: number
727
+ squares_hit: number | null
728
+ total_score: number | null
729
+ uid: string | null
730
+ username: string | null
731
+ verificationDeadline: number
732
+ verified: boolean | null
733
+ }[]
734
+ SetofOptions: {
735
+ from: "*"
736
+ to: "profiles"
737
+ isOneToOne: false
738
+ isSetofReturn: true
739
+ }
740
+ }
741
+ admin_silence_user: { Args: { user_id: number }; Returns: boolean }
742
+ admin_unban_user: { Args: { user_id: number }; Returns: boolean }
743
+ get_badge_leaderboard: {
744
+ Args: { p_limit?: number }
745
+ Returns: {
746
+ avatar_url: string
747
+ display_name: string
748
+ id: number
749
+ special_badge_count: number
750
+ }[]
751
+ }
752
+ get_clan_leaderboard: {
753
+ Args: { items_per_page?: number; page_number?: number }
754
+ Returns: {
755
+ acronym: string
756
+ avatar_url: string
757
+ description: string
758
+ id: number
759
+ member_count: number
760
+ name: string
761
+ total_pages: number
762
+ total_skill_points: number
763
+ }[]
764
+ }
765
+ get_collections_v1: {
766
+ Args: { items_per_page?: number; page_number?: number }
767
+ Returns: {
768
+ beatmap_count: number
769
+ created_at: string
770
+ description: string
771
+ id: number
772
+ owner: number
773
+ star1: number
774
+ star10: number
775
+ star11: number
776
+ star12: number
777
+ star13: number
778
+ star14: number
779
+ star15: number
780
+ star16: number
781
+ star17: number
782
+ star18: number
783
+ star2: number
784
+ star3: number
785
+ star4: number
786
+ star5: number
787
+ star6: number
788
+ star7: number
789
+ star8: number
790
+ star9: number
791
+ title: string
792
+ total_pages: number
793
+ }[]
794
+ }
795
+ get_collections_v2:
796
+ | {
797
+ Args: { items_per_page?: number; page_number?: number }
798
+ Returns: {
799
+ beatmap_count: number
800
+ created_at: string
801
+ description: string
802
+ id: number
803
+ owner: number
804
+ owner_avatar_url: string
805
+ owner_username: string
806
+ star1: number
807
+ star10: number
808
+ star11: number
809
+ star12: number
810
+ star13: number
811
+ star14: number
812
+ star15: number
813
+ star16: number
814
+ star17: number
815
+ star18: number
816
+ star2: number
817
+ star3: number
818
+ star4: number
819
+ star5: number
820
+ star6: number
821
+ star7: number
822
+ star8: number
823
+ star9: number
824
+ title: string
825
+ total_pages: number
826
+ }[]
827
+ }
828
+ | {
829
+ Args: {
830
+ items_per_page?: number
831
+ owner_filter?: number
832
+ page_number?: number
833
+ }
834
+ Returns: {
835
+ beatmap_count: number
836
+ created_at: string
837
+ description: string
838
+ id: number
839
+ owner: number
840
+ owner_avatar_url: string
841
+ owner_username: string
842
+ star1: number
843
+ star10: number
844
+ star11: number
845
+ star12: number
846
+ star13: number
847
+ star14: number
848
+ star15: number
849
+ star16: number
850
+ star17: number
851
+ star18: number
852
+ star2: number
853
+ star3: number
854
+ star4: number
855
+ star5: number
856
+ star6: number
857
+ star7: number
858
+ star8: number
859
+ star9: number
860
+ title: string
861
+ total_pages: number
862
+ }[]
863
+ }
864
+ get_collections_v3: {
865
+ Args: {
866
+ items_per_page?: number
867
+ owner_filter?: number
868
+ page_number?: number
869
+ }
870
+ Returns: {
871
+ beatmap_count: number
872
+ created_at: string
873
+ description: string
874
+ id: number
875
+ owner: number
876
+ owner_avatar_url: string
877
+ owner_username: string
878
+ star1: number
879
+ star10: number
880
+ star11: number
881
+ star12: number
882
+ star13: number
883
+ star14: number
884
+ star15: number
885
+ star16: number
886
+ star17: number
887
+ star18: number
888
+ star2: number
889
+ star3: number
890
+ star4: number
891
+ star5: number
892
+ star6: number
893
+ star7: number
894
+ star8: number
895
+ star9: number
896
+ title: string
897
+ total_pages: number
898
+ }[]
899
+ }
900
+ get_collections_v4: {
901
+ Args: {
902
+ author_filter?: string
903
+ items_per_page?: number
904
+ min_beatmaps?: number
905
+ owner_filter?: number
906
+ page_number?: number
907
+ search_query?: string
908
+ }
909
+ Returns: {
910
+ beatmap_count: number
911
+ created_at: string
912
+ description: string
913
+ id: number
914
+ owner: number
915
+ owner_avatar_url: string
916
+ owner_username: string
917
+ star1: number
918
+ star10: number
919
+ star11: number
920
+ star12: number
921
+ star13: number
922
+ star14: number
923
+ star15: number
924
+ star16: number
925
+ star17: number
926
+ star18: number
927
+ star2: number
928
+ star3: number
929
+ star4: number
930
+ star5: number
931
+ star6: number
932
+ star7: number
933
+ star8: number
934
+ star9: number
935
+ title: string
936
+ total_pages: number
937
+ }[]
938
+ }
939
+ get_top_scores_for_beatmap: {
940
+ Args: { beatmap_hash: string }
941
+ Returns: {
942
+ accuracy: number
943
+ avatar_url: string
944
+ awarded_sp: number
945
+ created_at: string
946
+ id: number
947
+ misses: number
948
+ mods: Json
949
+ passed: boolean
950
+ replayhwid: string
951
+ songid: string
952
+ speed: number
953
+ spin: boolean
954
+ userid: number
955
+ username: string
956
+ }[]
957
+ }
958
+ get_top_scores_for_beatmap2: {
959
+ Args: { beatmap_hash: string }
960
+ Returns: {
961
+ accuracy: number
962
+ avatar_url: string
963
+ awarded_sp: number
964
+ created_at: string
965
+ id: number
966
+ misses: number
967
+ mods: Json
968
+ passed: boolean
969
+ replayhwid: string
970
+ songid: string
971
+ speed: number
972
+ spin: boolean
973
+ userid: number
974
+ username: string
975
+ }[]
976
+ }
977
+ get_user_activity: {
978
+ Args: { score_limit?: number; user_id: number }
979
+ Returns: Json
980
+ }
981
+ get_user_by_email: { Args: { email_address: string }; Returns: Json }
982
+ get_user_reigning_scores:
983
+ | {
984
+ Args: { userid: number }
985
+ Returns: {
986
+ awarded_sp: number
987
+ beatmaphash: string
988
+ created_at: string
989
+ id: number
990
+ misses: number
991
+ mods: Json
992
+ passed: boolean
993
+ replayhwid: string
994
+ songid: string
995
+ speed: number
996
+ spin: boolean
997
+ }[]
998
+ }
999
+ | {
1000
+ Args: { page_size: number; userid: number }
1001
+ Returns: {
1002
+ awarded_sp: number
1003
+ beatmaphash: string
1004
+ beatmaptitle: string
1005
+ created_at: string
1006
+ difficulty: number
1007
+ id: number
1008
+ misses: number
1009
+ mods: Json
1010
+ notes: number
1011
+ passed: boolean
1012
+ replayhwid: string
1013
+ songid: string
1014
+ speed: number
1015
+ spin: boolean
1016
+ }[]
1017
+ }
1018
+ get_user_scores_lastday: {
1019
+ Args: { limit_param: number; userid: number }
1020
+ Returns: Json
1021
+ }
1022
+ get_user_scores_payload: {
1023
+ Args: { limit_param: number; userid: number }
1024
+ Returns: Json
1025
+ }
1026
+ get_user_scores_reign: { Args: { userid: number }; Returns: Json }
1027
+ get_user_scores_summary: {
1028
+ Args: { limit_param?: number; userid: number }
1029
+ Returns: Json
1030
+ }
1031
+ get_user_scores_top_and_stats: {
1032
+ Args: { limit_param: number; userid: number }
1033
+ Returns: Json
1034
+ }
1035
+ grant_special_badges: {
1036
+ Args: {
1037
+ p_beatmap_id: number
1038
+ p_passed?: boolean
1039
+ p_spin?: boolean
1040
+ p_user_id: number
1041
+ }
1042
+ Returns: Json
1043
+ }
1044
+ }
1045
+ Enums: {
1046
+ banTypes: "cool" | "silenced" | "restricted" | "excluded"
1047
+ discordWebhookType: "maps" | "scores"
1048
+ }
1049
+ CompositeTypes: {
1050
+ [_ in never]: never
1051
+ }
1052
+ }
1053
+ }
1054
+
1055
+ type DatabaseWithoutInternals = Omit<Database, "__InternalSupabase">
1056
+
1057
+ type DefaultSchema = DatabaseWithoutInternals[Extract<keyof Database, "public">]
1058
+
1059
+ export type Tables<
1060
+ DefaultSchemaTableNameOrOptions extends
1061
+ | keyof (DefaultSchema["Tables"] & DefaultSchema["Views"])
1062
+ | { schema: keyof DatabaseWithoutInternals },
1063
+ TableName extends DefaultSchemaTableNameOrOptions extends {
1064
+ schema: keyof DatabaseWithoutInternals
1065
+ }
1066
+ ? keyof (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] &
1067
+ DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Views"])
1068
+ : never = never,
1069
+ > = DefaultSchemaTableNameOrOptions extends {
1070
+ schema: keyof DatabaseWithoutInternals
1071
+ }
1072
+ ? (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] &
1073
+ DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Views"])[TableName] extends {
1074
+ Row: infer R
1075
+ }
1076
+ ? R
1077
+ : never
1078
+ : DefaultSchemaTableNameOrOptions extends keyof (DefaultSchema["Tables"] &
1079
+ DefaultSchema["Views"])
1080
+ ? (DefaultSchema["Tables"] &
1081
+ DefaultSchema["Views"])[DefaultSchemaTableNameOrOptions] extends {
1082
+ Row: infer R
1083
+ }
1084
+ ? R
1085
+ : never
1086
+ : never
1087
+
1088
+ export type TablesInsert<
1089
+ DefaultSchemaTableNameOrOptions extends
1090
+ | keyof DefaultSchema["Tables"]
1091
+ | { schema: keyof DatabaseWithoutInternals },
1092
+ TableName extends DefaultSchemaTableNameOrOptions extends {
1093
+ schema: keyof DatabaseWithoutInternals
1094
+ }
1095
+ ? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"]
1096
+ : never = never,
1097
+ > = DefaultSchemaTableNameOrOptions extends {
1098
+ schema: keyof DatabaseWithoutInternals
1099
+ }
1100
+ ? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends {
1101
+ Insert: infer I
1102
+ }
1103
+ ? I
1104
+ : never
1105
+ : DefaultSchemaTableNameOrOptions extends keyof DefaultSchema["Tables"]
1106
+ ? DefaultSchema["Tables"][DefaultSchemaTableNameOrOptions] extends {
1107
+ Insert: infer I
1108
+ }
1109
+ ? I
1110
+ : never
1111
+ : never
1112
+
1113
+ export type TablesUpdate<
1114
+ DefaultSchemaTableNameOrOptions extends
1115
+ | keyof DefaultSchema["Tables"]
1116
+ | { schema: keyof DatabaseWithoutInternals },
1117
+ TableName extends DefaultSchemaTableNameOrOptions extends {
1118
+ schema: keyof DatabaseWithoutInternals
1119
+ }
1120
+ ? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"]
1121
+ : never = never,
1122
+ > = DefaultSchemaTableNameOrOptions extends {
1123
+ schema: keyof DatabaseWithoutInternals
1124
+ }
1125
+ ? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends {
1126
+ Update: infer U
1127
+ }
1128
+ ? U
1129
+ : never
1130
+ : DefaultSchemaTableNameOrOptions extends keyof DefaultSchema["Tables"]
1131
+ ? DefaultSchema["Tables"][DefaultSchemaTableNameOrOptions] extends {
1132
+ Update: infer U
1133
+ }
1134
+ ? U
1135
+ : never
1136
+ : never
1137
+
1138
+ export type Enums<
1139
+ DefaultSchemaEnumNameOrOptions extends
1140
+ | keyof DefaultSchema["Enums"]
1141
+ | { schema: keyof DatabaseWithoutInternals },
1142
+ EnumName extends DefaultSchemaEnumNameOrOptions extends {
1143
+ schema: keyof DatabaseWithoutInternals
1144
+ }
1145
+ ? keyof DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"]
1146
+ : never = never,
1147
+ > = DefaultSchemaEnumNameOrOptions extends {
1148
+ schema: keyof DatabaseWithoutInternals
1149
+ }
1150
+ ? DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"][EnumName]
1151
+ : DefaultSchemaEnumNameOrOptions extends keyof DefaultSchema["Enums"]
1152
+ ? DefaultSchema["Enums"][DefaultSchemaEnumNameOrOptions]
1153
+ : never
1154
+
1155
+ export type CompositeTypes<
1156
+ PublicCompositeTypeNameOrOptions extends
1157
+ | keyof DefaultSchema["CompositeTypes"]
1158
+ | { schema: keyof DatabaseWithoutInternals },
1159
+ CompositeTypeName extends PublicCompositeTypeNameOrOptions extends {
1160
+ schema: keyof DatabaseWithoutInternals
1161
+ }
1162
+ ? keyof DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"]
1163
+ : never = never,
1164
+ > = PublicCompositeTypeNameOrOptions extends {
1165
+ schema: keyof DatabaseWithoutInternals
1166
+ }
1167
+ ? DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"][CompositeTypeName]
1168
+ : PublicCompositeTypeNameOrOptions extends keyof DefaultSchema["CompositeTypes"]
1169
+ ? DefaultSchema["CompositeTypes"][PublicCompositeTypeNameOrOptions]
1170
+ : never
1171
+
1172
+ export const Constants = {
1173
+ public: {
1174
+ Enums: {
1175
+ banTypes: ["cool", "silenced", "restricted", "excluded"],
1176
+ discordWebhookType: ["maps", "scores"],
1177
+ },
1178
+ },
1179
+ } as const