@playcademy/sdk 0.1.18 → 0.2.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/README.md +48 -0
- package/dist/index.d.ts +402 -3375
- package/dist/index.js +737 -1767
- package/dist/internal.d.ts +6571 -0
- package/dist/internal.js +2972 -0
- package/dist/server.d.ts +86 -40
- package/dist/server.js +9 -35
- package/dist/types.d.ts +654 -1971
- package/package.json +7 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
import { AUTH_PROVIDER_IDS } from '@playcademy/constants';
|
|
2
|
-
import { InferSelectModel } from 'drizzle-orm';
|
|
3
|
-
import * as drizzle_orm_pg_core from 'drizzle-orm/pg-core';
|
|
4
|
-
import * as drizzle_zod from 'drizzle-zod';
|
|
5
|
-
import { z } from 'zod';
|
|
6
1
|
import * as _playcademy_realtime_server_types from '@playcademy/realtime/server/types';
|
|
2
|
+
import * as drizzle_orm_pg_core from 'drizzle-orm/pg-core';
|
|
7
3
|
import * as _playcademy_timeback_types from '@playcademy/timeback/types';
|
|
8
|
-
import {
|
|
9
|
-
import { SchemaInfo } from '@playcademy/cloudflare';
|
|
4
|
+
import { AUTH_PROVIDER_IDS } from '@playcademy/constants';
|
|
10
5
|
|
|
11
6
|
/**
|
|
12
7
|
* Base error class for Cademy SDK specific errors.
|
|
@@ -246,6 +241,21 @@ declare class ConnectionMonitor {
|
|
|
246
241
|
private _setState;
|
|
247
242
|
}
|
|
248
243
|
|
|
244
|
+
/**
|
|
245
|
+
* OAuth 2.0 implementation for the Playcademy SDK
|
|
246
|
+
*/
|
|
247
|
+
|
|
248
|
+
/**
|
|
249
|
+
* Parses an OAuth state parameter to extract CSRF token and any encoded data.
|
|
250
|
+
*
|
|
251
|
+
* @param state - The OAuth state parameter to parse
|
|
252
|
+
* @returns Object containing CSRF token and optional decoded data
|
|
253
|
+
*/
|
|
254
|
+
declare function parseOAuthState(state: string): {
|
|
255
|
+
csrfToken: string;
|
|
256
|
+
data?: Record<string, string>;
|
|
257
|
+
};
|
|
258
|
+
|
|
249
259
|
declare const users: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
250
260
|
name: "user";
|
|
251
261
|
schema: undefined;
|
|
@@ -457,36 +467,13 @@ declare const users: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
|
457
467
|
};
|
|
458
468
|
dialect: "pg";
|
|
459
469
|
}>;
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
description?: string;
|
|
463
|
-
emoji?: string;
|
|
464
|
-
[key: string]: unknown;
|
|
465
|
-
};
|
|
466
|
-
/**
|
|
467
|
-
* DNS validation records for custom hostname
|
|
468
|
-
* Structure for the validationRecords JSON field in game_custom_hostnames table
|
|
469
|
-
*/
|
|
470
|
-
type CustomHostnameValidationRecords = {
|
|
471
|
-
/** TXT record for ownership verification */
|
|
472
|
-
ownership?: {
|
|
473
|
-
name?: string;
|
|
474
|
-
value?: string;
|
|
475
|
-
type?: string;
|
|
476
|
-
};
|
|
477
|
-
/** TXT records for SSL certificate validation */
|
|
478
|
-
ssl?: Array<{
|
|
479
|
-
txt_name?: string;
|
|
480
|
-
txt_value?: string;
|
|
481
|
-
}>;
|
|
482
|
-
};
|
|
483
|
-
declare const games: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
484
|
-
name: "games";
|
|
470
|
+
declare const items: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
471
|
+
name: "items";
|
|
485
472
|
schema: undefined;
|
|
486
473
|
columns: {
|
|
487
474
|
id: drizzle_orm_pg_core.PgColumn<{
|
|
488
475
|
name: "id";
|
|
489
|
-
tableName: "
|
|
476
|
+
tableName: "items";
|
|
490
477
|
dataType: "string";
|
|
491
478
|
columnType: "PgUUID";
|
|
492
479
|
data: string;
|
|
@@ -501,14 +488,14 @@ declare const games: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
|
501
488
|
identity: undefined;
|
|
502
489
|
generated: undefined;
|
|
503
490
|
}, {}, {}>;
|
|
504
|
-
|
|
505
|
-
name: "
|
|
506
|
-
tableName: "
|
|
491
|
+
slug: drizzle_orm_pg_core.PgColumn<{
|
|
492
|
+
name: "slug";
|
|
493
|
+
tableName: "items";
|
|
507
494
|
dataType: "string";
|
|
508
495
|
columnType: "PgText";
|
|
509
496
|
data: string;
|
|
510
497
|
driverParam: string;
|
|
511
|
-
notNull:
|
|
498
|
+
notNull: true;
|
|
512
499
|
hasDefault: false;
|
|
513
500
|
isPrimaryKey: false;
|
|
514
501
|
isAutoincrement: false;
|
|
@@ -518,30 +505,28 @@ declare const games: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
|
518
505
|
identity: undefined;
|
|
519
506
|
generated: undefined;
|
|
520
507
|
}, {}, {}>;
|
|
521
|
-
|
|
522
|
-
name: "
|
|
523
|
-
tableName: "
|
|
508
|
+
gameId: drizzle_orm_pg_core.PgColumn<{
|
|
509
|
+
name: "game_id";
|
|
510
|
+
tableName: "items";
|
|
524
511
|
dataType: "string";
|
|
525
|
-
columnType: "
|
|
512
|
+
columnType: "PgUUID";
|
|
526
513
|
data: string;
|
|
527
514
|
driverParam: string;
|
|
528
|
-
notNull:
|
|
515
|
+
notNull: false;
|
|
529
516
|
hasDefault: false;
|
|
530
517
|
isPrimaryKey: false;
|
|
531
518
|
isAutoincrement: false;
|
|
532
519
|
hasRuntimeDefault: false;
|
|
533
|
-
enumValues:
|
|
520
|
+
enumValues: undefined;
|
|
534
521
|
baseColumn: never;
|
|
535
522
|
identity: undefined;
|
|
536
523
|
generated: undefined;
|
|
537
|
-
}, {}, {
|
|
538
|
-
length: 255;
|
|
539
|
-
}>;
|
|
524
|
+
}, {}, {}>;
|
|
540
525
|
displayName: drizzle_orm_pg_core.PgColumn<{
|
|
541
526
|
name: "display_name";
|
|
542
|
-
tableName: "
|
|
527
|
+
tableName: "items";
|
|
543
528
|
dataType: "string";
|
|
544
|
-
columnType: "
|
|
529
|
+
columnType: "PgText";
|
|
545
530
|
data: string;
|
|
546
531
|
driverParam: string;
|
|
547
532
|
notNull: true;
|
|
@@ -553,17 +538,15 @@ declare const games: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
|
553
538
|
baseColumn: never;
|
|
554
539
|
identity: undefined;
|
|
555
540
|
generated: undefined;
|
|
556
|
-
}, {}, {
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
name: "version";
|
|
561
|
-
tableName: "games";
|
|
541
|
+
}, {}, {}>;
|
|
542
|
+
description: drizzle_orm_pg_core.PgColumn<{
|
|
543
|
+
name: "description";
|
|
544
|
+
tableName: "items";
|
|
562
545
|
dataType: "string";
|
|
563
|
-
columnType: "
|
|
546
|
+
columnType: "PgText";
|
|
564
547
|
data: string;
|
|
565
548
|
driverParam: string;
|
|
566
|
-
notNull:
|
|
549
|
+
notNull: false;
|
|
567
550
|
hasDefault: false;
|
|
568
551
|
isPrimaryKey: false;
|
|
569
552
|
isAutoincrement: false;
|
|
@@ -572,29 +555,44 @@ declare const games: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
|
572
555
|
baseColumn: never;
|
|
573
556
|
identity: undefined;
|
|
574
557
|
generated: undefined;
|
|
575
|
-
}, {}, {
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
name: "game_type";
|
|
580
|
-
tableName: "games";
|
|
558
|
+
}, {}, {}>;
|
|
559
|
+
type: drizzle_orm_pg_core.PgColumn<{
|
|
560
|
+
name: "type";
|
|
561
|
+
tableName: "items";
|
|
581
562
|
dataType: "string";
|
|
582
563
|
columnType: "PgEnumColumn";
|
|
583
|
-
data: "
|
|
564
|
+
data: "currency" | "badge" | "trophy" | "collectible" | "consumable" | "unlock" | "upgrade" | "accessory" | "other";
|
|
584
565
|
driverParam: string;
|
|
585
566
|
notNull: true;
|
|
586
567
|
hasDefault: true;
|
|
587
568
|
isPrimaryKey: false;
|
|
588
569
|
isAutoincrement: false;
|
|
589
570
|
hasRuntimeDefault: false;
|
|
590
|
-
enumValues: ["
|
|
571
|
+
enumValues: ["currency", "badge", "trophy", "collectible", "consumable", "unlock", "upgrade", "accessory", "other"];
|
|
572
|
+
baseColumn: never;
|
|
573
|
+
identity: undefined;
|
|
574
|
+
generated: undefined;
|
|
575
|
+
}, {}, {}>;
|
|
576
|
+
isPlaceable: drizzle_orm_pg_core.PgColumn<{
|
|
577
|
+
name: "is_placeable";
|
|
578
|
+
tableName: "items";
|
|
579
|
+
dataType: "boolean";
|
|
580
|
+
columnType: "PgBoolean";
|
|
581
|
+
data: boolean;
|
|
582
|
+
driverParam: boolean;
|
|
583
|
+
notNull: true;
|
|
584
|
+
hasDefault: true;
|
|
585
|
+
isPrimaryKey: false;
|
|
586
|
+
isAutoincrement: false;
|
|
587
|
+
hasRuntimeDefault: false;
|
|
588
|
+
enumValues: undefined;
|
|
591
589
|
baseColumn: never;
|
|
592
590
|
identity: undefined;
|
|
593
591
|
generated: undefined;
|
|
594
592
|
}, {}, {}>;
|
|
595
|
-
|
|
596
|
-
name: "
|
|
597
|
-
tableName: "
|
|
593
|
+
imageUrl: drizzle_orm_pg_core.PgColumn<{
|
|
594
|
+
name: "image_url";
|
|
595
|
+
tableName: "items";
|
|
598
596
|
dataType: "string";
|
|
599
597
|
columnType: "PgText";
|
|
600
598
|
data: string;
|
|
@@ -609,66 +607,90 @@ declare const games: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
|
609
607
|
identity: undefined;
|
|
610
608
|
generated: undefined;
|
|
611
609
|
}, {}, {}>;
|
|
612
|
-
|
|
613
|
-
name: "
|
|
614
|
-
tableName: "
|
|
615
|
-
dataType: "
|
|
616
|
-
columnType: "
|
|
617
|
-
data:
|
|
618
|
-
driverParam:
|
|
610
|
+
metadata: drizzle_orm_pg_core.PgColumn<{
|
|
611
|
+
name: "metadata";
|
|
612
|
+
tableName: "items";
|
|
613
|
+
dataType: "json";
|
|
614
|
+
columnType: "PgJsonb";
|
|
615
|
+
data: unknown;
|
|
616
|
+
driverParam: unknown;
|
|
619
617
|
notNull: false;
|
|
620
|
-
hasDefault:
|
|
618
|
+
hasDefault: true;
|
|
621
619
|
isPrimaryKey: false;
|
|
622
620
|
isAutoincrement: false;
|
|
623
621
|
hasRuntimeDefault: false;
|
|
624
|
-
enumValues:
|
|
622
|
+
enumValues: undefined;
|
|
625
623
|
baseColumn: never;
|
|
626
624
|
identity: undefined;
|
|
627
625
|
generated: undefined;
|
|
628
626
|
}, {}, {}>;
|
|
629
|
-
|
|
630
|
-
name: "
|
|
631
|
-
tableName: "
|
|
632
|
-
dataType: "
|
|
633
|
-
columnType: "
|
|
634
|
-
data:
|
|
627
|
+
createdAt: drizzle_orm_pg_core.PgColumn<{
|
|
628
|
+
name: "created_at";
|
|
629
|
+
tableName: "items";
|
|
630
|
+
dataType: "date";
|
|
631
|
+
columnType: "PgTimestamp";
|
|
632
|
+
data: Date;
|
|
635
633
|
driverParam: string;
|
|
636
634
|
notNull: true;
|
|
637
635
|
hasDefault: true;
|
|
638
636
|
isPrimaryKey: false;
|
|
639
637
|
isAutoincrement: false;
|
|
640
638
|
hasRuntimeDefault: false;
|
|
641
|
-
enumValues:
|
|
639
|
+
enumValues: undefined;
|
|
642
640
|
baseColumn: never;
|
|
643
641
|
identity: undefined;
|
|
644
642
|
generated: undefined;
|
|
645
643
|
}, {}, {}>;
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
644
|
+
};
|
|
645
|
+
dialect: "pg";
|
|
646
|
+
}>;
|
|
647
|
+
declare const inventoryItems: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
648
|
+
name: "inventory_items";
|
|
649
|
+
schema: undefined;
|
|
650
|
+
columns: {
|
|
651
|
+
id: drizzle_orm_pg_core.PgColumn<{
|
|
652
|
+
name: "id";
|
|
653
|
+
tableName: "inventory_items";
|
|
649
654
|
dataType: "string";
|
|
650
655
|
columnType: "PgUUID";
|
|
651
656
|
data: string;
|
|
652
657
|
driverParam: string;
|
|
653
|
-
notNull:
|
|
658
|
+
notNull: true;
|
|
659
|
+
hasDefault: true;
|
|
660
|
+
isPrimaryKey: true;
|
|
661
|
+
isAutoincrement: false;
|
|
662
|
+
hasRuntimeDefault: false;
|
|
663
|
+
enumValues: undefined;
|
|
664
|
+
baseColumn: never;
|
|
665
|
+
identity: undefined;
|
|
666
|
+
generated: undefined;
|
|
667
|
+
}, {}, {}>;
|
|
668
|
+
userId: drizzle_orm_pg_core.PgColumn<{
|
|
669
|
+
name: "user_id";
|
|
670
|
+
tableName: "inventory_items";
|
|
671
|
+
dataType: "string";
|
|
672
|
+
columnType: "PgText";
|
|
673
|
+
data: string;
|
|
674
|
+
driverParam: string;
|
|
675
|
+
notNull: true;
|
|
654
676
|
hasDefault: false;
|
|
655
677
|
isPrimaryKey: false;
|
|
656
678
|
isAutoincrement: false;
|
|
657
679
|
hasRuntimeDefault: false;
|
|
658
|
-
enumValues:
|
|
680
|
+
enumValues: [string, ...string[]];
|
|
659
681
|
baseColumn: never;
|
|
660
682
|
identity: undefined;
|
|
661
683
|
generated: undefined;
|
|
662
684
|
}, {}, {}>;
|
|
663
|
-
|
|
664
|
-
name: "
|
|
665
|
-
tableName: "
|
|
666
|
-
dataType: "
|
|
667
|
-
columnType: "
|
|
668
|
-
data:
|
|
669
|
-
driverParam:
|
|
685
|
+
itemId: drizzle_orm_pg_core.PgColumn<{
|
|
686
|
+
name: "item_id";
|
|
687
|
+
tableName: "inventory_items";
|
|
688
|
+
dataType: "string";
|
|
689
|
+
columnType: "PgUUID";
|
|
690
|
+
data: string;
|
|
691
|
+
driverParam: string;
|
|
670
692
|
notNull: true;
|
|
671
|
-
hasDefault:
|
|
693
|
+
hasDefault: false;
|
|
672
694
|
isPrimaryKey: false;
|
|
673
695
|
isAutoincrement: false;
|
|
674
696
|
hasRuntimeDefault: false;
|
|
@@ -676,17 +698,15 @@ declare const games: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
|
676
698
|
baseColumn: never;
|
|
677
699
|
identity: undefined;
|
|
678
700
|
generated: undefined;
|
|
679
|
-
}, {}, {
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
driverParam: string;
|
|
689
|
-
notNull: false;
|
|
701
|
+
}, {}, {}>;
|
|
702
|
+
quantity: drizzle_orm_pg_core.PgColumn<{
|
|
703
|
+
name: "quantity";
|
|
704
|
+
tableName: "inventory_items";
|
|
705
|
+
dataType: "number";
|
|
706
|
+
columnType: "PgInteger";
|
|
707
|
+
data: number;
|
|
708
|
+
driverParam: string | number;
|
|
709
|
+
notNull: true;
|
|
690
710
|
hasDefault: true;
|
|
691
711
|
isPrimaryKey: false;
|
|
692
712
|
isAutoincrement: false;
|
|
@@ -698,7 +718,7 @@ declare const games: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
|
698
718
|
}, {}, {}>;
|
|
699
719
|
updatedAt: drizzle_orm_pg_core.PgColumn<{
|
|
700
720
|
name: "updated_at";
|
|
701
|
-
tableName: "
|
|
721
|
+
tableName: "inventory_items";
|
|
702
722
|
dataType: "date";
|
|
703
723
|
columnType: "PgTimestamp";
|
|
704
724
|
data: Date;
|
|
@@ -716,18 +736,13 @@ declare const games: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
|
716
736
|
};
|
|
717
737
|
dialect: "pg";
|
|
718
738
|
}>;
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
*
|
|
722
|
-
* Stores custom domain mappings for games with SSL provisioning via Cloudflare.
|
|
723
|
-
*/
|
|
724
|
-
declare const gameCustomHostnames: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
725
|
-
name: "game_custom_hostnames";
|
|
739
|
+
declare const gameTimebackIntegrations: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
740
|
+
name: "game_timeback_integrations";
|
|
726
741
|
schema: undefined;
|
|
727
742
|
columns: {
|
|
728
743
|
id: drizzle_orm_pg_core.PgColumn<{
|
|
729
744
|
name: "id";
|
|
730
|
-
tableName: "
|
|
745
|
+
tableName: "game_timeback_integrations";
|
|
731
746
|
dataType: "string";
|
|
732
747
|
columnType: "PgUUID";
|
|
733
748
|
data: string;
|
|
@@ -744,7 +759,7 @@ declare const gameCustomHostnames: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
|
744
759
|
}, {}, {}>;
|
|
745
760
|
gameId: drizzle_orm_pg_core.PgColumn<{
|
|
746
761
|
name: "game_id";
|
|
747
|
-
tableName: "
|
|
762
|
+
tableName: "game_timeback_integrations";
|
|
748
763
|
dataType: "string";
|
|
749
764
|
columnType: "PgUUID";
|
|
750
765
|
data: string;
|
|
@@ -759,9 +774,9 @@ declare const gameCustomHostnames: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
|
759
774
|
identity: undefined;
|
|
760
775
|
generated: undefined;
|
|
761
776
|
}, {}, {}>;
|
|
762
|
-
|
|
763
|
-
name: "
|
|
764
|
-
tableName: "
|
|
777
|
+
courseId: drizzle_orm_pg_core.PgColumn<{
|
|
778
|
+
name: "course_id";
|
|
779
|
+
tableName: "game_timeback_integrations";
|
|
765
780
|
dataType: "string";
|
|
766
781
|
columnType: "PgText";
|
|
767
782
|
data: string;
|
|
@@ -776,26 +791,26 @@ declare const gameCustomHostnames: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
|
776
791
|
identity: undefined;
|
|
777
792
|
generated: undefined;
|
|
778
793
|
}, {}, {}>;
|
|
779
|
-
|
|
780
|
-
name: "
|
|
781
|
-
tableName: "
|
|
782
|
-
dataType: "
|
|
783
|
-
columnType: "
|
|
784
|
-
data:
|
|
785
|
-
driverParam: string;
|
|
794
|
+
grade: drizzle_orm_pg_core.PgColumn<{
|
|
795
|
+
name: "grade";
|
|
796
|
+
tableName: "game_timeback_integrations";
|
|
797
|
+
dataType: "number";
|
|
798
|
+
columnType: "PgInteger";
|
|
799
|
+
data: number;
|
|
800
|
+
driverParam: string | number;
|
|
786
801
|
notNull: true;
|
|
787
802
|
hasDefault: false;
|
|
788
803
|
isPrimaryKey: false;
|
|
789
804
|
isAutoincrement: false;
|
|
790
805
|
hasRuntimeDefault: false;
|
|
791
|
-
enumValues:
|
|
806
|
+
enumValues: undefined;
|
|
792
807
|
baseColumn: never;
|
|
793
808
|
identity: undefined;
|
|
794
809
|
generated: undefined;
|
|
795
810
|
}, {}, {}>;
|
|
796
|
-
|
|
797
|
-
name: "
|
|
798
|
-
tableName: "
|
|
811
|
+
subject: drizzle_orm_pg_core.PgColumn<{
|
|
812
|
+
name: "subject";
|
|
813
|
+
tableName: "game_timeback_integrations";
|
|
799
814
|
dataType: "string";
|
|
800
815
|
columnType: "PgText";
|
|
801
816
|
data: string;
|
|
@@ -810,64 +825,30 @@ declare const gameCustomHostnames: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
|
810
825
|
identity: undefined;
|
|
811
826
|
generated: undefined;
|
|
812
827
|
}, {}, {}>;
|
|
813
|
-
|
|
814
|
-
name: "
|
|
815
|
-
tableName: "
|
|
816
|
-
dataType: "
|
|
817
|
-
columnType: "
|
|
818
|
-
data:
|
|
819
|
-
driverParam: string;
|
|
820
|
-
notNull:
|
|
821
|
-
hasDefault:
|
|
822
|
-
isPrimaryKey: false;
|
|
823
|
-
isAutoincrement: false;
|
|
824
|
-
hasRuntimeDefault: false;
|
|
825
|
-
enumValues: ["staging", "production"];
|
|
826
|
-
baseColumn: never;
|
|
827
|
-
identity: undefined;
|
|
828
|
-
generated: undefined;
|
|
829
|
-
}, {}, {}>;
|
|
830
|
-
status: drizzle_orm_pg_core.PgColumn<{
|
|
831
|
-
name: "status";
|
|
832
|
-
tableName: "game_custom_hostnames";
|
|
833
|
-
dataType: "string";
|
|
834
|
-
columnType: "PgEnumColumn";
|
|
835
|
-
data: "pending" | "pending_validation" | "pending_deployment" | "pending_deletion" | "active" | "blocked" | "deleted";
|
|
836
|
-
driverParam: string;
|
|
837
|
-
notNull: true;
|
|
838
|
-
hasDefault: true;
|
|
828
|
+
totalXp: drizzle_orm_pg_core.PgColumn<{
|
|
829
|
+
name: "total_xp";
|
|
830
|
+
tableName: "game_timeback_integrations";
|
|
831
|
+
dataType: "number";
|
|
832
|
+
columnType: "PgInteger";
|
|
833
|
+
data: number;
|
|
834
|
+
driverParam: string | number;
|
|
835
|
+
notNull: false;
|
|
836
|
+
hasDefault: false;
|
|
839
837
|
isPrimaryKey: false;
|
|
840
838
|
isAutoincrement: false;
|
|
841
839
|
hasRuntimeDefault: false;
|
|
842
|
-
enumValues:
|
|
840
|
+
enumValues: undefined;
|
|
843
841
|
baseColumn: never;
|
|
844
842
|
identity: undefined;
|
|
845
843
|
generated: undefined;
|
|
846
844
|
}, {}, {}>;
|
|
847
|
-
|
|
848
|
-
name: "
|
|
849
|
-
tableName: "
|
|
850
|
-
dataType: "
|
|
851
|
-
columnType: "
|
|
852
|
-
data:
|
|
845
|
+
lastVerifiedAt: drizzle_orm_pg_core.PgColumn<{
|
|
846
|
+
name: "last_verified_at";
|
|
847
|
+
tableName: "game_timeback_integrations";
|
|
848
|
+
dataType: "date";
|
|
849
|
+
columnType: "PgTimestamp";
|
|
850
|
+
data: Date;
|
|
853
851
|
driverParam: string;
|
|
854
|
-
notNull: true;
|
|
855
|
-
hasDefault: true;
|
|
856
|
-
isPrimaryKey: false;
|
|
857
|
-
isAutoincrement: false;
|
|
858
|
-
hasRuntimeDefault: false;
|
|
859
|
-
enumValues: ["initializing", "pending_validation", "pending_issuance", "pending_deployment", "active", "deleted"];
|
|
860
|
-
baseColumn: never;
|
|
861
|
-
identity: undefined;
|
|
862
|
-
generated: undefined;
|
|
863
|
-
}, {}, {}>;
|
|
864
|
-
validationRecords: drizzle_orm_pg_core.PgColumn<{
|
|
865
|
-
name: "validation_records";
|
|
866
|
-
tableName: "game_custom_hostnames";
|
|
867
|
-
dataType: "json";
|
|
868
|
-
columnType: "PgJsonb";
|
|
869
|
-
data: CustomHostnameValidationRecords;
|
|
870
|
-
driverParam: unknown;
|
|
871
852
|
notNull: false;
|
|
872
853
|
hasDefault: false;
|
|
873
854
|
isPrimaryKey: false;
|
|
@@ -877,12 +858,10 @@ declare const gameCustomHostnames: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
|
877
858
|
baseColumn: never;
|
|
878
859
|
identity: undefined;
|
|
879
860
|
generated: undefined;
|
|
880
|
-
}, {}, {
|
|
881
|
-
$type: CustomHostnameValidationRecords;
|
|
882
|
-
}>;
|
|
861
|
+
}, {}, {}>;
|
|
883
862
|
createdAt: drizzle_orm_pg_core.PgColumn<{
|
|
884
863
|
name: "created_at";
|
|
885
|
-
tableName: "
|
|
864
|
+
tableName: "game_timeback_integrations";
|
|
886
865
|
dataType: "date";
|
|
887
866
|
columnType: "PgTimestamp";
|
|
888
867
|
data: Date;
|
|
@@ -899,7 +878,7 @@ declare const gameCustomHostnames: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
|
899
878
|
}, {}, {}>;
|
|
900
879
|
updatedAt: drizzle_orm_pg_core.PgColumn<{
|
|
901
880
|
name: "updated_at";
|
|
902
|
-
tableName: "
|
|
881
|
+
tableName: "game_timeback_integrations";
|
|
903
882
|
dataType: "date";
|
|
904
883
|
columnType: "PgTimestamp";
|
|
905
884
|
data: Date;
|
|
@@ -917,2293 +896,10 @@ declare const gameCustomHostnames: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
|
917
896
|
};
|
|
918
897
|
dialect: "pg";
|
|
919
898
|
}>;
|
|
920
|
-
declare const items: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
921
|
-
name: "items";
|
|
922
|
-
schema: undefined;
|
|
923
|
-
columns: {
|
|
924
|
-
id: drizzle_orm_pg_core.PgColumn<{
|
|
925
|
-
name: "id";
|
|
926
|
-
tableName: "items";
|
|
927
|
-
dataType: "string";
|
|
928
|
-
columnType: "PgUUID";
|
|
929
|
-
data: string;
|
|
930
|
-
driverParam: string;
|
|
931
|
-
notNull: true;
|
|
932
|
-
hasDefault: true;
|
|
933
|
-
isPrimaryKey: true;
|
|
934
|
-
isAutoincrement: false;
|
|
935
|
-
hasRuntimeDefault: false;
|
|
936
|
-
enumValues: undefined;
|
|
937
|
-
baseColumn: never;
|
|
938
|
-
identity: undefined;
|
|
939
|
-
generated: undefined;
|
|
940
|
-
}, {}, {}>;
|
|
941
|
-
slug: drizzle_orm_pg_core.PgColumn<{
|
|
942
|
-
name: "slug";
|
|
943
|
-
tableName: "items";
|
|
944
|
-
dataType: "string";
|
|
945
|
-
columnType: "PgText";
|
|
946
|
-
data: string;
|
|
947
|
-
driverParam: string;
|
|
948
|
-
notNull: true;
|
|
949
|
-
hasDefault: false;
|
|
950
|
-
isPrimaryKey: false;
|
|
951
|
-
isAutoincrement: false;
|
|
952
|
-
hasRuntimeDefault: false;
|
|
953
|
-
enumValues: [string, ...string[]];
|
|
954
|
-
baseColumn: never;
|
|
955
|
-
identity: undefined;
|
|
956
|
-
generated: undefined;
|
|
957
|
-
}, {}, {}>;
|
|
958
|
-
gameId: drizzle_orm_pg_core.PgColumn<{
|
|
959
|
-
name: "game_id";
|
|
960
|
-
tableName: "items";
|
|
961
|
-
dataType: "string";
|
|
962
|
-
columnType: "PgUUID";
|
|
963
|
-
data: string;
|
|
964
|
-
driverParam: string;
|
|
965
|
-
notNull: false;
|
|
966
|
-
hasDefault: false;
|
|
967
|
-
isPrimaryKey: false;
|
|
968
|
-
isAutoincrement: false;
|
|
969
|
-
hasRuntimeDefault: false;
|
|
970
|
-
enumValues: undefined;
|
|
971
|
-
baseColumn: never;
|
|
972
|
-
identity: undefined;
|
|
973
|
-
generated: undefined;
|
|
974
|
-
}, {}, {}>;
|
|
975
|
-
displayName: drizzle_orm_pg_core.PgColumn<{
|
|
976
|
-
name: "display_name";
|
|
977
|
-
tableName: "items";
|
|
978
|
-
dataType: "string";
|
|
979
|
-
columnType: "PgText";
|
|
980
|
-
data: string;
|
|
981
|
-
driverParam: string;
|
|
982
|
-
notNull: true;
|
|
983
|
-
hasDefault: false;
|
|
984
|
-
isPrimaryKey: false;
|
|
985
|
-
isAutoincrement: false;
|
|
986
|
-
hasRuntimeDefault: false;
|
|
987
|
-
enumValues: [string, ...string[]];
|
|
988
|
-
baseColumn: never;
|
|
989
|
-
identity: undefined;
|
|
990
|
-
generated: undefined;
|
|
991
|
-
}, {}, {}>;
|
|
992
|
-
description: drizzle_orm_pg_core.PgColumn<{
|
|
993
|
-
name: "description";
|
|
994
|
-
tableName: "items";
|
|
995
|
-
dataType: "string";
|
|
996
|
-
columnType: "PgText";
|
|
997
|
-
data: string;
|
|
998
|
-
driverParam: string;
|
|
999
|
-
notNull: false;
|
|
1000
|
-
hasDefault: false;
|
|
1001
|
-
isPrimaryKey: false;
|
|
1002
|
-
isAutoincrement: false;
|
|
1003
|
-
hasRuntimeDefault: false;
|
|
1004
|
-
enumValues: [string, ...string[]];
|
|
1005
|
-
baseColumn: never;
|
|
1006
|
-
identity: undefined;
|
|
1007
|
-
generated: undefined;
|
|
1008
|
-
}, {}, {}>;
|
|
1009
|
-
type: drizzle_orm_pg_core.PgColumn<{
|
|
1010
|
-
name: "type";
|
|
1011
|
-
tableName: "items";
|
|
1012
|
-
dataType: "string";
|
|
1013
|
-
columnType: "PgEnumColumn";
|
|
1014
|
-
data: "currency" | "badge" | "trophy" | "collectible" | "consumable" | "unlock" | "upgrade" | "accessory" | "other";
|
|
1015
|
-
driverParam: string;
|
|
1016
|
-
notNull: true;
|
|
1017
|
-
hasDefault: true;
|
|
1018
|
-
isPrimaryKey: false;
|
|
1019
|
-
isAutoincrement: false;
|
|
1020
|
-
hasRuntimeDefault: false;
|
|
1021
|
-
enumValues: ["currency", "badge", "trophy", "collectible", "consumable", "unlock", "upgrade", "accessory", "other"];
|
|
1022
|
-
baseColumn: never;
|
|
1023
|
-
identity: undefined;
|
|
1024
|
-
generated: undefined;
|
|
1025
|
-
}, {}, {}>;
|
|
1026
|
-
isPlaceable: drizzle_orm_pg_core.PgColumn<{
|
|
1027
|
-
name: "is_placeable";
|
|
1028
|
-
tableName: "items";
|
|
1029
|
-
dataType: "boolean";
|
|
1030
|
-
columnType: "PgBoolean";
|
|
1031
|
-
data: boolean;
|
|
1032
|
-
driverParam: boolean;
|
|
1033
|
-
notNull: true;
|
|
1034
|
-
hasDefault: true;
|
|
1035
|
-
isPrimaryKey: false;
|
|
1036
|
-
isAutoincrement: false;
|
|
1037
|
-
hasRuntimeDefault: false;
|
|
1038
|
-
enumValues: undefined;
|
|
1039
|
-
baseColumn: never;
|
|
1040
|
-
identity: undefined;
|
|
1041
|
-
generated: undefined;
|
|
1042
|
-
}, {}, {}>;
|
|
1043
|
-
imageUrl: drizzle_orm_pg_core.PgColumn<{
|
|
1044
|
-
name: "image_url";
|
|
1045
|
-
tableName: "items";
|
|
1046
|
-
dataType: "string";
|
|
1047
|
-
columnType: "PgText";
|
|
1048
|
-
data: string;
|
|
1049
|
-
driverParam: string;
|
|
1050
|
-
notNull: false;
|
|
1051
|
-
hasDefault: false;
|
|
1052
|
-
isPrimaryKey: false;
|
|
1053
|
-
isAutoincrement: false;
|
|
1054
|
-
hasRuntimeDefault: false;
|
|
1055
|
-
enumValues: [string, ...string[]];
|
|
1056
|
-
baseColumn: never;
|
|
1057
|
-
identity: undefined;
|
|
1058
|
-
generated: undefined;
|
|
1059
|
-
}, {}, {}>;
|
|
1060
|
-
metadata: drizzle_orm_pg_core.PgColumn<{
|
|
1061
|
-
name: "metadata";
|
|
1062
|
-
tableName: "items";
|
|
1063
|
-
dataType: "json";
|
|
1064
|
-
columnType: "PgJsonb";
|
|
1065
|
-
data: unknown;
|
|
1066
|
-
driverParam: unknown;
|
|
1067
|
-
notNull: false;
|
|
1068
|
-
hasDefault: true;
|
|
1069
|
-
isPrimaryKey: false;
|
|
1070
|
-
isAutoincrement: false;
|
|
1071
|
-
hasRuntimeDefault: false;
|
|
1072
|
-
enumValues: undefined;
|
|
1073
|
-
baseColumn: never;
|
|
1074
|
-
identity: undefined;
|
|
1075
|
-
generated: undefined;
|
|
1076
|
-
}, {}, {}>;
|
|
1077
|
-
createdAt: drizzle_orm_pg_core.PgColumn<{
|
|
1078
|
-
name: "created_at";
|
|
1079
|
-
tableName: "items";
|
|
1080
|
-
dataType: "date";
|
|
1081
|
-
columnType: "PgTimestamp";
|
|
1082
|
-
data: Date;
|
|
1083
|
-
driverParam: string;
|
|
1084
|
-
notNull: true;
|
|
1085
|
-
hasDefault: true;
|
|
1086
|
-
isPrimaryKey: false;
|
|
1087
|
-
isAutoincrement: false;
|
|
1088
|
-
hasRuntimeDefault: false;
|
|
1089
|
-
enumValues: undefined;
|
|
1090
|
-
baseColumn: never;
|
|
1091
|
-
identity: undefined;
|
|
1092
|
-
generated: undefined;
|
|
1093
|
-
}, {}, {}>;
|
|
1094
|
-
};
|
|
1095
|
-
dialect: "pg";
|
|
1096
|
-
}>;
|
|
1097
|
-
declare const inventoryItems: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
1098
|
-
name: "inventory_items";
|
|
1099
|
-
schema: undefined;
|
|
1100
|
-
columns: {
|
|
1101
|
-
id: drizzle_orm_pg_core.PgColumn<{
|
|
1102
|
-
name: "id";
|
|
1103
|
-
tableName: "inventory_items";
|
|
1104
|
-
dataType: "string";
|
|
1105
|
-
columnType: "PgUUID";
|
|
1106
|
-
data: string;
|
|
1107
|
-
driverParam: string;
|
|
1108
|
-
notNull: true;
|
|
1109
|
-
hasDefault: true;
|
|
1110
|
-
isPrimaryKey: true;
|
|
1111
|
-
isAutoincrement: false;
|
|
1112
|
-
hasRuntimeDefault: false;
|
|
1113
|
-
enumValues: undefined;
|
|
1114
|
-
baseColumn: never;
|
|
1115
|
-
identity: undefined;
|
|
1116
|
-
generated: undefined;
|
|
1117
|
-
}, {}, {}>;
|
|
1118
|
-
userId: drizzle_orm_pg_core.PgColumn<{
|
|
1119
|
-
name: "user_id";
|
|
1120
|
-
tableName: "inventory_items";
|
|
1121
|
-
dataType: "string";
|
|
1122
|
-
columnType: "PgText";
|
|
1123
|
-
data: string;
|
|
1124
|
-
driverParam: string;
|
|
1125
|
-
notNull: true;
|
|
1126
|
-
hasDefault: false;
|
|
1127
|
-
isPrimaryKey: false;
|
|
1128
|
-
isAutoincrement: false;
|
|
1129
|
-
hasRuntimeDefault: false;
|
|
1130
|
-
enumValues: [string, ...string[]];
|
|
1131
|
-
baseColumn: never;
|
|
1132
|
-
identity: undefined;
|
|
1133
|
-
generated: undefined;
|
|
1134
|
-
}, {}, {}>;
|
|
1135
|
-
itemId: drizzle_orm_pg_core.PgColumn<{
|
|
1136
|
-
name: "item_id";
|
|
1137
|
-
tableName: "inventory_items";
|
|
1138
|
-
dataType: "string";
|
|
1139
|
-
columnType: "PgUUID";
|
|
1140
|
-
data: string;
|
|
1141
|
-
driverParam: string;
|
|
1142
|
-
notNull: true;
|
|
1143
|
-
hasDefault: false;
|
|
1144
|
-
isPrimaryKey: false;
|
|
1145
|
-
isAutoincrement: false;
|
|
1146
|
-
hasRuntimeDefault: false;
|
|
1147
|
-
enumValues: undefined;
|
|
1148
|
-
baseColumn: never;
|
|
1149
|
-
identity: undefined;
|
|
1150
|
-
generated: undefined;
|
|
1151
|
-
}, {}, {}>;
|
|
1152
|
-
quantity: drizzle_orm_pg_core.PgColumn<{
|
|
1153
|
-
name: "quantity";
|
|
1154
|
-
tableName: "inventory_items";
|
|
1155
|
-
dataType: "number";
|
|
1156
|
-
columnType: "PgInteger";
|
|
1157
|
-
data: number;
|
|
1158
|
-
driverParam: string | number;
|
|
1159
|
-
notNull: true;
|
|
1160
|
-
hasDefault: true;
|
|
1161
|
-
isPrimaryKey: false;
|
|
1162
|
-
isAutoincrement: false;
|
|
1163
|
-
hasRuntimeDefault: false;
|
|
1164
|
-
enumValues: undefined;
|
|
1165
|
-
baseColumn: never;
|
|
1166
|
-
identity: undefined;
|
|
1167
|
-
generated: undefined;
|
|
1168
|
-
}, {}, {}>;
|
|
1169
|
-
updatedAt: drizzle_orm_pg_core.PgColumn<{
|
|
1170
|
-
name: "updated_at";
|
|
1171
|
-
tableName: "inventory_items";
|
|
1172
|
-
dataType: "date";
|
|
1173
|
-
columnType: "PgTimestamp";
|
|
1174
|
-
data: Date;
|
|
1175
|
-
driverParam: string;
|
|
1176
|
-
notNull: false;
|
|
1177
|
-
hasDefault: true;
|
|
1178
|
-
isPrimaryKey: false;
|
|
1179
|
-
isAutoincrement: false;
|
|
1180
|
-
hasRuntimeDefault: false;
|
|
1181
|
-
enumValues: undefined;
|
|
1182
|
-
baseColumn: never;
|
|
1183
|
-
identity: undefined;
|
|
1184
|
-
generated: undefined;
|
|
1185
|
-
}, {}, {}>;
|
|
1186
|
-
};
|
|
1187
|
-
dialect: "pg";
|
|
1188
|
-
}>;
|
|
1189
|
-
declare const shopListings: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
1190
|
-
name: "shop_listings";
|
|
1191
|
-
schema: undefined;
|
|
1192
|
-
columns: {
|
|
1193
|
-
id: drizzle_orm_pg_core.PgColumn<{
|
|
1194
|
-
name: "id";
|
|
1195
|
-
tableName: "shop_listings";
|
|
1196
|
-
dataType: "string";
|
|
1197
|
-
columnType: "PgUUID";
|
|
1198
|
-
data: string;
|
|
1199
|
-
driverParam: string;
|
|
1200
|
-
notNull: true;
|
|
1201
|
-
hasDefault: true;
|
|
1202
|
-
isPrimaryKey: true;
|
|
1203
|
-
isAutoincrement: false;
|
|
1204
|
-
hasRuntimeDefault: false;
|
|
1205
|
-
enumValues: undefined;
|
|
1206
|
-
baseColumn: never;
|
|
1207
|
-
identity: undefined;
|
|
1208
|
-
generated: undefined;
|
|
1209
|
-
}, {}, {}>;
|
|
1210
|
-
itemId: drizzle_orm_pg_core.PgColumn<{
|
|
1211
|
-
name: "item_id";
|
|
1212
|
-
tableName: "shop_listings";
|
|
1213
|
-
dataType: "string";
|
|
1214
|
-
columnType: "PgUUID";
|
|
1215
|
-
data: string;
|
|
1216
|
-
driverParam: string;
|
|
1217
|
-
notNull: true;
|
|
1218
|
-
hasDefault: false;
|
|
1219
|
-
isPrimaryKey: false;
|
|
1220
|
-
isAutoincrement: false;
|
|
1221
|
-
hasRuntimeDefault: false;
|
|
1222
|
-
enumValues: undefined;
|
|
1223
|
-
baseColumn: never;
|
|
1224
|
-
identity: undefined;
|
|
1225
|
-
generated: undefined;
|
|
1226
|
-
}, {}, {}>;
|
|
1227
|
-
currencyId: drizzle_orm_pg_core.PgColumn<{
|
|
1228
|
-
name: "currency_id";
|
|
1229
|
-
tableName: "shop_listings";
|
|
1230
|
-
dataType: "string";
|
|
1231
|
-
columnType: "PgUUID";
|
|
1232
|
-
data: string;
|
|
1233
|
-
driverParam: string;
|
|
1234
|
-
notNull: true;
|
|
1235
|
-
hasDefault: false;
|
|
1236
|
-
isPrimaryKey: false;
|
|
1237
|
-
isAutoincrement: false;
|
|
1238
|
-
hasRuntimeDefault: false;
|
|
1239
|
-
enumValues: undefined;
|
|
1240
|
-
baseColumn: never;
|
|
1241
|
-
identity: undefined;
|
|
1242
|
-
generated: undefined;
|
|
1243
|
-
}, {}, {}>;
|
|
1244
|
-
price: drizzle_orm_pg_core.PgColumn<{
|
|
1245
|
-
name: "price";
|
|
1246
|
-
tableName: "shop_listings";
|
|
1247
|
-
dataType: "number";
|
|
1248
|
-
columnType: "PgInteger";
|
|
1249
|
-
data: number;
|
|
1250
|
-
driverParam: string | number;
|
|
1251
|
-
notNull: true;
|
|
1252
|
-
hasDefault: false;
|
|
1253
|
-
isPrimaryKey: false;
|
|
1254
|
-
isAutoincrement: false;
|
|
1255
|
-
hasRuntimeDefault: false;
|
|
1256
|
-
enumValues: undefined;
|
|
1257
|
-
baseColumn: never;
|
|
1258
|
-
identity: undefined;
|
|
1259
|
-
generated: undefined;
|
|
1260
|
-
}, {}, {}>;
|
|
1261
|
-
sellBackPercentage: drizzle_orm_pg_core.PgColumn<{
|
|
1262
|
-
name: "sell_back_percentage";
|
|
1263
|
-
tableName: "shop_listings";
|
|
1264
|
-
dataType: "number";
|
|
1265
|
-
columnType: "PgInteger";
|
|
1266
|
-
data: number;
|
|
1267
|
-
driverParam: string | number;
|
|
1268
|
-
notNull: false;
|
|
1269
|
-
hasDefault: false;
|
|
1270
|
-
isPrimaryKey: false;
|
|
1271
|
-
isAutoincrement: false;
|
|
1272
|
-
hasRuntimeDefault: false;
|
|
1273
|
-
enumValues: undefined;
|
|
1274
|
-
baseColumn: never;
|
|
1275
|
-
identity: undefined;
|
|
1276
|
-
generated: undefined;
|
|
1277
|
-
}, {}, {}>;
|
|
1278
|
-
stock: drizzle_orm_pg_core.PgColumn<{
|
|
1279
|
-
name: "stock";
|
|
1280
|
-
tableName: "shop_listings";
|
|
1281
|
-
dataType: "number";
|
|
1282
|
-
columnType: "PgInteger";
|
|
1283
|
-
data: number;
|
|
1284
|
-
driverParam: string | number;
|
|
1285
|
-
notNull: false;
|
|
1286
|
-
hasDefault: false;
|
|
1287
|
-
isPrimaryKey: false;
|
|
1288
|
-
isAutoincrement: false;
|
|
1289
|
-
hasRuntimeDefault: false;
|
|
1290
|
-
enumValues: undefined;
|
|
1291
|
-
baseColumn: never;
|
|
1292
|
-
identity: undefined;
|
|
1293
|
-
generated: undefined;
|
|
1294
|
-
}, {}, {}>;
|
|
1295
|
-
isActive: drizzle_orm_pg_core.PgColumn<{
|
|
1296
|
-
name: "is_active";
|
|
1297
|
-
tableName: "shop_listings";
|
|
1298
|
-
dataType: "boolean";
|
|
1299
|
-
columnType: "PgBoolean";
|
|
1300
|
-
data: boolean;
|
|
1301
|
-
driverParam: boolean;
|
|
1302
|
-
notNull: true;
|
|
1303
|
-
hasDefault: true;
|
|
1304
|
-
isPrimaryKey: false;
|
|
1305
|
-
isAutoincrement: false;
|
|
1306
|
-
hasRuntimeDefault: false;
|
|
1307
|
-
enumValues: undefined;
|
|
1308
|
-
baseColumn: never;
|
|
1309
|
-
identity: undefined;
|
|
1310
|
-
generated: undefined;
|
|
1311
|
-
}, {}, {}>;
|
|
1312
|
-
availableFrom: drizzle_orm_pg_core.PgColumn<{
|
|
1313
|
-
name: "available_from";
|
|
1314
|
-
tableName: "shop_listings";
|
|
1315
|
-
dataType: "date";
|
|
1316
|
-
columnType: "PgTimestamp";
|
|
1317
|
-
data: Date;
|
|
1318
|
-
driverParam: string;
|
|
1319
|
-
notNull: false;
|
|
1320
|
-
hasDefault: false;
|
|
1321
|
-
isPrimaryKey: false;
|
|
1322
|
-
isAutoincrement: false;
|
|
1323
|
-
hasRuntimeDefault: false;
|
|
1324
|
-
enumValues: undefined;
|
|
1325
|
-
baseColumn: never;
|
|
1326
|
-
identity: undefined;
|
|
1327
|
-
generated: undefined;
|
|
1328
|
-
}, {}, {}>;
|
|
1329
|
-
availableUntil: drizzle_orm_pg_core.PgColumn<{
|
|
1330
|
-
name: "available_until";
|
|
1331
|
-
tableName: "shop_listings";
|
|
1332
|
-
dataType: "date";
|
|
1333
|
-
columnType: "PgTimestamp";
|
|
1334
|
-
data: Date;
|
|
1335
|
-
driverParam: string;
|
|
1336
|
-
notNull: false;
|
|
1337
|
-
hasDefault: false;
|
|
1338
|
-
isPrimaryKey: false;
|
|
1339
|
-
isAutoincrement: false;
|
|
1340
|
-
hasRuntimeDefault: false;
|
|
1341
|
-
enumValues: undefined;
|
|
1342
|
-
baseColumn: never;
|
|
1343
|
-
identity: undefined;
|
|
1344
|
-
generated: undefined;
|
|
1345
|
-
}, {}, {}>;
|
|
1346
|
-
createdAt: drizzle_orm_pg_core.PgColumn<{
|
|
1347
|
-
name: "created_at";
|
|
1348
|
-
tableName: "shop_listings";
|
|
1349
|
-
dataType: "date";
|
|
1350
|
-
columnType: "PgTimestamp";
|
|
1351
|
-
data: Date;
|
|
1352
|
-
driverParam: string;
|
|
1353
|
-
notNull: true;
|
|
1354
|
-
hasDefault: true;
|
|
1355
|
-
isPrimaryKey: false;
|
|
1356
|
-
isAutoincrement: false;
|
|
1357
|
-
hasRuntimeDefault: false;
|
|
1358
|
-
enumValues: undefined;
|
|
1359
|
-
baseColumn: never;
|
|
1360
|
-
identity: undefined;
|
|
1361
|
-
generated: undefined;
|
|
1362
|
-
}, {}, {}>;
|
|
1363
|
-
updatedAt: drizzle_orm_pg_core.PgColumn<{
|
|
1364
|
-
name: "updated_at";
|
|
1365
|
-
tableName: "shop_listings";
|
|
1366
|
-
dataType: "date";
|
|
1367
|
-
columnType: "PgTimestamp";
|
|
1368
|
-
data: Date;
|
|
1369
|
-
driverParam: string;
|
|
1370
|
-
notNull: false;
|
|
1371
|
-
hasDefault: true;
|
|
1372
|
-
isPrimaryKey: false;
|
|
1373
|
-
isAutoincrement: false;
|
|
1374
|
-
hasRuntimeDefault: false;
|
|
1375
|
-
enumValues: undefined;
|
|
1376
|
-
baseColumn: never;
|
|
1377
|
-
identity: undefined;
|
|
1378
|
-
generated: undefined;
|
|
1379
|
-
}, {}, {}>;
|
|
1380
|
-
};
|
|
1381
|
-
dialect: "pg";
|
|
1382
|
-
}>;
|
|
1383
|
-
declare const mapElements: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
1384
|
-
name: "map_elements";
|
|
1385
|
-
schema: undefined;
|
|
1386
|
-
columns: {
|
|
1387
|
-
id: drizzle_orm_pg_core.PgColumn<{
|
|
1388
|
-
name: "id";
|
|
1389
|
-
tableName: "map_elements";
|
|
1390
|
-
dataType: "string";
|
|
1391
|
-
columnType: "PgUUID";
|
|
1392
|
-
data: string;
|
|
1393
|
-
driverParam: string;
|
|
1394
|
-
notNull: true;
|
|
1395
|
-
hasDefault: true;
|
|
1396
|
-
isPrimaryKey: true;
|
|
1397
|
-
isAutoincrement: false;
|
|
1398
|
-
hasRuntimeDefault: false;
|
|
1399
|
-
enumValues: undefined;
|
|
1400
|
-
baseColumn: never;
|
|
1401
|
-
identity: undefined;
|
|
1402
|
-
generated: undefined;
|
|
1403
|
-
}, {}, {}>;
|
|
1404
|
-
mapId: drizzle_orm_pg_core.PgColumn<{
|
|
1405
|
-
name: "map_id";
|
|
1406
|
-
tableName: "map_elements";
|
|
1407
|
-
dataType: "string";
|
|
1408
|
-
columnType: "PgUUID";
|
|
1409
|
-
data: string;
|
|
1410
|
-
driverParam: string;
|
|
1411
|
-
notNull: false;
|
|
1412
|
-
hasDefault: false;
|
|
1413
|
-
isPrimaryKey: false;
|
|
1414
|
-
isAutoincrement: false;
|
|
1415
|
-
hasRuntimeDefault: false;
|
|
1416
|
-
enumValues: undefined;
|
|
1417
|
-
baseColumn: never;
|
|
1418
|
-
identity: undefined;
|
|
1419
|
-
generated: undefined;
|
|
1420
|
-
}, {}, {}>;
|
|
1421
|
-
elementSlug: drizzle_orm_pg_core.PgColumn<{
|
|
1422
|
-
name: "element_slug";
|
|
1423
|
-
tableName: "map_elements";
|
|
1424
|
-
dataType: "string";
|
|
1425
|
-
columnType: "PgVarchar";
|
|
1426
|
-
data: string;
|
|
1427
|
-
driverParam: string;
|
|
1428
|
-
notNull: true;
|
|
1429
|
-
hasDefault: false;
|
|
1430
|
-
isPrimaryKey: false;
|
|
1431
|
-
isAutoincrement: false;
|
|
1432
|
-
hasRuntimeDefault: false;
|
|
1433
|
-
enumValues: [string, ...string[]];
|
|
1434
|
-
baseColumn: never;
|
|
1435
|
-
identity: undefined;
|
|
1436
|
-
generated: undefined;
|
|
1437
|
-
}, {}, {
|
|
1438
|
-
length: 255;
|
|
1439
|
-
}>;
|
|
1440
|
-
interactionType: drizzle_orm_pg_core.PgColumn<{
|
|
1441
|
-
name: "interaction_type";
|
|
1442
|
-
tableName: "map_elements";
|
|
1443
|
-
dataType: "string";
|
|
1444
|
-
columnType: "PgEnumColumn";
|
|
1445
|
-
data: "game_entry" | "game_registry" | "info" | "teleport" | "door_in" | "door_out" | "npc_interaction" | "quest_trigger";
|
|
1446
|
-
driverParam: string;
|
|
1447
|
-
notNull: true;
|
|
1448
|
-
hasDefault: false;
|
|
1449
|
-
isPrimaryKey: false;
|
|
1450
|
-
isAutoincrement: false;
|
|
1451
|
-
hasRuntimeDefault: false;
|
|
1452
|
-
enumValues: ["game_entry", "game_registry", "info", "teleport", "door_in", "door_out", "npc_interaction", "quest_trigger"];
|
|
1453
|
-
baseColumn: never;
|
|
1454
|
-
identity: undefined;
|
|
1455
|
-
generated: undefined;
|
|
1456
|
-
}, {}, {}>;
|
|
1457
|
-
gameId: drizzle_orm_pg_core.PgColumn<{
|
|
1458
|
-
name: "game_id";
|
|
1459
|
-
tableName: "map_elements";
|
|
1460
|
-
dataType: "string";
|
|
1461
|
-
columnType: "PgUUID";
|
|
1462
|
-
data: string;
|
|
1463
|
-
driverParam: string;
|
|
1464
|
-
notNull: false;
|
|
1465
|
-
hasDefault: false;
|
|
1466
|
-
isPrimaryKey: false;
|
|
1467
|
-
isAutoincrement: false;
|
|
1468
|
-
hasRuntimeDefault: false;
|
|
1469
|
-
enumValues: undefined;
|
|
1470
|
-
baseColumn: never;
|
|
1471
|
-
identity: undefined;
|
|
1472
|
-
generated: undefined;
|
|
1473
|
-
}, {}, {}>;
|
|
1474
|
-
metadata: drizzle_orm_pg_core.PgColumn<{
|
|
1475
|
-
name: "metadata";
|
|
1476
|
-
tableName: "map_elements";
|
|
1477
|
-
dataType: "json";
|
|
1478
|
-
columnType: "PgJsonb";
|
|
1479
|
-
data: Record<string, unknown>;
|
|
1480
|
-
driverParam: unknown;
|
|
1481
|
-
notNull: false;
|
|
1482
|
-
hasDefault: true;
|
|
1483
|
-
isPrimaryKey: false;
|
|
1484
|
-
isAutoincrement: false;
|
|
1485
|
-
hasRuntimeDefault: false;
|
|
1486
|
-
enumValues: undefined;
|
|
1487
|
-
baseColumn: never;
|
|
1488
|
-
identity: undefined;
|
|
1489
|
-
generated: undefined;
|
|
1490
|
-
}, {}, {
|
|
1491
|
-
$type: Record<string, unknown>;
|
|
1492
|
-
}>;
|
|
1493
|
-
};
|
|
1494
|
-
dialect: "pg";
|
|
1495
|
-
}>;
|
|
1496
|
-
declare const mapObjects: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
1497
|
-
name: "map_objects";
|
|
1498
|
-
schema: undefined;
|
|
1499
|
-
columns: {
|
|
1500
|
-
id: drizzle_orm_pg_core.PgColumn<{
|
|
1501
|
-
name: "id";
|
|
1502
|
-
tableName: "map_objects";
|
|
1503
|
-
dataType: "string";
|
|
1504
|
-
columnType: "PgUUID";
|
|
1505
|
-
data: string;
|
|
1506
|
-
driverParam: string;
|
|
1507
|
-
notNull: true;
|
|
1508
|
-
hasDefault: true;
|
|
1509
|
-
isPrimaryKey: true;
|
|
1510
|
-
isAutoincrement: false;
|
|
1511
|
-
hasRuntimeDefault: false;
|
|
1512
|
-
enumValues: undefined;
|
|
1513
|
-
baseColumn: never;
|
|
1514
|
-
identity: undefined;
|
|
1515
|
-
generated: undefined;
|
|
1516
|
-
}, {}, {}>;
|
|
1517
|
-
userId: drizzle_orm_pg_core.PgColumn<{
|
|
1518
|
-
name: "user_id";
|
|
1519
|
-
tableName: "map_objects";
|
|
1520
|
-
dataType: "string";
|
|
1521
|
-
columnType: "PgText";
|
|
1522
|
-
data: string;
|
|
1523
|
-
driverParam: string;
|
|
1524
|
-
notNull: true;
|
|
1525
|
-
hasDefault: false;
|
|
1526
|
-
isPrimaryKey: false;
|
|
1527
|
-
isAutoincrement: false;
|
|
1528
|
-
hasRuntimeDefault: false;
|
|
1529
|
-
enumValues: [string, ...string[]];
|
|
1530
|
-
baseColumn: never;
|
|
1531
|
-
identity: undefined;
|
|
1532
|
-
generated: undefined;
|
|
1533
|
-
}, {}, {}>;
|
|
1534
|
-
mapId: drizzle_orm_pg_core.PgColumn<{
|
|
1535
|
-
name: "map_id";
|
|
1536
|
-
tableName: "map_objects";
|
|
1537
|
-
dataType: "string";
|
|
1538
|
-
columnType: "PgUUID";
|
|
1539
|
-
data: string;
|
|
1540
|
-
driverParam: string;
|
|
1541
|
-
notNull: true;
|
|
1542
|
-
hasDefault: false;
|
|
1543
|
-
isPrimaryKey: false;
|
|
1544
|
-
isAutoincrement: false;
|
|
1545
|
-
hasRuntimeDefault: false;
|
|
1546
|
-
enumValues: undefined;
|
|
1547
|
-
baseColumn: never;
|
|
1548
|
-
identity: undefined;
|
|
1549
|
-
generated: undefined;
|
|
1550
|
-
}, {}, {}>;
|
|
1551
|
-
itemId: drizzle_orm_pg_core.PgColumn<{
|
|
1552
|
-
name: "item_id";
|
|
1553
|
-
tableName: "map_objects";
|
|
1554
|
-
dataType: "string";
|
|
1555
|
-
columnType: "PgUUID";
|
|
1556
|
-
data: string;
|
|
1557
|
-
driverParam: string;
|
|
1558
|
-
notNull: true;
|
|
1559
|
-
hasDefault: false;
|
|
1560
|
-
isPrimaryKey: false;
|
|
1561
|
-
isAutoincrement: false;
|
|
1562
|
-
hasRuntimeDefault: false;
|
|
1563
|
-
enumValues: undefined;
|
|
1564
|
-
baseColumn: never;
|
|
1565
|
-
identity: undefined;
|
|
1566
|
-
generated: undefined;
|
|
1567
|
-
}, {}, {}>;
|
|
1568
|
-
worldX: drizzle_orm_pg_core.PgColumn<{
|
|
1569
|
-
name: "world_x";
|
|
1570
|
-
tableName: "map_objects";
|
|
1571
|
-
dataType: "number";
|
|
1572
|
-
columnType: "PgDoublePrecision";
|
|
1573
|
-
data: number;
|
|
1574
|
-
driverParam: string | number;
|
|
1575
|
-
notNull: true;
|
|
1576
|
-
hasDefault: false;
|
|
1577
|
-
isPrimaryKey: false;
|
|
1578
|
-
isAutoincrement: false;
|
|
1579
|
-
hasRuntimeDefault: false;
|
|
1580
|
-
enumValues: undefined;
|
|
1581
|
-
baseColumn: never;
|
|
1582
|
-
identity: undefined;
|
|
1583
|
-
generated: undefined;
|
|
1584
|
-
}, {}, {}>;
|
|
1585
|
-
worldY: drizzle_orm_pg_core.PgColumn<{
|
|
1586
|
-
name: "world_y";
|
|
1587
|
-
tableName: "map_objects";
|
|
1588
|
-
dataType: "number";
|
|
1589
|
-
columnType: "PgDoublePrecision";
|
|
1590
|
-
data: number;
|
|
1591
|
-
driverParam: string | number;
|
|
1592
|
-
notNull: true;
|
|
1593
|
-
hasDefault: false;
|
|
1594
|
-
isPrimaryKey: false;
|
|
1595
|
-
isAutoincrement: false;
|
|
1596
|
-
hasRuntimeDefault: false;
|
|
1597
|
-
enumValues: undefined;
|
|
1598
|
-
baseColumn: never;
|
|
1599
|
-
identity: undefined;
|
|
1600
|
-
generated: undefined;
|
|
1601
|
-
}, {}, {}>;
|
|
1602
|
-
rotation: drizzle_orm_pg_core.PgColumn<{
|
|
1603
|
-
name: "rotation";
|
|
1604
|
-
tableName: "map_objects";
|
|
1605
|
-
dataType: "number";
|
|
1606
|
-
columnType: "PgInteger";
|
|
1607
|
-
data: number;
|
|
1608
|
-
driverParam: string | number;
|
|
1609
|
-
notNull: true;
|
|
1610
|
-
hasDefault: true;
|
|
1611
|
-
isPrimaryKey: false;
|
|
1612
|
-
isAutoincrement: false;
|
|
1613
|
-
hasRuntimeDefault: false;
|
|
1614
|
-
enumValues: undefined;
|
|
1615
|
-
baseColumn: never;
|
|
1616
|
-
identity: undefined;
|
|
1617
|
-
generated: undefined;
|
|
1618
|
-
}, {}, {}>;
|
|
1619
|
-
scale: drizzle_orm_pg_core.PgColumn<{
|
|
1620
|
-
name: "scale";
|
|
1621
|
-
tableName: "map_objects";
|
|
1622
|
-
dataType: "number";
|
|
1623
|
-
columnType: "PgDoublePrecision";
|
|
1624
|
-
data: number;
|
|
1625
|
-
driverParam: string | number;
|
|
1626
|
-
notNull: true;
|
|
1627
|
-
hasDefault: true;
|
|
1628
|
-
isPrimaryKey: false;
|
|
1629
|
-
isAutoincrement: false;
|
|
1630
|
-
hasRuntimeDefault: false;
|
|
1631
|
-
enumValues: undefined;
|
|
1632
|
-
baseColumn: never;
|
|
1633
|
-
identity: undefined;
|
|
1634
|
-
generated: undefined;
|
|
1635
|
-
}, {}, {}>;
|
|
1636
|
-
createdAt: drizzle_orm_pg_core.PgColumn<{
|
|
1637
|
-
name: "created_at";
|
|
1638
|
-
tableName: "map_objects";
|
|
1639
|
-
dataType: "date";
|
|
1640
|
-
columnType: "PgTimestamp";
|
|
1641
|
-
data: Date;
|
|
1642
|
-
driverParam: string;
|
|
1643
|
-
notNull: true;
|
|
1644
|
-
hasDefault: true;
|
|
1645
|
-
isPrimaryKey: false;
|
|
1646
|
-
isAutoincrement: false;
|
|
1647
|
-
hasRuntimeDefault: false;
|
|
1648
|
-
enumValues: undefined;
|
|
1649
|
-
baseColumn: never;
|
|
1650
|
-
identity: undefined;
|
|
1651
|
-
generated: undefined;
|
|
1652
|
-
}, {}, {}>;
|
|
1653
|
-
};
|
|
1654
|
-
dialect: "pg";
|
|
1655
|
-
}>;
|
|
1656
|
-
|
|
1657
|
-
declare const userLevels: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
1658
|
-
name: "user_levels";
|
|
1659
|
-
schema: undefined;
|
|
1660
|
-
columns: {
|
|
1661
|
-
userId: drizzle_orm_pg_core.PgColumn<{
|
|
1662
|
-
name: "user_id";
|
|
1663
|
-
tableName: "user_levels";
|
|
1664
|
-
dataType: "string";
|
|
1665
|
-
columnType: "PgText";
|
|
1666
|
-
data: string;
|
|
1667
|
-
driverParam: string;
|
|
1668
|
-
notNull: true;
|
|
1669
|
-
hasDefault: false;
|
|
1670
|
-
isPrimaryKey: true;
|
|
1671
|
-
isAutoincrement: false;
|
|
1672
|
-
hasRuntimeDefault: false;
|
|
1673
|
-
enumValues: [string, ...string[]];
|
|
1674
|
-
baseColumn: never;
|
|
1675
|
-
identity: undefined;
|
|
1676
|
-
generated: undefined;
|
|
1677
|
-
}, {}, {}>;
|
|
1678
|
-
currentLevel: drizzle_orm_pg_core.PgColumn<{
|
|
1679
|
-
name: "current_level";
|
|
1680
|
-
tableName: "user_levels";
|
|
1681
|
-
dataType: "number";
|
|
1682
|
-
columnType: "PgInteger";
|
|
1683
|
-
data: number;
|
|
1684
|
-
driverParam: string | number;
|
|
1685
|
-
notNull: true;
|
|
1686
|
-
hasDefault: true;
|
|
1687
|
-
isPrimaryKey: false;
|
|
1688
|
-
isAutoincrement: false;
|
|
1689
|
-
hasRuntimeDefault: false;
|
|
1690
|
-
enumValues: undefined;
|
|
1691
|
-
baseColumn: never;
|
|
1692
|
-
identity: undefined;
|
|
1693
|
-
generated: undefined;
|
|
1694
|
-
}, {}, {}>;
|
|
1695
|
-
currentXp: drizzle_orm_pg_core.PgColumn<{
|
|
1696
|
-
name: "current_xp";
|
|
1697
|
-
tableName: "user_levels";
|
|
1698
|
-
dataType: "number";
|
|
1699
|
-
columnType: "PgDoublePrecision";
|
|
1700
|
-
data: number;
|
|
1701
|
-
driverParam: string | number;
|
|
1702
|
-
notNull: true;
|
|
1703
|
-
hasDefault: true;
|
|
1704
|
-
isPrimaryKey: false;
|
|
1705
|
-
isAutoincrement: false;
|
|
1706
|
-
hasRuntimeDefault: false;
|
|
1707
|
-
enumValues: undefined;
|
|
1708
|
-
baseColumn: never;
|
|
1709
|
-
identity: undefined;
|
|
1710
|
-
generated: undefined;
|
|
1711
|
-
}, {}, {}>;
|
|
1712
|
-
totalXP: drizzle_orm_pg_core.PgColumn<{
|
|
1713
|
-
name: "total_xp";
|
|
1714
|
-
tableName: "user_levels";
|
|
1715
|
-
dataType: "number";
|
|
1716
|
-
columnType: "PgDoublePrecision";
|
|
1717
|
-
data: number;
|
|
1718
|
-
driverParam: string | number;
|
|
1719
|
-
notNull: true;
|
|
1720
|
-
hasDefault: true;
|
|
1721
|
-
isPrimaryKey: false;
|
|
1722
|
-
isAutoincrement: false;
|
|
1723
|
-
hasRuntimeDefault: false;
|
|
1724
|
-
enumValues: undefined;
|
|
1725
|
-
baseColumn: never;
|
|
1726
|
-
identity: undefined;
|
|
1727
|
-
generated: undefined;
|
|
1728
|
-
}, {}, {}>;
|
|
1729
|
-
lastLevelUpAt: drizzle_orm_pg_core.PgColumn<{
|
|
1730
|
-
name: "last_level_up_at";
|
|
1731
|
-
tableName: "user_levels";
|
|
1732
|
-
dataType: "date";
|
|
1733
|
-
columnType: "PgTimestamp";
|
|
1734
|
-
data: Date;
|
|
1735
|
-
driverParam: string;
|
|
1736
|
-
notNull: false;
|
|
1737
|
-
hasDefault: false;
|
|
1738
|
-
isPrimaryKey: false;
|
|
1739
|
-
isAutoincrement: false;
|
|
1740
|
-
hasRuntimeDefault: false;
|
|
1741
|
-
enumValues: undefined;
|
|
1742
|
-
baseColumn: never;
|
|
1743
|
-
identity: undefined;
|
|
1744
|
-
generated: undefined;
|
|
1745
|
-
}, {}, {}>;
|
|
1746
|
-
createdAt: drizzle_orm_pg_core.PgColumn<{
|
|
1747
|
-
name: "created_at";
|
|
1748
|
-
tableName: "user_levels";
|
|
1749
|
-
dataType: "date";
|
|
1750
|
-
columnType: "PgTimestamp";
|
|
1751
|
-
data: Date;
|
|
1752
|
-
driverParam: string;
|
|
1753
|
-
notNull: true;
|
|
1754
|
-
hasDefault: true;
|
|
1755
|
-
isPrimaryKey: false;
|
|
1756
|
-
isAutoincrement: false;
|
|
1757
|
-
hasRuntimeDefault: false;
|
|
1758
|
-
enumValues: undefined;
|
|
1759
|
-
baseColumn: never;
|
|
1760
|
-
identity: undefined;
|
|
1761
|
-
generated: undefined;
|
|
1762
|
-
}, {}, {}>;
|
|
1763
|
-
updatedAt: drizzle_orm_pg_core.PgColumn<{
|
|
1764
|
-
name: "updated_at";
|
|
1765
|
-
tableName: "user_levels";
|
|
1766
|
-
dataType: "date";
|
|
1767
|
-
columnType: "PgTimestamp";
|
|
1768
|
-
data: Date;
|
|
1769
|
-
driverParam: string;
|
|
1770
|
-
notNull: false;
|
|
1771
|
-
hasDefault: true;
|
|
1772
|
-
isPrimaryKey: false;
|
|
1773
|
-
isAutoincrement: false;
|
|
1774
|
-
hasRuntimeDefault: false;
|
|
1775
|
-
enumValues: undefined;
|
|
1776
|
-
baseColumn: never;
|
|
1777
|
-
identity: undefined;
|
|
1778
|
-
generated: undefined;
|
|
1779
|
-
}, {}, {}>;
|
|
1780
|
-
};
|
|
1781
|
-
dialect: "pg";
|
|
1782
|
-
}>;
|
|
1783
|
-
declare const levelConfigs: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
1784
|
-
name: "level_configs";
|
|
1785
|
-
schema: undefined;
|
|
1786
|
-
columns: {
|
|
1787
|
-
id: drizzle_orm_pg_core.PgColumn<{
|
|
1788
|
-
name: "id";
|
|
1789
|
-
tableName: "level_configs";
|
|
1790
|
-
dataType: "string";
|
|
1791
|
-
columnType: "PgUUID";
|
|
1792
|
-
data: string;
|
|
1793
|
-
driverParam: string;
|
|
1794
|
-
notNull: true;
|
|
1795
|
-
hasDefault: true;
|
|
1796
|
-
isPrimaryKey: true;
|
|
1797
|
-
isAutoincrement: false;
|
|
1798
|
-
hasRuntimeDefault: false;
|
|
1799
|
-
enumValues: undefined;
|
|
1800
|
-
baseColumn: never;
|
|
1801
|
-
identity: undefined;
|
|
1802
|
-
generated: undefined;
|
|
1803
|
-
}, {}, {}>;
|
|
1804
|
-
level: drizzle_orm_pg_core.PgColumn<{
|
|
1805
|
-
name: "level";
|
|
1806
|
-
tableName: "level_configs";
|
|
1807
|
-
dataType: "number";
|
|
1808
|
-
columnType: "PgInteger";
|
|
1809
|
-
data: number;
|
|
1810
|
-
driverParam: string | number;
|
|
1811
|
-
notNull: true;
|
|
1812
|
-
hasDefault: false;
|
|
1813
|
-
isPrimaryKey: false;
|
|
1814
|
-
isAutoincrement: false;
|
|
1815
|
-
hasRuntimeDefault: false;
|
|
1816
|
-
enumValues: undefined;
|
|
1817
|
-
baseColumn: never;
|
|
1818
|
-
identity: undefined;
|
|
1819
|
-
generated: undefined;
|
|
1820
|
-
}, {}, {}>;
|
|
1821
|
-
xpRequired: drizzle_orm_pg_core.PgColumn<{
|
|
1822
|
-
name: "xp_required";
|
|
1823
|
-
tableName: "level_configs";
|
|
1824
|
-
dataType: "number";
|
|
1825
|
-
columnType: "PgInteger";
|
|
1826
|
-
data: number;
|
|
1827
|
-
driverParam: string | number;
|
|
1828
|
-
notNull: true;
|
|
1829
|
-
hasDefault: false;
|
|
1830
|
-
isPrimaryKey: false;
|
|
1831
|
-
isAutoincrement: false;
|
|
1832
|
-
hasRuntimeDefault: false;
|
|
1833
|
-
enumValues: undefined;
|
|
1834
|
-
baseColumn: never;
|
|
1835
|
-
identity: undefined;
|
|
1836
|
-
generated: undefined;
|
|
1837
|
-
}, {}, {}>;
|
|
1838
|
-
creditsReward: drizzle_orm_pg_core.PgColumn<{
|
|
1839
|
-
name: "credits_reward";
|
|
1840
|
-
tableName: "level_configs";
|
|
1841
|
-
dataType: "number";
|
|
1842
|
-
columnType: "PgInteger";
|
|
1843
|
-
data: number;
|
|
1844
|
-
driverParam: string | number;
|
|
1845
|
-
notNull: true;
|
|
1846
|
-
hasDefault: true;
|
|
1847
|
-
isPrimaryKey: false;
|
|
1848
|
-
isAutoincrement: false;
|
|
1849
|
-
hasRuntimeDefault: false;
|
|
1850
|
-
enumValues: undefined;
|
|
1851
|
-
baseColumn: never;
|
|
1852
|
-
identity: undefined;
|
|
1853
|
-
generated: undefined;
|
|
1854
|
-
}, {}, {}>;
|
|
1855
|
-
createdAt: drizzle_orm_pg_core.PgColumn<{
|
|
1856
|
-
name: "created_at";
|
|
1857
|
-
tableName: "level_configs";
|
|
1858
|
-
dataType: "date";
|
|
1859
|
-
columnType: "PgTimestamp";
|
|
1860
|
-
data: Date;
|
|
1861
|
-
driverParam: string;
|
|
1862
|
-
notNull: true;
|
|
1863
|
-
hasDefault: true;
|
|
1864
|
-
isPrimaryKey: false;
|
|
1865
|
-
isAutoincrement: false;
|
|
1866
|
-
hasRuntimeDefault: false;
|
|
1867
|
-
enumValues: undefined;
|
|
1868
|
-
baseColumn: never;
|
|
1869
|
-
identity: undefined;
|
|
1870
|
-
generated: undefined;
|
|
1871
|
-
}, {}, {}>;
|
|
1872
|
-
};
|
|
1873
|
-
dialect: "pg";
|
|
1874
|
-
}>;
|
|
1875
|
-
declare const characterComponents: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
1876
|
-
name: "character_components";
|
|
1877
|
-
schema: undefined;
|
|
1878
|
-
columns: {
|
|
1879
|
-
id: drizzle_orm_pg_core.PgColumn<{
|
|
1880
|
-
name: "id";
|
|
1881
|
-
tableName: "character_components";
|
|
1882
|
-
dataType: "string";
|
|
1883
|
-
columnType: "PgUUID";
|
|
1884
|
-
data: string;
|
|
1885
|
-
driverParam: string;
|
|
1886
|
-
notNull: true;
|
|
1887
|
-
hasDefault: true;
|
|
1888
|
-
isPrimaryKey: true;
|
|
1889
|
-
isAutoincrement: false;
|
|
1890
|
-
hasRuntimeDefault: false;
|
|
1891
|
-
enumValues: undefined;
|
|
1892
|
-
baseColumn: never;
|
|
1893
|
-
identity: undefined;
|
|
1894
|
-
generated: undefined;
|
|
1895
|
-
}, {}, {}>;
|
|
1896
|
-
componentType: drizzle_orm_pg_core.PgColumn<{
|
|
1897
|
-
name: "component_type";
|
|
1898
|
-
tableName: "character_components";
|
|
1899
|
-
dataType: "string";
|
|
1900
|
-
columnType: "PgEnumColumn";
|
|
1901
|
-
data: "accessory" | "body" | "outfit" | "hairstyle" | "eyes";
|
|
1902
|
-
driverParam: string;
|
|
1903
|
-
notNull: true;
|
|
1904
|
-
hasDefault: false;
|
|
1905
|
-
isPrimaryKey: false;
|
|
1906
|
-
isAutoincrement: false;
|
|
1907
|
-
hasRuntimeDefault: false;
|
|
1908
|
-
enumValues: ["body", "outfit", "hairstyle", "eyes", "accessory"];
|
|
1909
|
-
baseColumn: never;
|
|
1910
|
-
identity: undefined;
|
|
1911
|
-
generated: undefined;
|
|
1912
|
-
}, {}, {}>;
|
|
1913
|
-
slug: drizzle_orm_pg_core.PgColumn<{
|
|
1914
|
-
name: "slug";
|
|
1915
|
-
tableName: "character_components";
|
|
1916
|
-
dataType: "string";
|
|
1917
|
-
columnType: "PgVarchar";
|
|
1918
|
-
data: string;
|
|
1919
|
-
driverParam: string;
|
|
1920
|
-
notNull: true;
|
|
1921
|
-
hasDefault: false;
|
|
1922
|
-
isPrimaryKey: false;
|
|
1923
|
-
isAutoincrement: false;
|
|
1924
|
-
hasRuntimeDefault: false;
|
|
1925
|
-
enumValues: [string, ...string[]];
|
|
1926
|
-
baseColumn: never;
|
|
1927
|
-
identity: undefined;
|
|
1928
|
-
generated: undefined;
|
|
1929
|
-
}, {}, {
|
|
1930
|
-
length: 128;
|
|
1931
|
-
}>;
|
|
1932
|
-
displayName: drizzle_orm_pg_core.PgColumn<{
|
|
1933
|
-
name: "display_name";
|
|
1934
|
-
tableName: "character_components";
|
|
1935
|
-
dataType: "string";
|
|
1936
|
-
columnType: "PgVarchar";
|
|
1937
|
-
data: string;
|
|
1938
|
-
driverParam: string;
|
|
1939
|
-
notNull: true;
|
|
1940
|
-
hasDefault: false;
|
|
1941
|
-
isPrimaryKey: false;
|
|
1942
|
-
isAutoincrement: false;
|
|
1943
|
-
hasRuntimeDefault: false;
|
|
1944
|
-
enumValues: [string, ...string[]];
|
|
1945
|
-
baseColumn: never;
|
|
1946
|
-
identity: undefined;
|
|
1947
|
-
generated: undefined;
|
|
1948
|
-
}, {}, {
|
|
1949
|
-
length: 128;
|
|
1950
|
-
}>;
|
|
1951
|
-
slot: drizzle_orm_pg_core.PgColumn<{
|
|
1952
|
-
name: "slot";
|
|
1953
|
-
tableName: "character_components";
|
|
1954
|
-
dataType: "string";
|
|
1955
|
-
columnType: "PgVarchar";
|
|
1956
|
-
data: string;
|
|
1957
|
-
driverParam: string;
|
|
1958
|
-
notNull: true;
|
|
1959
|
-
hasDefault: false;
|
|
1960
|
-
isPrimaryKey: false;
|
|
1961
|
-
isAutoincrement: false;
|
|
1962
|
-
hasRuntimeDefault: false;
|
|
1963
|
-
enumValues: [string, ...string[]];
|
|
1964
|
-
baseColumn: never;
|
|
1965
|
-
identity: undefined;
|
|
1966
|
-
generated: undefined;
|
|
1967
|
-
}, {}, {
|
|
1968
|
-
length: 64;
|
|
1969
|
-
}>;
|
|
1970
|
-
spriteSheetId: drizzle_orm_pg_core.PgColumn<{
|
|
1971
|
-
name: "sprite_sheet_id";
|
|
1972
|
-
tableName: "character_components";
|
|
1973
|
-
dataType: "string";
|
|
1974
|
-
columnType: "PgUUID";
|
|
1975
|
-
data: string;
|
|
1976
|
-
driverParam: string;
|
|
1977
|
-
notNull: true;
|
|
1978
|
-
hasDefault: false;
|
|
1979
|
-
isPrimaryKey: false;
|
|
1980
|
-
isAutoincrement: false;
|
|
1981
|
-
hasRuntimeDefault: false;
|
|
1982
|
-
enumValues: undefined;
|
|
1983
|
-
baseColumn: never;
|
|
1984
|
-
identity: undefined;
|
|
1985
|
-
generated: undefined;
|
|
1986
|
-
}, {}, {}>;
|
|
1987
|
-
unlockLevel: drizzle_orm_pg_core.PgColumn<{
|
|
1988
|
-
name: "unlock_level";
|
|
1989
|
-
tableName: "character_components";
|
|
1990
|
-
dataType: "number";
|
|
1991
|
-
columnType: "PgInteger";
|
|
1992
|
-
data: number;
|
|
1993
|
-
driverParam: string | number;
|
|
1994
|
-
notNull: true;
|
|
1995
|
-
hasDefault: true;
|
|
1996
|
-
isPrimaryKey: false;
|
|
1997
|
-
isAutoincrement: false;
|
|
1998
|
-
hasRuntimeDefault: false;
|
|
1999
|
-
enumValues: undefined;
|
|
2000
|
-
baseColumn: never;
|
|
2001
|
-
identity: undefined;
|
|
2002
|
-
generated: undefined;
|
|
2003
|
-
}, {}, {}>;
|
|
2004
|
-
variant: drizzle_orm_pg_core.PgColumn<{
|
|
2005
|
-
name: "variant";
|
|
2006
|
-
tableName: "character_components";
|
|
2007
|
-
dataType: "number";
|
|
2008
|
-
columnType: "PgInteger";
|
|
2009
|
-
data: number;
|
|
2010
|
-
driverParam: string | number;
|
|
2011
|
-
notNull: true;
|
|
2012
|
-
hasDefault: true;
|
|
2013
|
-
isPrimaryKey: false;
|
|
2014
|
-
isAutoincrement: false;
|
|
2015
|
-
hasRuntimeDefault: false;
|
|
2016
|
-
enumValues: undefined;
|
|
2017
|
-
baseColumn: never;
|
|
2018
|
-
identity: undefined;
|
|
2019
|
-
generated: undefined;
|
|
2020
|
-
}, {}, {}>;
|
|
2021
|
-
createdAt: drizzle_orm_pg_core.PgColumn<{
|
|
2022
|
-
name: "created_at";
|
|
2023
|
-
tableName: "character_components";
|
|
2024
|
-
dataType: "date";
|
|
2025
|
-
columnType: "PgTimestamp";
|
|
2026
|
-
data: Date;
|
|
2027
|
-
driverParam: string;
|
|
2028
|
-
notNull: true;
|
|
2029
|
-
hasDefault: true;
|
|
2030
|
-
isPrimaryKey: false;
|
|
2031
|
-
isAutoincrement: false;
|
|
2032
|
-
hasRuntimeDefault: false;
|
|
2033
|
-
enumValues: undefined;
|
|
2034
|
-
baseColumn: never;
|
|
2035
|
-
identity: undefined;
|
|
2036
|
-
generated: undefined;
|
|
2037
|
-
}, {}, {}>;
|
|
2038
|
-
updatedAt: drizzle_orm_pg_core.PgColumn<{
|
|
2039
|
-
name: "updated_at";
|
|
2040
|
-
tableName: "character_components";
|
|
2041
|
-
dataType: "date";
|
|
2042
|
-
columnType: "PgTimestamp";
|
|
2043
|
-
data: Date;
|
|
2044
|
-
driverParam: string;
|
|
2045
|
-
notNull: true;
|
|
2046
|
-
hasDefault: true;
|
|
2047
|
-
isPrimaryKey: false;
|
|
2048
|
-
isAutoincrement: false;
|
|
2049
|
-
hasRuntimeDefault: false;
|
|
2050
|
-
enumValues: undefined;
|
|
2051
|
-
baseColumn: never;
|
|
2052
|
-
identity: undefined;
|
|
2053
|
-
generated: undefined;
|
|
2054
|
-
}, {}, {}>;
|
|
2055
|
-
};
|
|
2056
|
-
dialect: "pg";
|
|
2057
|
-
}>;
|
|
2058
|
-
declare const playerCharacters: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
2059
|
-
name: "player_characters";
|
|
2060
|
-
schema: undefined;
|
|
2061
|
-
columns: {
|
|
2062
|
-
id: drizzle_orm_pg_core.PgColumn<{
|
|
2063
|
-
name: "id";
|
|
2064
|
-
tableName: "player_characters";
|
|
2065
|
-
dataType: "string";
|
|
2066
|
-
columnType: "PgUUID";
|
|
2067
|
-
data: string;
|
|
2068
|
-
driverParam: string;
|
|
2069
|
-
notNull: true;
|
|
2070
|
-
hasDefault: true;
|
|
2071
|
-
isPrimaryKey: true;
|
|
2072
|
-
isAutoincrement: false;
|
|
2073
|
-
hasRuntimeDefault: false;
|
|
2074
|
-
enumValues: undefined;
|
|
2075
|
-
baseColumn: never;
|
|
2076
|
-
identity: undefined;
|
|
2077
|
-
generated: undefined;
|
|
2078
|
-
}, {}, {}>;
|
|
2079
|
-
userId: drizzle_orm_pg_core.PgColumn<{
|
|
2080
|
-
name: "user_id";
|
|
2081
|
-
tableName: "player_characters";
|
|
2082
|
-
dataType: "string";
|
|
2083
|
-
columnType: "PgText";
|
|
2084
|
-
data: string;
|
|
2085
|
-
driverParam: string;
|
|
2086
|
-
notNull: true;
|
|
2087
|
-
hasDefault: false;
|
|
2088
|
-
isPrimaryKey: false;
|
|
2089
|
-
isAutoincrement: false;
|
|
2090
|
-
hasRuntimeDefault: false;
|
|
2091
|
-
enumValues: [string, ...string[]];
|
|
2092
|
-
baseColumn: never;
|
|
2093
|
-
identity: undefined;
|
|
2094
|
-
generated: undefined;
|
|
2095
|
-
}, {}, {}>;
|
|
2096
|
-
bodyComponentId: drizzle_orm_pg_core.PgColumn<{
|
|
2097
|
-
name: "body_component_id";
|
|
2098
|
-
tableName: "player_characters";
|
|
2099
|
-
dataType: "string";
|
|
2100
|
-
columnType: "PgUUID";
|
|
2101
|
-
data: string;
|
|
2102
|
-
driverParam: string;
|
|
2103
|
-
notNull: true;
|
|
2104
|
-
hasDefault: false;
|
|
2105
|
-
isPrimaryKey: false;
|
|
2106
|
-
isAutoincrement: false;
|
|
2107
|
-
hasRuntimeDefault: false;
|
|
2108
|
-
enumValues: undefined;
|
|
2109
|
-
baseColumn: never;
|
|
2110
|
-
identity: undefined;
|
|
2111
|
-
generated: undefined;
|
|
2112
|
-
}, {}, {}>;
|
|
2113
|
-
eyesComponentId: drizzle_orm_pg_core.PgColumn<{
|
|
2114
|
-
name: "eyes_component_id";
|
|
2115
|
-
tableName: "player_characters";
|
|
2116
|
-
dataType: "string";
|
|
2117
|
-
columnType: "PgUUID";
|
|
2118
|
-
data: string;
|
|
2119
|
-
driverParam: string;
|
|
2120
|
-
notNull: true;
|
|
2121
|
-
hasDefault: false;
|
|
2122
|
-
isPrimaryKey: false;
|
|
2123
|
-
isAutoincrement: false;
|
|
2124
|
-
hasRuntimeDefault: false;
|
|
2125
|
-
enumValues: undefined;
|
|
2126
|
-
baseColumn: never;
|
|
2127
|
-
identity: undefined;
|
|
2128
|
-
generated: undefined;
|
|
2129
|
-
}, {}, {}>;
|
|
2130
|
-
hairstyleComponentId: drizzle_orm_pg_core.PgColumn<{
|
|
2131
|
-
name: "hairstyle_component_id";
|
|
2132
|
-
tableName: "player_characters";
|
|
2133
|
-
dataType: "string";
|
|
2134
|
-
columnType: "PgUUID";
|
|
2135
|
-
data: string;
|
|
2136
|
-
driverParam: string;
|
|
2137
|
-
notNull: true;
|
|
2138
|
-
hasDefault: false;
|
|
2139
|
-
isPrimaryKey: false;
|
|
2140
|
-
isAutoincrement: false;
|
|
2141
|
-
hasRuntimeDefault: false;
|
|
2142
|
-
enumValues: undefined;
|
|
2143
|
-
baseColumn: never;
|
|
2144
|
-
identity: undefined;
|
|
2145
|
-
generated: undefined;
|
|
2146
|
-
}, {}, {}>;
|
|
2147
|
-
outfitComponentId: drizzle_orm_pg_core.PgColumn<{
|
|
2148
|
-
name: "outfit_component_id";
|
|
2149
|
-
tableName: "player_characters";
|
|
2150
|
-
dataType: "string";
|
|
2151
|
-
columnType: "PgUUID";
|
|
2152
|
-
data: string;
|
|
2153
|
-
driverParam: string;
|
|
2154
|
-
notNull: true;
|
|
2155
|
-
hasDefault: false;
|
|
2156
|
-
isPrimaryKey: false;
|
|
2157
|
-
isAutoincrement: false;
|
|
2158
|
-
hasRuntimeDefault: false;
|
|
2159
|
-
enumValues: undefined;
|
|
2160
|
-
baseColumn: never;
|
|
2161
|
-
identity: undefined;
|
|
2162
|
-
generated: undefined;
|
|
2163
|
-
}, {}, {}>;
|
|
2164
|
-
createdAt: drizzle_orm_pg_core.PgColumn<{
|
|
2165
|
-
name: "created_at";
|
|
2166
|
-
tableName: "player_characters";
|
|
2167
|
-
dataType: "date";
|
|
2168
|
-
columnType: "PgTimestamp";
|
|
2169
|
-
data: Date;
|
|
2170
|
-
driverParam: string;
|
|
2171
|
-
notNull: true;
|
|
2172
|
-
hasDefault: true;
|
|
2173
|
-
isPrimaryKey: false;
|
|
2174
|
-
isAutoincrement: false;
|
|
2175
|
-
hasRuntimeDefault: false;
|
|
2176
|
-
enumValues: undefined;
|
|
2177
|
-
baseColumn: never;
|
|
2178
|
-
identity: undefined;
|
|
2179
|
-
generated: undefined;
|
|
2180
|
-
}, {}, {}>;
|
|
2181
|
-
updatedAt: drizzle_orm_pg_core.PgColumn<{
|
|
2182
|
-
name: "updated_at";
|
|
2183
|
-
tableName: "player_characters";
|
|
2184
|
-
dataType: "date";
|
|
2185
|
-
columnType: "PgTimestamp";
|
|
2186
|
-
data: Date;
|
|
2187
|
-
driverParam: string;
|
|
2188
|
-
notNull: true;
|
|
2189
|
-
hasDefault: true;
|
|
2190
|
-
isPrimaryKey: false;
|
|
2191
|
-
isAutoincrement: false;
|
|
2192
|
-
hasRuntimeDefault: false;
|
|
2193
|
-
enumValues: undefined;
|
|
2194
|
-
baseColumn: never;
|
|
2195
|
-
identity: undefined;
|
|
2196
|
-
generated: undefined;
|
|
2197
|
-
}, {}, {}>;
|
|
2198
|
-
};
|
|
2199
|
-
dialect: "pg";
|
|
2200
|
-
}>;
|
|
2201
|
-
declare const playerCharacterAccessories: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
2202
|
-
name: "player_character_accessories";
|
|
2203
|
-
schema: undefined;
|
|
2204
|
-
columns: {
|
|
2205
|
-
id: drizzle_orm_pg_core.PgColumn<{
|
|
2206
|
-
name: "id";
|
|
2207
|
-
tableName: "player_character_accessories";
|
|
2208
|
-
dataType: "string";
|
|
2209
|
-
columnType: "PgUUID";
|
|
2210
|
-
data: string;
|
|
2211
|
-
driverParam: string;
|
|
2212
|
-
notNull: true;
|
|
2213
|
-
hasDefault: true;
|
|
2214
|
-
isPrimaryKey: true;
|
|
2215
|
-
isAutoincrement: false;
|
|
2216
|
-
hasRuntimeDefault: false;
|
|
2217
|
-
enumValues: undefined;
|
|
2218
|
-
baseColumn: never;
|
|
2219
|
-
identity: undefined;
|
|
2220
|
-
generated: undefined;
|
|
2221
|
-
}, {}, {}>;
|
|
2222
|
-
playerCharacterId: drizzle_orm_pg_core.PgColumn<{
|
|
2223
|
-
name: "player_character_id";
|
|
2224
|
-
tableName: "player_character_accessories";
|
|
2225
|
-
dataType: "string";
|
|
2226
|
-
columnType: "PgUUID";
|
|
2227
|
-
data: string;
|
|
2228
|
-
driverParam: string;
|
|
2229
|
-
notNull: true;
|
|
2230
|
-
hasDefault: false;
|
|
2231
|
-
isPrimaryKey: false;
|
|
2232
|
-
isAutoincrement: false;
|
|
2233
|
-
hasRuntimeDefault: false;
|
|
2234
|
-
enumValues: undefined;
|
|
2235
|
-
baseColumn: never;
|
|
2236
|
-
identity: undefined;
|
|
2237
|
-
generated: undefined;
|
|
2238
|
-
}, {}, {}>;
|
|
2239
|
-
accessoryComponentId: drizzle_orm_pg_core.PgColumn<{
|
|
2240
|
-
name: "accessory_component_id";
|
|
2241
|
-
tableName: "player_character_accessories";
|
|
2242
|
-
dataType: "string";
|
|
2243
|
-
columnType: "PgUUID";
|
|
2244
|
-
data: string;
|
|
2245
|
-
driverParam: string;
|
|
2246
|
-
notNull: true;
|
|
2247
|
-
hasDefault: false;
|
|
2248
|
-
isPrimaryKey: false;
|
|
2249
|
-
isAutoincrement: false;
|
|
2250
|
-
hasRuntimeDefault: false;
|
|
2251
|
-
enumValues: undefined;
|
|
2252
|
-
baseColumn: never;
|
|
2253
|
-
identity: undefined;
|
|
2254
|
-
generated: undefined;
|
|
2255
|
-
}, {}, {}>;
|
|
2256
|
-
slot: drizzle_orm_pg_core.PgColumn<{
|
|
2257
|
-
name: "slot";
|
|
2258
|
-
tableName: "player_character_accessories";
|
|
2259
|
-
dataType: "string";
|
|
2260
|
-
columnType: "PgVarchar";
|
|
2261
|
-
data: string;
|
|
2262
|
-
driverParam: string;
|
|
2263
|
-
notNull: true;
|
|
2264
|
-
hasDefault: false;
|
|
2265
|
-
isPrimaryKey: false;
|
|
2266
|
-
isAutoincrement: false;
|
|
2267
|
-
hasRuntimeDefault: false;
|
|
2268
|
-
enumValues: [string, ...string[]];
|
|
2269
|
-
baseColumn: never;
|
|
2270
|
-
identity: undefined;
|
|
2271
|
-
generated: undefined;
|
|
2272
|
-
}, {}, {
|
|
2273
|
-
length: 64;
|
|
2274
|
-
}>;
|
|
2275
|
-
equippedAt: drizzle_orm_pg_core.PgColumn<{
|
|
2276
|
-
name: "equipped_at";
|
|
2277
|
-
tableName: "player_character_accessories";
|
|
2278
|
-
dataType: "date";
|
|
2279
|
-
columnType: "PgTimestamp";
|
|
2280
|
-
data: Date;
|
|
2281
|
-
driverParam: string;
|
|
2282
|
-
notNull: true;
|
|
2283
|
-
hasDefault: true;
|
|
2284
|
-
isPrimaryKey: false;
|
|
2285
|
-
isAutoincrement: false;
|
|
2286
|
-
hasRuntimeDefault: false;
|
|
2287
|
-
enumValues: undefined;
|
|
2288
|
-
baseColumn: never;
|
|
2289
|
-
identity: undefined;
|
|
2290
|
-
generated: undefined;
|
|
2291
|
-
}, {}, {}>;
|
|
2292
|
-
updatedAt: drizzle_orm_pg_core.PgColumn<{
|
|
2293
|
-
name: "updated_at";
|
|
2294
|
-
tableName: "player_character_accessories";
|
|
2295
|
-
dataType: "date";
|
|
2296
|
-
columnType: "PgTimestamp";
|
|
2297
|
-
data: Date;
|
|
2298
|
-
driverParam: string;
|
|
2299
|
-
notNull: true;
|
|
2300
|
-
hasDefault: true;
|
|
2301
|
-
isPrimaryKey: false;
|
|
2302
|
-
isAutoincrement: false;
|
|
2303
|
-
hasRuntimeDefault: false;
|
|
2304
|
-
enumValues: undefined;
|
|
2305
|
-
baseColumn: never;
|
|
2306
|
-
identity: undefined;
|
|
2307
|
-
generated: undefined;
|
|
2308
|
-
}, {}, {}>;
|
|
2309
|
-
};
|
|
2310
|
-
dialect: "pg";
|
|
2311
|
-
}>;
|
|
2312
|
-
declare const gameTimebackIntegrations: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
2313
|
-
name: "game_timeback_integrations";
|
|
2314
|
-
schema: undefined;
|
|
2315
|
-
columns: {
|
|
2316
|
-
id: drizzle_orm_pg_core.PgColumn<{
|
|
2317
|
-
name: "id";
|
|
2318
|
-
tableName: "game_timeback_integrations";
|
|
2319
|
-
dataType: "string";
|
|
2320
|
-
columnType: "PgUUID";
|
|
2321
|
-
data: string;
|
|
2322
|
-
driverParam: string;
|
|
2323
|
-
notNull: true;
|
|
2324
|
-
hasDefault: true;
|
|
2325
|
-
isPrimaryKey: true;
|
|
2326
|
-
isAutoincrement: false;
|
|
2327
|
-
hasRuntimeDefault: false;
|
|
2328
|
-
enumValues: undefined;
|
|
2329
|
-
baseColumn: never;
|
|
2330
|
-
identity: undefined;
|
|
2331
|
-
generated: undefined;
|
|
2332
|
-
}, {}, {}>;
|
|
2333
|
-
gameId: drizzle_orm_pg_core.PgColumn<{
|
|
2334
|
-
name: "game_id";
|
|
2335
|
-
tableName: "game_timeback_integrations";
|
|
2336
|
-
dataType: "string";
|
|
2337
|
-
columnType: "PgUUID";
|
|
2338
|
-
data: string;
|
|
2339
|
-
driverParam: string;
|
|
2340
|
-
notNull: true;
|
|
2341
|
-
hasDefault: false;
|
|
2342
|
-
isPrimaryKey: false;
|
|
2343
|
-
isAutoincrement: false;
|
|
2344
|
-
hasRuntimeDefault: false;
|
|
2345
|
-
enumValues: undefined;
|
|
2346
|
-
baseColumn: never;
|
|
2347
|
-
identity: undefined;
|
|
2348
|
-
generated: undefined;
|
|
2349
|
-
}, {}, {}>;
|
|
2350
|
-
courseId: drizzle_orm_pg_core.PgColumn<{
|
|
2351
|
-
name: "course_id";
|
|
2352
|
-
tableName: "game_timeback_integrations";
|
|
2353
|
-
dataType: "string";
|
|
2354
|
-
columnType: "PgText";
|
|
2355
|
-
data: string;
|
|
2356
|
-
driverParam: string;
|
|
2357
|
-
notNull: true;
|
|
2358
|
-
hasDefault: false;
|
|
2359
|
-
isPrimaryKey: false;
|
|
2360
|
-
isAutoincrement: false;
|
|
2361
|
-
hasRuntimeDefault: false;
|
|
2362
|
-
enumValues: [string, ...string[]];
|
|
2363
|
-
baseColumn: never;
|
|
2364
|
-
identity: undefined;
|
|
2365
|
-
generated: undefined;
|
|
2366
|
-
}, {}, {}>;
|
|
2367
|
-
lastVerifiedAt: drizzle_orm_pg_core.PgColumn<{
|
|
2368
|
-
name: "last_verified_at";
|
|
2369
|
-
tableName: "game_timeback_integrations";
|
|
2370
|
-
dataType: "date";
|
|
2371
|
-
columnType: "PgTimestamp";
|
|
2372
|
-
data: Date;
|
|
2373
|
-
driverParam: string;
|
|
2374
|
-
notNull: false;
|
|
2375
|
-
hasDefault: false;
|
|
2376
|
-
isPrimaryKey: false;
|
|
2377
|
-
isAutoincrement: false;
|
|
2378
|
-
hasRuntimeDefault: false;
|
|
2379
|
-
enumValues: undefined;
|
|
2380
|
-
baseColumn: never;
|
|
2381
|
-
identity: undefined;
|
|
2382
|
-
generated: undefined;
|
|
2383
|
-
}, {}, {}>;
|
|
2384
|
-
createdAt: drizzle_orm_pg_core.PgColumn<{
|
|
2385
|
-
name: "created_at";
|
|
2386
|
-
tableName: "game_timeback_integrations";
|
|
2387
|
-
dataType: "date";
|
|
2388
|
-
columnType: "PgTimestamp";
|
|
2389
|
-
data: Date;
|
|
2390
|
-
driverParam: string;
|
|
2391
|
-
notNull: true;
|
|
2392
|
-
hasDefault: true;
|
|
2393
|
-
isPrimaryKey: false;
|
|
2394
|
-
isAutoincrement: false;
|
|
2395
|
-
hasRuntimeDefault: false;
|
|
2396
|
-
enumValues: undefined;
|
|
2397
|
-
baseColumn: never;
|
|
2398
|
-
identity: undefined;
|
|
2399
|
-
generated: undefined;
|
|
2400
|
-
}, {}, {}>;
|
|
2401
|
-
updatedAt: drizzle_orm_pg_core.PgColumn<{
|
|
2402
|
-
name: "updated_at";
|
|
2403
|
-
tableName: "game_timeback_integrations";
|
|
2404
|
-
dataType: "date";
|
|
2405
|
-
columnType: "PgTimestamp";
|
|
2406
|
-
data: Date;
|
|
2407
|
-
driverParam: string;
|
|
2408
|
-
notNull: true;
|
|
2409
|
-
hasDefault: true;
|
|
2410
|
-
isPrimaryKey: false;
|
|
2411
|
-
isAutoincrement: false;
|
|
2412
|
-
hasRuntimeDefault: false;
|
|
2413
|
-
enumValues: undefined;
|
|
2414
|
-
baseColumn: never;
|
|
2415
|
-
identity: undefined;
|
|
2416
|
-
generated: undefined;
|
|
2417
|
-
}, {}, {}>;
|
|
2418
|
-
};
|
|
2419
|
-
dialect: "pg";
|
|
2420
|
-
}>;
|
|
2421
|
-
|
|
2422
|
-
declare const achievementScopeEnum: drizzle_orm_pg_core.PgEnum<["daily", "weekly", "monthly", "yearly", "game", "global", "map", "level", "event"]>;
|
|
2423
|
-
declare const notifications: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
2424
|
-
name: "notifications";
|
|
2425
|
-
schema: undefined;
|
|
2426
|
-
columns: {
|
|
2427
|
-
id: drizzle_orm_pg_core.PgColumn<{
|
|
2428
|
-
name: "id";
|
|
2429
|
-
tableName: "notifications";
|
|
2430
|
-
dataType: "string";
|
|
2431
|
-
columnType: "PgUUID";
|
|
2432
|
-
data: string;
|
|
2433
|
-
driverParam: string;
|
|
2434
|
-
notNull: true;
|
|
2435
|
-
hasDefault: true;
|
|
2436
|
-
isPrimaryKey: true;
|
|
2437
|
-
isAutoincrement: false;
|
|
2438
|
-
hasRuntimeDefault: false;
|
|
2439
|
-
enumValues: undefined;
|
|
2440
|
-
baseColumn: never;
|
|
2441
|
-
identity: undefined;
|
|
2442
|
-
generated: undefined;
|
|
2443
|
-
}, {}, {}>;
|
|
2444
|
-
userId: drizzle_orm_pg_core.PgColumn<{
|
|
2445
|
-
name: "user_id";
|
|
2446
|
-
tableName: "notifications";
|
|
2447
|
-
dataType: "string";
|
|
2448
|
-
columnType: "PgText";
|
|
2449
|
-
data: string;
|
|
2450
|
-
driverParam: string;
|
|
2451
|
-
notNull: true;
|
|
2452
|
-
hasDefault: false;
|
|
2453
|
-
isPrimaryKey: false;
|
|
2454
|
-
isAutoincrement: false;
|
|
2455
|
-
hasRuntimeDefault: false;
|
|
2456
|
-
enumValues: [string, ...string[]];
|
|
2457
|
-
baseColumn: never;
|
|
2458
|
-
identity: undefined;
|
|
2459
|
-
generated: undefined;
|
|
2460
|
-
}, {}, {}>;
|
|
2461
|
-
type: drizzle_orm_pg_core.PgColumn<{
|
|
2462
|
-
name: "type";
|
|
2463
|
-
tableName: "notifications";
|
|
2464
|
-
dataType: "string";
|
|
2465
|
-
columnType: "PgVarchar";
|
|
2466
|
-
data: string;
|
|
2467
|
-
driverParam: string;
|
|
2468
|
-
notNull: true;
|
|
2469
|
-
hasDefault: false;
|
|
2470
|
-
isPrimaryKey: false;
|
|
2471
|
-
isAutoincrement: false;
|
|
2472
|
-
hasRuntimeDefault: false;
|
|
2473
|
-
enumValues: [string, ...string[]];
|
|
2474
|
-
baseColumn: never;
|
|
2475
|
-
identity: undefined;
|
|
2476
|
-
generated: undefined;
|
|
2477
|
-
}, {}, {
|
|
2478
|
-
length: 50;
|
|
2479
|
-
}>;
|
|
2480
|
-
title: drizzle_orm_pg_core.PgColumn<{
|
|
2481
|
-
name: "title";
|
|
2482
|
-
tableName: "notifications";
|
|
2483
|
-
dataType: "string";
|
|
2484
|
-
columnType: "PgVarchar";
|
|
2485
|
-
data: string;
|
|
2486
|
-
driverParam: string;
|
|
2487
|
-
notNull: true;
|
|
2488
|
-
hasDefault: false;
|
|
2489
|
-
isPrimaryKey: false;
|
|
2490
|
-
isAutoincrement: false;
|
|
2491
|
-
hasRuntimeDefault: false;
|
|
2492
|
-
enumValues: [string, ...string[]];
|
|
2493
|
-
baseColumn: never;
|
|
2494
|
-
identity: undefined;
|
|
2495
|
-
generated: undefined;
|
|
2496
|
-
}, {}, {
|
|
2497
|
-
length: 255;
|
|
2498
|
-
}>;
|
|
2499
|
-
message: drizzle_orm_pg_core.PgColumn<{
|
|
2500
|
-
name: "message";
|
|
2501
|
-
tableName: "notifications";
|
|
2502
|
-
dataType: "string";
|
|
2503
|
-
columnType: "PgText";
|
|
2504
|
-
data: string;
|
|
2505
|
-
driverParam: string;
|
|
2506
|
-
notNull: true;
|
|
2507
|
-
hasDefault: false;
|
|
2508
|
-
isPrimaryKey: false;
|
|
2509
|
-
isAutoincrement: false;
|
|
2510
|
-
hasRuntimeDefault: false;
|
|
2511
|
-
enumValues: [string, ...string[]];
|
|
2512
|
-
baseColumn: never;
|
|
2513
|
-
identity: undefined;
|
|
2514
|
-
generated: undefined;
|
|
2515
|
-
}, {}, {}>;
|
|
2516
|
-
data: drizzle_orm_pg_core.PgColumn<{
|
|
2517
|
-
name: "data";
|
|
2518
|
-
tableName: "notifications";
|
|
2519
|
-
dataType: "json";
|
|
2520
|
-
columnType: "PgJsonb";
|
|
2521
|
-
data: unknown;
|
|
2522
|
-
driverParam: unknown;
|
|
2523
|
-
notNull: true;
|
|
2524
|
-
hasDefault: true;
|
|
2525
|
-
isPrimaryKey: false;
|
|
2526
|
-
isAutoincrement: false;
|
|
2527
|
-
hasRuntimeDefault: false;
|
|
2528
|
-
enumValues: undefined;
|
|
2529
|
-
baseColumn: never;
|
|
2530
|
-
identity: undefined;
|
|
2531
|
-
generated: undefined;
|
|
2532
|
-
}, {}, {}>;
|
|
2533
|
-
priority: drizzle_orm_pg_core.PgColumn<{
|
|
2534
|
-
name: "priority";
|
|
2535
|
-
tableName: "notifications";
|
|
2536
|
-
dataType: "string";
|
|
2537
|
-
columnType: "PgEnumColumn";
|
|
2538
|
-
data: "low" | "normal" | "high" | "urgent";
|
|
2539
|
-
driverParam: string;
|
|
2540
|
-
notNull: true;
|
|
2541
|
-
hasDefault: true;
|
|
2542
|
-
isPrimaryKey: false;
|
|
2543
|
-
isAutoincrement: false;
|
|
2544
|
-
hasRuntimeDefault: false;
|
|
2545
|
-
enumValues: ["low", "normal", "high", "urgent"];
|
|
2546
|
-
baseColumn: never;
|
|
2547
|
-
identity: undefined;
|
|
2548
|
-
generated: undefined;
|
|
2549
|
-
}, {}, {}>;
|
|
2550
|
-
status: drizzle_orm_pg_core.PgColumn<{
|
|
2551
|
-
name: "status";
|
|
2552
|
-
tableName: "notifications";
|
|
2553
|
-
dataType: "string";
|
|
2554
|
-
columnType: "PgEnumColumn";
|
|
2555
|
-
data: "pending" | "delivered" | "seen" | "clicked" | "dismissed" | "expired";
|
|
2556
|
-
driverParam: string;
|
|
2557
|
-
notNull: true;
|
|
2558
|
-
hasDefault: true;
|
|
2559
|
-
isPrimaryKey: false;
|
|
2560
|
-
isAutoincrement: false;
|
|
2561
|
-
hasRuntimeDefault: false;
|
|
2562
|
-
enumValues: ["pending", "delivered", "seen", "clicked", "dismissed", "expired"];
|
|
2563
|
-
baseColumn: never;
|
|
2564
|
-
identity: undefined;
|
|
2565
|
-
generated: undefined;
|
|
2566
|
-
}, {}, {}>;
|
|
2567
|
-
createdAt: drizzle_orm_pg_core.PgColumn<{
|
|
2568
|
-
name: "created_at";
|
|
2569
|
-
tableName: "notifications";
|
|
2570
|
-
dataType: "date";
|
|
2571
|
-
columnType: "PgTimestamp";
|
|
2572
|
-
data: Date;
|
|
2573
|
-
driverParam: string;
|
|
2574
|
-
notNull: true;
|
|
2575
|
-
hasDefault: true;
|
|
2576
|
-
isPrimaryKey: false;
|
|
2577
|
-
isAutoincrement: false;
|
|
2578
|
-
hasRuntimeDefault: false;
|
|
2579
|
-
enumValues: undefined;
|
|
2580
|
-
baseColumn: never;
|
|
2581
|
-
identity: undefined;
|
|
2582
|
-
generated: undefined;
|
|
2583
|
-
}, {}, {}>;
|
|
2584
|
-
deliveredAt: drizzle_orm_pg_core.PgColumn<{
|
|
2585
|
-
name: "delivered_at";
|
|
2586
|
-
tableName: "notifications";
|
|
2587
|
-
dataType: "date";
|
|
2588
|
-
columnType: "PgTimestamp";
|
|
2589
|
-
data: Date;
|
|
2590
|
-
driverParam: string;
|
|
2591
|
-
notNull: false;
|
|
2592
|
-
hasDefault: false;
|
|
2593
|
-
isPrimaryKey: false;
|
|
2594
|
-
isAutoincrement: false;
|
|
2595
|
-
hasRuntimeDefault: false;
|
|
2596
|
-
enumValues: undefined;
|
|
2597
|
-
baseColumn: never;
|
|
2598
|
-
identity: undefined;
|
|
2599
|
-
generated: undefined;
|
|
2600
|
-
}, {}, {}>;
|
|
2601
|
-
seenAt: drizzle_orm_pg_core.PgColumn<{
|
|
2602
|
-
name: "seen_at";
|
|
2603
|
-
tableName: "notifications";
|
|
2604
|
-
dataType: "date";
|
|
2605
|
-
columnType: "PgTimestamp";
|
|
2606
|
-
data: Date;
|
|
2607
|
-
driverParam: string;
|
|
2608
|
-
notNull: false;
|
|
2609
|
-
hasDefault: false;
|
|
2610
|
-
isPrimaryKey: false;
|
|
2611
|
-
isAutoincrement: false;
|
|
2612
|
-
hasRuntimeDefault: false;
|
|
2613
|
-
enumValues: undefined;
|
|
2614
|
-
baseColumn: never;
|
|
2615
|
-
identity: undefined;
|
|
2616
|
-
generated: undefined;
|
|
2617
|
-
}, {}, {}>;
|
|
2618
|
-
clickedAt: drizzle_orm_pg_core.PgColumn<{
|
|
2619
|
-
name: "clicked_at";
|
|
2620
|
-
tableName: "notifications";
|
|
2621
|
-
dataType: "date";
|
|
2622
|
-
columnType: "PgTimestamp";
|
|
2623
|
-
data: Date;
|
|
2624
|
-
driverParam: string;
|
|
2625
|
-
notNull: false;
|
|
2626
|
-
hasDefault: false;
|
|
2627
|
-
isPrimaryKey: false;
|
|
2628
|
-
isAutoincrement: false;
|
|
2629
|
-
hasRuntimeDefault: false;
|
|
2630
|
-
enumValues: undefined;
|
|
2631
|
-
baseColumn: never;
|
|
2632
|
-
identity: undefined;
|
|
2633
|
-
generated: undefined;
|
|
2634
|
-
}, {}, {}>;
|
|
2635
|
-
expiresAt: drizzle_orm_pg_core.PgColumn<{
|
|
2636
|
-
name: "expires_at";
|
|
2637
|
-
tableName: "notifications";
|
|
2638
|
-
dataType: "date";
|
|
2639
|
-
columnType: "PgTimestamp";
|
|
2640
|
-
data: Date;
|
|
2641
|
-
driverParam: string;
|
|
2642
|
-
notNull: false;
|
|
2643
|
-
hasDefault: false;
|
|
2644
|
-
isPrimaryKey: false;
|
|
2645
|
-
isAutoincrement: false;
|
|
2646
|
-
hasRuntimeDefault: false;
|
|
2647
|
-
enumValues: undefined;
|
|
2648
|
-
baseColumn: never;
|
|
2649
|
-
identity: undefined;
|
|
2650
|
-
generated: undefined;
|
|
2651
|
-
}, {}, {}>;
|
|
2652
|
-
method: drizzle_orm_pg_core.PgColumn<{
|
|
2653
|
-
name: "method";
|
|
2654
|
-
tableName: "notifications";
|
|
2655
|
-
dataType: "string";
|
|
2656
|
-
columnType: "PgVarchar";
|
|
2657
|
-
data: string;
|
|
2658
|
-
driverParam: string;
|
|
2659
|
-
notNull: false;
|
|
2660
|
-
hasDefault: false;
|
|
2661
|
-
isPrimaryKey: false;
|
|
2662
|
-
isAutoincrement: false;
|
|
2663
|
-
hasRuntimeDefault: false;
|
|
2664
|
-
enumValues: [string, ...string[]];
|
|
2665
|
-
baseColumn: never;
|
|
2666
|
-
identity: undefined;
|
|
2667
|
-
generated: undefined;
|
|
2668
|
-
}, {}, {
|
|
2669
|
-
length: 50;
|
|
2670
|
-
}>;
|
|
2671
|
-
clickUrl: drizzle_orm_pg_core.PgColumn<{
|
|
2672
|
-
name: "click_url";
|
|
2673
|
-
tableName: "notifications";
|
|
2674
|
-
dataType: "string";
|
|
2675
|
-
columnType: "PgText";
|
|
2676
|
-
data: string;
|
|
2677
|
-
driverParam: string;
|
|
2678
|
-
notNull: false;
|
|
2679
|
-
hasDefault: false;
|
|
2680
|
-
isPrimaryKey: false;
|
|
2681
|
-
isAutoincrement: false;
|
|
2682
|
-
hasRuntimeDefault: false;
|
|
2683
|
-
enumValues: [string, ...string[]];
|
|
2684
|
-
baseColumn: never;
|
|
2685
|
-
identity: undefined;
|
|
2686
|
-
generated: undefined;
|
|
2687
|
-
}, {}, {}>;
|
|
2688
|
-
metadata: drizzle_orm_pg_core.PgColumn<{
|
|
2689
|
-
name: "metadata";
|
|
2690
|
-
tableName: "notifications";
|
|
2691
|
-
dataType: "json";
|
|
2692
|
-
columnType: "PgJsonb";
|
|
2693
|
-
data: unknown;
|
|
2694
|
-
driverParam: unknown;
|
|
2695
|
-
notNull: true;
|
|
2696
|
-
hasDefault: true;
|
|
2697
|
-
isPrimaryKey: false;
|
|
2698
|
-
isAutoincrement: false;
|
|
2699
|
-
hasRuntimeDefault: false;
|
|
2700
|
-
enumValues: undefined;
|
|
2701
|
-
baseColumn: never;
|
|
2702
|
-
identity: undefined;
|
|
2703
|
-
generated: undefined;
|
|
2704
|
-
}, {}, {}>;
|
|
2705
|
-
};
|
|
2706
|
-
dialect: "pg";
|
|
2707
|
-
}>;
|
|
2708
|
-
declare const DeveloperStatusResponseSchema: z.ZodObject<{
|
|
2709
|
-
status: z.ZodEnum<["none", "pending", "approved"]>;
|
|
2710
|
-
}, "strip", z.ZodTypeAny, {
|
|
2711
|
-
status: "none" | "pending" | "approved";
|
|
2712
|
-
}, {
|
|
2713
|
-
status: "none" | "pending" | "approved";
|
|
2714
|
-
}>;
|
|
2715
|
-
declare const UpsertGameMetadataSchema: z.ZodEffects<z.ZodObject<{
|
|
2716
|
-
displayName: z.ZodString;
|
|
2717
|
-
mapElementId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
2718
|
-
platform: z.ZodEnum<["web", "godot", "unity"]>;
|
|
2719
|
-
metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
2720
|
-
gameType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["hosted", "external"]>>>;
|
|
2721
|
-
externalUrl: z.ZodOptional<z.ZodString>;
|
|
2722
|
-
}, "strip", z.ZodTypeAny, {
|
|
2723
|
-
displayName: string;
|
|
2724
|
-
gameType: "hosted" | "external";
|
|
2725
|
-
platform: "web" | "godot" | "unity";
|
|
2726
|
-
metadata: Record<string, unknown>;
|
|
2727
|
-
externalUrl?: string | undefined;
|
|
2728
|
-
mapElementId?: string | null | undefined;
|
|
2729
|
-
}, {
|
|
2730
|
-
displayName: string;
|
|
2731
|
-
platform: "web" | "godot" | "unity";
|
|
2732
|
-
gameType?: "hosted" | "external" | undefined;
|
|
2733
|
-
externalUrl?: string | undefined;
|
|
2734
|
-
mapElementId?: string | null | undefined;
|
|
2735
|
-
metadata?: Record<string, unknown> | undefined;
|
|
2736
|
-
}>, {
|
|
2737
|
-
displayName: string;
|
|
2738
|
-
gameType: "hosted" | "external";
|
|
2739
|
-
platform: "web" | "godot" | "unity";
|
|
2740
|
-
metadata: Record<string, unknown>;
|
|
2741
|
-
externalUrl?: string | undefined;
|
|
2742
|
-
mapElementId?: string | null | undefined;
|
|
2743
|
-
}, {
|
|
2744
|
-
displayName: string;
|
|
2745
|
-
platform: "web" | "godot" | "unity";
|
|
2746
|
-
gameType?: "hosted" | "external" | undefined;
|
|
2747
|
-
externalUrl?: string | undefined;
|
|
2748
|
-
mapElementId?: string | null | undefined;
|
|
2749
|
-
metadata?: Record<string, unknown> | undefined;
|
|
2750
|
-
}>;
|
|
2751
|
-
/**
|
|
2752
|
-
* Simplified game manifest for Cloudflare Workers deployments
|
|
2753
|
-
*
|
|
2754
|
-
* The manifest is auto-generated by build tools (Godot plugin, Vite plugin, etc.)
|
|
2755
|
-
* and provides minimal metadata about the build.
|
|
2756
|
-
*
|
|
2757
|
-
* Fields:
|
|
2758
|
-
* - version: Manifest schema version (for future migrations)
|
|
2759
|
-
* - platform: Auto-detected by build tool (e.g., 'web', 'godot@4.3', 'unity@2023')
|
|
2760
|
-
* - createdAt: Build timestamp (ISO 8601)
|
|
2761
|
-
*
|
|
2762
|
-
* Note: With unified Cloudflare Workers deployments, the worker handles all routing
|
|
2763
|
-
* internally, so we no longer need bootMode, entryPoint, or styles fields.
|
|
2764
|
-
*/
|
|
2765
|
-
declare const ManifestV1Schema: z.ZodObject<{
|
|
2766
|
-
version: z.ZodString;
|
|
2767
|
-
platform: z.ZodString;
|
|
2768
|
-
createdAt: z.ZodString;
|
|
2769
|
-
}, "strip", z.ZodTypeAny, {
|
|
2770
|
-
createdAt: string;
|
|
2771
|
-
version: string;
|
|
2772
|
-
platform: string;
|
|
2773
|
-
}, {
|
|
2774
|
-
createdAt: string;
|
|
2775
|
-
version: string;
|
|
2776
|
-
platform: string;
|
|
2777
|
-
}>;
|
|
2778
|
-
declare const InsertItemSchema: drizzle_zod.BuildSchema<"insert", {
|
|
2779
|
-
id: drizzle_orm_pg_core.PgColumn<{
|
|
2780
|
-
name: "id";
|
|
2781
|
-
tableName: "items";
|
|
2782
|
-
dataType: "string";
|
|
2783
|
-
columnType: "PgUUID";
|
|
2784
|
-
data: string;
|
|
2785
|
-
driverParam: string;
|
|
2786
|
-
notNull: true;
|
|
2787
|
-
hasDefault: true;
|
|
2788
|
-
isPrimaryKey: true;
|
|
2789
|
-
isAutoincrement: false;
|
|
2790
|
-
hasRuntimeDefault: false;
|
|
2791
|
-
enumValues: undefined;
|
|
2792
|
-
baseColumn: never;
|
|
2793
|
-
identity: undefined;
|
|
2794
|
-
generated: undefined;
|
|
2795
|
-
}, {}, {}>;
|
|
2796
|
-
slug: drizzle_orm_pg_core.PgColumn<{
|
|
2797
|
-
name: "slug";
|
|
2798
|
-
tableName: "items";
|
|
2799
|
-
dataType: "string";
|
|
2800
|
-
columnType: "PgText";
|
|
2801
|
-
data: string;
|
|
2802
|
-
driverParam: string;
|
|
2803
|
-
notNull: true;
|
|
2804
|
-
hasDefault: false;
|
|
2805
|
-
isPrimaryKey: false;
|
|
2806
|
-
isAutoincrement: false;
|
|
2807
|
-
hasRuntimeDefault: false;
|
|
2808
|
-
enumValues: [string, ...string[]];
|
|
2809
|
-
baseColumn: never;
|
|
2810
|
-
identity: undefined;
|
|
2811
|
-
generated: undefined;
|
|
2812
|
-
}, {}, {}>;
|
|
2813
|
-
gameId: drizzle_orm_pg_core.PgColumn<{
|
|
2814
|
-
name: "game_id";
|
|
2815
|
-
tableName: "items";
|
|
2816
|
-
dataType: "string";
|
|
2817
|
-
columnType: "PgUUID";
|
|
2818
|
-
data: string;
|
|
2819
|
-
driverParam: string;
|
|
2820
|
-
notNull: false;
|
|
2821
|
-
hasDefault: false;
|
|
2822
|
-
isPrimaryKey: false;
|
|
2823
|
-
isAutoincrement: false;
|
|
2824
|
-
hasRuntimeDefault: false;
|
|
2825
|
-
enumValues: undefined;
|
|
2826
|
-
baseColumn: never;
|
|
2827
|
-
identity: undefined;
|
|
2828
|
-
generated: undefined;
|
|
2829
|
-
}, {}, {}>;
|
|
2830
|
-
displayName: drizzle_orm_pg_core.PgColumn<{
|
|
2831
|
-
name: "display_name";
|
|
2832
|
-
tableName: "items";
|
|
2833
|
-
dataType: "string";
|
|
2834
|
-
columnType: "PgText";
|
|
2835
|
-
data: string;
|
|
2836
|
-
driverParam: string;
|
|
2837
|
-
notNull: true;
|
|
2838
|
-
hasDefault: false;
|
|
2839
|
-
isPrimaryKey: false;
|
|
2840
|
-
isAutoincrement: false;
|
|
2841
|
-
hasRuntimeDefault: false;
|
|
2842
|
-
enumValues: [string, ...string[]];
|
|
2843
|
-
baseColumn: never;
|
|
2844
|
-
identity: undefined;
|
|
2845
|
-
generated: undefined;
|
|
2846
|
-
}, {}, {}>;
|
|
2847
|
-
description: drizzle_orm_pg_core.PgColumn<{
|
|
2848
|
-
name: "description";
|
|
2849
|
-
tableName: "items";
|
|
2850
|
-
dataType: "string";
|
|
2851
|
-
columnType: "PgText";
|
|
2852
|
-
data: string;
|
|
2853
|
-
driverParam: string;
|
|
2854
|
-
notNull: false;
|
|
2855
|
-
hasDefault: false;
|
|
2856
|
-
isPrimaryKey: false;
|
|
2857
|
-
isAutoincrement: false;
|
|
2858
|
-
hasRuntimeDefault: false;
|
|
2859
|
-
enumValues: [string, ...string[]];
|
|
2860
|
-
baseColumn: never;
|
|
2861
|
-
identity: undefined;
|
|
2862
|
-
generated: undefined;
|
|
2863
|
-
}, {}, {}>;
|
|
2864
|
-
type: drizzle_orm_pg_core.PgColumn<{
|
|
2865
|
-
name: "type";
|
|
2866
|
-
tableName: "items";
|
|
2867
|
-
dataType: "string";
|
|
2868
|
-
columnType: "PgEnumColumn";
|
|
2869
|
-
data: "currency" | "badge" | "trophy" | "collectible" | "consumable" | "unlock" | "upgrade" | "accessory" | "other";
|
|
2870
|
-
driverParam: string;
|
|
2871
|
-
notNull: true;
|
|
2872
|
-
hasDefault: true;
|
|
2873
|
-
isPrimaryKey: false;
|
|
2874
|
-
isAutoincrement: false;
|
|
2875
|
-
hasRuntimeDefault: false;
|
|
2876
|
-
enumValues: ["currency", "badge", "trophy", "collectible", "consumable", "unlock", "upgrade", "accessory", "other"];
|
|
2877
|
-
baseColumn: never;
|
|
2878
|
-
identity: undefined;
|
|
2879
|
-
generated: undefined;
|
|
2880
|
-
}, {}, {}>;
|
|
2881
|
-
isPlaceable: drizzle_orm_pg_core.PgColumn<{
|
|
2882
|
-
name: "is_placeable";
|
|
2883
|
-
tableName: "items";
|
|
2884
|
-
dataType: "boolean";
|
|
2885
|
-
columnType: "PgBoolean";
|
|
2886
|
-
data: boolean;
|
|
2887
|
-
driverParam: boolean;
|
|
2888
|
-
notNull: true;
|
|
2889
|
-
hasDefault: true;
|
|
2890
|
-
isPrimaryKey: false;
|
|
2891
|
-
isAutoincrement: false;
|
|
2892
|
-
hasRuntimeDefault: false;
|
|
2893
|
-
enumValues: undefined;
|
|
2894
|
-
baseColumn: never;
|
|
2895
|
-
identity: undefined;
|
|
2896
|
-
generated: undefined;
|
|
2897
|
-
}, {}, {}>;
|
|
2898
|
-
imageUrl: drizzle_orm_pg_core.PgColumn<{
|
|
2899
|
-
name: "image_url";
|
|
2900
|
-
tableName: "items";
|
|
2901
|
-
dataType: "string";
|
|
2902
|
-
columnType: "PgText";
|
|
2903
|
-
data: string;
|
|
2904
|
-
driverParam: string;
|
|
2905
|
-
notNull: false;
|
|
2906
|
-
hasDefault: false;
|
|
2907
|
-
isPrimaryKey: false;
|
|
2908
|
-
isAutoincrement: false;
|
|
2909
|
-
hasRuntimeDefault: false;
|
|
2910
|
-
enumValues: [string, ...string[]];
|
|
2911
|
-
baseColumn: never;
|
|
2912
|
-
identity: undefined;
|
|
2913
|
-
generated: undefined;
|
|
2914
|
-
}, {}, {}>;
|
|
2915
|
-
metadata: drizzle_orm_pg_core.PgColumn<{
|
|
2916
|
-
name: "metadata";
|
|
2917
|
-
tableName: "items";
|
|
2918
|
-
dataType: "json";
|
|
2919
|
-
columnType: "PgJsonb";
|
|
2920
|
-
data: unknown;
|
|
2921
|
-
driverParam: unknown;
|
|
2922
|
-
notNull: false;
|
|
2923
|
-
hasDefault: true;
|
|
2924
|
-
isPrimaryKey: false;
|
|
2925
|
-
isAutoincrement: false;
|
|
2926
|
-
hasRuntimeDefault: false;
|
|
2927
|
-
enumValues: undefined;
|
|
2928
|
-
baseColumn: never;
|
|
2929
|
-
identity: undefined;
|
|
2930
|
-
generated: undefined;
|
|
2931
|
-
}, {}, {}>;
|
|
2932
|
-
createdAt: drizzle_orm_pg_core.PgColumn<{
|
|
2933
|
-
name: "created_at";
|
|
2934
|
-
tableName: "items";
|
|
2935
|
-
dataType: "date";
|
|
2936
|
-
columnType: "PgTimestamp";
|
|
2937
|
-
data: Date;
|
|
2938
|
-
driverParam: string;
|
|
2939
|
-
notNull: true;
|
|
2940
|
-
hasDefault: true;
|
|
2941
|
-
isPrimaryKey: false;
|
|
2942
|
-
isAutoincrement: false;
|
|
2943
|
-
hasRuntimeDefault: false;
|
|
2944
|
-
enumValues: undefined;
|
|
2945
|
-
baseColumn: never;
|
|
2946
|
-
identity: undefined;
|
|
2947
|
-
generated: undefined;
|
|
2948
|
-
}, {}, {}>;
|
|
2949
|
-
}, {
|
|
2950
|
-
imageUrl: z.ZodNullable<z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>>;
|
|
2951
|
-
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
2952
|
-
}>;
|
|
2953
|
-
declare const UpdateItemSchema: z.ZodObject<Omit<{
|
|
2954
|
-
id: z.ZodOptional<z.ZodString>;
|
|
2955
|
-
slug: z.ZodOptional<z.ZodString>;
|
|
2956
|
-
gameId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2957
|
-
displayName: z.ZodOptional<z.ZodString>;
|
|
2958
|
-
description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2959
|
-
type: z.ZodOptional<z.ZodEnum<["currency", "badge", "trophy", "collectible", "consumable", "unlock", "upgrade", "accessory", "other"]>>;
|
|
2960
|
-
isPlaceable: z.ZodOptional<z.ZodBoolean>;
|
|
2961
|
-
imageUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2962
|
-
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
2963
|
-
createdAt: z.ZodOptional<z.ZodDate>;
|
|
2964
|
-
}, "id" | "createdAt">, "strip", z.ZodTypeAny, {
|
|
2965
|
-
slug?: string | undefined;
|
|
2966
|
-
description?: string | null | undefined;
|
|
2967
|
-
displayName?: string | undefined;
|
|
2968
|
-
metadata?: Record<string, unknown> | undefined;
|
|
2969
|
-
gameId?: string | null | undefined;
|
|
2970
|
-
type?: "currency" | "badge" | "trophy" | "collectible" | "consumable" | "unlock" | "upgrade" | "accessory" | "other" | undefined;
|
|
2971
|
-
isPlaceable?: boolean | undefined;
|
|
2972
|
-
imageUrl?: string | null | undefined;
|
|
2973
|
-
}, {
|
|
2974
|
-
slug?: string | undefined;
|
|
2975
|
-
description?: string | null | undefined;
|
|
2976
|
-
displayName?: string | undefined;
|
|
2977
|
-
metadata?: Record<string, unknown> | undefined;
|
|
2978
|
-
gameId?: string | null | undefined;
|
|
2979
|
-
type?: "currency" | "badge" | "trophy" | "collectible" | "consumable" | "unlock" | "upgrade" | "accessory" | "other" | undefined;
|
|
2980
|
-
isPlaceable?: boolean | undefined;
|
|
2981
|
-
imageUrl?: string | null | undefined;
|
|
2982
|
-
}>;
|
|
2983
|
-
declare const InsertCurrencySchema: z.ZodObject<Omit<{
|
|
2984
|
-
id: z.ZodOptional<z.ZodString>;
|
|
2985
|
-
itemId: z.ZodString;
|
|
2986
|
-
symbol: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2987
|
-
isPrimary: z.ZodDefault<z.ZodBoolean>;
|
|
2988
|
-
createdAt: z.ZodOptional<z.ZodDate>;
|
|
2989
|
-
updatedAt: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
|
|
2990
|
-
}, "id" | "createdAt" | "updatedAt">, "strip", z.ZodTypeAny, {
|
|
2991
|
-
itemId: string;
|
|
2992
|
-
isPrimary: boolean;
|
|
2993
|
-
symbol?: string | null | undefined;
|
|
2994
|
-
}, {
|
|
2995
|
-
itemId: string;
|
|
2996
|
-
symbol?: string | null | undefined;
|
|
2997
|
-
isPrimary?: boolean | undefined;
|
|
2998
|
-
}>;
|
|
2999
|
-
declare const UpdateCurrencySchema: z.ZodObject<{
|
|
3000
|
-
symbol: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
3001
|
-
itemId: z.ZodOptional<z.ZodString>;
|
|
3002
|
-
isPrimary: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
3003
|
-
}, "strip", z.ZodTypeAny, {
|
|
3004
|
-
symbol?: string | null | undefined;
|
|
3005
|
-
itemId?: string | undefined;
|
|
3006
|
-
isPrimary?: boolean | undefined;
|
|
3007
|
-
}, {
|
|
3008
|
-
symbol?: string | null | undefined;
|
|
3009
|
-
itemId?: string | undefined;
|
|
3010
|
-
isPrimary?: boolean | undefined;
|
|
3011
|
-
}>;
|
|
3012
|
-
declare const InsertShopListingSchema: z.ZodObject<Omit<{
|
|
3013
|
-
id: z.ZodOptional<z.ZodString>;
|
|
3014
|
-
itemId: z.ZodString;
|
|
3015
|
-
currencyId: z.ZodString;
|
|
3016
|
-
price: z.ZodNumber;
|
|
3017
|
-
sellBackPercentage: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
3018
|
-
stock: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
3019
|
-
isActive: z.ZodDefault<z.ZodBoolean>;
|
|
3020
|
-
availableFrom: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
|
|
3021
|
-
availableUntil: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
|
|
3022
|
-
createdAt: z.ZodOptional<z.ZodDate>;
|
|
3023
|
-
updatedAt: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
|
|
3024
|
-
}, "id" | "createdAt" | "updatedAt">, "strip", z.ZodTypeAny, {
|
|
3025
|
-
isActive: boolean;
|
|
3026
|
-
itemId: string;
|
|
3027
|
-
currencyId: string;
|
|
3028
|
-
price: number;
|
|
3029
|
-
sellBackPercentage?: number | null | undefined;
|
|
3030
|
-
stock?: number | null | undefined;
|
|
3031
|
-
availableFrom?: Date | null | undefined;
|
|
3032
|
-
availableUntil?: Date | null | undefined;
|
|
3033
|
-
}, {
|
|
3034
|
-
itemId: string;
|
|
3035
|
-
currencyId: string;
|
|
3036
|
-
price: number;
|
|
3037
|
-
isActive?: boolean | undefined;
|
|
3038
|
-
sellBackPercentage?: number | null | undefined;
|
|
3039
|
-
stock?: number | null | undefined;
|
|
3040
|
-
availableFrom?: Date | null | undefined;
|
|
3041
|
-
availableUntil?: Date | null | undefined;
|
|
3042
|
-
}>;
|
|
3043
|
-
declare const UpdateShopListingSchema: z.ZodObject<{
|
|
3044
|
-
isActive: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
3045
|
-
itemId: z.ZodOptional<z.ZodString>;
|
|
3046
|
-
currencyId: z.ZodOptional<z.ZodString>;
|
|
3047
|
-
price: z.ZodOptional<z.ZodNumber>;
|
|
3048
|
-
sellBackPercentage: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
|
|
3049
|
-
stock: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
|
|
3050
|
-
availableFrom: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodDate>>>;
|
|
3051
|
-
availableUntil: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodDate>>>;
|
|
3052
|
-
}, "strip", z.ZodTypeAny, {
|
|
3053
|
-
isActive?: boolean | undefined;
|
|
3054
|
-
itemId?: string | undefined;
|
|
3055
|
-
currencyId?: string | undefined;
|
|
3056
|
-
price?: number | undefined;
|
|
3057
|
-
sellBackPercentage?: number | null | undefined;
|
|
3058
|
-
stock?: number | null | undefined;
|
|
3059
|
-
availableFrom?: Date | null | undefined;
|
|
3060
|
-
availableUntil?: Date | null | undefined;
|
|
3061
|
-
}, {
|
|
3062
|
-
isActive?: boolean | undefined;
|
|
3063
|
-
itemId?: string | undefined;
|
|
3064
|
-
currencyId?: string | undefined;
|
|
3065
|
-
price?: number | undefined;
|
|
3066
|
-
sellBackPercentage?: number | null | undefined;
|
|
3067
|
-
stock?: number | null | undefined;
|
|
3068
|
-
availableFrom?: Date | null | undefined;
|
|
3069
|
-
availableUntil?: Date | null | undefined;
|
|
3070
|
-
}>;
|
|
3071
|
-
|
|
3072
|
-
declare enum AchievementCompletionType {
|
|
3073
|
-
TIME_PLAYED_SESSION = "time_played_session",
|
|
3074
|
-
INTERACTION = "interaction",
|
|
3075
|
-
LEADERBOARD_RANK = "leaderboard_rank",
|
|
3076
|
-
FIRST_SCORE = "first_score",
|
|
3077
|
-
PERSONAL_BEST = "personal_best"
|
|
3078
|
-
}
|
|
3079
|
-
type AchievementScopeType = (typeof achievementScopeEnum.enumValues)[number];
|
|
3080
|
-
/**
|
|
3081
|
-
* Current-scope achievement with computed status and window metadata
|
|
3082
|
-
*/
|
|
3083
|
-
interface AchievementCurrent {
|
|
3084
|
-
id: string;
|
|
3085
|
-
title: string;
|
|
3086
|
-
description?: string | null;
|
|
3087
|
-
scope: AchievementScopeType;
|
|
3088
|
-
rewardCredits: number;
|
|
3089
|
-
limit: number;
|
|
3090
|
-
completionType: AchievementCompletionType;
|
|
3091
|
-
completionConfig: Record<string, unknown>;
|
|
3092
|
-
target: Record<string, unknown>;
|
|
3093
|
-
active: boolean;
|
|
3094
|
-
createdAt?: Date;
|
|
3095
|
-
updatedAt?: Date;
|
|
3096
|
-
status: 'available' | 'completed';
|
|
3097
|
-
scopeKey: string;
|
|
3098
|
-
windowStart: string;
|
|
3099
|
-
windowEnd: string;
|
|
3100
|
-
}
|
|
3101
|
-
/**
|
|
3102
|
-
* Achievement claim history entry
|
|
3103
|
-
* Used in GET /api/achievements/history
|
|
3104
|
-
*/
|
|
3105
|
-
interface AchievementHistoryEntry {
|
|
3106
|
-
achievementId: string;
|
|
3107
|
-
title: string;
|
|
3108
|
-
rewardCredits: number;
|
|
3109
|
-
createdAt: string;
|
|
3110
|
-
scopeKey: string;
|
|
3111
|
-
}
|
|
3112
|
-
/**
|
|
3113
|
-
* Achievement progress submission response
|
|
3114
|
-
* Used in POST /api/achievements/progress
|
|
3115
|
-
*/
|
|
3116
|
-
interface AchievementProgressResponse {
|
|
3117
|
-
achievementId: string;
|
|
3118
|
-
status: 'completed' | 'already_completed';
|
|
3119
|
-
rewardCredits: number;
|
|
3120
|
-
scopeKey: string;
|
|
3121
|
-
createdAt: string;
|
|
3122
|
-
}
|
|
3123
|
-
|
|
3124
|
-
declare enum NotificationType {
|
|
3125
|
-
ACHIEVEMENT = "achievement",
|
|
3126
|
-
SYSTEM = "system",
|
|
3127
|
-
PROMO = "promo"
|
|
3128
|
-
}
|
|
3129
|
-
declare enum NotificationStatus {
|
|
3130
|
-
PENDING = "pending",
|
|
3131
|
-
DELIVERED = "delivered",
|
|
3132
|
-
SEEN = "seen",
|
|
3133
|
-
CLICKED = "clicked",
|
|
3134
|
-
DISMISSED = "dismissed",
|
|
3135
|
-
EXPIRED = "expired"
|
|
3136
|
-
}
|
|
3137
|
-
type Notification = InferSelectModel<typeof notifications>;
|
|
3138
|
-
interface NotificationStats {
|
|
3139
|
-
total: number;
|
|
3140
|
-
delivered: number;
|
|
3141
|
-
seen: number;
|
|
3142
|
-
clicked: number;
|
|
3143
|
-
dismissed: number;
|
|
3144
|
-
expired: number;
|
|
3145
|
-
clickThroughRate: number;
|
|
3146
|
-
}
|
|
3147
|
-
|
|
3148
|
-
type CharacterComponent = typeof characterComponents.$inferSelect;
|
|
3149
|
-
type PlayerCharacter = typeof playerCharacters.$inferSelect & {
|
|
3150
|
-
accessories?: PlayerCharacterAccessory[];
|
|
3151
|
-
};
|
|
3152
|
-
type PlayerCharacterAccessory = typeof playerCharacterAccessories.$inferSelect;
|
|
3153
|
-
type GameRow = typeof games.$inferSelect;
|
|
3154
|
-
type BaseGame = Omit<GameRow, 'gameType' | 'deploymentUrl' | 'externalUrl'>;
|
|
3155
|
-
type HostedGame = BaseGame & {
|
|
3156
|
-
gameType: 'hosted';
|
|
3157
|
-
deploymentUrl: string;
|
|
3158
|
-
externalUrl: null;
|
|
3159
|
-
};
|
|
3160
|
-
type ExternalGame = BaseGame & {
|
|
3161
|
-
gameType: 'external';
|
|
3162
|
-
deploymentUrl: null;
|
|
3163
|
-
externalUrl: string;
|
|
3164
|
-
};
|
|
3165
|
-
type Game = HostedGame | ExternalGame;
|
|
3166
|
-
type GameStateData = Record<string, unknown>;
|
|
3167
|
-
type GameCustomHostname = typeof gameCustomHostnames.$inferSelect;
|
|
3168
|
-
type UpsertGameMetadataInput = z.infer<typeof UpsertGameMetadataSchema>;
|
|
3169
899
|
type Item = typeof items.$inferSelect;
|
|
3170
900
|
type InventoryItem = typeof inventoryItems.$inferSelect;
|
|
3171
|
-
type ShopListing = typeof shopListings.$inferSelect;
|
|
3172
|
-
type InsertItemInput = z.infer<typeof InsertItemSchema>;
|
|
3173
|
-
type UpdateItemInput = z.infer<typeof UpdateItemSchema>;
|
|
3174
|
-
type InsertCurrencyInput = z.infer<typeof InsertCurrencySchema>;
|
|
3175
|
-
type UpdateCurrencyInput = z.infer<typeof UpdateCurrencySchema>;
|
|
3176
|
-
type InsertShopListingInput = z.infer<typeof InsertShopListingSchema>;
|
|
3177
|
-
type UpdateShopListingInput = z.infer<typeof UpdateShopListingSchema>;
|
|
3178
|
-
interface PlaceableItemMetadata {
|
|
3179
|
-
tilesWide?: number;
|
|
3180
|
-
tilesHigh?: number;
|
|
3181
|
-
flippable?: boolean;
|
|
3182
|
-
[key: string]: unknown;
|
|
3183
|
-
}
|
|
3184
|
-
type MapElement = typeof mapElements.$inferSelect;
|
|
3185
|
-
type MapObject = typeof mapObjects.$inferSelect;
|
|
3186
|
-
interface MapData {
|
|
3187
|
-
id: string;
|
|
3188
|
-
identifier: string;
|
|
3189
|
-
displayName: string;
|
|
3190
|
-
description?: string;
|
|
3191
|
-
metadata?: Record<string, unknown>;
|
|
3192
|
-
}
|
|
3193
|
-
interface CreateMapObjectData {
|
|
3194
|
-
itemId: string;
|
|
3195
|
-
worldX: number;
|
|
3196
|
-
worldY: number;
|
|
3197
|
-
width?: number;
|
|
3198
|
-
height?: number;
|
|
3199
|
-
rotation?: number;
|
|
3200
|
-
scale?: number;
|
|
3201
|
-
metadata?: Record<string, unknown>;
|
|
3202
|
-
}
|
|
3203
901
|
|
|
3204
902
|
type User = typeof users.$inferSelect;
|
|
3205
|
-
type DeveloperStatusResponse = z.infer<typeof DeveloperStatusResponseSchema>;
|
|
3206
|
-
type DeveloperStatusValue = DeveloperStatusResponse['status'];
|
|
3207
903
|
/**
|
|
3208
904
|
* User data with authentication provider information.
|
|
3209
905
|
* Returned by the /users/me endpoint with additional auth context.
|
|
@@ -3212,12 +908,6 @@ type AuthenticatedUser = User & {
|
|
|
3212
908
|
/** Whether the user authenticated via Timeback SSO */
|
|
3213
909
|
hasTimebackAccount: boolean;
|
|
3214
910
|
};
|
|
3215
|
-
|
|
3216
|
-
/**
|
|
3217
|
-
* Cross-Domain Composite Types
|
|
3218
|
-
* Types that combine data from multiple domains
|
|
3219
|
-
*/
|
|
3220
|
-
type ManifestV1 = z.infer<typeof ManifestV1Schema>;
|
|
3221
911
|
/**
|
|
3222
912
|
* Basic user information in the shape of the claims from identity providers
|
|
3223
913
|
*/
|
|
@@ -3239,191 +929,9 @@ interface UserInfo {
|
|
|
3239
929
|
/** Additional user attributes from the identity provider */
|
|
3240
930
|
[key: string]: unknown;
|
|
3241
931
|
}
|
|
3242
|
-
/**
|
|
3243
|
-
* Character-related Composite Types
|
|
3244
|
-
* Types that combine character component data with sprite sheet information
|
|
3245
|
-
*/
|
|
3246
|
-
type CharacterComponentWithSpriteUrl = CharacterComponent & {
|
|
3247
|
-
spriteSheetUrl: string;
|
|
3248
|
-
};
|
|
3249
932
|
type InventoryItemWithItem = Omit<InventoryItem, 'itemId'> & {
|
|
3250
933
|
item: Item;
|
|
3251
934
|
};
|
|
3252
|
-
/**
|
|
3253
|
-
* Game with optional manifest metadata from build tools
|
|
3254
|
-
*/
|
|
3255
|
-
type FetchedGame = (HostedGame | ExternalGame | GameRow) & {
|
|
3256
|
-
manifest?: ManifestV1;
|
|
3257
|
-
};
|
|
3258
|
-
/**
|
|
3259
|
-
* Map-related Composite Types
|
|
3260
|
-
* Types that combine map, game, and item data for rendering and interaction
|
|
3261
|
-
*/
|
|
3262
|
-
interface MapElementWithGame extends MapElement {
|
|
3263
|
-
game: Pick<Game, 'id' | 'displayName'> | null;
|
|
3264
|
-
}
|
|
3265
|
-
interface MapObjectWithItem extends MapObject {
|
|
3266
|
-
item: Pick<Item, 'id' | 'slug' | 'displayName' | 'description' | 'imageUrl' | 'isPlaceable'> & {
|
|
3267
|
-
metadata: PlaceableItemMetadata;
|
|
3268
|
-
};
|
|
3269
|
-
}
|
|
3270
|
-
/**
|
|
3271
|
-
* Shop-related Composite Types
|
|
3272
|
-
* Types that combine inventory, currency, and shop listing data for commerce operations
|
|
3273
|
-
*/
|
|
3274
|
-
interface ShopDisplayItem extends Omit<Item, 'createdAt'> {
|
|
3275
|
-
listingId: string;
|
|
3276
|
-
shopPrice: number;
|
|
3277
|
-
currencyId: string;
|
|
3278
|
-
currencySymbol?: string | null;
|
|
3279
|
-
currencyDisplayName?: string | null;
|
|
3280
|
-
currencyImageUrl?: string | null;
|
|
3281
|
-
stock?: number | null;
|
|
3282
|
-
sellBackPercentage?: number | null;
|
|
3283
|
-
}
|
|
3284
|
-
interface ShopCurrency {
|
|
3285
|
-
id: string;
|
|
3286
|
-
symbol: string | null;
|
|
3287
|
-
isPrimary: boolean;
|
|
3288
|
-
displayName?: string | null;
|
|
3289
|
-
imageUrl?: string | null;
|
|
3290
|
-
}
|
|
3291
|
-
interface ShopViewResponse {
|
|
3292
|
-
shopItems: ShopDisplayItem[];
|
|
3293
|
-
currencies: ShopCurrency[];
|
|
3294
|
-
}
|
|
3295
|
-
/**
|
|
3296
|
-
* Leaderboard Composite Types
|
|
3297
|
-
* Types that combine leaderboard, user, and game data
|
|
3298
|
-
*/
|
|
3299
|
-
interface GameLeaderboardEntry {
|
|
3300
|
-
rank: number;
|
|
3301
|
-
userId: string;
|
|
3302
|
-
username: string;
|
|
3303
|
-
userImage?: string | null;
|
|
3304
|
-
score: number;
|
|
3305
|
-
achievedAt: Date;
|
|
3306
|
-
metadata?: Record<string, unknown>;
|
|
3307
|
-
gameId: string;
|
|
3308
|
-
gameTitle: string;
|
|
3309
|
-
gameSlug: string;
|
|
3310
|
-
}
|
|
3311
|
-
|
|
3312
|
-
type UserLevel = typeof userLevels.$inferSelect;
|
|
3313
|
-
type LevelConfig = typeof levelConfigs.$inferSelect;
|
|
3314
|
-
interface LeaderboardOptions {
|
|
3315
|
-
timeframe?: 'all_time' | 'monthly' | 'weekly' | 'daily';
|
|
3316
|
-
limit?: number;
|
|
3317
|
-
offset?: number;
|
|
3318
|
-
gameId?: string;
|
|
3319
|
-
}
|
|
3320
|
-
interface LeaderboardEntry {
|
|
3321
|
-
rank: number;
|
|
3322
|
-
userId: string;
|
|
3323
|
-
username: string;
|
|
3324
|
-
userImage?: string | null;
|
|
3325
|
-
score: number;
|
|
3326
|
-
achievedAt: Date;
|
|
3327
|
-
metadata?: Record<string, unknown>;
|
|
3328
|
-
gameId?: string;
|
|
3329
|
-
gameTitle?: string;
|
|
3330
|
-
gameSlug?: string;
|
|
3331
|
-
}
|
|
3332
|
-
interface UserRankResponse {
|
|
3333
|
-
rank: number;
|
|
3334
|
-
score: number;
|
|
3335
|
-
userId: string;
|
|
3336
|
-
}
|
|
3337
|
-
interface UserScore$1 {
|
|
3338
|
-
id: string;
|
|
3339
|
-
score: number;
|
|
3340
|
-
achievedAt: Date;
|
|
3341
|
-
metadata?: Record<string, unknown>;
|
|
3342
|
-
gameId: string;
|
|
3343
|
-
gameTitle: string;
|
|
3344
|
-
gameSlug: string;
|
|
3345
|
-
}
|
|
3346
|
-
interface SpriteTemplateData {
|
|
3347
|
-
tileSize: number;
|
|
3348
|
-
tileHeight: number;
|
|
3349
|
-
columns: number;
|
|
3350
|
-
rows: number;
|
|
3351
|
-
spacing: number;
|
|
3352
|
-
animations: {
|
|
3353
|
-
base_right: {
|
|
3354
|
-
row: number;
|
|
3355
|
-
frameStart: number;
|
|
3356
|
-
numFrames: number;
|
|
3357
|
-
fps: number;
|
|
3358
|
-
};
|
|
3359
|
-
base_up: {
|
|
3360
|
-
row: number;
|
|
3361
|
-
frameStart: number;
|
|
3362
|
-
numFrames: number;
|
|
3363
|
-
fps: number;
|
|
3364
|
-
};
|
|
3365
|
-
base_left: {
|
|
3366
|
-
row: number;
|
|
3367
|
-
frameStart: number;
|
|
3368
|
-
numFrames: number;
|
|
3369
|
-
fps: number;
|
|
3370
|
-
};
|
|
3371
|
-
base_down: {
|
|
3372
|
-
row: number;
|
|
3373
|
-
frameStart: number;
|
|
3374
|
-
numFrames: number;
|
|
3375
|
-
fps: number;
|
|
3376
|
-
};
|
|
3377
|
-
idle_right: {
|
|
3378
|
-
row: number;
|
|
3379
|
-
frameStart: number;
|
|
3380
|
-
numFrames: number;
|
|
3381
|
-
fps: number;
|
|
3382
|
-
};
|
|
3383
|
-
walk_right: {
|
|
3384
|
-
row: number;
|
|
3385
|
-
frameStart: number;
|
|
3386
|
-
numFrames: number;
|
|
3387
|
-
fps: number;
|
|
3388
|
-
};
|
|
3389
|
-
idle_up: {
|
|
3390
|
-
row: number;
|
|
3391
|
-
frameStart: number;
|
|
3392
|
-
numFrames: number;
|
|
3393
|
-
fps: number;
|
|
3394
|
-
};
|
|
3395
|
-
walk_up: {
|
|
3396
|
-
row: number;
|
|
3397
|
-
frameStart: number;
|
|
3398
|
-
numFrames: number;
|
|
3399
|
-
fps: number;
|
|
3400
|
-
};
|
|
3401
|
-
idle_left: {
|
|
3402
|
-
row: number;
|
|
3403
|
-
frameStart: number;
|
|
3404
|
-
numFrames: number;
|
|
3405
|
-
fps: number;
|
|
3406
|
-
};
|
|
3407
|
-
walk_left: {
|
|
3408
|
-
row: number;
|
|
3409
|
-
frameStart: number;
|
|
3410
|
-
numFrames: number;
|
|
3411
|
-
fps: number;
|
|
3412
|
-
};
|
|
3413
|
-
idle_down: {
|
|
3414
|
-
row: number;
|
|
3415
|
-
frameStart: number;
|
|
3416
|
-
numFrames: number;
|
|
3417
|
-
fps: number;
|
|
3418
|
-
};
|
|
3419
|
-
walk_down: {
|
|
3420
|
-
row: number;
|
|
3421
|
-
frameStart: number;
|
|
3422
|
-
numFrames: number;
|
|
3423
|
-
fps: number;
|
|
3424
|
-
};
|
|
3425
|
-
};
|
|
3426
|
-
}
|
|
3427
935
|
type GameTimebackIntegration = typeof gameTimebackIntegrations.$inferSelect;
|
|
3428
936
|
type TodayXpResponse = {
|
|
3429
937
|
xp: number;
|
|
@@ -3488,246 +996,130 @@ type TimebackSetupRequest = {
|
|
|
3488
996
|
};
|
|
3489
997
|
verbose?: boolean;
|
|
3490
998
|
};
|
|
3491
|
-
|
|
3492
|
-
|
|
3493
|
-
|
|
3494
|
-
|
|
3495
|
-
|
|
3496
|
-
|
|
3497
|
-
|
|
3498
|
-
|
|
3499
|
-
|
|
999
|
+
/**
|
|
1000
|
+
* Minimal course configuration for TimeBack integration (used in user-facing config).
|
|
1001
|
+
*
|
|
1002
|
+
* NOTE: Per-course overrides (title, courseCode, level, metadata) are defined
|
|
1003
|
+
* in @playcademy/sdk/server as TimebackCourseConfigWithOverrides.
|
|
1004
|
+
* This base type only includes the minimal required fields.
|
|
1005
|
+
*
|
|
1006
|
+
* For totalXp, use metadata.metrics.totalXp (aligns with upstream TimeBack structure).
|
|
1007
|
+
*/
|
|
1008
|
+
type TimebackCourseConfig = {
|
|
1009
|
+
subject: string;
|
|
1010
|
+
grade: number;
|
|
3500
1011
|
};
|
|
3501
|
-
|
|
3502
|
-
|
|
3503
|
-
|
|
3504
|
-
|
|
3505
|
-
|
|
3506
|
-
|
|
3507
|
-
|
|
1012
|
+
/**
|
|
1013
|
+
* Derived course configuration after merging base + per-course overrides + templating.
|
|
1014
|
+
* This is what the CLI sends to the Platform API in PlatformTimebackSetupRequest.
|
|
1015
|
+
*/
|
|
1016
|
+
type DerivedPlatformCourseConfig = TimebackCourseConfig & {
|
|
1017
|
+
title: string;
|
|
1018
|
+
courseCode: string;
|
|
1019
|
+
level: string;
|
|
1020
|
+
metadata?: Record<string, unknown>;
|
|
1021
|
+
totalXp?: number | null;
|
|
1022
|
+
masterableUnits?: number | null;
|
|
1023
|
+
};
|
|
1024
|
+
type PlatformTimebackSetupRequest = {
|
|
1025
|
+
gameId: string;
|
|
1026
|
+
courses: DerivedPlatformCourseConfig[];
|
|
1027
|
+
baseConfig: {
|
|
1028
|
+
organization: {
|
|
1029
|
+
name: string;
|
|
1030
|
+
type: string;
|
|
1031
|
+
identifier: string;
|
|
3508
1032
|
};
|
|
3509
1033
|
component: {
|
|
3510
|
-
|
|
3511
|
-
|
|
1034
|
+
title: string;
|
|
1035
|
+
titleSuffix?: string;
|
|
1036
|
+
sortOrder: number;
|
|
1037
|
+
prerequisites: string[];
|
|
1038
|
+
prerequisiteCriteria: string;
|
|
3512
1039
|
};
|
|
3513
1040
|
resource: {
|
|
3514
|
-
|
|
3515
|
-
|
|
1041
|
+
title: string;
|
|
1042
|
+
titleSuffix?: string;
|
|
1043
|
+
vendorResourceId: string;
|
|
1044
|
+
vendorId: string;
|
|
1045
|
+
applicationId: string;
|
|
1046
|
+
roles: string[];
|
|
1047
|
+
importance: string;
|
|
1048
|
+
metadata: {
|
|
1049
|
+
type?: string;
|
|
1050
|
+
launchUrl?: string;
|
|
1051
|
+
toolProvider?: string;
|
|
1052
|
+
instructionalMethod?: string;
|
|
1053
|
+
language?: string;
|
|
1054
|
+
[key: string]: unknown;
|
|
1055
|
+
};
|
|
3516
1056
|
};
|
|
3517
1057
|
componentResource: {
|
|
3518
|
-
|
|
3519
|
-
|
|
1058
|
+
title: string;
|
|
1059
|
+
titleSuffix?: string;
|
|
1060
|
+
sortOrder: number;
|
|
1061
|
+
lessonType: string | null;
|
|
1062
|
+
};
|
|
1063
|
+
};
|
|
1064
|
+
verbose?: boolean;
|
|
1065
|
+
};
|
|
1066
|
+
type PlatformTimebackSetupResponse = {
|
|
1067
|
+
integrations: GameTimebackIntegration[];
|
|
1068
|
+
verbose?: Array<{
|
|
1069
|
+
integration: GameTimebackIntegration;
|
|
1070
|
+
config: {
|
|
1071
|
+
course: unknown;
|
|
1072
|
+
component: unknown;
|
|
1073
|
+
resource: unknown;
|
|
1074
|
+
componentResource: unknown;
|
|
3520
1075
|
};
|
|
1076
|
+
}>;
|
|
1077
|
+
};
|
|
1078
|
+
type TimebackVerificationResources = {
|
|
1079
|
+
course: {
|
|
1080
|
+
found: boolean;
|
|
1081
|
+
data?: unknown;
|
|
1082
|
+
};
|
|
1083
|
+
component: {
|
|
1084
|
+
found: boolean;
|
|
1085
|
+
data?: unknown;
|
|
1086
|
+
};
|
|
1087
|
+
resource: {
|
|
1088
|
+
found: boolean;
|
|
1089
|
+
data?: unknown;
|
|
1090
|
+
};
|
|
1091
|
+
componentResource: {
|
|
1092
|
+
found: boolean;
|
|
1093
|
+
data?: unknown;
|
|
3521
1094
|
};
|
|
1095
|
+
};
|
|
1096
|
+
type TimebackVerifyCourseResult = {
|
|
1097
|
+
integration: GameTimebackIntegration;
|
|
1098
|
+
resources: TimebackVerificationResources;
|
|
1099
|
+
status: 'success' | 'error';
|
|
3522
1100
|
errors?: string[];
|
|
3523
1101
|
};
|
|
1102
|
+
type TimebackVerifyAllResponse = {
|
|
1103
|
+
status: 'success' | 'error';
|
|
1104
|
+
results: TimebackVerifyCourseResult[];
|
|
1105
|
+
};
|
|
3524
1106
|
type EndActivityResponse = {
|
|
3525
1107
|
status: 'ok';
|
|
3526
1108
|
courseId: string;
|
|
3527
|
-
xpAwarded: number;
|
|
3528
|
-
|
|
3529
|
-
|
|
3530
|
-
|
|
3531
|
-
|
|
3532
|
-
|
|
3533
|
-
|
|
3534
|
-
/**
|
|
3535
|
-
*
|
|
3536
|
-
|
|
3537
|
-
|
|
3538
|
-
|
|
3539
|
-
|
|
3540
|
-
|
|
3541
|
-
csrfToken: string;
|
|
3542
|
-
data?: Record<string, string>;
|
|
3543
|
-
};
|
|
3544
|
-
|
|
3545
|
-
/**
|
|
3546
|
-
* Response type for the realtime token API
|
|
3547
|
-
*/
|
|
3548
|
-
interface RealtimeTokenResponse {
|
|
3549
|
-
token: string;
|
|
3550
|
-
}
|
|
3551
|
-
|
|
3552
|
-
/**
|
|
3553
|
-
* Cache configuration types for runtime customization
|
|
3554
|
-
*/
|
|
3555
|
-
/**
|
|
3556
|
-
* Runtime configuration for TTL cache behavior
|
|
3557
|
-
*/
|
|
3558
|
-
interface TTLCacheConfig {
|
|
3559
|
-
/** Time-to-live in milliseconds. Set to 0 to disable caching for this call. */
|
|
3560
|
-
ttl?: number;
|
|
3561
|
-
/** Force refresh, bypassing cache */
|
|
3562
|
-
force?: boolean;
|
|
3563
|
-
/** Skip cache and fetch fresh data (alias for force) */
|
|
3564
|
-
skipCache?: boolean;
|
|
3565
|
-
}
|
|
3566
|
-
/**
|
|
3567
|
-
* Runtime configuration for cooldown cache behavior
|
|
3568
|
-
*/
|
|
3569
|
-
interface CooldownCacheConfig {
|
|
3570
|
-
/** Cooldown period in milliseconds. Set to 0 to disable cooldown for this call. */
|
|
3571
|
-
cooldown?: number;
|
|
3572
|
-
/** Force refresh, bypassing cooldown */
|
|
3573
|
-
force?: boolean;
|
|
3574
|
-
}
|
|
3575
|
-
|
|
3576
|
-
interface CharacterComponentsOptions {
|
|
3577
|
-
/**
|
|
3578
|
-
* Optional level filter for components
|
|
3579
|
-
* When provided, only components available at this level or below are returned
|
|
3580
|
-
*/
|
|
3581
|
-
level?: number;
|
|
3582
|
-
/**
|
|
3583
|
-
* Whether to bypass the cache and force a fresh API request
|
|
3584
|
-
* Default: false (use cache when available)
|
|
3585
|
-
*/
|
|
3586
|
-
skipCache?: boolean;
|
|
3587
|
-
}
|
|
3588
|
-
interface CreateCharacterData {
|
|
3589
|
-
bodyComponentId: string;
|
|
3590
|
-
eyesComponentId: string;
|
|
3591
|
-
hairstyleComponentId: string;
|
|
3592
|
-
outfitComponentId: string;
|
|
3593
|
-
}
|
|
3594
|
-
interface UpdateCharacterData {
|
|
3595
|
-
bodyComponentId?: string;
|
|
3596
|
-
eyesComponentId?: string;
|
|
3597
|
-
hairstyleComponentId?: string;
|
|
3598
|
-
outfitComponentId?: string;
|
|
3599
|
-
}
|
|
3600
|
-
|
|
3601
|
-
interface ScoreSubmission {
|
|
3602
|
-
id: string;
|
|
3603
|
-
score: number;
|
|
3604
|
-
achievedAt: Date;
|
|
3605
|
-
}
|
|
3606
|
-
|
|
3607
|
-
/**
|
|
3608
|
-
* Combined response type for summary method
|
|
3609
|
-
*/
|
|
3610
|
-
type XpSummaryResponse = {
|
|
3611
|
-
today: TodayXpResponse;
|
|
3612
|
-
total: TotalXpResponse;
|
|
3613
|
-
};
|
|
3614
|
-
|
|
3615
|
-
/**
|
|
3616
|
-
* @fileoverview Server SDK Type Definitions
|
|
3617
|
-
*
|
|
3618
|
-
* TypeScript type definitions for the server-side Playcademy SDK.
|
|
3619
|
-
* Includes configuration types, client state, and re-exported TimeBack types.
|
|
3620
|
-
*/
|
|
3621
|
-
|
|
3622
|
-
/**
|
|
3623
|
-
* TimeBack integration configuration for Playcademy config file
|
|
3624
|
-
*/
|
|
3625
|
-
interface TimebackIntegrationConfig {
|
|
3626
|
-
/** Organization overrides */
|
|
3627
|
-
organization?: Partial<OrganizationConfig>;
|
|
3628
|
-
/** Course configuration (subjects and grades REQUIRED) */
|
|
3629
|
-
course: CourseConfig;
|
|
3630
|
-
/** Component overrides */
|
|
3631
|
-
component?: Partial<ComponentConfig>;
|
|
3632
|
-
/** Resource overrides */
|
|
3633
|
-
resource?: Partial<ResourceConfig>;
|
|
3634
|
-
/** Component-Resource link overrides */
|
|
3635
|
-
componentResource?: Partial<ComponentResourceConfig>;
|
|
3636
|
-
}
|
|
3637
|
-
/**
|
|
3638
|
-
* Custom API routes integration
|
|
3639
|
-
*/
|
|
3640
|
-
interface CustomRoutesIntegration {
|
|
3641
|
-
/** Directory for custom API routes (defaults to 'server/api') */
|
|
3642
|
-
directory?: string;
|
|
3643
|
-
}
|
|
3644
|
-
/**
|
|
3645
|
-
* Database integration
|
|
3646
|
-
*/
|
|
3647
|
-
interface DatabaseIntegration {
|
|
3648
|
-
/** Database directory (defaults to 'db') */
|
|
3649
|
-
directory?: string;
|
|
3650
|
-
}
|
|
3651
|
-
/**
|
|
3652
|
-
* Integrations configuration
|
|
3653
|
-
* All backend features (database, custom routes, external services) are configured here
|
|
3654
|
-
*/
|
|
3655
|
-
interface IntegrationsConfig {
|
|
3656
|
-
/** TimeBack integration (optional) */
|
|
3657
|
-
timeback?: TimebackIntegrationConfig;
|
|
3658
|
-
/** Custom API routes (optional) */
|
|
3659
|
-
customRoutes?: CustomRoutesIntegration | boolean;
|
|
3660
|
-
/** Database (optional) */
|
|
3661
|
-
database?: DatabaseIntegration | boolean;
|
|
3662
|
-
/** Key-Value storage (optional) */
|
|
3663
|
-
kv?: boolean;
|
|
3664
|
-
/** Bucket storage (optional) */
|
|
3665
|
-
bucket?: boolean;
|
|
3666
|
-
/** Authentication (optional) */
|
|
3667
|
-
auth?: boolean;
|
|
3668
|
-
}
|
|
3669
|
-
/**
|
|
3670
|
-
* Unified Playcademy configuration
|
|
3671
|
-
* Used for playcademy.config.{js,json}
|
|
3672
|
-
*/
|
|
3673
|
-
interface PlaycademyConfig {
|
|
3674
|
-
/** Game name */
|
|
3675
|
-
name: string;
|
|
3676
|
-
/** Game description */
|
|
3677
|
-
description?: string;
|
|
3678
|
-
/** Game emoji icon */
|
|
3679
|
-
emoji?: string;
|
|
3680
|
-
/** Build command to run before deployment */
|
|
3681
|
-
buildCommand?: string[];
|
|
3682
|
-
/** Path to build output */
|
|
3683
|
-
buildPath?: string;
|
|
3684
|
-
/** Game type */
|
|
3685
|
-
gameType?: 'hosted' | 'external';
|
|
3686
|
-
/** External URL (for external games) */
|
|
3687
|
-
externalUrl?: string;
|
|
3688
|
-
/** Game platform */
|
|
3689
|
-
platform?: 'web' | 'unity' | 'godot';
|
|
3690
|
-
/** Integrations (database, custom routes, external services) */
|
|
3691
|
-
integrations?: IntegrationsConfig;
|
|
3692
|
-
}
|
|
3693
|
-
|
|
3694
|
-
/**
|
|
3695
|
-
* Resource bindings for backend deployment
|
|
3696
|
-
* Provider-agnostic abstraction for cloud resources
|
|
3697
|
-
*/
|
|
3698
|
-
interface BackendResourceBindings {
|
|
3699
|
-
/** SQL database instances to create and bind (maps to D1 on Cloudflare) */
|
|
3700
|
-
database?: string[];
|
|
3701
|
-
/** Key-value store namespaces to create and bind (maps to KV on Cloudflare) */
|
|
3702
|
-
keyValue?: string[];
|
|
3703
|
-
/** Object storage buckets to bind (maps to R2 on Cloudflare) */
|
|
3704
|
-
bucket?: string[];
|
|
3705
|
-
}
|
|
3706
|
-
/**
|
|
3707
|
-
* Backend deployment bundle for uploading to Playcademy platform
|
|
3708
|
-
*/
|
|
3709
|
-
interface BackendDeploymentBundle {
|
|
3710
|
-
/** Bundled JavaScript code ready for deployment */
|
|
3711
|
-
code: string;
|
|
3712
|
-
/** Game configuration */
|
|
3713
|
-
config: PlaycademyConfig;
|
|
3714
|
-
/** Optional resource bindings (database, storage, etc.) */
|
|
3715
|
-
bindings?: BackendResourceBindings;
|
|
3716
|
-
/** Optional schema information for database setup */
|
|
3717
|
-
schema?: SchemaInfo;
|
|
3718
|
-
/** Optional game secrets */
|
|
3719
|
-
secrets?: Record<string, string>;
|
|
3720
|
-
}
|
|
3721
|
-
|
|
3722
|
-
interface UserScore {
|
|
3723
|
-
id: string;
|
|
3724
|
-
score: number;
|
|
3725
|
-
achievedAt: Date;
|
|
3726
|
-
metadata?: Record<string, unknown>;
|
|
3727
|
-
gameId: string;
|
|
3728
|
-
gameTitle: string;
|
|
3729
|
-
gameSlug: string;
|
|
3730
|
-
}
|
|
1109
|
+
xpAwarded: number;
|
|
1110
|
+
masteredUnits?: number;
|
|
1111
|
+
pctCompleteApp?: number;
|
|
1112
|
+
scoreStatus?: string;
|
|
1113
|
+
inProgress?: string;
|
|
1114
|
+
};
|
|
1115
|
+
|
|
1116
|
+
/**
|
|
1117
|
+
* Combined response type for summary method
|
|
1118
|
+
*/
|
|
1119
|
+
type XpSummaryResponse = {
|
|
1120
|
+
today: TodayXpResponse;
|
|
1121
|
+
total: TotalXpResponse;
|
|
1122
|
+
};
|
|
3731
1123
|
|
|
3732
1124
|
/**
|
|
3733
1125
|
* Auto-initializes a PlaycademyClient with context from the environment.
|
|
@@ -3753,12 +1145,12 @@ interface UserScore {
|
|
|
3753
1145
|
* const client = await PlaycademyClient.init({ baseUrl: 'https://custom.api.com' })
|
|
3754
1146
|
* ```
|
|
3755
1147
|
*/
|
|
3756
|
-
declare function init(options?: {
|
|
1148
|
+
declare function init<T extends PlaycademyClient = PlaycademyClient>(this: new (...args: ConstructorParameters<typeof PlaycademyClient>) => T, options?: {
|
|
3757
1149
|
baseUrl?: string;
|
|
3758
1150
|
allowedParentOrigins?: string[];
|
|
3759
1151
|
onDisconnect?: DisconnectHandler;
|
|
3760
1152
|
enableConnectionMonitoring?: boolean;
|
|
3761
|
-
}): Promise<
|
|
1153
|
+
}): Promise<T>;
|
|
3762
1154
|
|
|
3763
1155
|
/**
|
|
3764
1156
|
* Authenticates a user with email and password.
|
|
@@ -3812,6 +1204,17 @@ declare class PlaycademyClient {
|
|
|
3812
1204
|
private authContext?;
|
|
3813
1205
|
private initPayload?;
|
|
3814
1206
|
private connectionManager?;
|
|
1207
|
+
/**
|
|
1208
|
+
* Internal session manager for automatic session lifecycle.
|
|
1209
|
+
*
|
|
1210
|
+
* This manager handles starting and ending game sessions automatically.
|
|
1211
|
+
* Game developers don't need to call these methods directly - they're managed
|
|
1212
|
+
* by the SDK during initialization and cleanup.
|
|
1213
|
+
*
|
|
1214
|
+
* @private
|
|
1215
|
+
* @internal
|
|
1216
|
+
*/
|
|
1217
|
+
private _sessionManager;
|
|
3815
1218
|
/**
|
|
3816
1219
|
* Creates a new PlaycademyClient instance.
|
|
3817
1220
|
*
|
|
@@ -4057,32 +1460,6 @@ declare class PlaycademyClient {
|
|
|
4057
1460
|
* 3. autoStartSession is enabled (defaults to false)
|
|
4058
1461
|
*/
|
|
4059
1462
|
private _initializeInternalSession;
|
|
4060
|
-
/** Platform API authentication methods (login, logout) */
|
|
4061
|
-
auth: {
|
|
4062
|
-
login: (credentials: {
|
|
4063
|
-
email: string;
|
|
4064
|
-
password: string;
|
|
4065
|
-
}) => Promise<{
|
|
4066
|
-
success: boolean;
|
|
4067
|
-
token?: string;
|
|
4068
|
-
user?: {
|
|
4069
|
-
id: string;
|
|
4070
|
-
email: string;
|
|
4071
|
-
};
|
|
4072
|
-
expiresAt?: string;
|
|
4073
|
-
error?: string;
|
|
4074
|
-
}>;
|
|
4075
|
-
logout: () => Promise<void>;
|
|
4076
|
-
apiKeys: {
|
|
4077
|
-
create: (options?: {
|
|
4078
|
-
name?: string;
|
|
4079
|
-
expiresIn?: number | null;
|
|
4080
|
-
permissions?: Record<string, string[]>;
|
|
4081
|
-
}) => Promise<BetterAuthApiKeyResponse>;
|
|
4082
|
-
list: () => Promise<BetterAuthApiKey[]>;
|
|
4083
|
-
revoke: (keyId: string) => Promise<void>;
|
|
4084
|
-
};
|
|
4085
|
-
};
|
|
4086
1463
|
/** Identity provider connection methods (connect external accounts) */
|
|
4087
1464
|
identity: {
|
|
4088
1465
|
connect: (options: AuthOptions) => Promise<AuthResult>;
|
|
@@ -4125,26 +1502,6 @@ declare class PlaycademyClient {
|
|
|
4125
1502
|
arrayBuffer: (path: string) => Promise<ArrayBuffer>;
|
|
4126
1503
|
};
|
|
4127
1504
|
};
|
|
4128
|
-
/** Game management methods (fetch, list, saveState, loadState, sessions) */
|
|
4129
|
-
games: {
|
|
4130
|
-
fetch: (gameIdOrSlug: string, options?: TTLCacheConfig) => Promise<FetchedGame>;
|
|
4131
|
-
list: (options?: TTLCacheConfig) => Promise<Array<Game>>;
|
|
4132
|
-
saveState: (state: Record<string, unknown>) => Promise<void>;
|
|
4133
|
-
loadState: () => Promise<GameStateData>;
|
|
4134
|
-
startSession: (gameId?: string) => Promise<StartSessionResponse>;
|
|
4135
|
-
endSession: (sessionId: string, gameId?: string) => Promise<void>;
|
|
4136
|
-
token: {
|
|
4137
|
-
create: (gameId: string, options?: {
|
|
4138
|
-
apply?: boolean;
|
|
4139
|
-
}) => Promise<GameTokenResponse>;
|
|
4140
|
-
};
|
|
4141
|
-
leaderboard: {
|
|
4142
|
-
get: (gameId: string, options?: {
|
|
4143
|
-
limit?: number;
|
|
4144
|
-
offset?: number;
|
|
4145
|
-
}) => Promise<LeaderboardEntry[]>;
|
|
4146
|
-
};
|
|
4147
|
-
};
|
|
4148
1505
|
/** User methods (me, inventory management) */
|
|
4149
1506
|
users: {
|
|
4150
1507
|
me: () => Promise<AuthenticatedUser>;
|
|
@@ -4155,258 +1512,6 @@ declare class PlaycademyClient {
|
|
|
4155
1512
|
quantity: (identifier: string) => Promise<number>;
|
|
4156
1513
|
has: (identifier: string, minQuantity?: number) => Promise<boolean>;
|
|
4157
1514
|
};
|
|
4158
|
-
scores: {
|
|
4159
|
-
get: (userIdOrOptions?: string | {
|
|
4160
|
-
limit?: number;
|
|
4161
|
-
gameId?: string;
|
|
4162
|
-
}, options?: {
|
|
4163
|
-
limit?: number;
|
|
4164
|
-
gameId?: string;
|
|
4165
|
-
}) => Promise<UserScore[]>;
|
|
4166
|
-
};
|
|
4167
|
-
};
|
|
4168
|
-
/** Developer tools (auth, games, keys management) */
|
|
4169
|
-
dev: {
|
|
4170
|
-
status: {
|
|
4171
|
-
apply: () => Promise<void>;
|
|
4172
|
-
get: () => Promise<DeveloperStatusValue>;
|
|
4173
|
-
};
|
|
4174
|
-
games: {
|
|
4175
|
-
deploy: (slug: string, options: {
|
|
4176
|
-
metadata?: UpsertGameMetadataInput;
|
|
4177
|
-
file?: File | Blob | null;
|
|
4178
|
-
backend?: BackendDeploymentBundle;
|
|
4179
|
-
hooks?: DevUploadHooks;
|
|
4180
|
-
}) => Promise<Game>;
|
|
4181
|
-
seed: (slug: string, code: string, environment?: "staging" | "production") => Promise<{
|
|
4182
|
-
success: boolean;
|
|
4183
|
-
deploymentId: string;
|
|
4184
|
-
executedAt: string;
|
|
4185
|
-
}>;
|
|
4186
|
-
upsert: (slug: string, metadata: UpsertGameMetadataInput) => Promise<Game>;
|
|
4187
|
-
delete: (gameId: string) => Promise<void>;
|
|
4188
|
-
secrets: {
|
|
4189
|
-
set: (slug: string, secrets: Record<string, string>) => Promise<string[]>;
|
|
4190
|
-
list: (slug: string) => Promise<string[]>;
|
|
4191
|
-
get: (slug: string) => Promise<Record<string, string>>;
|
|
4192
|
-
delete: (slug: string, key: string) => Promise<void>;
|
|
4193
|
-
};
|
|
4194
|
-
database: {
|
|
4195
|
-
reset: (slug: string, schema?: {
|
|
4196
|
-
sql: string;
|
|
4197
|
-
hash: string;
|
|
4198
|
-
}) => Promise<{
|
|
4199
|
-
success: boolean;
|
|
4200
|
-
deploymentId: string;
|
|
4201
|
-
resetAt: string;
|
|
4202
|
-
schemaPushed: boolean;
|
|
4203
|
-
}>;
|
|
4204
|
-
};
|
|
4205
|
-
bucket: {
|
|
4206
|
-
list: (slug: string, prefix?: string) => Promise<BucketFile[]>;
|
|
4207
|
-
get: (slug: string, key: string) => Promise<ArrayBuffer>;
|
|
4208
|
-
put: (slug: string, key: string, content: Blob | ArrayBuffer | Uint8Array, contentType?: string) => Promise<void>;
|
|
4209
|
-
delete: (slug: string, key: string) => Promise<void>;
|
|
4210
|
-
};
|
|
4211
|
-
domains: {
|
|
4212
|
-
add: (slug: string, hostname: string) => Promise<GameCustomHostname>;
|
|
4213
|
-
list: (slug: string) => Promise<GameCustomHostname[]>;
|
|
4214
|
-
status: (slug: string, hostname: string, refresh?: boolean) => Promise<GameCustomHostname>;
|
|
4215
|
-
delete: (slug: string, hostname: string) => Promise<void>;
|
|
4216
|
-
};
|
|
4217
|
-
};
|
|
4218
|
-
items: {
|
|
4219
|
-
create: (gameId: string, slug: string, itemData: Omit<InsertItemInput, "slug" | "gameId">) => Promise<Item>;
|
|
4220
|
-
update: (gameId: string, itemId: string, updates: UpdateItemInput) => Promise<Item>;
|
|
4221
|
-
list: (gameId: string) => Promise<Array<Item>>;
|
|
4222
|
-
get: (gameId: string, slug: string) => Promise<Item>;
|
|
4223
|
-
delete: (gameId: string, itemId: string) => Promise<void>;
|
|
4224
|
-
shop: {
|
|
4225
|
-
create: (gameId: string, itemId: string, listingData: Omit<InsertShopListingInput, "itemId">) => Promise<ShopListing>;
|
|
4226
|
-
get: (gameId: string, itemId: string) => Promise<ShopListing | null>;
|
|
4227
|
-
update: (gameId: string, itemId: string, updates: UpdateShopListingInput) => Promise<ShopListing>;
|
|
4228
|
-
delete: (gameId: string, itemId: string) => Promise<void>;
|
|
4229
|
-
list: (gameId: string) => Promise<Array<ShopListing & {
|
|
4230
|
-
item: Item;
|
|
4231
|
-
}>>;
|
|
4232
|
-
};
|
|
4233
|
-
};
|
|
4234
|
-
};
|
|
4235
|
-
/** Map methods (elements) */
|
|
4236
|
-
maps: {
|
|
4237
|
-
get: (identifier: string, options?: TTLCacheConfig) => Promise<MapData>;
|
|
4238
|
-
elements: (mapId: string, options?: TTLCacheConfig) => Promise<MapElementWithGame[]>;
|
|
4239
|
-
objects: {
|
|
4240
|
-
list: (mapId: string) => Promise<MapObjectWithItem[]>;
|
|
4241
|
-
create: (mapId: string, objectData: CreateMapObjectData) => Promise<MapObjectWithItem>;
|
|
4242
|
-
delete: (mapId: string, objectId: string) => Promise<void>;
|
|
4243
|
-
};
|
|
4244
|
-
};
|
|
4245
|
-
/** Admin methods (games, items, currencies, shop listings) */
|
|
4246
|
-
admin: {
|
|
4247
|
-
games: {
|
|
4248
|
-
pauseGame: (gameId: string) => Promise<void>;
|
|
4249
|
-
resumeGame: (gameId: string) => Promise<void>;
|
|
4250
|
-
};
|
|
4251
|
-
items: {
|
|
4252
|
-
create: (props: InsertItemInput) => Promise<{
|
|
4253
|
-
id: string;
|
|
4254
|
-
createdAt: Date;
|
|
4255
|
-
gameId: string | null;
|
|
4256
|
-
slug: string;
|
|
4257
|
-
displayName: string;
|
|
4258
|
-
metadata: unknown;
|
|
4259
|
-
description: string | null;
|
|
4260
|
-
type: "accessory" | "currency" | "badge" | "trophy" | "collectible" | "consumable" | "unlock" | "upgrade" | "other";
|
|
4261
|
-
isPlaceable: boolean;
|
|
4262
|
-
imageUrl: string | null;
|
|
4263
|
-
}>;
|
|
4264
|
-
get: (itemId: string) => Promise<{
|
|
4265
|
-
id: string;
|
|
4266
|
-
createdAt: Date;
|
|
4267
|
-
gameId: string | null;
|
|
4268
|
-
slug: string;
|
|
4269
|
-
displayName: string;
|
|
4270
|
-
metadata: unknown;
|
|
4271
|
-
description: string | null;
|
|
4272
|
-
type: "accessory" | "currency" | "badge" | "trophy" | "collectible" | "consumable" | "unlock" | "upgrade" | "other";
|
|
4273
|
-
isPlaceable: boolean;
|
|
4274
|
-
imageUrl: string | null;
|
|
4275
|
-
}>;
|
|
4276
|
-
list: () => Promise<{
|
|
4277
|
-
id: string;
|
|
4278
|
-
createdAt: Date;
|
|
4279
|
-
gameId: string | null;
|
|
4280
|
-
slug: string;
|
|
4281
|
-
displayName: string;
|
|
4282
|
-
metadata: unknown;
|
|
4283
|
-
description: string | null;
|
|
4284
|
-
type: "accessory" | "currency" | "badge" | "trophy" | "collectible" | "consumable" | "unlock" | "upgrade" | "other";
|
|
4285
|
-
isPlaceable: boolean;
|
|
4286
|
-
imageUrl: string | null;
|
|
4287
|
-
}[]>;
|
|
4288
|
-
update: (itemId: string, props: UpdateItemInput) => Promise<{
|
|
4289
|
-
id: string;
|
|
4290
|
-
createdAt: Date;
|
|
4291
|
-
gameId: string | null;
|
|
4292
|
-
slug: string;
|
|
4293
|
-
displayName: string;
|
|
4294
|
-
metadata: unknown;
|
|
4295
|
-
description: string | null;
|
|
4296
|
-
type: "accessory" | "currency" | "badge" | "trophy" | "collectible" | "consumable" | "unlock" | "upgrade" | "other";
|
|
4297
|
-
isPlaceable: boolean;
|
|
4298
|
-
imageUrl: string | null;
|
|
4299
|
-
}>;
|
|
4300
|
-
delete: (itemId: string) => Promise<void>;
|
|
4301
|
-
};
|
|
4302
|
-
currencies: {
|
|
4303
|
-
create: (props: InsertCurrencyInput) => Promise<{
|
|
4304
|
-
symbol: string | null;
|
|
4305
|
-
id: string;
|
|
4306
|
-
createdAt: Date;
|
|
4307
|
-
updatedAt: Date | null;
|
|
4308
|
-
itemId: string;
|
|
4309
|
-
isPrimary: boolean;
|
|
4310
|
-
}>;
|
|
4311
|
-
get: (currencyId: string) => Promise<{
|
|
4312
|
-
symbol: string | null;
|
|
4313
|
-
id: string;
|
|
4314
|
-
createdAt: Date;
|
|
4315
|
-
updatedAt: Date | null;
|
|
4316
|
-
itemId: string;
|
|
4317
|
-
isPrimary: boolean;
|
|
4318
|
-
}>;
|
|
4319
|
-
list: () => Promise<{
|
|
4320
|
-
symbol: string | null;
|
|
4321
|
-
id: string;
|
|
4322
|
-
createdAt: Date;
|
|
4323
|
-
updatedAt: Date | null;
|
|
4324
|
-
itemId: string;
|
|
4325
|
-
isPrimary: boolean;
|
|
4326
|
-
}[]>;
|
|
4327
|
-
update: (currencyId: string, props: UpdateCurrencyInput) => Promise<{
|
|
4328
|
-
symbol: string | null;
|
|
4329
|
-
id: string;
|
|
4330
|
-
createdAt: Date;
|
|
4331
|
-
updatedAt: Date | null;
|
|
4332
|
-
itemId: string;
|
|
4333
|
-
isPrimary: boolean;
|
|
4334
|
-
}>;
|
|
4335
|
-
delete: (currencyId: string) => Promise<void>;
|
|
4336
|
-
};
|
|
4337
|
-
shopListings: {
|
|
4338
|
-
create: (props: InsertShopListingInput) => Promise<{
|
|
4339
|
-
id: string;
|
|
4340
|
-
createdAt: Date;
|
|
4341
|
-
updatedAt: Date | null;
|
|
4342
|
-
itemId: string;
|
|
4343
|
-
currencyId: string;
|
|
4344
|
-
price: number;
|
|
4345
|
-
sellBackPercentage: number | null;
|
|
4346
|
-
stock: number | null;
|
|
4347
|
-
isActive: boolean;
|
|
4348
|
-
availableFrom: Date | null;
|
|
4349
|
-
availableUntil: Date | null;
|
|
4350
|
-
}>;
|
|
4351
|
-
get: (listingId: string) => Promise<{
|
|
4352
|
-
id: string;
|
|
4353
|
-
createdAt: Date;
|
|
4354
|
-
updatedAt: Date | null;
|
|
4355
|
-
itemId: string;
|
|
4356
|
-
currencyId: string;
|
|
4357
|
-
price: number;
|
|
4358
|
-
sellBackPercentage: number | null;
|
|
4359
|
-
stock: number | null;
|
|
4360
|
-
isActive: boolean;
|
|
4361
|
-
availableFrom: Date | null;
|
|
4362
|
-
availableUntil: Date | null;
|
|
4363
|
-
}>;
|
|
4364
|
-
list: () => Promise<{
|
|
4365
|
-
id: string;
|
|
4366
|
-
createdAt: Date;
|
|
4367
|
-
updatedAt: Date | null;
|
|
4368
|
-
itemId: string;
|
|
4369
|
-
currencyId: string;
|
|
4370
|
-
price: number;
|
|
4371
|
-
sellBackPercentage: number | null;
|
|
4372
|
-
stock: number | null;
|
|
4373
|
-
isActive: boolean;
|
|
4374
|
-
availableFrom: Date | null;
|
|
4375
|
-
availableUntil: Date | null;
|
|
4376
|
-
}[]>;
|
|
4377
|
-
update: (listingId: string, props: UpdateShopListingInput) => Promise<{
|
|
4378
|
-
id: string;
|
|
4379
|
-
createdAt: Date;
|
|
4380
|
-
updatedAt: Date | null;
|
|
4381
|
-
itemId: string;
|
|
4382
|
-
currencyId: string;
|
|
4383
|
-
price: number;
|
|
4384
|
-
sellBackPercentage: number | null;
|
|
4385
|
-
stock: number | null;
|
|
4386
|
-
isActive: boolean;
|
|
4387
|
-
availableFrom: Date | null;
|
|
4388
|
-
availableUntil: Date | null;
|
|
4389
|
-
}>;
|
|
4390
|
-
delete: (listingId: string) => Promise<void>;
|
|
4391
|
-
};
|
|
4392
|
-
};
|
|
4393
|
-
/** Shop methods (view) */
|
|
4394
|
-
shop: {
|
|
4395
|
-
view: () => Promise<ShopViewResponse>;
|
|
4396
|
-
};
|
|
4397
|
-
/** Level methods (levels) */
|
|
4398
|
-
levels: {
|
|
4399
|
-
get: () => Promise<UserLevel>;
|
|
4400
|
-
progress: (options?: CooldownCacheConfig) => Promise<{
|
|
4401
|
-
level: number;
|
|
4402
|
-
currentXp: number;
|
|
4403
|
-
xpToNextLevel: number;
|
|
4404
|
-
totalXP: number;
|
|
4405
|
-
}>;
|
|
4406
|
-
config: {
|
|
4407
|
-
list: () => Promise<LevelConfig[]>;
|
|
4408
|
-
get: (level: number) => Promise<LevelConfig | null>;
|
|
4409
|
-
};
|
|
4410
1515
|
};
|
|
4411
1516
|
/** TimeBack XP methods (today, total, history) */
|
|
4412
1517
|
timeback: {
|
|
@@ -4415,10 +1520,10 @@ declare class PlaycademyClient {
|
|
|
4415
1520
|
resumeActivity: () => void;
|
|
4416
1521
|
endActivity: (data: _playcademy_timeback_types.EndActivityScoreData) => Promise<EndActivityResponse>;
|
|
4417
1522
|
management: {
|
|
4418
|
-
setup: (request:
|
|
4419
|
-
verify: (gameId: string) => Promise<
|
|
1523
|
+
setup: (request: PlatformTimebackSetupRequest) => Promise<PlatformTimebackSetupResponse>;
|
|
1524
|
+
verify: (gameId: string) => Promise<TimebackVerifyAllResponse>;
|
|
4420
1525
|
cleanup: (gameId: string) => Promise<void>;
|
|
4421
|
-
get: (gameId: string) => Promise<GameTimebackIntegration
|
|
1526
|
+
get: (gameId: string) => Promise<GameTimebackIntegration[]>;
|
|
4422
1527
|
getConfig: (gameId: string) => Promise<TimebackSetupRequest["config"]>;
|
|
4423
1528
|
};
|
|
4424
1529
|
xp: {
|
|
@@ -4437,51 +1542,15 @@ declare class PlaycademyClient {
|
|
|
4437
1542
|
}) => Promise<XpSummaryResponse>;
|
|
4438
1543
|
};
|
|
4439
1544
|
};
|
|
4440
|
-
/** Telemetry methods (pushMetrics) */
|
|
4441
|
-
telemetry: {
|
|
4442
|
-
pushMetrics: (metrics: Record<string, number>) => Promise<void>;
|
|
4443
|
-
};
|
|
4444
1545
|
/** Credits methods (credits management) */
|
|
4445
1546
|
credits: {
|
|
4446
1547
|
balance: () => Promise<number>;
|
|
4447
1548
|
add: (amount: number) => Promise<number>;
|
|
4448
1549
|
spend: (amount: number) => Promise<number>;
|
|
4449
1550
|
};
|
|
4450
|
-
/** Platform-wide leaderboard methods (fetch, getUserRank) */
|
|
4451
|
-
leaderboard: {
|
|
4452
|
-
fetch: (options?: LeaderboardOptions) => Promise<GameLeaderboardEntry[]>;
|
|
4453
|
-
getUserRank: (gameId: string, userId: string) => Promise<UserRankResponse>;
|
|
4454
|
-
};
|
|
4455
1551
|
/** Platform-wide scores methods (submit, getUserScores) */
|
|
4456
1552
|
scores: {
|
|
4457
1553
|
submit: (gameId: string, score: number, metadata?: Record<string, unknown>) => Promise<ScoreSubmission>;
|
|
4458
|
-
getByUser: (gameId: string, userId: string, options?: {
|
|
4459
|
-
limit?: number;
|
|
4460
|
-
}) => Promise<UserScore$1[]>;
|
|
4461
|
-
};
|
|
4462
|
-
/** Character methods (get, create, update, components) */
|
|
4463
|
-
character: {
|
|
4464
|
-
get: (userId?: string) => Promise<PlayerCharacter | null>;
|
|
4465
|
-
create: (characterData: CreateCharacterData) => Promise<PlayerCharacter>;
|
|
4466
|
-
update: (updates: UpdateCharacterData) => Promise<PlayerCharacter>;
|
|
4467
|
-
components: {
|
|
4468
|
-
list: (options?: CharacterComponentsOptions & TTLCacheConfig) => Promise<CharacterComponentWithSpriteUrl[]>;
|
|
4469
|
-
clearCache: (key?: string) => void;
|
|
4470
|
-
getCacheKeys: () => string[];
|
|
4471
|
-
};
|
|
4472
|
-
accessories: {
|
|
4473
|
-
equip: (slot: string, componentId: string) => Promise<PlayerCharacterAccessory>;
|
|
4474
|
-
remove: (slot: string) => Promise<{
|
|
4475
|
-
success: boolean;
|
|
4476
|
-
}>;
|
|
4477
|
-
list: () => Promise<PlayerCharacterAccessory[]>;
|
|
4478
|
-
};
|
|
4479
|
-
};
|
|
4480
|
-
/** Sprites methods (templates) */
|
|
4481
|
-
sprites: {
|
|
4482
|
-
templates: {
|
|
4483
|
-
get: (slug: string) => Promise<SpriteTemplateData>;
|
|
4484
|
-
};
|
|
4485
1554
|
};
|
|
4486
1555
|
/** Realtime methods (token) */
|
|
4487
1556
|
realtime: {
|
|
@@ -4490,36 +1559,6 @@ declare class PlaycademyClient {
|
|
|
4490
1559
|
};
|
|
4491
1560
|
open(channel?: string, url?: string): Promise<_playcademy_realtime_server_types.RealtimeChannel>;
|
|
4492
1561
|
};
|
|
4493
|
-
/** Achievements methods (list, history, progress) */
|
|
4494
|
-
achievements: {
|
|
4495
|
-
list: (options?: TTLCacheConfig) => Promise<AchievementCurrent[]>;
|
|
4496
|
-
history: {
|
|
4497
|
-
list: (queryOptions?: {
|
|
4498
|
-
limit?: number;
|
|
4499
|
-
}, cacheOptions?: TTLCacheConfig) => Promise<AchievementHistoryEntry[]>;
|
|
4500
|
-
};
|
|
4501
|
-
progress: {
|
|
4502
|
-
submit: (achievementId: string) => Promise<AchievementProgressResponse>;
|
|
4503
|
-
};
|
|
4504
|
-
};
|
|
4505
|
-
/** Notifications methods (list, update status, stats) */
|
|
4506
|
-
notifications: {
|
|
4507
|
-
list: (queryOptions?: {
|
|
4508
|
-
status?: NotificationStatus;
|
|
4509
|
-
type?: NotificationType;
|
|
4510
|
-
limit?: number;
|
|
4511
|
-
offset?: number;
|
|
4512
|
-
}, cacheOptions?: TTLCacheConfig) => Promise<Notification[]>;
|
|
4513
|
-
markAsSeen: (notificationId: string) => Promise<Notification>;
|
|
4514
|
-
markAsClicked: (notificationId: string) => Promise<Notification>;
|
|
4515
|
-
dismiss: (notificationId: string) => Promise<Notification>;
|
|
4516
|
-
stats: {
|
|
4517
|
-
get: (queryOptions?: {
|
|
4518
|
-
from?: string;
|
|
4519
|
-
to?: string;
|
|
4520
|
-
}, cacheOptions?: TTLCacheConfig) => Promise<NotificationStats>;
|
|
4521
|
-
};
|
|
4522
|
-
};
|
|
4523
1562
|
/** Backend methods for calling custom game API routes */
|
|
4524
1563
|
backend: {
|
|
4525
1564
|
get<T = unknown>(path: string, headers?: Record<string, string>): Promise<T>;
|
|
@@ -4541,6 +1580,9 @@ declare class PlaycademyClient {
|
|
|
4541
1580
|
};
|
|
4542
1581
|
}
|
|
4543
1582
|
|
|
1583
|
+
/**
|
|
1584
|
+
* Core client configuration and lifecycle types
|
|
1585
|
+
*/
|
|
4544
1586
|
type TokenType = 'session' | 'apiKey' | 'gameJwt';
|
|
4545
1587
|
interface ClientConfig {
|
|
4546
1588
|
baseUrl: string;
|
|
@@ -4573,45 +1615,48 @@ interface DisconnectContext {
|
|
|
4573
1615
|
duration?: number;
|
|
4574
1616
|
}) => void;
|
|
4575
1617
|
}
|
|
4576
|
-
type
|
|
4577
|
-
|
|
4578
|
-
|
|
4579
|
-
|
|
4580
|
-
|
|
4581
|
-
|
|
4582
|
-
|
|
4583
|
-
|
|
4584
|
-
|
|
4585
|
-
|
|
4586
|
-
|
|
4587
|
-
|
|
4588
|
-
|
|
4589
|
-
|
|
4590
|
-
|
|
4591
|
-
|
|
1618
|
+
type GameContextPayload = {
|
|
1619
|
+
token: string;
|
|
1620
|
+
baseUrl: string;
|
|
1621
|
+
realtimeUrl: string;
|
|
1622
|
+
gameId: string;
|
|
1623
|
+
forwardKeys?: string[];
|
|
1624
|
+
};
|
|
1625
|
+
interface ClientEvents {
|
|
1626
|
+
authChange: {
|
|
1627
|
+
token: string | null;
|
|
1628
|
+
};
|
|
1629
|
+
inventoryChange: {
|
|
1630
|
+
itemId: string;
|
|
1631
|
+
delta: number;
|
|
1632
|
+
newTotal: number;
|
|
1633
|
+
};
|
|
1634
|
+
levelUp: {
|
|
1635
|
+
oldLevel: number;
|
|
1636
|
+
newLevel: number;
|
|
1637
|
+
creditsAwarded: number;
|
|
1638
|
+
};
|
|
1639
|
+
xpGained: {
|
|
1640
|
+
amount: number;
|
|
1641
|
+
totalXP: number;
|
|
1642
|
+
leveledUp: boolean;
|
|
1643
|
+
};
|
|
1644
|
+
connectionChange: {
|
|
1645
|
+
state: 'online' | 'offline' | 'degraded';
|
|
1646
|
+
reason: string;
|
|
4592
1647
|
};
|
|
4593
|
-
/**
|
|
4594
|
-
* Optional custom data to encode in OAuth state parameter.
|
|
4595
|
-
* By default, the SDK automatically includes playcademy_user_id and game_id.
|
|
4596
|
-
* Use this to add additional custom data if needed.
|
|
4597
|
-
*/
|
|
4598
|
-
stateData?: Record<string, string>;
|
|
4599
1648
|
}
|
|
4600
|
-
|
|
4601
|
-
|
|
4602
|
-
|
|
4603
|
-
|
|
1649
|
+
|
|
1650
|
+
/**
|
|
1651
|
+
* Event and message payload types for SDK messaging system
|
|
1652
|
+
*/
|
|
1653
|
+
|
|
1654
|
+
interface DisplayAlertPayload {
|
|
4604
1655
|
message: string;
|
|
4605
|
-
|
|
4606
|
-
|
|
4607
|
-
|
|
4608
|
-
|
|
4609
|
-
/** Whether authentication was successful */
|
|
4610
|
-
success: boolean;
|
|
4611
|
-
/** User information if authentication was successful */
|
|
4612
|
-
user?: UserInfo;
|
|
4613
|
-
/** Error if authentication failed */
|
|
4614
|
-
error?: Error;
|
|
1656
|
+
options?: {
|
|
1657
|
+
type?: 'info' | 'warning' | 'error';
|
|
1658
|
+
duration?: number;
|
|
1659
|
+
};
|
|
4615
1660
|
}
|
|
4616
1661
|
/**
|
|
4617
1662
|
* Authentication state change event payload.
|
|
@@ -4669,24 +1714,6 @@ interface KeyEventPayload {
|
|
|
4669
1714
|
/** Event type */
|
|
4670
1715
|
type: 'keydown' | 'keyup';
|
|
4671
1716
|
}
|
|
4672
|
-
interface DisplayAlertPayload {
|
|
4673
|
-
message: string;
|
|
4674
|
-
options?: {
|
|
4675
|
-
type?: 'info' | 'warning' | 'error';
|
|
4676
|
-
duration?: number;
|
|
4677
|
-
};
|
|
4678
|
-
}
|
|
4679
|
-
/**
|
|
4680
|
-
* Display alert payload.
|
|
4681
|
-
* Request from game to show platform-level alert.
|
|
4682
|
-
*/
|
|
4683
|
-
interface DisplayAlertPayload {
|
|
4684
|
-
message: string;
|
|
4685
|
-
options?: {
|
|
4686
|
-
type?: 'info' | 'warning' | 'error';
|
|
4687
|
-
duration?: number;
|
|
4688
|
-
};
|
|
4689
|
-
}
|
|
4690
1717
|
/**
|
|
4691
1718
|
* Connection state payload.
|
|
4692
1719
|
* Broadcast from platform to games when connection changes.
|
|
@@ -4695,37 +1722,10 @@ interface ConnectionStatePayload {
|
|
|
4695
1722
|
state: 'online' | 'offline' | 'degraded';
|
|
4696
1723
|
reason: string;
|
|
4697
1724
|
}
|
|
4698
|
-
|
|
4699
|
-
|
|
4700
|
-
|
|
4701
|
-
|
|
4702
|
-
inventoryChange: {
|
|
4703
|
-
itemId: string;
|
|
4704
|
-
delta: number;
|
|
4705
|
-
newTotal: number;
|
|
4706
|
-
};
|
|
4707
|
-
levelUp: {
|
|
4708
|
-
oldLevel: number;
|
|
4709
|
-
newLevel: number;
|
|
4710
|
-
creditsAwarded: number;
|
|
4711
|
-
};
|
|
4712
|
-
xpGained: {
|
|
4713
|
-
amount: number;
|
|
4714
|
-
totalXP: number;
|
|
4715
|
-
leveledUp: boolean;
|
|
4716
|
-
};
|
|
4717
|
-
connectionChange: {
|
|
4718
|
-
state: 'online' | 'offline' | 'degraded';
|
|
4719
|
-
reason: string;
|
|
4720
|
-
};
|
|
4721
|
-
}
|
|
4722
|
-
type GameContextPayload = {
|
|
4723
|
-
token: string;
|
|
4724
|
-
baseUrl: string;
|
|
4725
|
-
realtimeUrl: string;
|
|
4726
|
-
gameId: string;
|
|
4727
|
-
forwardKeys?: string[];
|
|
4728
|
-
};
|
|
1725
|
+
|
|
1726
|
+
/**
|
|
1727
|
+
* SDK-specific API response types
|
|
1728
|
+
*/
|
|
4729
1729
|
type LoginResponse = {
|
|
4730
1730
|
token: string;
|
|
4731
1731
|
};
|
|
@@ -4733,12 +1733,74 @@ type GameTokenResponse = {
|
|
|
4733
1733
|
token: string;
|
|
4734
1734
|
exp: number;
|
|
4735
1735
|
};
|
|
4736
|
-
type StartSessionResponse = {
|
|
4737
|
-
sessionId: string;
|
|
4738
|
-
};
|
|
4739
1736
|
type InventoryMutationResponse = {
|
|
4740
1737
|
newTotal: number;
|
|
4741
1738
|
};
|
|
1739
|
+
|
|
1740
|
+
/**
|
|
1741
|
+
* Realtime namespace types
|
|
1742
|
+
*/
|
|
1743
|
+
/**
|
|
1744
|
+
* Response type for the realtime token API
|
|
1745
|
+
*/
|
|
1746
|
+
interface RealtimeTokenResponse {
|
|
1747
|
+
token: string;
|
|
1748
|
+
}
|
|
1749
|
+
|
|
1750
|
+
/**
|
|
1751
|
+
* Scores namespace types
|
|
1752
|
+
*/
|
|
1753
|
+
interface ScoreSubmission {
|
|
1754
|
+
id: string;
|
|
1755
|
+
score: number;
|
|
1756
|
+
achievedAt: Date;
|
|
1757
|
+
}
|
|
1758
|
+
|
|
1759
|
+
/**
|
|
1760
|
+
* Authentication namespace types
|
|
1761
|
+
*/
|
|
1762
|
+
|
|
1763
|
+
type AuthProviderType = (typeof AUTH_PROVIDER_IDS)[keyof typeof AUTH_PROVIDER_IDS];
|
|
1764
|
+
interface AuthOptions {
|
|
1765
|
+
/** The identity provider to use for authentication */
|
|
1766
|
+
provider: AuthProviderType;
|
|
1767
|
+
/** The OAuth callback URL where your server handles the callback */
|
|
1768
|
+
callbackUrl: string;
|
|
1769
|
+
/** Authentication mode - auto detects best option based on context */
|
|
1770
|
+
mode?: 'auto' | 'popup' | 'redirect';
|
|
1771
|
+
/** Callback for authentication state changes */
|
|
1772
|
+
onStateChange?: (state: AuthStateUpdate) => void;
|
|
1773
|
+
/** Custom OAuth configuration (for users embedding the SDK outside of the Playcademy platform) */
|
|
1774
|
+
oauth?: {
|
|
1775
|
+
clientId: string;
|
|
1776
|
+
authorizationEndpoint?: string;
|
|
1777
|
+
tokenEndpoint?: string;
|
|
1778
|
+
scope?: string;
|
|
1779
|
+
};
|
|
1780
|
+
/**
|
|
1781
|
+
* Optional custom data to encode in OAuth state parameter.
|
|
1782
|
+
* By default, the SDK automatically includes playcademy_user_id and game_id.
|
|
1783
|
+
* Use this to add additional custom data if needed.
|
|
1784
|
+
*/
|
|
1785
|
+
stateData?: Record<string, string>;
|
|
1786
|
+
}
|
|
1787
|
+
interface AuthStateUpdate {
|
|
1788
|
+
/** Current status of the authentication flow */
|
|
1789
|
+
status: 'opening_popup' | 'exchanging_token' | 'complete' | 'error';
|
|
1790
|
+
/** Human-readable message about the current state */
|
|
1791
|
+
message: string;
|
|
1792
|
+
/** Error details if status is 'error' */
|
|
1793
|
+
error?: Error;
|
|
1794
|
+
}
|
|
1795
|
+
interface AuthResult {
|
|
1796
|
+
/** Whether authentication was successful */
|
|
1797
|
+
success: boolean;
|
|
1798
|
+
/** User information if authentication was successful */
|
|
1799
|
+
user?: UserInfo;
|
|
1800
|
+
/** Error if authentication failed */
|
|
1801
|
+
error?: Error;
|
|
1802
|
+
}
|
|
1803
|
+
|
|
4742
1804
|
type DevUploadEvent = {
|
|
4743
1805
|
type: 'init';
|
|
4744
1806
|
} | {
|
|
@@ -4762,41 +1824,6 @@ type DevUploadHooks = {
|
|
|
4762
1824
|
onEvent?: (e: DevUploadEvent) => void;
|
|
4763
1825
|
onClose?: () => void;
|
|
4764
1826
|
};
|
|
4765
|
-
/**
|
|
4766
|
-
* Better-auth API key creation response
|
|
4767
|
-
*/
|
|
4768
|
-
interface BetterAuthApiKeyResponse {
|
|
4769
|
-
apiKey: string;
|
|
4770
|
-
key: {
|
|
4771
|
-
id: string;
|
|
4772
|
-
name: string | null;
|
|
4773
|
-
expiresAt: string | null;
|
|
4774
|
-
createdAt: string;
|
|
4775
|
-
};
|
|
4776
|
-
}
|
|
4777
|
-
/**
|
|
4778
|
-
* Better-auth API key list item
|
|
4779
|
-
*/
|
|
4780
|
-
interface BetterAuthApiKey {
|
|
4781
|
-
id: string;
|
|
4782
|
-
name: string | null;
|
|
4783
|
-
start: string;
|
|
4784
|
-
enabled: boolean;
|
|
4785
|
-
expiresAt: string | null;
|
|
4786
|
-
createdAt: string;
|
|
4787
|
-
updatedAt: string;
|
|
4788
|
-
lastRequest: string | null;
|
|
4789
|
-
requestCount: number;
|
|
4790
|
-
}
|
|
4791
|
-
/**
|
|
4792
|
-
* Bucket file metadata
|
|
4793
|
-
*/
|
|
4794
|
-
interface BucketFile {
|
|
4795
|
-
key: string;
|
|
4796
|
-
size: number;
|
|
4797
|
-
uploaded: string;
|
|
4798
|
-
contentType?: string;
|
|
4799
|
-
}
|
|
4800
1827
|
|
|
4801
1828
|
/**
|
|
4802
1829
|
* Connection Manager
|