rhythia-api 242.0.0 → 243.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,1450 +1,1525 @@
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
- profileFriends: {
562
- Row: {
563
- created_at: string
564
- friend_id: number
565
- id: number
566
- profile_id: number
567
- }
568
- Insert: {
569
- created_at?: string
570
- friend_id: number
571
- id?: number
572
- profile_id: number
573
- }
574
- Update: {
575
- created_at?: string
576
- friend_id?: number
577
- id?: number
578
- profile_id?: number
579
- }
580
- Relationships: [
581
- {
582
- foreignKeyName: "profileFriends_friend_id_fkey"
583
- columns: ["friend_id"]
584
- isOneToOne: false
585
- referencedRelation: "profiles"
586
- referencedColumns: ["id"]
587
- },
588
- {
589
- foreignKeyName: "profileFriends_profile_id_fkey"
590
- columns: ["profile_id"]
591
- isOneToOne: false
592
- referencedRelation: "profiles"
593
- referencedColumns: ["id"]
594
- },
595
- ]
596
- }
597
- profileFlags: {
598
- Row: {
599
- changed_at: string
600
- flag: string | null
601
- id: number
602
- profile_id: number
603
- }
604
- Insert: {
605
- changed_at?: string
606
- flag?: string | null
607
- id?: number
608
- profile_id: number
609
- }
610
- Update: {
611
- changed_at?: string
612
- flag?: string | null
613
- id?: number
614
- profile_id?: number
615
- }
616
- Relationships: [
617
- {
618
- foreignKeyName: "profileFlags_profile_id_fkey"
619
- columns: ["profile_id"]
620
- isOneToOne: false
621
- referencedRelation: "profiles"
622
- referencedColumns: ["id"]
623
- },
624
- ]
625
- }
626
- profileUsernames: {
627
- Row: {
628
- changed_at: string
629
- id: number
630
- profile_id: number
631
- username: string
632
- }
633
- Insert: {
634
- changed_at?: string
635
- id?: number
636
- profile_id: number
637
- username: string
638
- }
639
- Update: {
640
- changed_at?: string
641
- id?: number
642
- profile_id?: number
643
- username?: string
644
- }
645
- Relationships: [
646
- {
647
- foreignKeyName: "profileUsernames_profile_id_fkey"
648
- columns: ["profile_id"]
649
- isOneToOne: false
650
- referencedRelation: "profiles"
651
- referencedColumns: ["id"]
652
- },
653
- ]
654
- }
655
- profiles: {
656
- Row: {
657
- about_me: string | null
658
- avatar_url: string | null
659
- badges: Json | null
660
- ban: Database["public"]["Enums"]["banTypes"] | null
661
- bannedAt: number | null
662
- clan: number | null
663
- computedUsername: string | null
664
- created_at: number | null
665
- flag: string | null
666
- id: number
667
- mu_rank: number
668
- play_count: number | null
669
- profile_image: string | null
670
- sigma_rank: number | null
671
- skill_points: number | null
672
- spin_skill_points: number
673
- squares_hit: number | null
674
- total_score: number | null
675
- uid: string | null
676
- username: string | null
677
- verificationDeadline: number
678
- verified: boolean | null
679
- }
680
- Insert: {
681
- about_me?: string | null
682
- avatar_url?: string | null
683
- badges?: Json | null
684
- ban?: Database["public"]["Enums"]["banTypes"] | null
685
- bannedAt?: number | null
686
- clan?: number | null
687
- computedUsername?: string | null
688
- created_at?: number | null
689
- flag?: string | null
690
- id?: number
691
- mu_rank?: number
692
- play_count?: number | null
693
- profile_image?: string | null
694
- sigma_rank?: number | null
695
- skill_points?: number | null
696
- spin_skill_points?: number
697
- squares_hit?: number | null
698
- total_score?: number | null
699
- uid?: string | null
700
- username?: string | null
701
- verificationDeadline?: number
702
- verified?: boolean | null
703
- }
704
- Update: {
705
- about_me?: string | null
706
- avatar_url?: string | null
707
- badges?: Json | null
708
- ban?: Database["public"]["Enums"]["banTypes"] | null
709
- bannedAt?: number | null
710
- clan?: number | null
711
- computedUsername?: string | null
712
- created_at?: number | null
713
- flag?: string | null
714
- id?: number
715
- mu_rank?: number
716
- play_count?: number | null
717
- profile_image?: string | null
718
- sigma_rank?: number | null
719
- skill_points?: number | null
720
- spin_skill_points?: number
721
- squares_hit?: number | null
722
- total_score?: number | null
723
- uid?: string | null
724
- username?: string | null
725
- verificationDeadline?: number
726
- verified?: boolean | null
727
- }
728
- Relationships: [
729
- {
730
- foreignKeyName: "profiles_clan_fkey"
731
- columns: ["clan"]
732
- isOneToOne: false
733
- referencedRelation: "clans"
734
- referencedColumns: ["id"]
735
- },
736
- ]
737
- }
738
- scores: {
739
- Row: {
740
- additional_data: Json
741
- awarded_sp: number | null
742
- beatmapHash: string | null
743
- created_at: string
744
- id: number
745
- misses: number | null
746
- mods: Json
747
- passed: boolean | null
748
- replay_url: string | null
749
- replayHwid: string | null
750
- songId: string | null
751
- speed: number | null
752
- spin: boolean
753
- token: number | null
754
- userId: number | null
755
- }
756
- Insert: {
757
- additional_data?: Json
758
- awarded_sp?: number | null
759
- beatmapHash?: string | null
760
- created_at?: string
761
- id?: number
762
- misses?: number | null
763
- mods?: Json
764
- passed?: boolean | null
765
- replay_url?: string | null
766
- replayHwid?: string | null
767
- songId?: string | null
768
- speed?: number | null
769
- spin?: boolean
770
- token?: number | null
771
- userId?: number | null
772
- }
773
- Update: {
774
- additional_data?: Json
775
- awarded_sp?: number | null
776
- beatmapHash?: string | null
777
- created_at?: string
778
- id?: number
779
- misses?: number | null
780
- mods?: Json
781
- passed?: boolean | null
782
- replay_url?: string | null
783
- replayHwid?: string | null
784
- songId?: string | null
785
- speed?: number | null
786
- spin?: boolean
787
- token?: number | null
788
- userId?: number | null
789
- }
790
- Relationships: [
791
- {
792
- foreignKeyName: "scores_beatmapHash_fkey"
793
- columns: ["beatmapHash"]
794
- isOneToOne: false
795
- referencedRelation: "beatmaps"
796
- referencedColumns: ["beatmapHash"]
797
- },
798
- {
799
- foreignKeyName: "scores_token_fkey"
800
- columns: ["token"]
801
- isOneToOne: false
802
- referencedRelation: "tokens"
803
- referencedColumns: ["id"]
804
- },
805
- {
806
- foreignKeyName: "scores_userId_fkey"
807
- columns: ["userId"]
808
- isOneToOne: false
809
- referencedRelation: "profiles"
810
- referencedColumns: ["id"]
811
- },
812
- ]
813
- }
814
- tokens: {
815
- Row: {
816
- created_at: string
817
- hash: string | null
818
- id: number
819
- processed: Json | null
820
- raw: string | null
821
- }
822
- Insert: {
823
- created_at?: string
824
- hash?: string | null
825
- id?: number
826
- processed?: Json | null
827
- raw?: string | null
828
- }
829
- Update: {
830
- created_at?: string
831
- hash?: string | null
832
- id?: number
833
- processed?: Json | null
834
- raw?: string | null
835
- }
836
- Relationships: []
837
- }
838
- user_hwids: {
839
- Row: {
840
- created_at: string | null
841
- hwid: string
842
- id: number
843
- }
844
- Insert: {
845
- created_at?: string | null
846
- hwid: string
847
- id?: number
848
- }
849
- Update: {
850
- created_at?: string | null
851
- hwid?: string
852
- id?: number
853
- }
854
- Relationships: [
855
- {
856
- foreignKeyName: "user_hwids_id_fkey"
857
- columns: ["id"]
858
- isOneToOne: false
859
- referencedRelation: "profiles"
860
- referencedColumns: ["id"]
861
- },
862
- ]
863
- }
864
- vetos: {
865
- Row: {
866
- beatmapPage: number
867
- created_at: string
868
- id: number
869
- user: number
870
- veto_reason: string
871
- }
872
- Insert: {
873
- beatmapPage: number
874
- created_at?: string
875
- id?: number
876
- user: number
877
- veto_reason: string
878
- }
879
- Update: {
880
- beatmapPage?: number
881
- created_at?: string
882
- id?: number
883
- user?: number
884
- veto_reason?: string
885
- }
886
- Relationships: [
887
- {
888
- foreignKeyName: "vetos_beatmapPage_fkey"
889
- columns: ["beatmapPage"]
890
- isOneToOne: false
891
- referencedRelation: "beatmapPages"
892
- referencedColumns: ["id"]
893
- },
894
- {
895
- foreignKeyName: "vetos_user_fkey"
896
- columns: ["user"]
897
- isOneToOne: false
898
- referencedRelation: "profiles"
899
- referencedColumns: ["id"]
900
- },
901
- ]
902
- }
903
- }
904
- Views: {
905
- [_ in never]: never
906
- }
907
- Functions: {
908
- admin_delete_user: { Args: { user_id: number }; Returns: boolean }
909
- admin_exclude_user: { Args: { user_id: number }; Returns: boolean }
910
- admin_invalidate_ranked_scores: {
911
- Args: { user_id: number }
912
- Returns: number
913
- }
914
- admin_log_action:
915
- | {
916
- Args: {
917
- action_type: string
918
- admin_id: number
919
- details?: Json
920
- target_id: number
921
- }
922
- Returns: undefined
923
- }
924
- | {
925
- Args: {
926
- action_type: string
927
- admin_id: number
928
- details?: Json
929
- target_id: string
930
- }
931
- Returns: undefined
932
- }
933
- admin_profanity_clear: { Args: { user_id: number }; Returns: boolean }
934
- admin_remove_all_scores: { Args: { user_id: number }; Returns: number }
935
- admin_restrict_user: { Args: { user_id: number }; Returns: boolean }
936
- admin_search_users: {
937
- Args: { search_text: string }
938
- Returns: {
939
- about_me: string | null
940
- avatar_url: string | null
941
- badges: Json | null
942
- ban: Database["public"]["Enums"]["banTypes"] | null
943
- bannedAt: number | null
944
- clan: number | null
945
- computedUsername: string | null
946
- created_at: number | null
947
- flag: string | null
948
- id: number
949
- mu_rank: number
950
- play_count: number | null
951
- profile_image: string | null
952
- sigma_rank: number | null
953
- skill_points: number | null
954
- spin_skill_points: number
955
- squares_hit: number | null
956
- total_score: number | null
957
- uid: string | null
958
- username: string | null
959
- verificationDeadline: number
960
- verified: boolean | null
961
- }[]
962
- SetofOptions: {
963
- from: "*"
964
- to: "profiles"
965
- isOneToOne: false
966
- isSetofReturn: true
967
- }
968
- }
969
- admin_silence_user: { Args: { user_id: number }; Returns: boolean }
970
- admin_unban_user: { Args: { user_id: number }; Returns: boolean }
971
- enhanced_search: {
972
- Args: { result_limit?: number; search_text: string }
973
- Returns: {
974
- beatmap_description: string
975
- beatmap_image: string
976
- beatmap_length: number
977
- beatmap_map_id: string
978
- beatmap_owner: number
979
- beatmap_owner_avatar: string
980
- beatmap_owner_username: string
981
- beatmap_page_id: number
982
- beatmap_star_rating: number
983
- beatmap_status: string
984
- beatmap_tags: string
985
- beatmap_title: string
986
- relevance: number
987
- result_type: string
988
- user_about_me: string
989
- user_avatar_url: string
990
- user_flag: string
991
- user_id: number
992
- user_username: string
993
- }[]
994
- }
995
- get_badge_leaderboard: {
996
- Args: { p_limit?: number }
997
- Returns: {
998
- avatar_url: string
999
- display_name: string
1000
- id: number
1001
- special_badge_count: number
1002
- }[]
1003
- }
1004
- get_clan_leaderboard: {
1005
- Args: { items_per_page?: number; page_number?: number }
1006
- Returns: {
1007
- acronym: string
1008
- avatar_url: string
1009
- description: string
1010
- id: number
1011
- member_count: number
1012
- name: string
1013
- total_pages: number
1014
- total_skill_points: number
1015
- }[]
1016
- }
1017
- get_collections_v1: {
1018
- Args: { items_per_page?: number; page_number?: number }
1019
- Returns: {
1020
- beatmap_count: number
1021
- created_at: string
1022
- description: string
1023
- id: number
1024
- owner: number
1025
- star1: number
1026
- star10: number
1027
- star11: number
1028
- star12: number
1029
- star13: number
1030
- star14: number
1031
- star15: number
1032
- star16: number
1033
- star17: number
1034
- star18: number
1035
- star2: number
1036
- star3: number
1037
- star4: number
1038
- star5: number
1039
- star6: number
1040
- star7: number
1041
- star8: number
1042
- star9: number
1043
- title: string
1044
- total_pages: number
1045
- }[]
1046
- }
1047
- get_collections_v2:
1048
- | {
1049
- Args: { items_per_page?: number; page_number?: number }
1050
- Returns: {
1051
- beatmap_count: number
1052
- created_at: string
1053
- description: string
1054
- id: number
1055
- owner: number
1056
- owner_avatar_url: string
1057
- owner_username: string
1058
- star1: number
1059
- star10: number
1060
- star11: number
1061
- star12: number
1062
- star13: number
1063
- star14: number
1064
- star15: number
1065
- star16: number
1066
- star17: number
1067
- star18: number
1068
- star2: number
1069
- star3: number
1070
- star4: number
1071
- star5: number
1072
- star6: number
1073
- star7: number
1074
- star8: number
1075
- star9: number
1076
- title: string
1077
- total_pages: number
1078
- }[]
1079
- }
1080
- | {
1081
- Args: {
1082
- items_per_page?: number
1083
- owner_filter?: number
1084
- page_number?: number
1085
- }
1086
- Returns: {
1087
- beatmap_count: number
1088
- created_at: string
1089
- description: string
1090
- id: number
1091
- owner: number
1092
- owner_avatar_url: string
1093
- owner_username: string
1094
- star1: number
1095
- star10: number
1096
- star11: number
1097
- star12: number
1098
- star13: number
1099
- star14: number
1100
- star15: number
1101
- star16: number
1102
- star17: number
1103
- star18: number
1104
- star2: number
1105
- star3: number
1106
- star4: number
1107
- star5: number
1108
- star6: number
1109
- star7: number
1110
- star8: number
1111
- star9: number
1112
- title: string
1113
- total_pages: number
1114
- }[]
1115
- }
1116
- get_collections_v3: {
1117
- Args: {
1118
- items_per_page?: number
1119
- owner_filter?: number
1120
- page_number?: number
1121
- }
1122
- Returns: {
1123
- beatmap_count: number
1124
- created_at: string
1125
- description: string
1126
- id: number
1127
- owner: number
1128
- owner_avatar_url: string
1129
- owner_username: string
1130
- star1: number
1131
- star10: number
1132
- star11: number
1133
- star12: number
1134
- star13: number
1135
- star14: number
1136
- star15: number
1137
- star16: number
1138
- star17: number
1139
- star18: number
1140
- star2: number
1141
- star3: number
1142
- star4: number
1143
- star5: number
1144
- star6: number
1145
- star7: number
1146
- star8: number
1147
- star9: number
1148
- title: string
1149
- total_pages: number
1150
- }[]
1151
- }
1152
- get_collections_v4: {
1153
- Args: {
1154
- author_filter?: string
1155
- items_per_page?: number
1156
- min_beatmaps?: number
1157
- owner_filter?: number
1158
- page_number?: number
1159
- search_query?: string
1160
- }
1161
- Returns: {
1162
- beatmap_count: number
1163
- created_at: string
1164
- description: string
1165
- id: number
1166
- owner: number
1167
- owner_avatar_url: string
1168
- owner_username: string
1169
- star1: number
1170
- star10: number
1171
- star11: number
1172
- star12: number
1173
- star13: number
1174
- star14: number
1175
- star15: number
1176
- star16: number
1177
- star17: number
1178
- star18: number
1179
- star2: number
1180
- star3: number
1181
- star4: number
1182
- star5: number
1183
- star6: number
1184
- star7: number
1185
- star8: number
1186
- star9: number
1187
- title: string
1188
- total_pages: number
1189
- }[]
1190
- }
1191
- get_top_scores_for_beatmap: {
1192
- Args: { beatmap_hash: string }
1193
- Returns: {
1194
- accuracy: number
1195
- avatar_url: string
1196
- awarded_sp: number
1197
- created_at: string
1198
- id: number
1199
- misses: number
1200
- mods: Json
1201
- passed: boolean
1202
- replayhwid: string
1203
- songid: string
1204
- speed: number
1205
- spin: boolean
1206
- userid: number
1207
- username: string
1208
- }[]
1209
- }
1210
- get_top_scores_for_beatmap2: {
1211
- Args: { beatmap_hash: string }
1212
- Returns: {
1213
- accuracy: number
1214
- avatar_url: string
1215
- awarded_sp: number
1216
- created_at: string
1217
- id: number
1218
- misses: number
1219
- mods: Json
1220
- passed: boolean
1221
- replayhwid: string
1222
- songid: string
1223
- speed: number
1224
- spin: boolean
1225
- userid: number
1226
- username: string
1227
- }[]
1228
- }
1229
- get_top_scores_for_beatmap3: {
1230
- Args: { beatmap_hash: string }
1231
- Returns: {
1232
- accuracy: number
1233
- avatar_url: string
1234
- awarded_sp: number
1235
- created_at: string
1236
- id: number
1237
- misses: number
1238
- mods: Json
1239
- passed: boolean
1240
- replayHwid: string
1241
- songId: string
1242
- speed: number
1243
- spin: boolean
1244
- userId: number
1245
- username: string
1246
- }[]
1247
- }
1248
- get_user_activity: {
1249
- Args: { score_limit?: number; user_id: number }
1250
- Returns: Json
1251
- }
1252
- get_user_by_email: { Args: { email_address: string }; Returns: Json }
1253
- get_user_reigning_scores:
1254
- | {
1255
- Args: { userid: number }
1256
- Returns: {
1257
- awarded_sp: number
1258
- beatmaphash: string
1259
- created_at: string
1260
- id: number
1261
- misses: number
1262
- mods: Json
1263
- passed: boolean
1264
- replayhwid: string
1265
- songid: string
1266
- speed: number
1267
- spin: boolean
1268
- }[]
1269
- }
1270
- | {
1271
- Args: { page_size: number; userid: number }
1272
- Returns: {
1273
- awarded_sp: number
1274
- beatmaphash: string
1275
- beatmaptitle: string
1276
- created_at: string
1277
- difficulty: number
1278
- id: number
1279
- misses: number
1280
- mods: Json
1281
- notes: number
1282
- passed: boolean
1283
- replayhwid: string
1284
- songid: string
1285
- speed: number
1286
- spin: boolean
1287
- }[]
1288
- }
1289
- get_user_scores_lastday: {
1290
- Args: { limit_param: number; userid: number }
1291
- Returns: Json
1292
- }
1293
- get_user_scores_payload: {
1294
- Args: { limit_param: number; userid: number }
1295
- Returns: Json
1296
- }
1297
- get_user_scores_reign: { Args: { userid: number }; Returns: Json }
1298
- get_user_scores_summary: {
1299
- Args: { limit_param?: number; userid: number }
1300
- Returns: Json
1301
- }
1302
- get_user_scores_top_and_stats: {
1303
- Args: { limit_param: number; userid: number }
1304
- Returns: Json
1305
- }
1306
- grant_special_badges: {
1307
- Args: {
1308
- p_beatmap_id: number
1309
- p_passed?: boolean
1310
- p_spin?: boolean
1311
- p_user_id: number
1312
- }
1313
- Returns: Json
1314
- }
1315
- }
1316
- Enums: {
1317
- banTypes: "cool" | "silenced" | "restricted" | "excluded"
1318
- discordWebhookType: "maps" | "scores"
1319
- }
1320
- CompositeTypes: {
1321
- [_ in never]: never
1322
- }
1323
- }
1324
- }
1325
-
1326
- type DatabaseWithoutInternals = Omit<Database, "__InternalSupabase">
1327
-
1328
- type DefaultSchema = DatabaseWithoutInternals[Extract<keyof Database, "public">]
1329
-
1330
- export type Tables<
1331
- DefaultSchemaTableNameOrOptions extends
1332
- | keyof (DefaultSchema["Tables"] & DefaultSchema["Views"])
1333
- | { schema: keyof DatabaseWithoutInternals },
1334
- TableName extends DefaultSchemaTableNameOrOptions extends {
1335
- schema: keyof DatabaseWithoutInternals
1336
- }
1337
- ? keyof (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] &
1338
- DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Views"])
1339
- : never = never,
1340
- > = DefaultSchemaTableNameOrOptions extends {
1341
- schema: keyof DatabaseWithoutInternals
1342
- }
1343
- ? (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] &
1344
- DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Views"])[TableName] extends {
1345
- Row: infer R
1346
- }
1347
- ? R
1348
- : never
1349
- : DefaultSchemaTableNameOrOptions extends keyof (DefaultSchema["Tables"] &
1350
- DefaultSchema["Views"])
1351
- ? (DefaultSchema["Tables"] &
1352
- DefaultSchema["Views"])[DefaultSchemaTableNameOrOptions] extends {
1353
- Row: infer R
1354
- }
1355
- ? R
1356
- : never
1357
- : never
1358
-
1359
- export type TablesInsert<
1360
- DefaultSchemaTableNameOrOptions extends
1361
- | keyof DefaultSchema["Tables"]
1362
- | { schema: keyof DatabaseWithoutInternals },
1363
- TableName extends DefaultSchemaTableNameOrOptions extends {
1364
- schema: keyof DatabaseWithoutInternals
1365
- }
1366
- ? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"]
1367
- : never = never,
1368
- > = DefaultSchemaTableNameOrOptions extends {
1369
- schema: keyof DatabaseWithoutInternals
1370
- }
1371
- ? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends {
1372
- Insert: infer I
1373
- }
1374
- ? I
1375
- : never
1376
- : DefaultSchemaTableNameOrOptions extends keyof DefaultSchema["Tables"]
1377
- ? DefaultSchema["Tables"][DefaultSchemaTableNameOrOptions] extends {
1378
- Insert: infer I
1379
- }
1380
- ? I
1381
- : never
1382
- : never
1383
-
1384
- export type TablesUpdate<
1385
- DefaultSchemaTableNameOrOptions extends
1386
- | keyof DefaultSchema["Tables"]
1387
- | { schema: keyof DatabaseWithoutInternals },
1388
- TableName extends DefaultSchemaTableNameOrOptions extends {
1389
- schema: keyof DatabaseWithoutInternals
1390
- }
1391
- ? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"]
1392
- : never = never,
1393
- > = DefaultSchemaTableNameOrOptions extends {
1394
- schema: keyof DatabaseWithoutInternals
1395
- }
1396
- ? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends {
1397
- Update: infer U
1398
- }
1399
- ? U
1400
- : never
1401
- : DefaultSchemaTableNameOrOptions extends keyof DefaultSchema["Tables"]
1402
- ? DefaultSchema["Tables"][DefaultSchemaTableNameOrOptions] extends {
1403
- Update: infer U
1404
- }
1405
- ? U
1406
- : never
1407
- : never
1408
-
1409
- export type Enums<
1410
- DefaultSchemaEnumNameOrOptions extends
1411
- | keyof DefaultSchema["Enums"]
1412
- | { schema: keyof DatabaseWithoutInternals },
1413
- EnumName extends DefaultSchemaEnumNameOrOptions extends {
1414
- schema: keyof DatabaseWithoutInternals
1415
- }
1416
- ? keyof DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"]
1417
- : never = never,
1418
- > = DefaultSchemaEnumNameOrOptions extends {
1419
- schema: keyof DatabaseWithoutInternals
1420
- }
1421
- ? DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"][EnumName]
1422
- : DefaultSchemaEnumNameOrOptions extends keyof DefaultSchema["Enums"]
1423
- ? DefaultSchema["Enums"][DefaultSchemaEnumNameOrOptions]
1424
- : never
1425
-
1426
- export type CompositeTypes<
1427
- PublicCompositeTypeNameOrOptions extends
1428
- | keyof DefaultSchema["CompositeTypes"]
1429
- | { schema: keyof DatabaseWithoutInternals },
1430
- CompositeTypeName extends PublicCompositeTypeNameOrOptions extends {
1431
- schema: keyof DatabaseWithoutInternals
1432
- }
1433
- ? keyof DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"]
1434
- : never = never,
1435
- > = PublicCompositeTypeNameOrOptions extends {
1436
- schema: keyof DatabaseWithoutInternals
1437
- }
1438
- ? DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"][CompositeTypeName]
1439
- : PublicCompositeTypeNameOrOptions extends keyof DefaultSchema["CompositeTypes"]
1440
- ? DefaultSchema["CompositeTypes"][PublicCompositeTypeNameOrOptions]
1441
- : never
1442
-
1443
- export const Constants = {
1444
- public: {
1445
- Enums: {
1446
- banTypes: ["cool", "silenced", "restricted", "excluded"],
1447
- discordWebhookType: ["maps", "scores"],
1448
- },
1449
- },
1450
- } 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
+ mapHash: string | null
155
+ nominations: Json | null
156
+ owner: number | null
157
+ qualified: boolean
158
+ qualifiedAt: string | null
159
+ ranked_at: number
160
+ status: string | null
161
+ tags: string
162
+ title: string | null
163
+ updated_at: number | null
164
+ video_url: string | null
165
+ }
166
+ Insert: {
167
+ created_at?: string
168
+ description?: string
169
+ genre?: string | null
170
+ id?: number
171
+ latestBeatmapHash?: string | null
172
+ mapHash?: string | null
173
+ nominations?: Json | null
174
+ owner?: number | null
175
+ qualified?: boolean
176
+ qualifiedAt?: string | null
177
+ ranked_at?: number
178
+ status?: string | null
179
+ tags?: string
180
+ title?: string | null
181
+ updated_at?: number | null
182
+ video_url?: string | null
183
+ }
184
+ Update: {
185
+ created_at?: string
186
+ description?: string
187
+ genre?: string | null
188
+ id?: number
189
+ latestBeatmapHash?: string | null
190
+ mapHash?: string | null
191
+ nominations?: Json | null
192
+ owner?: number | null
193
+ qualified?: boolean
194
+ qualifiedAt?: string | null
195
+ ranked_at?: number
196
+ status?: string | null
197
+ tags?: string
198
+ title?: string | null
199
+ updated_at?: number | null
200
+ video_url?: string | null
201
+ }
202
+ Relationships: [
203
+ {
204
+ foreignKeyName: "beatmapPages_latestBeatmapHash_fkey"
205
+ columns: ["latestBeatmapHash"]
206
+ isOneToOne: false
207
+ referencedRelation: "beatmaps"
208
+ referencedColumns: ["beatmapHash"]
209
+ },
210
+ {
211
+ foreignKeyName: "beatmapPages_owner_fkey"
212
+ columns: ["owner"]
213
+ isOneToOne: false
214
+ referencedRelation: "profiles"
215
+ referencedColumns: ["id"]
216
+ },
217
+ ]
218
+ }
219
+ beatmaps: {
220
+ Row: {
221
+ beatmapFile: string | null
222
+ beatmapHash: string
223
+ created_at: string
224
+ difficulty: number | null
225
+ image: string | null
226
+ imageLarge: string | null
227
+ length: number | null
228
+ noteCount: number | null
229
+ playcount: number | null
230
+ ranked: boolean | null
231
+ starRating: number | null
232
+ title: string | null
233
+ }
234
+ Insert: {
235
+ beatmapFile?: string | null
236
+ beatmapHash: string
237
+ created_at?: string
238
+ difficulty?: number | null
239
+ image?: string | null
240
+ imageLarge?: string | null
241
+ length?: number | null
242
+ noteCount?: number | null
243
+ playcount?: number | null
244
+ ranked?: boolean | null
245
+ starRating?: number | null
246
+ title?: string | null
247
+ }
248
+ Update: {
249
+ beatmapFile?: string | null
250
+ beatmapHash?: string
251
+ created_at?: string
252
+ difficulty?: number | null
253
+ image?: string | null
254
+ imageLarge?: string | null
255
+ length?: number | null
256
+ noteCount?: number | null
257
+ playcount?: number | null
258
+ ranked?: boolean | null
259
+ starRating?: number | null
260
+ title?: string | null
261
+ }
262
+ Relationships: []
263
+ }
264
+ cache: {
265
+ Row: {
266
+ key: string
267
+ value: Json
268
+ }
269
+ Insert: {
270
+ key: string
271
+ value: Json
272
+ }
273
+ Update: {
274
+ key?: string
275
+ value?: Json
276
+ }
277
+ Relationships: []
278
+ }
279
+ chartedValues: {
280
+ Row: {
281
+ created_at: string
282
+ id: number
283
+ type: string | null
284
+ value: number | null
285
+ }
286
+ Insert: {
287
+ created_at?: string
288
+ id?: number
289
+ type?: string | null
290
+ value?: number | null
291
+ }
292
+ Update: {
293
+ created_at?: string
294
+ id?: number
295
+ type?: string | null
296
+ value?: number | null
297
+ }
298
+ Relationships: []
299
+ }
300
+ clans: {
301
+ Row: {
302
+ acronym: string | null
303
+ allowed_users: Json
304
+ avatar_url: string | null
305
+ created_at: string
306
+ description: string | null
307
+ id: number
308
+ name: string
309
+ owner: number | null
310
+ }
311
+ Insert: {
312
+ acronym?: string | null
313
+ allowed_users?: Json
314
+ avatar_url?: string | null
315
+ created_at?: string
316
+ description?: string | null
317
+ id?: number
318
+ name?: string
319
+ owner?: number | null
320
+ }
321
+ Update: {
322
+ acronym?: string | null
323
+ allowed_users?: Json
324
+ avatar_url?: string | null
325
+ created_at?: string
326
+ description?: string | null
327
+ id?: number
328
+ name?: string
329
+ owner?: number | null
330
+ }
331
+ Relationships: [
332
+ {
333
+ foreignKeyName: "clans_owner_fkey"
334
+ columns: ["owner"]
335
+ isOneToOne: false
336
+ referencedRelation: "profiles"
337
+ referencedColumns: ["id"]
338
+ },
339
+ ]
340
+ }
341
+ collectionRelations: {
342
+ Row: {
343
+ beatmapPage: number | null
344
+ collection: number
345
+ created_at: string
346
+ id: number
347
+ sort: number
348
+ }
349
+ Insert: {
350
+ beatmapPage?: number | null
351
+ collection: number
352
+ created_at?: string
353
+ id?: number
354
+ sort?: number
355
+ }
356
+ Update: {
357
+ beatmapPage?: number | null
358
+ collection?: number
359
+ created_at?: string
360
+ id?: number
361
+ sort?: number
362
+ }
363
+ Relationships: [
364
+ {
365
+ foreignKeyName: "collectionRelations_beatmapPage_fkey"
366
+ columns: ["beatmapPage"]
367
+ isOneToOne: false
368
+ referencedRelation: "beatmapPages"
369
+ referencedColumns: ["id"]
370
+ },
371
+ {
372
+ foreignKeyName: "collectionRelations_collection_fkey"
373
+ columns: ["collection"]
374
+ isOneToOne: false
375
+ referencedRelation: "beatmapCollections"
376
+ referencedColumns: ["id"]
377
+ },
378
+ ]
379
+ }
380
+ discordWebhooks: {
381
+ Row: {
382
+ id: number
383
+ type: Database["public"]["Enums"]["discordWebhookType"] | null
384
+ webhook_link: string
385
+ }
386
+ Insert: {
387
+ id?: number
388
+ type?: Database["public"]["Enums"]["discordWebhookType"] | null
389
+ webhook_link?: string
390
+ }
391
+ Update: {
392
+ id?: number
393
+ type?: Database["public"]["Enums"]["discordWebhookType"] | null
394
+ webhook_link?: string
395
+ }
396
+ Relationships: []
397
+ }
398
+ inventories: {
399
+ Row: {
400
+ contents: Json
401
+ id: number
402
+ }
403
+ Insert: {
404
+ contents?: Json
405
+ id?: number
406
+ }
407
+ Update: {
408
+ contents?: Json
409
+ id?: number
410
+ }
411
+ Relationships: [
412
+ {
413
+ foreignKeyName: "inventory_id_fkey"
414
+ columns: ["id"]
415
+ isOneToOne: true
416
+ referencedRelation: "profiles"
417
+ referencedColumns: ["id"]
418
+ },
419
+ ]
420
+ }
421
+ invites: {
422
+ Row: {
423
+ code: string
424
+ created_at: string
425
+ id: number
426
+ resourceId: string
427
+ type: string
428
+ used: boolean
429
+ }
430
+ Insert: {
431
+ code: string
432
+ created_at?: string
433
+ id?: number
434
+ resourceId: string
435
+ type: string
436
+ used?: boolean
437
+ }
438
+ Update: {
439
+ code?: string
440
+ created_at?: string
441
+ id?: number
442
+ resourceId?: string
443
+ type?: string
444
+ used?: boolean
445
+ }
446
+ Relationships: []
447
+ }
448
+ leaderboard_map_user: {
449
+ Row: {
450
+ beatmapHash: string
451
+ best_score_id: number | null
452
+ best_sp: number | null
453
+ userId: number
454
+ }
455
+ Insert: {
456
+ beatmapHash: string
457
+ best_score_id?: number | null
458
+ best_sp?: number | null
459
+ userId: number
460
+ }
461
+ Update: {
462
+ beatmapHash?: string
463
+ best_score_id?: number | null
464
+ best_sp?: number | null
465
+ userId?: number
466
+ }
467
+ Relationships: []
468
+ }
469
+ levers: {
470
+ Row: {
471
+ disable_scores: boolean
472
+ id: number
473
+ }
474
+ Insert: {
475
+ disable_scores?: boolean
476
+ id?: number
477
+ }
478
+ Update: {
479
+ disable_scores?: boolean
480
+ id?: number
481
+ }
482
+ Relationships: []
483
+ }
484
+ passkeys: {
485
+ Row: {
486
+ email: string
487
+ id: number
488
+ passkey: string
489
+ }
490
+ Insert: {
491
+ email: string
492
+ id: number
493
+ passkey: string
494
+ }
495
+ Update: {
496
+ email?: string
497
+ id?: number
498
+ passkey?: string
499
+ }
500
+ Relationships: [
501
+ {
502
+ foreignKeyName: "passkeys_id_fkey"
503
+ columns: ["id"]
504
+ isOneToOne: true
505
+ referencedRelation: "profiles"
506
+ referencedColumns: ["id"]
507
+ },
508
+ ]
509
+ }
510
+ profileActivities: {
511
+ Row: {
512
+ last_activity: number | null
513
+ uid: string
514
+ }
515
+ Insert: {
516
+ last_activity?: number | null
517
+ uid: string
518
+ }
519
+ Update: {
520
+ last_activity?: number | null
521
+ uid?: string
522
+ }
523
+ Relationships: []
524
+ }
525
+ profileFlags: {
526
+ Row: {
527
+ changed_at: string
528
+ flag: string | null
529
+ id: number
530
+ profile_id: number
531
+ }
532
+ Insert: {
533
+ changed_at?: string
534
+ flag?: string | null
535
+ id?: number
536
+ profile_id: number
537
+ }
538
+ Update: {
539
+ changed_at?: string
540
+ flag?: string | null
541
+ id?: number
542
+ profile_id?: number
543
+ }
544
+ Relationships: [
545
+ {
546
+ foreignKeyName: "profileFlags_profile_id_fkey"
547
+ columns: ["profile_id"]
548
+ isOneToOne: false
549
+ referencedRelation: "profiles"
550
+ referencedColumns: ["id"]
551
+ },
552
+ ]
553
+ }
554
+ profileFriends: {
555
+ Row: {
556
+ created_at: string
557
+ friend_id: number
558
+ id: number
559
+ profile_id: number
560
+ }
561
+ Insert: {
562
+ created_at?: string
563
+ friend_id: number
564
+ id?: number
565
+ profile_id: number
566
+ }
567
+ Update: {
568
+ created_at?: string
569
+ friend_id?: number
570
+ id?: number
571
+ profile_id?: number
572
+ }
573
+ Relationships: [
574
+ {
575
+ foreignKeyName: "profileFriends_friend_id_fkey"
576
+ columns: ["friend_id"]
577
+ isOneToOne: false
578
+ referencedRelation: "profiles"
579
+ referencedColumns: ["id"]
580
+ },
581
+ {
582
+ foreignKeyName: "profileFriends_profile_id_fkey"
583
+ columns: ["profile_id"]
584
+ isOneToOne: false
585
+ referencedRelation: "profiles"
586
+ referencedColumns: ["id"]
587
+ },
588
+ ]
589
+ }
590
+ profileReports: {
591
+ Row: {
592
+ created_at: string
593
+ description: string
594
+ id: number
595
+ reported: number
596
+ reporter: number
597
+ }
598
+ Insert: {
599
+ created_at?: string
600
+ description: string
601
+ id?: number
602
+ reported: number
603
+ reporter: number
604
+ }
605
+ Update: {
606
+ created_at?: string
607
+ description?: string
608
+ id?: number
609
+ reported?: number
610
+ reporter?: number
611
+ }
612
+ Relationships: [
613
+ {
614
+ foreignKeyName: "profileReports_reported_fkey"
615
+ columns: ["reported"]
616
+ isOneToOne: false
617
+ referencedRelation: "profiles"
618
+ referencedColumns: ["id"]
619
+ },
620
+ {
621
+ foreignKeyName: "profileReports_reporter_fkey"
622
+ columns: ["reporter"]
623
+ isOneToOne: false
624
+ referencedRelation: "profiles"
625
+ referencedColumns: ["id"]
626
+ },
627
+ ]
628
+ }
629
+ profiles: {
630
+ Row: {
631
+ about_me: string | null
632
+ avatar_url: string | null
633
+ badges: Json | null
634
+ ban: Database["public"]["Enums"]["banTypes"] | null
635
+ bannedAt: number | null
636
+ clan: number | null
637
+ computedUsername: string | null
638
+ created_at: number | null
639
+ flag: string | null
640
+ id: number
641
+ mu_rank: number
642
+ play_count: number | null
643
+ profile_image: string | null
644
+ sigma_rank: number | null
645
+ skill_points: number | null
646
+ spin_skill_points: number
647
+ squares_hit: number | null
648
+ total_score: number | null
649
+ uid: string | null
650
+ username: string | null
651
+ verificationDeadline: number
652
+ verified: boolean | null
653
+ }
654
+ Insert: {
655
+ about_me?: string | null
656
+ avatar_url?: string | null
657
+ badges?: Json | null
658
+ ban?: Database["public"]["Enums"]["banTypes"] | null
659
+ bannedAt?: number | null
660
+ clan?: number | null
661
+ computedUsername?: string | null
662
+ created_at?: number | null
663
+ flag?: string | null
664
+ id?: number
665
+ mu_rank?: number
666
+ play_count?: number | null
667
+ profile_image?: string | null
668
+ sigma_rank?: number | null
669
+ skill_points?: number | null
670
+ spin_skill_points?: number
671
+ squares_hit?: number | null
672
+ total_score?: number | null
673
+ uid?: string | null
674
+ username?: string | null
675
+ verificationDeadline?: number
676
+ verified?: boolean | null
677
+ }
678
+ Update: {
679
+ about_me?: string | null
680
+ avatar_url?: string | null
681
+ badges?: Json | null
682
+ ban?: Database["public"]["Enums"]["banTypes"] | null
683
+ bannedAt?: number | null
684
+ clan?: number | null
685
+ computedUsername?: string | null
686
+ created_at?: number | null
687
+ flag?: string | null
688
+ id?: number
689
+ mu_rank?: number
690
+ play_count?: number | null
691
+ profile_image?: string | null
692
+ sigma_rank?: number | null
693
+ skill_points?: number | null
694
+ spin_skill_points?: number
695
+ squares_hit?: number | null
696
+ total_score?: number | null
697
+ uid?: string | null
698
+ username?: string | null
699
+ verificationDeadline?: number
700
+ verified?: boolean | null
701
+ }
702
+ Relationships: [
703
+ {
704
+ foreignKeyName: "profiles_clan_fkey"
705
+ columns: ["clan"]
706
+ isOneToOne: false
707
+ referencedRelation: "clans"
708
+ referencedColumns: ["id"]
709
+ },
710
+ ]
711
+ }
712
+ profileUsernames: {
713
+ Row: {
714
+ changed_at: string
715
+ id: number
716
+ profile_id: number
717
+ username: string
718
+ }
719
+ Insert: {
720
+ changed_at?: string
721
+ id?: number
722
+ profile_id: number
723
+ username: string
724
+ }
725
+ Update: {
726
+ changed_at?: string
727
+ id?: number
728
+ profile_id?: number
729
+ username?: string
730
+ }
731
+ Relationships: [
732
+ {
733
+ foreignKeyName: "profileUsernames_profile_id_fkey"
734
+ columns: ["profile_id"]
735
+ isOneToOne: false
736
+ referencedRelation: "profiles"
737
+ referencedColumns: ["id"]
738
+ },
739
+ ]
740
+ }
741
+ scores: {
742
+ Row: {
743
+ additional_data: Json
744
+ awarded_sp: number | null
745
+ beatmapHash: string | null
746
+ created_at: string
747
+ id: number
748
+ misses: number | null
749
+ mods: Json
750
+ passed: boolean | null
751
+ replay_url: string | null
752
+ replayHwid: string | null
753
+ songId: string | null
754
+ speed: number | null
755
+ spin: boolean
756
+ token: number | null
757
+ userId: number | null
758
+ }
759
+ Insert: {
760
+ additional_data?: Json
761
+ awarded_sp?: number | null
762
+ beatmapHash?: string | null
763
+ created_at?: string
764
+ id?: number
765
+ misses?: number | null
766
+ mods?: Json
767
+ passed?: boolean | null
768
+ replay_url?: string | null
769
+ replayHwid?: string | null
770
+ songId?: string | null
771
+ speed?: number | null
772
+ spin?: boolean
773
+ token?: number | null
774
+ userId?: number | null
775
+ }
776
+ Update: {
777
+ additional_data?: Json
778
+ awarded_sp?: number | null
779
+ beatmapHash?: string | null
780
+ created_at?: string
781
+ id?: number
782
+ misses?: number | null
783
+ mods?: Json
784
+ passed?: boolean | null
785
+ replay_url?: string | null
786
+ replayHwid?: string | null
787
+ songId?: string | null
788
+ speed?: number | null
789
+ spin?: boolean
790
+ token?: number | null
791
+ userId?: number | null
792
+ }
793
+ Relationships: [
794
+ {
795
+ foreignKeyName: "scores_beatmapHash_fkey"
796
+ columns: ["beatmapHash"]
797
+ isOneToOne: false
798
+ referencedRelation: "beatmaps"
799
+ referencedColumns: ["beatmapHash"]
800
+ },
801
+ {
802
+ foreignKeyName: "scores_token_fkey"
803
+ columns: ["token"]
804
+ isOneToOne: false
805
+ referencedRelation: "tokens"
806
+ referencedColumns: ["id"]
807
+ },
808
+ {
809
+ foreignKeyName: "scores_userId_fkey"
810
+ columns: ["userId"]
811
+ isOneToOne: false
812
+ referencedRelation: "profiles"
813
+ referencedColumns: ["id"]
814
+ },
815
+ ]
816
+ }
817
+ tokens: {
818
+ Row: {
819
+ created_at: string
820
+ hash: string | null
821
+ id: number
822
+ processed: Json | null
823
+ raw: string | null
824
+ }
825
+ Insert: {
826
+ created_at?: string
827
+ hash?: string | null
828
+ id?: number
829
+ processed?: Json | null
830
+ raw?: string | null
831
+ }
832
+ Update: {
833
+ created_at?: string
834
+ hash?: string | null
835
+ id?: number
836
+ processed?: Json | null
837
+ raw?: string | null
838
+ }
839
+ Relationships: []
840
+ }
841
+ user_hwids: {
842
+ Row: {
843
+ created_at: string | null
844
+ hwid: string
845
+ id: number
846
+ }
847
+ Insert: {
848
+ created_at?: string | null
849
+ hwid: string
850
+ id?: number
851
+ }
852
+ Update: {
853
+ created_at?: string | null
854
+ hwid?: string
855
+ id?: number
856
+ }
857
+ Relationships: [
858
+ {
859
+ foreignKeyName: "user_hwids_id_fkey"
860
+ columns: ["id"]
861
+ isOneToOne: false
862
+ referencedRelation: "profiles"
863
+ referencedColumns: ["id"]
864
+ },
865
+ ]
866
+ }
867
+ vetos: {
868
+ Row: {
869
+ beatmapPage: number
870
+ created_at: string
871
+ id: number
872
+ user: number
873
+ veto_reason: string
874
+ }
875
+ Insert: {
876
+ beatmapPage: number
877
+ created_at?: string
878
+ id?: number
879
+ user: number
880
+ veto_reason: string
881
+ }
882
+ Update: {
883
+ beatmapPage?: number
884
+ created_at?: string
885
+ id?: number
886
+ user?: number
887
+ veto_reason?: string
888
+ }
889
+ Relationships: [
890
+ {
891
+ foreignKeyName: "vetos_beatmapPage_fkey"
892
+ columns: ["beatmapPage"]
893
+ isOneToOne: false
894
+ referencedRelation: "beatmapPages"
895
+ referencedColumns: ["id"]
896
+ },
897
+ {
898
+ foreignKeyName: "vetos_user_fkey"
899
+ columns: ["user"]
900
+ isOneToOne: false
901
+ referencedRelation: "profiles"
902
+ referencedColumns: ["id"]
903
+ },
904
+ ]
905
+ }
906
+ }
907
+ Views: {
908
+ [_ in never]: never
909
+ }
910
+ Functions: {
911
+ admin_delete_user: { Args: { user_id: number }; Returns: boolean }
912
+ admin_exclude_user: { Args: { user_id: number }; Returns: boolean }
913
+ admin_invalidate_ranked_scores: {
914
+ Args: { user_id: number }
915
+ Returns: number
916
+ }
917
+ admin_log_action:
918
+ | {
919
+ Args: {
920
+ action_type: string
921
+ admin_id: number
922
+ details?: Json
923
+ target_id: number
924
+ }
925
+ Returns: undefined
926
+ }
927
+ | {
928
+ Args: {
929
+ action_type: string
930
+ admin_id: number
931
+ details?: Json
932
+ target_id: string
933
+ }
934
+ Returns: undefined
935
+ }
936
+ admin_profanity_clear: { Args: { user_id: number }; Returns: boolean }
937
+ admin_remove_all_scores: { Args: { user_id: number }; Returns: number }
938
+ admin_remove_score: {
939
+ Args: { score_id: number; user_id: number }
940
+ Returns: boolean
941
+ }
942
+ admin_restrict_user: { Args: { user_id: number }; Returns: boolean }
943
+ admin_search_users: {
944
+ Args: { search_text: string }
945
+ Returns: {
946
+ about_me: string | null
947
+ avatar_url: string | null
948
+ badges: Json | null
949
+ ban: Database["public"]["Enums"]["banTypes"] | null
950
+ bannedAt: number | null
951
+ clan: number | null
952
+ computedUsername: string | null
953
+ created_at: number | null
954
+ flag: string | null
955
+ id: number
956
+ mu_rank: number
957
+ play_count: number | null
958
+ profile_image: string | null
959
+ sigma_rank: number | null
960
+ skill_points: number | null
961
+ spin_skill_points: number
962
+ squares_hit: number | null
963
+ total_score: number | null
964
+ uid: string | null
965
+ username: string | null
966
+ verificationDeadline: number
967
+ verified: boolean | null
968
+ }[]
969
+ SetofOptions: {
970
+ from: "*"
971
+ to: "profiles"
972
+ isOneToOne: false
973
+ isSetofReturn: true
974
+ }
975
+ }
976
+ admin_silence_user: { Args: { user_id: number }; Returns: boolean }
977
+ admin_unban_user: { Args: { user_id: number }; Returns: boolean }
978
+ admin_update_profile: {
979
+ Args: { profile_data: Json; user_id: number }
980
+ Returns: {
981
+ about_me: string | null
982
+ avatar_url: string | null
983
+ badges: Json | null
984
+ ban: Database["public"]["Enums"]["banTypes"] | null
985
+ bannedAt: number | null
986
+ clan: number | null
987
+ computedUsername: string | null
988
+ created_at: number | null
989
+ flag: string | null
990
+ id: number
991
+ mu_rank: number
992
+ play_count: number | null
993
+ profile_image: string | null
994
+ sigma_rank: number | null
995
+ skill_points: number | null
996
+ spin_skill_points: number
997
+ squares_hit: number | null
998
+ total_score: number | null
999
+ uid: string | null
1000
+ username: string | null
1001
+ verificationDeadline: number
1002
+ verified: boolean | null
1003
+ }[]
1004
+ SetofOptions: {
1005
+ from: "*"
1006
+ to: "profiles"
1007
+ isOneToOne: false
1008
+ isSetofReturn: true
1009
+ }
1010
+ }
1011
+ enhanced_search: {
1012
+ Args: { result_limit?: number; search_text: string }
1013
+ Returns: {
1014
+ beatmap_description: string
1015
+ beatmap_image: string
1016
+ beatmap_length: number
1017
+ beatmap_map_id: string
1018
+ beatmap_owner: number
1019
+ beatmap_owner_avatar: string
1020
+ beatmap_owner_username: string
1021
+ beatmap_page_id: number
1022
+ beatmap_star_rating: number
1023
+ beatmap_status: string
1024
+ beatmap_tags: string
1025
+ beatmap_title: string
1026
+ relevance: number
1027
+ result_type: string
1028
+ user_about_me: string
1029
+ user_avatar_url: string
1030
+ user_flag: string
1031
+ user_id: number
1032
+ user_username: string
1033
+ }[]
1034
+ }
1035
+ get_badge_leaderboard: {
1036
+ Args: { p_limit?: number }
1037
+ Returns: {
1038
+ avatar_url: string
1039
+ display_name: string
1040
+ id: number
1041
+ special_badge_count: number
1042
+ }[]
1043
+ }
1044
+ get_beatmaps_v2: {
1045
+ Args: {
1046
+ author_filter?: string
1047
+ creator_filter?: number
1048
+ items_per_page?: number
1049
+ max_length?: number
1050
+ max_stars?: number
1051
+ min_length?: number
1052
+ min_stars?: number
1053
+ page_number?: number
1054
+ status_filter?: string
1055
+ tags_filter?: string
1056
+ text_filter?: string
1057
+ }
1058
+ Returns: {
1059
+ beatmap_file: string
1060
+ created_at: string
1061
+ difficulty: number
1062
+ id: number
1063
+ image: string
1064
+ length: number
1065
+ map_hash: string
1066
+ owner: number
1067
+ owner_username: string
1068
+ playcount: number
1069
+ qualified: boolean
1070
+ ranked: boolean
1071
+ star_rating: number
1072
+ status: string
1073
+ tags: string
1074
+ title: string
1075
+ total_count: number
1076
+ video_url: string
1077
+ }[]
1078
+ }
1079
+ get_clan_leaderboard: {
1080
+ Args: { items_per_page?: number; page_number?: number }
1081
+ Returns: {
1082
+ acronym: string
1083
+ avatar_url: string
1084
+ description: string
1085
+ id: number
1086
+ member_count: number
1087
+ name: string
1088
+ total_pages: number
1089
+ total_skill_points: number
1090
+ }[]
1091
+ }
1092
+ get_collections_v1: {
1093
+ Args: { items_per_page?: number; page_number?: number }
1094
+ Returns: {
1095
+ beatmap_count: number
1096
+ created_at: string
1097
+ description: string
1098
+ id: number
1099
+ owner: number
1100
+ star1: number
1101
+ star10: number
1102
+ star11: number
1103
+ star12: number
1104
+ star13: number
1105
+ star14: number
1106
+ star15: number
1107
+ star16: number
1108
+ star17: number
1109
+ star18: number
1110
+ star2: number
1111
+ star3: number
1112
+ star4: number
1113
+ star5: number
1114
+ star6: number
1115
+ star7: number
1116
+ star8: number
1117
+ star9: number
1118
+ title: string
1119
+ total_pages: number
1120
+ }[]
1121
+ }
1122
+ get_collections_v2:
1123
+ | {
1124
+ Args: { items_per_page?: number; page_number?: number }
1125
+ Returns: {
1126
+ beatmap_count: number
1127
+ created_at: string
1128
+ description: string
1129
+ id: number
1130
+ owner: number
1131
+ owner_avatar_url: string
1132
+ owner_username: string
1133
+ star1: number
1134
+ star10: number
1135
+ star11: number
1136
+ star12: number
1137
+ star13: number
1138
+ star14: number
1139
+ star15: number
1140
+ star16: number
1141
+ star17: number
1142
+ star18: number
1143
+ star2: number
1144
+ star3: number
1145
+ star4: number
1146
+ star5: number
1147
+ star6: number
1148
+ star7: number
1149
+ star8: number
1150
+ star9: number
1151
+ title: string
1152
+ total_pages: number
1153
+ }[]
1154
+ }
1155
+ | {
1156
+ Args: {
1157
+ items_per_page?: number
1158
+ owner_filter?: number
1159
+ page_number?: number
1160
+ }
1161
+ Returns: {
1162
+ beatmap_count: number
1163
+ created_at: string
1164
+ description: string
1165
+ id: number
1166
+ owner: number
1167
+ owner_avatar_url: string
1168
+ owner_username: string
1169
+ star1: number
1170
+ star10: number
1171
+ star11: number
1172
+ star12: number
1173
+ star13: number
1174
+ star14: number
1175
+ star15: number
1176
+ star16: number
1177
+ star17: number
1178
+ star18: number
1179
+ star2: number
1180
+ star3: number
1181
+ star4: number
1182
+ star5: number
1183
+ star6: number
1184
+ star7: number
1185
+ star8: number
1186
+ star9: number
1187
+ title: string
1188
+ total_pages: number
1189
+ }[]
1190
+ }
1191
+ get_collections_v3: {
1192
+ Args: {
1193
+ items_per_page?: number
1194
+ owner_filter?: number
1195
+ page_number?: number
1196
+ }
1197
+ Returns: {
1198
+ beatmap_count: number
1199
+ created_at: string
1200
+ description: string
1201
+ id: number
1202
+ owner: number
1203
+ owner_avatar_url: string
1204
+ owner_username: string
1205
+ star1: number
1206
+ star10: number
1207
+ star11: number
1208
+ star12: number
1209
+ star13: number
1210
+ star14: number
1211
+ star15: number
1212
+ star16: number
1213
+ star17: number
1214
+ star18: number
1215
+ star2: number
1216
+ star3: number
1217
+ star4: number
1218
+ star5: number
1219
+ star6: number
1220
+ star7: number
1221
+ star8: number
1222
+ star9: number
1223
+ title: string
1224
+ total_pages: number
1225
+ }[]
1226
+ }
1227
+ get_collections_v4: {
1228
+ Args: {
1229
+ author_filter?: string
1230
+ items_per_page?: number
1231
+ min_beatmaps?: number
1232
+ owner_filter?: number
1233
+ page_number?: number
1234
+ search_query?: string
1235
+ }
1236
+ Returns: {
1237
+ beatmap_count: number
1238
+ created_at: string
1239
+ description: string
1240
+ id: number
1241
+ owner: number
1242
+ owner_avatar_url: string
1243
+ owner_username: string
1244
+ star1: number
1245
+ star10: number
1246
+ star11: number
1247
+ star12: number
1248
+ star13: number
1249
+ star14: number
1250
+ star15: number
1251
+ star16: number
1252
+ star17: number
1253
+ star18: number
1254
+ star2: number
1255
+ star3: number
1256
+ star4: number
1257
+ star5: number
1258
+ star6: number
1259
+ star7: number
1260
+ star8: number
1261
+ star9: number
1262
+ title: string
1263
+ total_pages: number
1264
+ }[]
1265
+ }
1266
+ get_top_scores_for_beatmap: {
1267
+ Args: { beatmap_hash: string }
1268
+ Returns: {
1269
+ accuracy: number
1270
+ avatar_url: string
1271
+ awarded_sp: number
1272
+ created_at: string
1273
+ id: number
1274
+ misses: number
1275
+ mods: Json
1276
+ passed: boolean
1277
+ replayhwid: string
1278
+ songid: string
1279
+ speed: number
1280
+ spin: boolean
1281
+ userid: number
1282
+ username: string
1283
+ }[]
1284
+ }
1285
+ get_top_scores_for_beatmap2: {
1286
+ Args: { beatmap_hash: string }
1287
+ Returns: {
1288
+ accuracy: number
1289
+ avatar_url: string
1290
+ awarded_sp: number
1291
+ created_at: string
1292
+ id: number
1293
+ misses: number
1294
+ mods: Json
1295
+ passed: boolean
1296
+ replayhwid: string
1297
+ songid: string
1298
+ speed: number
1299
+ spin: boolean
1300
+ userid: number
1301
+ username: string
1302
+ }[]
1303
+ }
1304
+ get_top_scores_for_beatmap3: {
1305
+ Args: { beatmap_hash: string; score_limit?: number }
1306
+ Returns: {
1307
+ accuracy: number
1308
+ avatar_url: string
1309
+ awarded_sp: number
1310
+ created_at: string
1311
+ id: number
1312
+ misses: number
1313
+ mods: Json
1314
+ passed: boolean
1315
+ replayHwid: string
1316
+ songId: string
1317
+ speed: number
1318
+ spin: boolean
1319
+ userId: number
1320
+ username: string
1321
+ }[]
1322
+ }
1323
+ get_user_activity: {
1324
+ Args: { score_limit?: number; user_id: number }
1325
+ Returns: Json
1326
+ }
1327
+ get_user_by_email: { Args: { email_address: string }; Returns: Json }
1328
+ get_user_reigning_scores:
1329
+ | {
1330
+ Args: { userid: number }
1331
+ Returns: {
1332
+ awarded_sp: number
1333
+ beatmaphash: string
1334
+ created_at: string
1335
+ id: number
1336
+ misses: number
1337
+ mods: Json
1338
+ passed: boolean
1339
+ replayhwid: string
1340
+ songid: string
1341
+ speed: number
1342
+ spin: boolean
1343
+ }[]
1344
+ }
1345
+ | {
1346
+ Args: { page_size: number; userid: number }
1347
+ Returns: {
1348
+ awarded_sp: number
1349
+ beatmaphash: string
1350
+ beatmaptitle: string
1351
+ created_at: string
1352
+ difficulty: number
1353
+ id: number
1354
+ misses: number
1355
+ mods: Json
1356
+ notes: number
1357
+ passed: boolean
1358
+ replayhwid: string
1359
+ songid: string
1360
+ speed: number
1361
+ spin: boolean
1362
+ }[]
1363
+ }
1364
+ get_user_scores_lastday: {
1365
+ Args: { limit_param: number; userid: number }
1366
+ Returns: Json
1367
+ }
1368
+ get_user_scores_payload: {
1369
+ Args: { limit_param: number; userid: number }
1370
+ Returns: Json
1371
+ }
1372
+ get_user_scores_reign: { Args: { userid: number }; Returns: Json }
1373
+ get_user_scores_summary: {
1374
+ Args: { limit_param?: number; userid: number }
1375
+ Returns: Json
1376
+ }
1377
+ get_user_scores_top_and_stats: {
1378
+ Args: { limit_param: number; userid: number }
1379
+ Returns: Json
1380
+ }
1381
+ grant_special_badges: {
1382
+ Args: {
1383
+ p_beatmap_id: number
1384
+ p_passed?: boolean
1385
+ p_spin?: boolean
1386
+ p_user_id: number
1387
+ }
1388
+ Returns: Json
1389
+ }
1390
+ }
1391
+ Enums: {
1392
+ banTypes: "cool" | "silenced" | "restricted" | "excluded"
1393
+ discordWebhookType: "maps" | "scores"
1394
+ }
1395
+ CompositeTypes: {
1396
+ [_ in never]: never
1397
+ }
1398
+ }
1399
+ }
1400
+
1401
+ type DatabaseWithoutInternals = Omit<Database, "__InternalSupabase">
1402
+
1403
+ type DefaultSchema = DatabaseWithoutInternals[Extract<keyof Database, "public">]
1404
+
1405
+ export type Tables<
1406
+ DefaultSchemaTableNameOrOptions extends
1407
+ | keyof (DefaultSchema["Tables"] & DefaultSchema["Views"])
1408
+ | { schema: keyof DatabaseWithoutInternals },
1409
+ TableName extends DefaultSchemaTableNameOrOptions extends {
1410
+ schema: keyof DatabaseWithoutInternals
1411
+ }
1412
+ ? keyof (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] &
1413
+ DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Views"])
1414
+ : never = never,
1415
+ > = DefaultSchemaTableNameOrOptions extends {
1416
+ schema: keyof DatabaseWithoutInternals
1417
+ }
1418
+ ? (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] &
1419
+ DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Views"])[TableName] extends {
1420
+ Row: infer R
1421
+ }
1422
+ ? R
1423
+ : never
1424
+ : DefaultSchemaTableNameOrOptions extends keyof (DefaultSchema["Tables"] &
1425
+ DefaultSchema["Views"])
1426
+ ? (DefaultSchema["Tables"] &
1427
+ DefaultSchema["Views"])[DefaultSchemaTableNameOrOptions] extends {
1428
+ Row: infer R
1429
+ }
1430
+ ? R
1431
+ : never
1432
+ : never
1433
+
1434
+ export type TablesInsert<
1435
+ DefaultSchemaTableNameOrOptions extends
1436
+ | keyof DefaultSchema["Tables"]
1437
+ | { schema: keyof DatabaseWithoutInternals },
1438
+ TableName extends DefaultSchemaTableNameOrOptions extends {
1439
+ schema: keyof DatabaseWithoutInternals
1440
+ }
1441
+ ? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"]
1442
+ : never = never,
1443
+ > = DefaultSchemaTableNameOrOptions extends {
1444
+ schema: keyof DatabaseWithoutInternals
1445
+ }
1446
+ ? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends {
1447
+ Insert: infer I
1448
+ }
1449
+ ? I
1450
+ : never
1451
+ : DefaultSchemaTableNameOrOptions extends keyof DefaultSchema["Tables"]
1452
+ ? DefaultSchema["Tables"][DefaultSchemaTableNameOrOptions] extends {
1453
+ Insert: infer I
1454
+ }
1455
+ ? I
1456
+ : never
1457
+ : never
1458
+
1459
+ export type TablesUpdate<
1460
+ DefaultSchemaTableNameOrOptions extends
1461
+ | keyof DefaultSchema["Tables"]
1462
+ | { schema: keyof DatabaseWithoutInternals },
1463
+ TableName extends DefaultSchemaTableNameOrOptions extends {
1464
+ schema: keyof DatabaseWithoutInternals
1465
+ }
1466
+ ? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"]
1467
+ : never = never,
1468
+ > = DefaultSchemaTableNameOrOptions extends {
1469
+ schema: keyof DatabaseWithoutInternals
1470
+ }
1471
+ ? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends {
1472
+ Update: infer U
1473
+ }
1474
+ ? U
1475
+ : never
1476
+ : DefaultSchemaTableNameOrOptions extends keyof DefaultSchema["Tables"]
1477
+ ? DefaultSchema["Tables"][DefaultSchemaTableNameOrOptions] extends {
1478
+ Update: infer U
1479
+ }
1480
+ ? U
1481
+ : never
1482
+ : never
1483
+
1484
+ export type Enums<
1485
+ DefaultSchemaEnumNameOrOptions extends
1486
+ | keyof DefaultSchema["Enums"]
1487
+ | { schema: keyof DatabaseWithoutInternals },
1488
+ EnumName extends DefaultSchemaEnumNameOrOptions extends {
1489
+ schema: keyof DatabaseWithoutInternals
1490
+ }
1491
+ ? keyof DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"]
1492
+ : never = never,
1493
+ > = DefaultSchemaEnumNameOrOptions extends {
1494
+ schema: keyof DatabaseWithoutInternals
1495
+ }
1496
+ ? DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"][EnumName]
1497
+ : DefaultSchemaEnumNameOrOptions extends keyof DefaultSchema["Enums"]
1498
+ ? DefaultSchema["Enums"][DefaultSchemaEnumNameOrOptions]
1499
+ : never
1500
+
1501
+ export type CompositeTypes<
1502
+ PublicCompositeTypeNameOrOptions extends
1503
+ | keyof DefaultSchema["CompositeTypes"]
1504
+ | { schema: keyof DatabaseWithoutInternals },
1505
+ CompositeTypeName extends PublicCompositeTypeNameOrOptions extends {
1506
+ schema: keyof DatabaseWithoutInternals
1507
+ }
1508
+ ? keyof DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"]
1509
+ : never = never,
1510
+ > = PublicCompositeTypeNameOrOptions extends {
1511
+ schema: keyof DatabaseWithoutInternals
1512
+ }
1513
+ ? DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"][CompositeTypeName]
1514
+ : PublicCompositeTypeNameOrOptions extends keyof DefaultSchema["CompositeTypes"]
1515
+ ? DefaultSchema["CompositeTypes"][PublicCompositeTypeNameOrOptions]
1516
+ : never
1517
+
1518
+ export const Constants = {
1519
+ public: {
1520
+ Enums: {
1521
+ banTypes: ["cool", "silenced", "restricted", "excluded"],
1522
+ discordWebhookType: ["maps", "scores"],
1523
+ },
1524
+ },
1525
+ } as const