@playcademy/sdk 0.1.18 → 0.2.1
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 +224 -3558
- package/dist/index.js +737 -1826
- package/dist/internal.d.ts +6598 -0
- package/dist/internal.js +3006 -0
- package/dist/server.d.ts +86 -40
- package/dist/server.js +9 -35
- package/dist/types.d.ts +589 -2219
- 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';
|
|
7
2
|
import * as _playcademy_timeback_types from '@playcademy/timeback/types';
|
|
8
|
-
import
|
|
9
|
-
import {
|
|
3
|
+
import * as drizzle_orm_pg_core from 'drizzle-orm/pg-core';
|
|
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,49 +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: "
|
|
543
|
-
dataType: "string";
|
|
544
|
-
columnType: "PgVarchar";
|
|
545
|
-
data: string;
|
|
546
|
-
driverParam: string;
|
|
547
|
-
notNull: true;
|
|
548
|
-
hasDefault: false;
|
|
549
|
-
isPrimaryKey: false;
|
|
550
|
-
isAutoincrement: false;
|
|
551
|
-
hasRuntimeDefault: false;
|
|
552
|
-
enumValues: [string, ...string[]];
|
|
553
|
-
baseColumn: never;
|
|
554
|
-
identity: undefined;
|
|
555
|
-
generated: undefined;
|
|
556
|
-
}, {}, {
|
|
557
|
-
length: 255;
|
|
558
|
-
}>;
|
|
559
|
-
version: drizzle_orm_pg_core.PgColumn<{
|
|
560
|
-
name: "version";
|
|
561
|
-
tableName: "games";
|
|
527
|
+
tableName: "items";
|
|
562
528
|
dataType: "string";
|
|
563
|
-
columnType: "
|
|
529
|
+
columnType: "PgText";
|
|
564
530
|
data: string;
|
|
565
531
|
driverParam: string;
|
|
566
532
|
notNull: true;
|
|
@@ -572,29 +538,10 @@ declare const games: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
|
572
538
|
baseColumn: never;
|
|
573
539
|
identity: undefined;
|
|
574
540
|
generated: undefined;
|
|
575
|
-
}, {}, {
|
|
576
|
-
length: 50;
|
|
577
|
-
}>;
|
|
578
|
-
gameType: drizzle_orm_pg_core.PgColumn<{
|
|
579
|
-
name: "game_type";
|
|
580
|
-
tableName: "games";
|
|
581
|
-
dataType: "string";
|
|
582
|
-
columnType: "PgEnumColumn";
|
|
583
|
-
data: "hosted" | "external";
|
|
584
|
-
driverParam: string;
|
|
585
|
-
notNull: true;
|
|
586
|
-
hasDefault: true;
|
|
587
|
-
isPrimaryKey: false;
|
|
588
|
-
isAutoincrement: false;
|
|
589
|
-
hasRuntimeDefault: false;
|
|
590
|
-
enumValues: ["hosted", "external"];
|
|
591
|
-
baseColumn: never;
|
|
592
|
-
identity: undefined;
|
|
593
|
-
generated: undefined;
|
|
594
541
|
}, {}, {}>;
|
|
595
|
-
|
|
596
|
-
name: "
|
|
597
|
-
tableName: "
|
|
542
|
+
description: drizzle_orm_pg_core.PgColumn<{
|
|
543
|
+
name: "description";
|
|
544
|
+
tableName: "items";
|
|
598
545
|
dataType: "string";
|
|
599
546
|
columnType: "PgText";
|
|
600
547
|
data: string;
|
|
@@ -609,45 +556,45 @@ declare const games: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
|
609
556
|
identity: undefined;
|
|
610
557
|
generated: undefined;
|
|
611
558
|
}, {}, {}>;
|
|
612
|
-
|
|
613
|
-
name: "
|
|
614
|
-
tableName: "
|
|
559
|
+
type: drizzle_orm_pg_core.PgColumn<{
|
|
560
|
+
name: "type";
|
|
561
|
+
tableName: "items";
|
|
615
562
|
dataType: "string";
|
|
616
|
-
columnType: "
|
|
617
|
-
data:
|
|
563
|
+
columnType: "PgEnumColumn";
|
|
564
|
+
data: "currency" | "badge" | "trophy" | "collectible" | "consumable" | "unlock" | "upgrade" | "accessory" | "other";
|
|
618
565
|
driverParam: string;
|
|
619
|
-
notNull:
|
|
620
|
-
hasDefault:
|
|
566
|
+
notNull: true;
|
|
567
|
+
hasDefault: true;
|
|
621
568
|
isPrimaryKey: false;
|
|
622
569
|
isAutoincrement: false;
|
|
623
570
|
hasRuntimeDefault: false;
|
|
624
|
-
enumValues: [
|
|
571
|
+
enumValues: ["currency", "badge", "trophy", "collectible", "consumable", "unlock", "upgrade", "accessory", "other"];
|
|
625
572
|
baseColumn: never;
|
|
626
573
|
identity: undefined;
|
|
627
574
|
generated: undefined;
|
|
628
575
|
}, {}, {}>;
|
|
629
|
-
|
|
630
|
-
name: "
|
|
631
|
-
tableName: "
|
|
632
|
-
dataType: "
|
|
633
|
-
columnType: "
|
|
634
|
-
data:
|
|
635
|
-
driverParam:
|
|
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;
|
|
636
583
|
notNull: true;
|
|
637
584
|
hasDefault: true;
|
|
638
585
|
isPrimaryKey: false;
|
|
639
586
|
isAutoincrement: false;
|
|
640
587
|
hasRuntimeDefault: false;
|
|
641
|
-
enumValues:
|
|
588
|
+
enumValues: undefined;
|
|
642
589
|
baseColumn: never;
|
|
643
590
|
identity: undefined;
|
|
644
591
|
generated: undefined;
|
|
645
592
|
}, {}, {}>;
|
|
646
|
-
|
|
647
|
-
name: "
|
|
648
|
-
tableName: "
|
|
593
|
+
imageUrl: drizzle_orm_pg_core.PgColumn<{
|
|
594
|
+
name: "image_url";
|
|
595
|
+
tableName: "items";
|
|
649
596
|
dataType: "string";
|
|
650
|
-
columnType: "
|
|
597
|
+
columnType: "PgText";
|
|
651
598
|
data: string;
|
|
652
599
|
driverParam: string;
|
|
653
600
|
notNull: false;
|
|
@@ -655,37 +602,18 @@ declare const games: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
|
655
602
|
isPrimaryKey: false;
|
|
656
603
|
isAutoincrement: false;
|
|
657
604
|
hasRuntimeDefault: false;
|
|
658
|
-
enumValues:
|
|
605
|
+
enumValues: [string, ...string[]];
|
|
659
606
|
baseColumn: never;
|
|
660
607
|
identity: undefined;
|
|
661
608
|
generated: undefined;
|
|
662
609
|
}, {}, {}>;
|
|
663
610
|
metadata: drizzle_orm_pg_core.PgColumn<{
|
|
664
611
|
name: "metadata";
|
|
665
|
-
tableName: "
|
|
612
|
+
tableName: "items";
|
|
666
613
|
dataType: "json";
|
|
667
614
|
columnType: "PgJsonb";
|
|
668
|
-
data:
|
|
615
|
+
data: unknown;
|
|
669
616
|
driverParam: unknown;
|
|
670
|
-
notNull: true;
|
|
671
|
-
hasDefault: true;
|
|
672
|
-
isPrimaryKey: false;
|
|
673
|
-
isAutoincrement: false;
|
|
674
|
-
hasRuntimeDefault: false;
|
|
675
|
-
enumValues: undefined;
|
|
676
|
-
baseColumn: never;
|
|
677
|
-
identity: undefined;
|
|
678
|
-
generated: undefined;
|
|
679
|
-
}, {}, {
|
|
680
|
-
$type: GameMetadata;
|
|
681
|
-
}>;
|
|
682
|
-
createdAt: drizzle_orm_pg_core.PgColumn<{
|
|
683
|
-
name: "created_at";
|
|
684
|
-
tableName: "games";
|
|
685
|
-
dataType: "date";
|
|
686
|
-
columnType: "PgTimestamp";
|
|
687
|
-
data: Date;
|
|
688
|
-
driverParam: string;
|
|
689
617
|
notNull: false;
|
|
690
618
|
hasDefault: true;
|
|
691
619
|
isPrimaryKey: false;
|
|
@@ -696,14 +624,14 @@ declare const games: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
|
696
624
|
identity: undefined;
|
|
697
625
|
generated: undefined;
|
|
698
626
|
}, {}, {}>;
|
|
699
|
-
|
|
700
|
-
name: "
|
|
701
|
-
tableName: "
|
|
627
|
+
createdAt: drizzle_orm_pg_core.PgColumn<{
|
|
628
|
+
name: "created_at";
|
|
629
|
+
tableName: "items";
|
|
702
630
|
dataType: "date";
|
|
703
631
|
columnType: "PgTimestamp";
|
|
704
632
|
data: Date;
|
|
705
633
|
driverParam: string;
|
|
706
|
-
notNull:
|
|
634
|
+
notNull: true;
|
|
707
635
|
hasDefault: true;
|
|
708
636
|
isPrimaryKey: false;
|
|
709
637
|
isAutoincrement: false;
|
|
@@ -716,18 +644,13 @@ declare const games: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
|
716
644
|
};
|
|
717
645
|
dialect: "pg";
|
|
718
646
|
}>;
|
|
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";
|
|
647
|
+
declare const inventoryItems: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
648
|
+
name: "inventory_items";
|
|
726
649
|
schema: undefined;
|
|
727
650
|
columns: {
|
|
728
651
|
id: drizzle_orm_pg_core.PgColumn<{
|
|
729
652
|
name: "id";
|
|
730
|
-
tableName: "
|
|
653
|
+
tableName: "inventory_items";
|
|
731
654
|
dataType: "string";
|
|
732
655
|
columnType: "PgUUID";
|
|
733
656
|
data: string;
|
|
@@ -742,43 +665,9 @@ declare const gameCustomHostnames: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
|
742
665
|
identity: undefined;
|
|
743
666
|
generated: undefined;
|
|
744
667
|
}, {}, {}>;
|
|
745
|
-
gameId: drizzle_orm_pg_core.PgColumn<{
|
|
746
|
-
name: "game_id";
|
|
747
|
-
tableName: "game_custom_hostnames";
|
|
748
|
-
dataType: "string";
|
|
749
|
-
columnType: "PgUUID";
|
|
750
|
-
data: string;
|
|
751
|
-
driverParam: string;
|
|
752
|
-
notNull: true;
|
|
753
|
-
hasDefault: false;
|
|
754
|
-
isPrimaryKey: false;
|
|
755
|
-
isAutoincrement: false;
|
|
756
|
-
hasRuntimeDefault: false;
|
|
757
|
-
enumValues: undefined;
|
|
758
|
-
baseColumn: never;
|
|
759
|
-
identity: undefined;
|
|
760
|
-
generated: undefined;
|
|
761
|
-
}, {}, {}>;
|
|
762
668
|
userId: drizzle_orm_pg_core.PgColumn<{
|
|
763
669
|
name: "user_id";
|
|
764
|
-
tableName: "
|
|
765
|
-
dataType: "string";
|
|
766
|
-
columnType: "PgText";
|
|
767
|
-
data: string;
|
|
768
|
-
driverParam: string;
|
|
769
|
-
notNull: true;
|
|
770
|
-
hasDefault: false;
|
|
771
|
-
isPrimaryKey: false;
|
|
772
|
-
isAutoincrement: false;
|
|
773
|
-
hasRuntimeDefault: false;
|
|
774
|
-
enumValues: [string, ...string[]];
|
|
775
|
-
baseColumn: never;
|
|
776
|
-
identity: undefined;
|
|
777
|
-
generated: undefined;
|
|
778
|
-
}, {}, {}>;
|
|
779
|
-
hostname: drizzle_orm_pg_core.PgColumn<{
|
|
780
|
-
name: "hostname";
|
|
781
|
-
tableName: "game_custom_hostnames";
|
|
670
|
+
tableName: "inventory_items";
|
|
782
671
|
dataType: "string";
|
|
783
672
|
columnType: "PgText";
|
|
784
673
|
data: string;
|
|
@@ -793,11 +682,11 @@ declare const gameCustomHostnames: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
|
793
682
|
identity: undefined;
|
|
794
683
|
generated: undefined;
|
|
795
684
|
}, {}, {}>;
|
|
796
|
-
|
|
797
|
-
name: "
|
|
798
|
-
tableName: "
|
|
685
|
+
itemId: drizzle_orm_pg_core.PgColumn<{
|
|
686
|
+
name: "item_id";
|
|
687
|
+
tableName: "inventory_items";
|
|
799
688
|
dataType: "string";
|
|
800
|
-
columnType: "
|
|
689
|
+
columnType: "PgUUID";
|
|
801
690
|
data: string;
|
|
802
691
|
driverParam: string;
|
|
803
692
|
notNull: true;
|
|
@@ -805,88 +694,18 @@ declare const gameCustomHostnames: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
|
805
694
|
isPrimaryKey: false;
|
|
806
695
|
isAutoincrement: false;
|
|
807
696
|
hasRuntimeDefault: false;
|
|
808
|
-
enumValues: [string, ...string[]];
|
|
809
|
-
baseColumn: never;
|
|
810
|
-
identity: undefined;
|
|
811
|
-
generated: undefined;
|
|
812
|
-
}, {}, {}>;
|
|
813
|
-
environment: drizzle_orm_pg_core.PgColumn<{
|
|
814
|
-
name: "environment";
|
|
815
|
-
tableName: "game_custom_hostnames";
|
|
816
|
-
dataType: "string";
|
|
817
|
-
columnType: "PgEnumColumn";
|
|
818
|
-
data: "staging" | "production";
|
|
819
|
-
driverParam: string;
|
|
820
|
-
notNull: true;
|
|
821
|
-
hasDefault: true;
|
|
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;
|
|
839
|
-
isPrimaryKey: false;
|
|
840
|
-
isAutoincrement: false;
|
|
841
|
-
hasRuntimeDefault: false;
|
|
842
|
-
enumValues: ["pending", "pending_validation", "pending_deployment", "pending_deletion", "active", "blocked", "deleted"];
|
|
843
|
-
baseColumn: never;
|
|
844
|
-
identity: undefined;
|
|
845
|
-
generated: undefined;
|
|
846
|
-
}, {}, {}>;
|
|
847
|
-
sslStatus: drizzle_orm_pg_core.PgColumn<{
|
|
848
|
-
name: "ssl_status";
|
|
849
|
-
tableName: "game_custom_hostnames";
|
|
850
|
-
dataType: "string";
|
|
851
|
-
columnType: "PgEnumColumn";
|
|
852
|
-
data: "pending_validation" | "pending_deployment" | "active" | "deleted" | "initializing" | "pending_issuance";
|
|
853
|
-
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
|
-
notNull: false;
|
|
872
|
-
hasDefault: false;
|
|
873
|
-
isPrimaryKey: false;
|
|
874
|
-
isAutoincrement: false;
|
|
875
|
-
hasRuntimeDefault: false;
|
|
876
697
|
enumValues: undefined;
|
|
877
698
|
baseColumn: never;
|
|
878
699
|
identity: undefined;
|
|
879
700
|
generated: undefined;
|
|
880
|
-
}, {}, {
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
data: Date;
|
|
889
|
-
driverParam: string;
|
|
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;
|
|
890
709
|
notNull: true;
|
|
891
710
|
hasDefault: true;
|
|
892
711
|
isPrimaryKey: false;
|
|
@@ -899,12 +718,12 @@ declare const gameCustomHostnames: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
|
899
718
|
}, {}, {}>;
|
|
900
719
|
updatedAt: drizzle_orm_pg_core.PgColumn<{
|
|
901
720
|
name: "updated_at";
|
|
902
|
-
tableName: "
|
|
721
|
+
tableName: "inventory_items";
|
|
903
722
|
dataType: "date";
|
|
904
723
|
columnType: "PgTimestamp";
|
|
905
724
|
data: Date;
|
|
906
725
|
driverParam: string;
|
|
907
|
-
notNull:
|
|
726
|
+
notNull: false;
|
|
908
727
|
hasDefault: true;
|
|
909
728
|
isPrimaryKey: false;
|
|
910
729
|
isAutoincrement: false;
|
|
@@ -917,2293 +736,10 @@ declare const gameCustomHostnames: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
|
917
736
|
};
|
|
918
737
|
dialect: "pg";
|
|
919
738
|
}>;
|
|
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
739
|
type Item = typeof items.$inferSelect;
|
|
3170
740
|
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
741
|
|
|
3204
742
|
type User = typeof users.$inferSelect;
|
|
3205
|
-
type DeveloperStatusResponse = z.infer<typeof DeveloperStatusResponseSchema>;
|
|
3206
|
-
type DeveloperStatusValue = DeveloperStatusResponse['status'];
|
|
3207
743
|
/**
|
|
3208
744
|
* User data with authentication provider information.
|
|
3209
745
|
* Returned by the /users/me endpoint with additional auth context.
|
|
@@ -3212,12 +748,6 @@ type AuthenticatedUser = User & {
|
|
|
3212
748
|
/** Whether the user authenticated via Timeback SSO */
|
|
3213
749
|
hasTimebackAccount: boolean;
|
|
3214
750
|
};
|
|
3215
|
-
|
|
3216
|
-
/**
|
|
3217
|
-
* Cross-Domain Composite Types
|
|
3218
|
-
* Types that combine data from multiple domains
|
|
3219
|
-
*/
|
|
3220
|
-
type ManifestV1 = z.infer<typeof ManifestV1Schema>;
|
|
3221
751
|
/**
|
|
3222
752
|
* Basic user information in the shape of the claims from identity providers
|
|
3223
753
|
*/
|
|
@@ -3231,503 +761,26 @@ interface UserInfo {
|
|
|
3231
761
|
/** Whether the email has been verified */
|
|
3232
762
|
email_verified: boolean;
|
|
3233
763
|
/** Optional given name (first name) */
|
|
3234
|
-
given_name?: string;
|
|
3235
|
-
/** Optional family name (last name) */
|
|
3236
|
-
family_name?: string;
|
|
3237
|
-
/** TimeBack student ID (if user has TimeBack integration) */
|
|
3238
|
-
timeback_id?: string;
|
|
3239
|
-
/** Additional user attributes from the identity provider */
|
|
3240
|
-
[key: string]: unknown;
|
|
3241
|
-
}
|
|
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
|
-
type InventoryItemWithItem = Omit<InventoryItem, 'itemId'> & {
|
|
3250
|
-
item: Item;
|
|
3251
|
-
};
|
|
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
|
-
type GameTimebackIntegration = typeof gameTimebackIntegrations.$inferSelect;
|
|
3428
|
-
type TodayXpResponse = {
|
|
3429
|
-
xp: number;
|
|
3430
|
-
date: string;
|
|
3431
|
-
};
|
|
3432
|
-
type TotalXpResponse = {
|
|
3433
|
-
totalXp: number;
|
|
3434
|
-
};
|
|
3435
|
-
type XpHistoryResponse = {
|
|
3436
|
-
history: Array<{
|
|
3437
|
-
date: string;
|
|
3438
|
-
xp: number;
|
|
3439
|
-
}>;
|
|
3440
|
-
};
|
|
3441
|
-
type TimebackSetupRequest = {
|
|
3442
|
-
gameId: string;
|
|
3443
|
-
config: {
|
|
3444
|
-
organization: {
|
|
3445
|
-
name: string;
|
|
3446
|
-
type: string;
|
|
3447
|
-
identifier: string;
|
|
3448
|
-
};
|
|
3449
|
-
course: {
|
|
3450
|
-
title: string;
|
|
3451
|
-
subjects: string[];
|
|
3452
|
-
grades: number[];
|
|
3453
|
-
courseCode: string;
|
|
3454
|
-
level: string;
|
|
3455
|
-
gradingScheme: string;
|
|
3456
|
-
metadata?: Record<string, unknown>;
|
|
3457
|
-
};
|
|
3458
|
-
component: {
|
|
3459
|
-
title: string;
|
|
3460
|
-
sortOrder: number;
|
|
3461
|
-
prerequisites: string[];
|
|
3462
|
-
prerequisiteCriteria: string;
|
|
3463
|
-
};
|
|
3464
|
-
resource: {
|
|
3465
|
-
title: string;
|
|
3466
|
-
vendorResourceId: string;
|
|
3467
|
-
vendorId: string;
|
|
3468
|
-
applicationId: string;
|
|
3469
|
-
roles: string[];
|
|
3470
|
-
importance: string;
|
|
3471
|
-
metadata: {
|
|
3472
|
-
type?: string;
|
|
3473
|
-
launchUrl?: string;
|
|
3474
|
-
toolProvider?: string;
|
|
3475
|
-
instructionalMethod?: string;
|
|
3476
|
-
subject?: string;
|
|
3477
|
-
grades?: number[];
|
|
3478
|
-
language?: string;
|
|
3479
|
-
xp?: number;
|
|
3480
|
-
[key: string]: unknown;
|
|
3481
|
-
};
|
|
3482
|
-
};
|
|
3483
|
-
componentResource: {
|
|
3484
|
-
title: string;
|
|
3485
|
-
sortOrder: number;
|
|
3486
|
-
lessonType: string | null;
|
|
3487
|
-
};
|
|
3488
|
-
};
|
|
3489
|
-
verbose?: boolean;
|
|
3490
|
-
};
|
|
3491
|
-
type TimebackSetupResponse = {
|
|
3492
|
-
integration: GameTimebackIntegration;
|
|
3493
|
-
courseId: string;
|
|
3494
|
-
verbose?: {
|
|
3495
|
-
course: unknown;
|
|
3496
|
-
component: unknown;
|
|
3497
|
-
resource: unknown;
|
|
3498
|
-
componentResource: unknown;
|
|
3499
|
-
};
|
|
3500
|
-
};
|
|
3501
|
-
type TimebackVerifyResponse = {
|
|
3502
|
-
status: 'success' | 'error';
|
|
3503
|
-
integration: GameTimebackIntegration;
|
|
3504
|
-
resources: {
|
|
3505
|
-
course: {
|
|
3506
|
-
found: boolean;
|
|
3507
|
-
data?: unknown;
|
|
3508
|
-
};
|
|
3509
|
-
component: {
|
|
3510
|
-
found: boolean;
|
|
3511
|
-
data?: unknown;
|
|
3512
|
-
};
|
|
3513
|
-
resource: {
|
|
3514
|
-
found: boolean;
|
|
3515
|
-
data?: unknown;
|
|
3516
|
-
};
|
|
3517
|
-
componentResource: {
|
|
3518
|
-
found: boolean;
|
|
3519
|
-
data?: unknown;
|
|
3520
|
-
};
|
|
3521
|
-
};
|
|
3522
|
-
errors?: string[];
|
|
3523
|
-
};
|
|
3524
|
-
type EndActivityResponse = {
|
|
3525
|
-
status: 'ok';
|
|
3526
|
-
courseId: string;
|
|
3527
|
-
xpAwarded: number;
|
|
3528
|
-
};
|
|
3529
|
-
|
|
3530
|
-
/**
|
|
3531
|
-
* OAuth 2.0 implementation for the Playcademy SDK
|
|
3532
|
-
*/
|
|
3533
|
-
|
|
3534
|
-
/**
|
|
3535
|
-
* Parses an OAuth state parameter to extract CSRF token and any encoded data.
|
|
3536
|
-
*
|
|
3537
|
-
* @param state - The OAuth state parameter to parse
|
|
3538
|
-
* @returns Object containing CSRF token and optional decoded data
|
|
3539
|
-
*/
|
|
3540
|
-
declare function parseOAuthState(state: string): {
|
|
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;
|
|
764
|
+
given_name?: string;
|
|
765
|
+
/** Optional family name (last name) */
|
|
766
|
+
family_name?: string;
|
|
767
|
+
/** TimeBack student ID (if user has TimeBack integration) */
|
|
768
|
+
timeback_id?: string;
|
|
769
|
+
/** Additional user attributes from the identity provider */
|
|
770
|
+
[key: string]: unknown;
|
|
3730
771
|
}
|
|
772
|
+
type InventoryItemWithItem = Omit<InventoryItem, 'itemId'> & {
|
|
773
|
+
item: Item;
|
|
774
|
+
};
|
|
775
|
+
type EndActivityResponse = {
|
|
776
|
+
status: 'ok';
|
|
777
|
+
courseId: string;
|
|
778
|
+
xpAwarded: number;
|
|
779
|
+
masteredUnits?: number;
|
|
780
|
+
pctCompleteApp?: number;
|
|
781
|
+
scoreStatus?: string;
|
|
782
|
+
inProgress?: string;
|
|
783
|
+
};
|
|
3731
784
|
|
|
3732
785
|
/**
|
|
3733
786
|
* Auto-initializes a PlaycademyClient with context from the environment.
|
|
@@ -3753,12 +806,12 @@ interface UserScore {
|
|
|
3753
806
|
* const client = await PlaycademyClient.init({ baseUrl: 'https://custom.api.com' })
|
|
3754
807
|
* ```
|
|
3755
808
|
*/
|
|
3756
|
-
declare function init(options?: {
|
|
809
|
+
declare function init<T extends PlaycademyClient = PlaycademyClient>(this: new (...args: ConstructorParameters<typeof PlaycademyClient>) => T, options?: {
|
|
3757
810
|
baseUrl?: string;
|
|
3758
811
|
allowedParentOrigins?: string[];
|
|
3759
812
|
onDisconnect?: DisconnectHandler;
|
|
3760
813
|
enableConnectionMonitoring?: boolean;
|
|
3761
|
-
}): Promise<
|
|
814
|
+
}): Promise<T>;
|
|
3762
815
|
|
|
3763
816
|
/**
|
|
3764
817
|
* Authenticates a user with email and password.
|
|
@@ -3812,6 +865,17 @@ declare class PlaycademyClient {
|
|
|
3812
865
|
private authContext?;
|
|
3813
866
|
private initPayload?;
|
|
3814
867
|
private connectionManager?;
|
|
868
|
+
/**
|
|
869
|
+
* Internal session manager for automatic session lifecycle.
|
|
870
|
+
*
|
|
871
|
+
* This manager handles starting and ending game sessions automatically.
|
|
872
|
+
* Game developers don't need to call these methods directly - they're managed
|
|
873
|
+
* by the SDK during initialization and cleanup.
|
|
874
|
+
*
|
|
875
|
+
* @private
|
|
876
|
+
* @internal
|
|
877
|
+
*/
|
|
878
|
+
private _sessionManager;
|
|
3815
879
|
/**
|
|
3816
880
|
* Creates a new PlaycademyClient instance.
|
|
3817
881
|
*
|
|
@@ -4057,32 +1121,6 @@ declare class PlaycademyClient {
|
|
|
4057
1121
|
* 3. autoStartSession is enabled (defaults to false)
|
|
4058
1122
|
*/
|
|
4059
1123
|
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
1124
|
/** Identity provider connection methods (connect external accounts) */
|
|
4087
1125
|
identity: {
|
|
4088
1126
|
connect: (options: AuthOptions) => Promise<AuthResult>;
|
|
@@ -4125,26 +1163,6 @@ declare class PlaycademyClient {
|
|
|
4125
1163
|
arrayBuffer: (path: string) => Promise<ArrayBuffer>;
|
|
4126
1164
|
};
|
|
4127
1165
|
};
|
|
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
1166
|
/** User methods (me, inventory management) */
|
|
4149
1167
|
users: {
|
|
4150
1168
|
me: () => Promise<AuthenticatedUser>;
|
|
@@ -4155,258 +1173,6 @@ declare class PlaycademyClient {
|
|
|
4155
1173
|
quantity: (identifier: string) => Promise<number>;
|
|
4156
1174
|
has: (identifier: string, minQuantity?: number) => Promise<boolean>;
|
|
4157
1175
|
};
|
|
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
1176
|
};
|
|
4411
1177
|
/** TimeBack XP methods (today, total, history) */
|
|
4412
1178
|
timeback: {
|
|
@@ -4414,32 +1180,6 @@ declare class PlaycademyClient {
|
|
|
4414
1180
|
pauseActivity: () => void;
|
|
4415
1181
|
resumeActivity: () => void;
|
|
4416
1182
|
endActivity: (data: _playcademy_timeback_types.EndActivityScoreData) => Promise<EndActivityResponse>;
|
|
4417
|
-
management: {
|
|
4418
|
-
setup: (request: TimebackSetupRequest) => Promise<TimebackSetupResponse>;
|
|
4419
|
-
verify: (gameId: string) => Promise<TimebackVerifyResponse>;
|
|
4420
|
-
cleanup: (gameId: string) => Promise<void>;
|
|
4421
|
-
get: (gameId: string) => Promise<GameTimebackIntegration | null>;
|
|
4422
|
-
getConfig: (gameId: string) => Promise<TimebackSetupRequest["config"]>;
|
|
4423
|
-
};
|
|
4424
|
-
xp: {
|
|
4425
|
-
today: (options?: {
|
|
4426
|
-
date?: string;
|
|
4427
|
-
timezone?: string;
|
|
4428
|
-
}) => Promise<TodayXpResponse>;
|
|
4429
|
-
total: () => Promise<TotalXpResponse>;
|
|
4430
|
-
history: (options?: {
|
|
4431
|
-
startDate?: string;
|
|
4432
|
-
endDate?: string;
|
|
4433
|
-
}) => Promise<XpHistoryResponse>;
|
|
4434
|
-
summary: (options?: {
|
|
4435
|
-
date?: string;
|
|
4436
|
-
timezone?: string;
|
|
4437
|
-
}) => Promise<XpSummaryResponse>;
|
|
4438
|
-
};
|
|
4439
|
-
};
|
|
4440
|
-
/** Telemetry methods (pushMetrics) */
|
|
4441
|
-
telemetry: {
|
|
4442
|
-
pushMetrics: (metrics: Record<string, number>) => Promise<void>;
|
|
4443
1183
|
};
|
|
4444
1184
|
/** Credits methods (credits management) */
|
|
4445
1185
|
credits: {
|
|
@@ -4447,41 +1187,9 @@ declare class PlaycademyClient {
|
|
|
4447
1187
|
add: (amount: number) => Promise<number>;
|
|
4448
1188
|
spend: (amount: number) => Promise<number>;
|
|
4449
1189
|
};
|
|
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
1190
|
/** Platform-wide scores methods (submit, getUserScores) */
|
|
4456
1191
|
scores: {
|
|
4457
1192
|
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
1193
|
};
|
|
4486
1194
|
/** Realtime methods (token) */
|
|
4487
1195
|
realtime: {
|
|
@@ -4490,36 +1198,6 @@ declare class PlaycademyClient {
|
|
|
4490
1198
|
};
|
|
4491
1199
|
open(channel?: string, url?: string): Promise<_playcademy_realtime_server_types.RealtimeChannel>;
|
|
4492
1200
|
};
|
|
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
1201
|
/** Backend methods for calling custom game API routes */
|
|
4524
1202
|
backend: {
|
|
4525
1203
|
get<T = unknown>(path: string, headers?: Record<string, string>): Promise<T>;
|
|
@@ -4541,6 +1219,9 @@ declare class PlaycademyClient {
|
|
|
4541
1219
|
};
|
|
4542
1220
|
}
|
|
4543
1221
|
|
|
1222
|
+
/**
|
|
1223
|
+
* Core client configuration and lifecycle types
|
|
1224
|
+
*/
|
|
4544
1225
|
type TokenType = 'session' | 'apiKey' | 'gameJwt';
|
|
4545
1226
|
interface ClientConfig {
|
|
4546
1227
|
baseUrl: string;
|
|
@@ -4573,45 +1254,48 @@ interface DisconnectContext {
|
|
|
4573
1254
|
duration?: number;
|
|
4574
1255
|
}) => void;
|
|
4575
1256
|
}
|
|
4576
|
-
type
|
|
4577
|
-
|
|
4578
|
-
|
|
4579
|
-
|
|
4580
|
-
|
|
4581
|
-
|
|
4582
|
-
|
|
4583
|
-
|
|
4584
|
-
|
|
4585
|
-
|
|
4586
|
-
|
|
4587
|
-
|
|
4588
|
-
|
|
4589
|
-
|
|
4590
|
-
|
|
4591
|
-
|
|
1257
|
+
type GameContextPayload = {
|
|
1258
|
+
token: string;
|
|
1259
|
+
baseUrl: string;
|
|
1260
|
+
realtimeUrl: string;
|
|
1261
|
+
gameId: string;
|
|
1262
|
+
forwardKeys?: string[];
|
|
1263
|
+
};
|
|
1264
|
+
interface ClientEvents {
|
|
1265
|
+
authChange: {
|
|
1266
|
+
token: string | null;
|
|
1267
|
+
};
|
|
1268
|
+
inventoryChange: {
|
|
1269
|
+
itemId: string;
|
|
1270
|
+
delta: number;
|
|
1271
|
+
newTotal: number;
|
|
1272
|
+
};
|
|
1273
|
+
levelUp: {
|
|
1274
|
+
oldLevel: number;
|
|
1275
|
+
newLevel: number;
|
|
1276
|
+
creditsAwarded: number;
|
|
1277
|
+
};
|
|
1278
|
+
xpGained: {
|
|
1279
|
+
amount: number;
|
|
1280
|
+
totalXP: number;
|
|
1281
|
+
leveledUp: boolean;
|
|
1282
|
+
};
|
|
1283
|
+
connectionChange: {
|
|
1284
|
+
state: 'online' | 'offline' | 'degraded';
|
|
1285
|
+
reason: string;
|
|
4592
1286
|
};
|
|
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
1287
|
}
|
|
4600
|
-
|
|
4601
|
-
|
|
4602
|
-
|
|
4603
|
-
|
|
1288
|
+
|
|
1289
|
+
/**
|
|
1290
|
+
* Event and message payload types for SDK messaging system
|
|
1291
|
+
*/
|
|
1292
|
+
|
|
1293
|
+
interface DisplayAlertPayload {
|
|
4604
1294
|
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;
|
|
1295
|
+
options?: {
|
|
1296
|
+
type?: 'info' | 'warning' | 'error';
|
|
1297
|
+
duration?: number;
|
|
1298
|
+
};
|
|
4615
1299
|
}
|
|
4616
1300
|
/**
|
|
4617
1301
|
* Authentication state change event payload.
|
|
@@ -4669,24 +1353,6 @@ interface KeyEventPayload {
|
|
|
4669
1353
|
/** Event type */
|
|
4670
1354
|
type: 'keydown' | 'keyup';
|
|
4671
1355
|
}
|
|
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
1356
|
/**
|
|
4691
1357
|
* Connection state payload.
|
|
4692
1358
|
* Broadcast from platform to games when connection changes.
|
|
@@ -4695,37 +1361,10 @@ interface ConnectionStatePayload {
|
|
|
4695
1361
|
state: 'online' | 'offline' | 'degraded';
|
|
4696
1362
|
reason: string;
|
|
4697
1363
|
}
|
|
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
|
-
};
|
|
1364
|
+
|
|
1365
|
+
/**
|
|
1366
|
+
* SDK-specific API response types
|
|
1367
|
+
*/
|
|
4729
1368
|
type LoginResponse = {
|
|
4730
1369
|
token: string;
|
|
4731
1370
|
};
|
|
@@ -4733,12 +1372,74 @@ type GameTokenResponse = {
|
|
|
4733
1372
|
token: string;
|
|
4734
1373
|
exp: number;
|
|
4735
1374
|
};
|
|
4736
|
-
type StartSessionResponse = {
|
|
4737
|
-
sessionId: string;
|
|
4738
|
-
};
|
|
4739
1375
|
type InventoryMutationResponse = {
|
|
4740
1376
|
newTotal: number;
|
|
4741
1377
|
};
|
|
1378
|
+
|
|
1379
|
+
/**
|
|
1380
|
+
* Realtime namespace types
|
|
1381
|
+
*/
|
|
1382
|
+
/**
|
|
1383
|
+
* Response type for the realtime token API
|
|
1384
|
+
*/
|
|
1385
|
+
interface RealtimeTokenResponse {
|
|
1386
|
+
token: string;
|
|
1387
|
+
}
|
|
1388
|
+
|
|
1389
|
+
/**
|
|
1390
|
+
* Scores namespace types
|
|
1391
|
+
*/
|
|
1392
|
+
interface ScoreSubmission {
|
|
1393
|
+
id: string;
|
|
1394
|
+
score: number;
|
|
1395
|
+
achievedAt: Date;
|
|
1396
|
+
}
|
|
1397
|
+
|
|
1398
|
+
/**
|
|
1399
|
+
* Authentication namespace types
|
|
1400
|
+
*/
|
|
1401
|
+
|
|
1402
|
+
type AuthProviderType = (typeof AUTH_PROVIDER_IDS)[keyof typeof AUTH_PROVIDER_IDS];
|
|
1403
|
+
interface AuthOptions {
|
|
1404
|
+
/** The identity provider to use for authentication */
|
|
1405
|
+
provider: AuthProviderType;
|
|
1406
|
+
/** The OAuth callback URL where your server handles the callback */
|
|
1407
|
+
callbackUrl: string;
|
|
1408
|
+
/** Authentication mode - auto detects best option based on context */
|
|
1409
|
+
mode?: 'auto' | 'popup' | 'redirect';
|
|
1410
|
+
/** Callback for authentication state changes */
|
|
1411
|
+
onStateChange?: (state: AuthStateUpdate) => void;
|
|
1412
|
+
/** Custom OAuth configuration (for users embedding the SDK outside of the Playcademy platform) */
|
|
1413
|
+
oauth?: {
|
|
1414
|
+
clientId: string;
|
|
1415
|
+
authorizationEndpoint?: string;
|
|
1416
|
+
tokenEndpoint?: string;
|
|
1417
|
+
scope?: string;
|
|
1418
|
+
};
|
|
1419
|
+
/**
|
|
1420
|
+
* Optional custom data to encode in OAuth state parameter.
|
|
1421
|
+
* By default, the SDK automatically includes playcademy_user_id and game_id.
|
|
1422
|
+
* Use this to add additional custom data if needed.
|
|
1423
|
+
*/
|
|
1424
|
+
stateData?: Record<string, string>;
|
|
1425
|
+
}
|
|
1426
|
+
interface AuthStateUpdate {
|
|
1427
|
+
/** Current status of the authentication flow */
|
|
1428
|
+
status: 'opening_popup' | 'exchanging_token' | 'complete' | 'error';
|
|
1429
|
+
/** Human-readable message about the current state */
|
|
1430
|
+
message: string;
|
|
1431
|
+
/** Error details if status is 'error' */
|
|
1432
|
+
error?: Error;
|
|
1433
|
+
}
|
|
1434
|
+
interface AuthResult {
|
|
1435
|
+
/** Whether authentication was successful */
|
|
1436
|
+
success: boolean;
|
|
1437
|
+
/** User information if authentication was successful */
|
|
1438
|
+
user?: UserInfo;
|
|
1439
|
+
/** Error if authentication failed */
|
|
1440
|
+
error?: Error;
|
|
1441
|
+
}
|
|
1442
|
+
|
|
4742
1443
|
type DevUploadEvent = {
|
|
4743
1444
|
type: 'init';
|
|
4744
1445
|
} | {
|
|
@@ -4762,41 +1463,6 @@ type DevUploadHooks = {
|
|
|
4762
1463
|
onEvent?: (e: DevUploadEvent) => void;
|
|
4763
1464
|
onClose?: () => void;
|
|
4764
1465
|
};
|
|
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
1466
|
|
|
4801
1467
|
/**
|
|
4802
1468
|
* Connection Manager
|