rhythia-api 229.0.0 → 231.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,1179 +1,1224 @@
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
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
+ levers: {
446
+ Row: {
447
+ disable_scores: boolean
448
+ id: number
449
+ }
450
+ Insert: {
451
+ disable_scores?: boolean
452
+ id?: number
453
+ }
454
+ Update: {
455
+ disable_scores?: boolean
456
+ id?: number
457
+ }
458
+ Relationships: []
459
+ }
460
+ passkeys: {
461
+ Row: {
462
+ email: string
463
+ id: number
464
+ passkey: string
465
+ }
466
+ Insert: {
467
+ email: string
468
+ id: number
469
+ passkey: string
470
+ }
471
+ Update: {
472
+ email?: string
473
+ id?: number
474
+ passkey?: string
475
+ }
476
+ Relationships: [
477
+ {
478
+ foreignKeyName: "passkeys_id_fkey"
479
+ columns: ["id"]
480
+ isOneToOne: true
481
+ referencedRelation: "profiles"
482
+ referencedColumns: ["id"]
483
+ },
484
+ ]
485
+ }
486
+ profileActivities: {
487
+ Row: {
488
+ last_activity: number | null
489
+ uid: string
490
+ }
491
+ Insert: {
492
+ last_activity?: number | null
493
+ uid: string
494
+ }
495
+ Update: {
496
+ last_activity?: number | null
497
+ uid?: string
498
+ }
499
+ Relationships: []
500
+ }
501
+ profiles: {
502
+ Row: {
503
+ about_me: string | null
504
+ avatar_url: string | null
505
+ badges: Json | null
506
+ ban: Database["public"]["Enums"]["banTypes"] | null
507
+ bannedAt: number | null
508
+ clan: number | null
509
+ computedUsername: string | null
510
+ created_at: number | null
511
+ flag: string | null
512
+ id: number
513
+ mu_rank: number
514
+ play_count: number | null
515
+ profile_image: string | null
516
+ sigma_rank: number | null
517
+ skill_points: number | null
518
+ spin_skill_points: number
519
+ squares_hit: number | null
520
+ total_score: number | null
521
+ uid: string | null
522
+ username: string | null
523
+ verificationDeadline: number
524
+ verified: boolean | null
525
+ }
526
+ Insert: {
527
+ about_me?: string | null
528
+ avatar_url?: string | null
529
+ badges?: Json | null
530
+ ban?: Database["public"]["Enums"]["banTypes"] | null
531
+ bannedAt?: number | null
532
+ clan?: number | null
533
+ computedUsername?: string | null
534
+ created_at?: number | null
535
+ flag?: string | null
536
+ id?: number
537
+ mu_rank?: number
538
+ play_count?: number | null
539
+ profile_image?: string | null
540
+ sigma_rank?: number | null
541
+ skill_points?: number | null
542
+ spin_skill_points?: number
543
+ squares_hit?: number | null
544
+ total_score?: number | null
545
+ uid?: string | null
546
+ username?: string | null
547
+ verificationDeadline?: number
548
+ verified?: boolean | null
549
+ }
550
+ Update: {
551
+ about_me?: string | null
552
+ avatar_url?: string | null
553
+ badges?: Json | null
554
+ ban?: Database["public"]["Enums"]["banTypes"] | null
555
+ bannedAt?: number | null
556
+ clan?: number | null
557
+ computedUsername?: string | null
558
+ created_at?: number | null
559
+ flag?: string | null
560
+ id?: number
561
+ mu_rank?: number
562
+ play_count?: number | null
563
+ profile_image?: string | null
564
+ sigma_rank?: number | null
565
+ skill_points?: number | null
566
+ spin_skill_points?: number
567
+ squares_hit?: number | null
568
+ total_score?: number | null
569
+ uid?: string | null
570
+ username?: string | null
571
+ verificationDeadline?: number
572
+ verified?: boolean | null
573
+ }
574
+ Relationships: [
575
+ {
576
+ foreignKeyName: "profiles_clan_fkey"
577
+ columns: ["clan"]
578
+ isOneToOne: false
579
+ referencedRelation: "clans"
580
+ referencedColumns: ["id"]
581
+ },
582
+ ]
583
+ }
584
+ scores: {
585
+ Row: {
586
+ additional_data: Json
587
+ awarded_sp: number | null
588
+ beatmapHash: string | null
589
+ created_at: string
590
+ id: number
591
+ misses: number | null
592
+ mods: Json
593
+ passed: boolean | null
594
+ replay_url: string | null
595
+ replayHwid: string | null
596
+ songId: string | null
597
+ speed: number | null
598
+ spin: boolean
599
+ token: number | null
600
+ userId: number | null
601
+ }
602
+ Insert: {
603
+ additional_data?: Json
604
+ awarded_sp?: number | null
605
+ beatmapHash?: string | null
606
+ created_at?: string
607
+ id?: number
608
+ misses?: number | null
609
+ mods?: Json
610
+ passed?: boolean | null
611
+ replay_url?: string | null
612
+ replayHwid?: string | null
613
+ songId?: string | null
614
+ speed?: number | null
615
+ spin?: boolean
616
+ token?: number | null
617
+ userId?: number | null
618
+ }
619
+ Update: {
620
+ additional_data?: Json
621
+ awarded_sp?: number | null
622
+ beatmapHash?: string | null
623
+ created_at?: string
624
+ id?: number
625
+ misses?: number | null
626
+ mods?: Json
627
+ passed?: boolean | null
628
+ replay_url?: string | null
629
+ replayHwid?: string | null
630
+ songId?: string | null
631
+ speed?: number | null
632
+ spin?: boolean
633
+ token?: number | null
634
+ userId?: number | null
635
+ }
636
+ Relationships: [
637
+ {
638
+ foreignKeyName: "scores_beatmapHash_fkey"
639
+ columns: ["beatmapHash"]
640
+ isOneToOne: false
641
+ referencedRelation: "beatmaps"
642
+ referencedColumns: ["beatmapHash"]
643
+ },
644
+ {
645
+ foreignKeyName: "scores_token_fkey"
646
+ columns: ["token"]
647
+ isOneToOne: false
648
+ referencedRelation: "tokens"
649
+ referencedColumns: ["id"]
650
+ },
651
+ {
652
+ foreignKeyName: "scores_userId_fkey"
653
+ columns: ["userId"]
654
+ isOneToOne: false
655
+ referencedRelation: "profiles"
656
+ referencedColumns: ["id"]
657
+ },
658
+ ]
659
+ }
660
+ tokens: {
661
+ Row: {
662
+ created_at: string
663
+ id: number
664
+ processed: Json | null
665
+ raw: string | null
666
+ }
667
+ Insert: {
668
+ created_at?: string
669
+ id?: number
670
+ processed?: Json | null
671
+ raw?: string | null
672
+ }
673
+ Update: {
674
+ created_at?: string
675
+ id?: number
676
+ processed?: Json | null
677
+ raw?: string | null
678
+ }
679
+ Relationships: []
680
+ }
681
+ vetos: {
682
+ Row: {
683
+ beatmapPage: number
684
+ created_at: string
685
+ id: number
686
+ user: number
687
+ veto_reason: string
688
+ }
689
+ Insert: {
690
+ beatmapPage: number
691
+ created_at?: string
692
+ id?: number
693
+ user: number
694
+ veto_reason: string
695
+ }
696
+ Update: {
697
+ beatmapPage?: number
698
+ created_at?: string
699
+ id?: number
700
+ user?: number
701
+ veto_reason?: string
702
+ }
703
+ Relationships: [
704
+ {
705
+ foreignKeyName: "vetos_beatmapPage_fkey"
706
+ columns: ["beatmapPage"]
707
+ isOneToOne: false
708
+ referencedRelation: "beatmapPages"
709
+ referencedColumns: ["id"]
710
+ },
711
+ {
712
+ foreignKeyName: "vetos_user_fkey"
713
+ columns: ["user"]
714
+ isOneToOne: false
715
+ referencedRelation: "profiles"
716
+ referencedColumns: ["id"]
717
+ },
718
+ ]
719
+ }
720
+ }
721
+ Views: {
722
+ [_ in never]: never
723
+ }
724
+ Functions: {
725
+ admin_delete_user: { Args: { user_id: number }; Returns: boolean }
726
+ admin_exclude_user: { Args: { user_id: number }; Returns: boolean }
727
+ admin_invalidate_ranked_scores: {
728
+ Args: { user_id: number }
729
+ Returns: number
730
+ }
731
+ admin_log_action:
732
+ | {
733
+ Args: {
734
+ action_type: string
735
+ admin_id: number
736
+ details?: Json
737
+ target_id: number
738
+ }
739
+ Returns: undefined
740
+ }
741
+ | {
742
+ Args: {
743
+ action_type: string
744
+ admin_id: number
745
+ details?: Json
746
+ target_id: string
747
+ }
748
+ Returns: undefined
749
+ }
750
+ admin_profanity_clear: { Args: { user_id: number }; Returns: boolean }
751
+ admin_remove_all_scores: { Args: { user_id: number }; Returns: number }
752
+ admin_restrict_user: { Args: { user_id: number }; Returns: boolean }
753
+ admin_search_users: {
754
+ Args: { search_text: string }
755
+ Returns: {
756
+ about_me: string | null
757
+ avatar_url: string | null
758
+ badges: Json | null
759
+ ban: Database["public"]["Enums"]["banTypes"] | null
760
+ bannedAt: number | null
761
+ clan: number | null
762
+ computedUsername: string | null
763
+ created_at: number | null
764
+ flag: string | null
765
+ id: number
766
+ mu_rank: number
767
+ play_count: number | null
768
+ profile_image: string | null
769
+ sigma_rank: number | null
770
+ skill_points: number | null
771
+ spin_skill_points: number
772
+ squares_hit: number | null
773
+ total_score: number | null
774
+ uid: string | null
775
+ username: string | null
776
+ verificationDeadline: number
777
+ verified: boolean | null
778
+ }[]
779
+ SetofOptions: {
780
+ from: "*"
781
+ to: "profiles"
782
+ isOneToOne: false
783
+ isSetofReturn: true
784
+ }
785
+ }
786
+ admin_silence_user: { Args: { user_id: number }; Returns: boolean }
787
+ admin_unban_user: { Args: { user_id: number }; Returns: boolean }
788
+ get_badge_leaderboard: {
789
+ Args: { p_limit?: number }
790
+ Returns: {
791
+ avatar_url: string
792
+ display_name: string
793
+ id: number
794
+ special_badge_count: number
795
+ }[]
796
+ }
797
+ get_clan_leaderboard: {
798
+ Args: { items_per_page?: number; page_number?: number }
799
+ Returns: {
800
+ acronym: string
801
+ avatar_url: string
802
+ description: string
803
+ id: number
804
+ member_count: number
805
+ name: string
806
+ total_pages: number
807
+ total_skill_points: number
808
+ }[]
809
+ }
810
+ get_collections_v1: {
811
+ Args: { items_per_page?: number; page_number?: number }
812
+ Returns: {
813
+ beatmap_count: number
814
+ created_at: string
815
+ description: string
816
+ id: number
817
+ owner: number
818
+ star1: number
819
+ star10: number
820
+ star11: number
821
+ star12: number
822
+ star13: number
823
+ star14: number
824
+ star15: number
825
+ star16: number
826
+ star17: number
827
+ star18: number
828
+ star2: number
829
+ star3: number
830
+ star4: number
831
+ star5: number
832
+ star6: number
833
+ star7: number
834
+ star8: number
835
+ star9: number
836
+ title: string
837
+ total_pages: number
838
+ }[]
839
+ }
840
+ get_collections_v2:
841
+ | {
842
+ Args: { items_per_page?: number; page_number?: number }
843
+ Returns: {
844
+ beatmap_count: number
845
+ created_at: string
846
+ description: string
847
+ id: number
848
+ owner: number
849
+ owner_avatar_url: string
850
+ owner_username: string
851
+ star1: number
852
+ star10: number
853
+ star11: number
854
+ star12: number
855
+ star13: number
856
+ star14: number
857
+ star15: number
858
+ star16: number
859
+ star17: number
860
+ star18: number
861
+ star2: number
862
+ star3: number
863
+ star4: number
864
+ star5: number
865
+ star6: number
866
+ star7: number
867
+ star8: number
868
+ star9: number
869
+ title: string
870
+ total_pages: number
871
+ }[]
872
+ }
873
+ | {
874
+ Args: {
875
+ items_per_page?: number
876
+ owner_filter?: number
877
+ page_number?: number
878
+ }
879
+ Returns: {
880
+ beatmap_count: number
881
+ created_at: string
882
+ description: string
883
+ id: number
884
+ owner: number
885
+ owner_avatar_url: string
886
+ owner_username: string
887
+ star1: number
888
+ star10: number
889
+ star11: number
890
+ star12: number
891
+ star13: number
892
+ star14: number
893
+ star15: number
894
+ star16: number
895
+ star17: number
896
+ star18: number
897
+ star2: number
898
+ star3: number
899
+ star4: number
900
+ star5: number
901
+ star6: number
902
+ star7: number
903
+ star8: number
904
+ star9: number
905
+ title: string
906
+ total_pages: number
907
+ }[]
908
+ }
909
+ get_collections_v3: {
910
+ Args: {
911
+ items_per_page?: number
912
+ owner_filter?: number
913
+ page_number?: number
914
+ }
915
+ Returns: {
916
+ beatmap_count: number
917
+ created_at: string
918
+ description: string
919
+ id: number
920
+ owner: number
921
+ owner_avatar_url: string
922
+ owner_username: string
923
+ star1: number
924
+ star10: number
925
+ star11: number
926
+ star12: number
927
+ star13: number
928
+ star14: number
929
+ star15: number
930
+ star16: number
931
+ star17: number
932
+ star18: number
933
+ star2: number
934
+ star3: number
935
+ star4: number
936
+ star5: number
937
+ star6: number
938
+ star7: number
939
+ star8: number
940
+ star9: number
941
+ title: string
942
+ total_pages: number
943
+ }[]
944
+ }
945
+ get_collections_v4: {
946
+ Args: {
947
+ author_filter?: string
948
+ items_per_page?: number
949
+ min_beatmaps?: number
950
+ owner_filter?: number
951
+ page_number?: number
952
+ search_query?: string
953
+ }
954
+ Returns: {
955
+ beatmap_count: number
956
+ created_at: string
957
+ description: string
958
+ id: number
959
+ owner: number
960
+ owner_avatar_url: string
961
+ owner_username: string
962
+ star1: number
963
+ star10: number
964
+ star11: number
965
+ star12: number
966
+ star13: number
967
+ star14: number
968
+ star15: number
969
+ star16: number
970
+ star17: number
971
+ star18: number
972
+ star2: number
973
+ star3: number
974
+ star4: number
975
+ star5: number
976
+ star6: number
977
+ star7: number
978
+ star8: number
979
+ star9: number
980
+ title: string
981
+ total_pages: number
982
+ }[]
983
+ }
984
+ get_top_scores_for_beatmap: {
985
+ Args: { beatmap_hash: string }
986
+ Returns: {
987
+ accuracy: number
988
+ avatar_url: string
989
+ awarded_sp: number
990
+ created_at: string
991
+ id: number
992
+ misses: number
993
+ mods: Json
994
+ passed: boolean
995
+ replayhwid: string
996
+ songid: string
997
+ speed: number
998
+ spin: boolean
999
+ userid: number
1000
+ username: string
1001
+ }[]
1002
+ }
1003
+ get_top_scores_for_beatmap2: {
1004
+ Args: { beatmap_hash: string }
1005
+ Returns: {
1006
+ accuracy: number
1007
+ avatar_url: string
1008
+ awarded_sp: number
1009
+ created_at: string
1010
+ id: number
1011
+ misses: number
1012
+ mods: Json
1013
+ passed: boolean
1014
+ replayhwid: string
1015
+ songid: string
1016
+ speed: number
1017
+ spin: boolean
1018
+ userid: number
1019
+ username: string
1020
+ }[]
1021
+ }
1022
+ get_user_activity: {
1023
+ Args: { score_limit?: number; user_id: number }
1024
+ Returns: Json
1025
+ }
1026
+ get_user_by_email: { Args: { email_address: string }; Returns: Json }
1027
+ get_user_reigning_scores:
1028
+ | {
1029
+ Args: { userid: number }
1030
+ Returns: {
1031
+ awarded_sp: number
1032
+ beatmaphash: string
1033
+ created_at: string
1034
+ id: number
1035
+ misses: number
1036
+ mods: Json
1037
+ passed: boolean
1038
+ replayhwid: string
1039
+ songid: string
1040
+ speed: number
1041
+ spin: boolean
1042
+ }[]
1043
+ }
1044
+ | {
1045
+ Args: { page_size: number; userid: number }
1046
+ Returns: {
1047
+ awarded_sp: number
1048
+ beatmaphash: string
1049
+ beatmaptitle: string
1050
+ created_at: string
1051
+ difficulty: number
1052
+ id: number
1053
+ misses: number
1054
+ mods: Json
1055
+ notes: number
1056
+ passed: boolean
1057
+ replayhwid: string
1058
+ songid: string
1059
+ speed: number
1060
+ spin: boolean
1061
+ }[]
1062
+ }
1063
+ get_user_scores_lastday: {
1064
+ Args: { limit_param: number; userid: number }
1065
+ Returns: Json
1066
+ }
1067
+ get_user_scores_payload: {
1068
+ Args: { limit_param: number; userid: number }
1069
+ Returns: Json
1070
+ }
1071
+ get_user_scores_reign: { Args: { userid: number }; Returns: Json }
1072
+ get_user_scores_summary: {
1073
+ Args: { limit_param?: number; userid: number }
1074
+ Returns: Json
1075
+ }
1076
+ get_user_scores_top_and_stats: {
1077
+ Args: { limit_param: number; userid: number }
1078
+ Returns: Json
1079
+ }
1080
+ grant_special_badges: {
1081
+ Args: {
1082
+ p_beatmap_id: number
1083
+ p_passed?: boolean
1084
+ p_spin?: boolean
1085
+ p_user_id: number
1086
+ }
1087
+ Returns: Json
1088
+ }
1089
+ }
1090
+ Enums: {
1091
+ banTypes: "cool" | "silenced" | "restricted" | "excluded"
1092
+ discordWebhookType: "maps" | "scores"
1093
+ }
1094
+ CompositeTypes: {
1095
+ [_ in never]: never
1096
+ }
1097
+ }
1098
+ }
1099
+
1100
+ type DatabaseWithoutInternals = Omit<Database, "__InternalSupabase">
1101
+
1102
+ type DefaultSchema = DatabaseWithoutInternals[Extract<keyof Database, "public">]
1103
+
1104
+ export type Tables<
1105
+ DefaultSchemaTableNameOrOptions extends
1106
+ | keyof (DefaultSchema["Tables"] & DefaultSchema["Views"])
1107
+ | { schema: keyof DatabaseWithoutInternals },
1108
+ TableName extends DefaultSchemaTableNameOrOptions extends {
1109
+ schema: keyof DatabaseWithoutInternals
1110
+ }
1111
+ ? keyof (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] &
1112
+ DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Views"])
1113
+ : never = never,
1114
+ > = DefaultSchemaTableNameOrOptions extends {
1115
+ schema: keyof DatabaseWithoutInternals
1116
+ }
1117
+ ? (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] &
1118
+ DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Views"])[TableName] extends {
1119
+ Row: infer R
1120
+ }
1121
+ ? R
1122
+ : never
1123
+ : DefaultSchemaTableNameOrOptions extends keyof (DefaultSchema["Tables"] &
1124
+ DefaultSchema["Views"])
1125
+ ? (DefaultSchema["Tables"] &
1126
+ DefaultSchema["Views"])[DefaultSchemaTableNameOrOptions] extends {
1127
+ Row: infer R
1128
+ }
1129
+ ? R
1130
+ : never
1131
+ : never
1132
+
1133
+ export type TablesInsert<
1134
+ DefaultSchemaTableNameOrOptions extends
1135
+ | keyof DefaultSchema["Tables"]
1136
+ | { schema: keyof DatabaseWithoutInternals },
1137
+ TableName extends DefaultSchemaTableNameOrOptions extends {
1138
+ schema: keyof DatabaseWithoutInternals
1139
+ }
1140
+ ? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"]
1141
+ : never = never,
1142
+ > = DefaultSchemaTableNameOrOptions extends {
1143
+ schema: keyof DatabaseWithoutInternals
1144
+ }
1145
+ ? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends {
1146
+ Insert: infer I
1147
+ }
1148
+ ? I
1149
+ : never
1150
+ : DefaultSchemaTableNameOrOptions extends keyof DefaultSchema["Tables"]
1151
+ ? DefaultSchema["Tables"][DefaultSchemaTableNameOrOptions] extends {
1152
+ Insert: infer I
1153
+ }
1154
+ ? I
1155
+ : never
1156
+ : never
1157
+
1158
+ export type TablesUpdate<
1159
+ DefaultSchemaTableNameOrOptions extends
1160
+ | keyof DefaultSchema["Tables"]
1161
+ | { schema: keyof DatabaseWithoutInternals },
1162
+ TableName extends DefaultSchemaTableNameOrOptions extends {
1163
+ schema: keyof DatabaseWithoutInternals
1164
+ }
1165
+ ? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"]
1166
+ : never = never,
1167
+ > = DefaultSchemaTableNameOrOptions extends {
1168
+ schema: keyof DatabaseWithoutInternals
1169
+ }
1170
+ ? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends {
1171
+ Update: infer U
1172
+ }
1173
+ ? U
1174
+ : never
1175
+ : DefaultSchemaTableNameOrOptions extends keyof DefaultSchema["Tables"]
1176
+ ? DefaultSchema["Tables"][DefaultSchemaTableNameOrOptions] extends {
1177
+ Update: infer U
1178
+ }
1179
+ ? U
1180
+ : never
1181
+ : never
1182
+
1183
+ export type Enums<
1184
+ DefaultSchemaEnumNameOrOptions extends
1185
+ | keyof DefaultSchema["Enums"]
1186
+ | { schema: keyof DatabaseWithoutInternals },
1187
+ EnumName extends DefaultSchemaEnumNameOrOptions extends {
1188
+ schema: keyof DatabaseWithoutInternals
1189
+ }
1190
+ ? keyof DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"]
1191
+ : never = never,
1192
+ > = DefaultSchemaEnumNameOrOptions extends {
1193
+ schema: keyof DatabaseWithoutInternals
1194
+ }
1195
+ ? DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"][EnumName]
1196
+ : DefaultSchemaEnumNameOrOptions extends keyof DefaultSchema["Enums"]
1197
+ ? DefaultSchema["Enums"][DefaultSchemaEnumNameOrOptions]
1198
+ : never
1199
+
1200
+ export type CompositeTypes<
1201
+ PublicCompositeTypeNameOrOptions extends
1202
+ | keyof DefaultSchema["CompositeTypes"]
1203
+ | { schema: keyof DatabaseWithoutInternals },
1204
+ CompositeTypeName extends PublicCompositeTypeNameOrOptions extends {
1205
+ schema: keyof DatabaseWithoutInternals
1206
+ }
1207
+ ? keyof DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"]
1208
+ : never = never,
1209
+ > = PublicCompositeTypeNameOrOptions extends {
1210
+ schema: keyof DatabaseWithoutInternals
1211
+ }
1212
+ ? DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"][CompositeTypeName]
1213
+ : PublicCompositeTypeNameOrOptions extends keyof DefaultSchema["CompositeTypes"]
1214
+ ? DefaultSchema["CompositeTypes"][PublicCompositeTypeNameOrOptions]
1215
+ : never
1216
+
1217
+ export const Constants = {
1218
+ public: {
1219
+ Enums: {
1220
+ banTypes: ["cool", "silenced", "restricted", "excluded"],
1221
+ discordWebhookType: ["maps", "scores"],
1222
+ },
1223
+ },
1224
+ } as const