@gigapay-dev/contracts 3.12.0 → 3.13.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.
Files changed (35) hide show
  1. package/build/domains/collections/commands.d.ts +228 -0
  2. package/build/domains/collections/commands.d.ts.map +1 -0
  3. package/build/domains/collections/commands.js +61 -0
  4. package/build/domains/collections/commands.js.map +1 -0
  5. package/build/domains/collections/dtos.d.ts +181 -0
  6. package/build/domains/collections/dtos.d.ts.map +1 -0
  7. package/build/domains/collections/dtos.js +41 -0
  8. package/build/domains/collections/dtos.js.map +1 -0
  9. package/build/domains/collections/index.d.ts +291 -0
  10. package/build/domains/collections/index.d.ts.map +1 -0
  11. package/build/domains/collections/index.js +27 -0
  12. package/build/domains/collections/index.js.map +1 -0
  13. package/build/domains/collections/queries.d.ts +390 -0
  14. package/build/domains/collections/queries.d.ts.map +1 -0
  15. package/build/domains/collections/queries.js +42 -0
  16. package/build/domains/collections/queries.js.map +1 -0
  17. package/build/domains/products/dtos.d.ts +26 -0
  18. package/build/domains/products/dtos.d.ts.map +1 -1
  19. package/build/domains/products/dtos.js +2 -0
  20. package/build/domains/products/dtos.js.map +1 -1
  21. package/build/domains/products/index.d.ts +131 -169
  22. package/build/domains/products/index.d.ts.map +1 -1
  23. package/build/domains/products/index.js +3 -0
  24. package/build/domains/products/index.js.map +1 -1
  25. package/build/domains/products/queries.d.ts +110 -6
  26. package/build/domains/products/queries.d.ts.map +1 -1
  27. package/build/domains/products/reviews.d.ts +286 -0
  28. package/build/domains/products/reviews.d.ts.map +1 -0
  29. package/build/domains/products/reviews.js +81 -0
  30. package/build/domains/products/reviews.js.map +1 -0
  31. package/build/index.d.ts +413 -164
  32. package/build/index.d.ts.map +1 -1
  33. package/build/index.js +3 -0
  34. package/build/index.js.map +1 -1
  35. package/package.json +1 -1
package/build/index.d.ts CHANGED
@@ -3,6 +3,7 @@ export * from "./domains/auth";
3
3
  export * from "./domains/users";
4
4
  export * from "./domains/orders";
5
5
  export * from "./domains/catalog";
6
+ export * from "./domains/collections";
6
7
  export * from "./domains/products";
7
8
  export * from "./domains/payments";
8
9
  export * from "./domains/promo-codes";
@@ -804,79 +805,404 @@ export declare const AllEndpoints: {
804
805
  }, import("zod/v4/core").$strip>;
805
806
  };
806
807
  };
807
- readonly products: {
808
+ readonly collections: {
808
809
  readonly create: {
809
810
  readonly method: "POST";
810
- readonly path: "/api/admin/products";
811
+ readonly path: "/api/admin/collections";
811
812
  readonly request: import("zod").ZodObject<{
812
813
  slug: import("zod").ZodString;
813
- title: import("zod").ZodString;
814
- originalTitle: import("zod").ZodOptional<import("zod").ZodString>;
815
- type: import("zod").ZodEnum<{
816
- GAME_KEY: "GAME_KEY";
817
- GAME_GIFT: "GAME_GIFT";
818
- TOPUP: "TOPUP";
819
- SUBSCRIPTION: "SUBSCRIPTION";
820
- IN_GAME_ITEM: "IN_GAME_ITEM";
821
- DLC: "DLC";
822
- CURRENCY: "CURRENCY";
823
- VOUCHER: "VOUCHER";
824
- }>;
825
- basePriceUsd: import("zod").ZodString;
814
+ name: import("zod").ZodString;
826
815
  description: import("zod").ZodOptional<import("zod").ZodString>;
827
- shortDescription: import("zod").ZodOptional<import("zod").ZodString>;
828
- coverImageUrl: import("zod").ZodOptional<import("zod").ZodURL>;
829
- catalogImageUrl: import("zod").ZodOptional<import("zod").ZodURL>;
830
- cardImageUrl: import("zod").ZodOptional<import("zod").ZodURL>;
831
- steamAppId: import("zod").ZodOptional<import("zod").ZodNumber>;
832
- metaTitle: import("zod").ZodOptional<import("zod").ZodString>;
833
- metaDescription: import("zod").ZodOptional<import("zod").ZodString>;
834
- ogImageUrl: import("zod").ZodOptional<import("zod").ZodURL>;
835
- categoryId: import("zod").ZodNumber;
816
+ imageUrl: import("zod").ZodOptional<import("zod").ZodURL>;
817
+ isActive: import("zod").ZodOptional<import("zod").ZodBoolean>;
836
818
  }, import("zod/v4/core").$strip>;
837
819
  readonly response: import("zod").ZodObject<{
838
820
  id: import("zod").ZodNumber;
821
+ slug: import("zod").ZodString;
822
+ name: import("zod").ZodString;
823
+ description: import("zod").ZodNullable<import("zod").ZodString>;
824
+ imageUrl: import("zod").ZodNullable<import("zod").ZodString>;
825
+ isActive: import("zod").ZodBoolean;
826
+ createdAt: import("zod").ZodString;
827
+ updatedAt: import("zod").ZodString;
828
+ version: import("zod").ZodNumber;
839
829
  }, import("zod/v4/core").$strip>;
840
830
  readonly requiresAuth: true;
841
831
  readonly requiresAdmin: true;
842
832
  };
843
833
  readonly update: {
834
+ readonly method: "PATCH";
835
+ readonly path: "/api/admin/collections/:id";
836
+ readonly params: import("zod").ZodObject<{
837
+ id: import("zod").ZodCoercedNumber<unknown>;
838
+ }, import("zod/v4/core").$strip>;
839
+ readonly request: import("zod").ZodObject<{
840
+ slug: import("zod").ZodOptional<import("zod").ZodString>;
841
+ name: import("zod").ZodOptional<import("zod").ZodString>;
842
+ description: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodString>>;
843
+ imageUrl: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodURL>>;
844
+ isActive: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodBoolean>>;
845
+ }, import("zod/v4/core").$strip>;
846
+ readonly response: import("zod").ZodObject<{
847
+ id: import("zod").ZodNumber;
848
+ slug: import("zod").ZodString;
849
+ name: import("zod").ZodString;
850
+ description: import("zod").ZodNullable<import("zod").ZodString>;
851
+ imageUrl: import("zod").ZodNullable<import("zod").ZodString>;
852
+ isActive: import("zod").ZodBoolean;
853
+ createdAt: import("zod").ZodString;
854
+ updatedAt: import("zod").ZodString;
855
+ version: import("zod").ZodNumber;
856
+ }, import("zod/v4/core").$strip>;
857
+ readonly requiresAuth: true;
858
+ readonly requiresAdmin: true;
859
+ };
860
+ readonly replaceProducts: {
844
861
  readonly method: "PUT";
845
- readonly path: "/api/admin/products/:id";
862
+ readonly path: "/api/admin/collections/:id/products";
846
863
  readonly params: import("zod").ZodObject<{
847
864
  id: import("zod").ZodCoercedNumber<unknown>;
848
865
  }, import("zod/v4/core").$strip>;
849
866
  readonly request: import("zod").ZodObject<{
850
- title: import("zod").ZodOptional<import("zod").ZodString>;
851
- originalTitle: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
852
- type: import("zod").ZodOptional<import("zod").ZodEnum<{
853
- GAME_KEY: "GAME_KEY";
854
- GAME_GIFT: "GAME_GIFT";
855
- TOPUP: "TOPUP";
856
- SUBSCRIPTION: "SUBSCRIPTION";
857
- IN_GAME_ITEM: "IN_GAME_ITEM";
858
- DLC: "DLC";
859
- CURRENCY: "CURRENCY";
860
- VOUCHER: "VOUCHER";
867
+ productIds: import("zod").ZodArray<import("zod").ZodNumber>;
868
+ }, import("zod/v4/core").$strip>;
869
+ readonly response: import("zod").ZodObject<{
870
+ id: import("zod").ZodNumber;
871
+ slug: import("zod").ZodString;
872
+ name: import("zod").ZodString;
873
+ description: import("zod").ZodNullable<import("zod").ZodString>;
874
+ imageUrl: import("zod").ZodNullable<import("zod").ZodString>;
875
+ isActive: import("zod").ZodBoolean;
876
+ createdAt: import("zod").ZodString;
877
+ updatedAt: import("zod").ZodString;
878
+ version: import("zod").ZodNumber;
879
+ products: import("zod").ZodArray<import("zod").ZodObject<{
880
+ productId: import("zod").ZodNumber;
881
+ collectionId: import("zod").ZodNumber;
882
+ sortOrder: import("zod").ZodNumber;
883
+ product: import("zod").ZodObject<{
884
+ id: import("zod").ZodNumber;
885
+ slug: import("zod").ZodString;
886
+ title: import("zod").ZodString;
887
+ status: import("zod").ZodEnum<{
888
+ OUT_OF_STOCK: "OUT_OF_STOCK";
889
+ ACTIVE: "ACTIVE";
890
+ DRAFT: "DRAFT";
891
+ ARCHIVED: "ARCHIVED";
892
+ }>;
893
+ }, import("zod/v4/core").$strip>;
894
+ }, import("zod/v4/core").$strip>>;
895
+ }, import("zod/v4/core").$strip>;
896
+ readonly requiresAuth: true;
897
+ readonly requiresAdmin: true;
898
+ };
899
+ readonly delete: {
900
+ readonly method: "DELETE";
901
+ readonly path: "/api/admin/collections/:id";
902
+ readonly params: import("zod").ZodObject<{
903
+ id: import("zod").ZodCoercedNumber<unknown>;
904
+ }, import("zod/v4/core").$strip>;
905
+ readonly response: import("zod").ZodObject<{
906
+ ok: import("zod").ZodLiteral<true>;
907
+ }, import("zod/v4/core").$strip>;
908
+ readonly requiresAuth: true;
909
+ readonly requiresAdmin: true;
910
+ };
911
+ readonly getBySlug: {
912
+ readonly method: "GET";
913
+ readonly path: "/api/collections/:slug";
914
+ readonly params: import("zod").ZodObject<{
915
+ slug: import("zod").ZodString;
916
+ }, import("zod/v4/core").$strip>;
917
+ readonly query: import("zod").ZodObject<{
918
+ sort: import("zod").ZodDefault<import("zod").ZodEnum<{
919
+ manual: "manual";
920
+ popular: "popular";
861
921
  }>>;
862
- description: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
863
- shortDescription: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
864
- coverImageUrl: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodURL>>;
865
- catalogImageUrl: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodURL>>;
866
- cardImageUrl: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodURL>>;
867
- basePriceUsd: import("zod").ZodOptional<import("zod").ZodString>;
868
- steamAppId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
869
- metaTitle: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
870
- metaDescription: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
871
- ogImageUrl: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodURL>>;
872
- categoryId: import("zod").ZodOptional<import("zod").ZodNumber>;
922
+ skip: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
923
+ take: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
924
+ currency: import("zod").ZodDefault<import("zod").ZodEnum<{
925
+ USD: "USD";
926
+ RUB: "RUB";
927
+ UAH: "UAH";
928
+ KZT: "KZT";
929
+ }>>;
930
+ }, import("zod/v4/core").$strip>;
931
+ readonly response: import("zod").ZodObject<{
932
+ collection: import("zod").ZodObject<{
933
+ id: import("zod").ZodNumber;
934
+ slug: import("zod").ZodString;
935
+ name: import("zod").ZodString;
936
+ description: import("zod").ZodNullable<import("zod").ZodString>;
937
+ imageUrl: import("zod").ZodNullable<import("zod").ZodString>;
938
+ isActive: import("zod").ZodBoolean;
939
+ createdAt: import("zod").ZodString;
940
+ updatedAt: import("zod").ZodString;
941
+ version: import("zod").ZodNumber;
942
+ }, import("zod/v4/core").$strip>;
943
+ items: import("zod").ZodArray<import("zod").ZodObject<{
944
+ id: import("zod").ZodNumber;
945
+ slug: import("zod").ZodString;
946
+ title: import("zod").ZodString;
947
+ type: import("zod").ZodEnum<{
948
+ GAME_KEY: "GAME_KEY";
949
+ GAME_GIFT: "GAME_GIFT";
950
+ TOPUP: "TOPUP";
951
+ SUBSCRIPTION: "SUBSCRIPTION";
952
+ IN_GAME_ITEM: "IN_GAME_ITEM";
953
+ DLC: "DLC";
954
+ CURRENCY: "CURRENCY";
955
+ VOUCHER: "VOUCHER";
956
+ }>;
957
+ status: import("zod").ZodEnum<{
958
+ OUT_OF_STOCK: "OUT_OF_STOCK";
959
+ ACTIVE: "ACTIVE";
960
+ DRAFT: "DRAFT";
961
+ ARCHIVED: "ARCHIVED";
962
+ }>;
963
+ description: import("zod").ZodNullable<import("zod").ZodString>;
964
+ shortDescription: import("zod").ZodNullable<import("zod").ZodString>;
965
+ coverImageUrl: import("zod").ZodNullable<import("zod").ZodString>;
966
+ basePrice: import("zod").ZodObject<{
967
+ usd: import("zod").ZodString;
968
+ rub: import("zod").ZodString;
969
+ uah: import("zod").ZodString;
970
+ kzt: import("zod").ZodString;
971
+ }, import("zod/v4/core").$strip>;
972
+ popularityScore: import("zod").ZodNumber;
973
+ rating: import("zod").ZodObject<{
974
+ average: import("zod").ZodNumber;
975
+ count: import("zod").ZodNumber;
976
+ distribution: import("zod").ZodObject<{
977
+ 1: import("zod").ZodNumber;
978
+ 2: import("zod").ZodNumber;
979
+ 3: import("zod").ZodNumber;
980
+ 4: import("zod").ZodNumber;
981
+ 5: import("zod").ZodNumber;
982
+ }, import("zod/v4/core").$strip>;
983
+ userRating: import("zod").ZodNullable<import("zod").ZodNumber>;
984
+ canRate: import("zod").ZodBoolean;
985
+ }, import("zod/v4/core").$strip>;
986
+ seo: import("zod").ZodObject<{
987
+ metaTitle: import("zod").ZodString;
988
+ metaDescription: import("zod").ZodString;
989
+ ogImageUrl: import("zod").ZodNullable<import("zod").ZodString>;
990
+ canonicalPath: import("zod").ZodString;
991
+ breadcrumb: import("zod").ZodArray<import("zod").ZodObject<{
992
+ id: import("zod").ZodNumber;
993
+ slug: import("zod").ZodString;
994
+ name: import("zod").ZodString;
995
+ }, import("zod/v4/core").$strip>>;
996
+ }, import("zod/v4/core").$strip>;
997
+ variants: import("zod").ZodArray<import("zod").ZodObject<{
998
+ id: import("zod").ZodNumber;
999
+ name: import("zod").ZodString;
1000
+ sku: import("zod").ZodString;
1001
+ imageUrl: import("zod").ZodNullable<import("zod").ZodString>;
1002
+ price: import("zod").ZodObject<{
1003
+ usd: import("zod").ZodString;
1004
+ rub: import("zod").ZodString;
1005
+ uah: import("zod").ZodString;
1006
+ kzt: import("zod").ZodString;
1007
+ }, import("zod/v4/core").$strip>;
1008
+ deliveryType: import("zod").ZodEnum<{
1009
+ AUTOMATIC: "AUTOMATIC";
1010
+ MANUAL: "MANUAL";
1011
+ BOT: "BOT";
1012
+ }>;
1013
+ desslyServiceType: import("zod").ZodNullable<import("zod").ZodEnum<{
1014
+ VOUCHER: "VOUCHER";
1015
+ STEAM_TOPUP: "STEAM_TOPUP";
1016
+ STEAM_GIFT: "STEAM_GIFT";
1017
+ MOBILE_REFILL: "MOBILE_REFILL";
1018
+ CRYPTO_REFILL: "CRYPTO_REFILL";
1019
+ }>>;
1020
+ isActive: import("zod").ZodBoolean;
1021
+ }, import("zod/v4/core").$strip>>;
1022
+ media: import("zod").ZodArray<import("zod").ZodObject<{
1023
+ id: import("zod").ZodNumber;
1024
+ type: import("zod").ZodEnum<{
1025
+ IMAGE: "IMAGE";
1026
+ VIDEO: "VIDEO";
1027
+ }>;
1028
+ url: import("zod").ZodString;
1029
+ thumbnailUrl: import("zod").ZodNullable<import("zod").ZodString>;
1030
+ sortOrder: import("zod").ZodNumber;
1031
+ }, import("zod/v4/core").$strip>>;
1032
+ }, import("zod/v4/core").$strip>>;
1033
+ total: import("zod").ZodNumber;
1034
+ skip: import("zod").ZodNumber;
1035
+ take: import("zod").ZodNumber;
1036
+ }, import("zod/v4/core").$strip>;
1037
+ };
1038
+ readonly adminList: {
1039
+ readonly method: "GET";
1040
+ readonly path: "/api/admin/collections";
1041
+ readonly response: import("zod").ZodArray<import("zod").ZodObject<{
1042
+ id: import("zod").ZodNumber;
1043
+ slug: import("zod").ZodString;
1044
+ name: import("zod").ZodString;
1045
+ description: import("zod").ZodNullable<import("zod").ZodString>;
1046
+ imageUrl: import("zod").ZodNullable<import("zod").ZodString>;
1047
+ isActive: import("zod").ZodBoolean;
1048
+ createdAt: import("zod").ZodString;
1049
+ updatedAt: import("zod").ZodString;
1050
+ version: import("zod").ZodNumber;
1051
+ _count: import("zod").ZodObject<{
1052
+ products: import("zod").ZodNumber;
1053
+ }, import("zod/v4/core").$strip>;
1054
+ }, import("zod/v4/core").$strip>>;
1055
+ readonly requiresAuth: true;
1056
+ readonly requiresAdmin: true;
1057
+ };
1058
+ readonly adminGetById: {
1059
+ readonly method: "GET";
1060
+ readonly path: "/api/admin/collections/:id";
1061
+ readonly params: import("zod").ZodObject<{
1062
+ id: import("zod").ZodCoercedNumber<unknown>;
873
1063
  }, import("zod/v4/core").$strip>;
874
1064
  readonly response: import("zod").ZodObject<{
875
1065
  id: import("zod").ZodNumber;
1066
+ slug: import("zod").ZodString;
1067
+ name: import("zod").ZodString;
1068
+ description: import("zod").ZodNullable<import("zod").ZodString>;
1069
+ imageUrl: import("zod").ZodNullable<import("zod").ZodString>;
1070
+ isActive: import("zod").ZodBoolean;
1071
+ createdAt: import("zod").ZodString;
1072
+ updatedAt: import("zod").ZodString;
1073
+ version: import("zod").ZodNumber;
1074
+ products: import("zod").ZodArray<import("zod").ZodObject<{
1075
+ productId: import("zod").ZodNumber;
1076
+ collectionId: import("zod").ZodNumber;
1077
+ sortOrder: import("zod").ZodNumber;
1078
+ product: import("zod").ZodObject<{
1079
+ id: import("zod").ZodNumber;
1080
+ slug: import("zod").ZodString;
1081
+ title: import("zod").ZodString;
1082
+ status: import("zod").ZodEnum<{
1083
+ OUT_OF_STOCK: "OUT_OF_STOCK";
1084
+ ACTIVE: "ACTIVE";
1085
+ DRAFT: "DRAFT";
1086
+ ARCHIVED: "ARCHIVED";
1087
+ }>;
1088
+ }, import("zod/v4/core").$strip>;
1089
+ }, import("zod/v4/core").$strip>>;
876
1090
  }, import("zod/v4/core").$strip>;
877
1091
  readonly requiresAuth: true;
878
1092
  readonly requiresAdmin: true;
879
1093
  };
1094
+ };
1095
+ readonly products: {
1096
+ readonly rating: {
1097
+ readonly method: "GET";
1098
+ readonly path: "/api/products/:slug/rating";
1099
+ readonly params: import("zod").ZodObject<{
1100
+ slug: import("zod").ZodString;
1101
+ }, import("zod/v4/core").$strip>;
1102
+ readonly response: import("zod").ZodObject<{
1103
+ average: import("zod").ZodNumber;
1104
+ count: import("zod").ZodNumber;
1105
+ distribution: import("zod").ZodObject<{
1106
+ 1: import("zod").ZodNumber;
1107
+ 2: import("zod").ZodNumber;
1108
+ 3: import("zod").ZodNumber;
1109
+ 4: import("zod").ZodNumber;
1110
+ 5: import("zod").ZodNumber;
1111
+ }, import("zod/v4/core").$strip>;
1112
+ userRating: import("zod").ZodNullable<import("zod").ZodNumber>;
1113
+ canRate: import("zod").ZodBoolean;
1114
+ }, import("zod/v4/core").$strip>;
1115
+ };
1116
+ readonly list: {
1117
+ readonly method: "GET";
1118
+ readonly path: "/api/products/:slug/reviews";
1119
+ readonly params: import("zod").ZodObject<{
1120
+ slug: import("zod").ZodString;
1121
+ }, import("zod/v4/core").$strip>;
1122
+ readonly query: import("zod").ZodObject<{
1123
+ skip: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
1124
+ take: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
1125
+ rating: import("zod").ZodOptional<import("zod").ZodNumber>;
1126
+ sort: import("zod").ZodDefault<import("zod").ZodEnum<{
1127
+ newest: "newest";
1128
+ highest: "highest";
1129
+ lowest: "lowest";
1130
+ }>>;
1131
+ }, import("zod/v4/core").$strip>;
1132
+ readonly response: import("zod").ZodObject<{
1133
+ items: import("zod").ZodArray<import("zod").ZodObject<{
1134
+ id: import("zod").ZodNumber;
1135
+ author: import("zod").ZodObject<{
1136
+ displayName: import("zod").ZodString;
1137
+ }, import("zod/v4/core").$strip>;
1138
+ rating: import("zod").ZodNumber;
1139
+ text: import("zod").ZodNullable<import("zod").ZodString>;
1140
+ verifiedPurchase: import("zod").ZodLiteral<true>;
1141
+ isMine: import("zod").ZodBoolean;
1142
+ createdAt: import("zod").ZodString;
1143
+ updatedAt: import("zod").ZodString;
1144
+ }, import("zod/v4/core").$strip>>;
1145
+ total: import("zod").ZodNumber;
1146
+ skip: import("zod").ZodNumber;
1147
+ take: import("zod").ZodNumber;
1148
+ }, import("zod/v4/core").$strip>;
1149
+ };
1150
+ readonly create: {
1151
+ readonly method: "POST";
1152
+ readonly path: "/api/products/:slug/review";
1153
+ readonly params: import("zod").ZodObject<{
1154
+ slug: import("zod").ZodString;
1155
+ }, import("zod/v4/core").$strip>;
1156
+ readonly request: import("zod").ZodObject<{
1157
+ rating: import("zod").ZodNumber;
1158
+ text: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
1159
+ }, import("zod/v4/core").$strip>;
1160
+ readonly response: import("zod").ZodObject<{
1161
+ id: import("zod").ZodNumber;
1162
+ author: import("zod").ZodObject<{
1163
+ displayName: import("zod").ZodString;
1164
+ }, import("zod/v4/core").$strip>;
1165
+ rating: import("zod").ZodNumber;
1166
+ text: import("zod").ZodNullable<import("zod").ZodString>;
1167
+ verifiedPurchase: import("zod").ZodLiteral<true>;
1168
+ isMine: import("zod").ZodBoolean;
1169
+ createdAt: import("zod").ZodString;
1170
+ updatedAt: import("zod").ZodString;
1171
+ }, import("zod/v4/core").$strip>;
1172
+ readonly requiresAuth: true;
1173
+ readonly rateLimit: {
1174
+ readonly limit: 5;
1175
+ readonly ttlSec: 60;
1176
+ };
1177
+ };
1178
+ readonly update: {
1179
+ readonly method: "PUT";
1180
+ readonly path: "/api/products/:slug/review";
1181
+ readonly params: import("zod").ZodObject<{
1182
+ slug: import("zod").ZodString;
1183
+ }, import("zod/v4/core").$strip>;
1184
+ readonly request: import("zod").ZodObject<{
1185
+ rating: import("zod").ZodNumber;
1186
+ text: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
1187
+ }, import("zod/v4/core").$strip>;
1188
+ readonly response: import("zod").ZodObject<{
1189
+ id: import("zod").ZodNumber;
1190
+ author: import("zod").ZodObject<{
1191
+ displayName: import("zod").ZodString;
1192
+ }, import("zod/v4/core").$strip>;
1193
+ rating: import("zod").ZodNumber;
1194
+ text: import("zod").ZodNullable<import("zod").ZodString>;
1195
+ verifiedPurchase: import("zod").ZodLiteral<true>;
1196
+ isMine: import("zod").ZodBoolean;
1197
+ createdAt: import("zod").ZodString;
1198
+ updatedAt: import("zod").ZodString;
1199
+ }, import("zod/v4/core").$strip>;
1200
+ readonly requiresAuth: true;
1201
+ readonly rateLimit: {
1202
+ readonly limit: 5;
1203
+ readonly ttlSec: 60;
1204
+ };
1205
+ };
880
1206
  readonly replaceMedia: {
881
1207
  readonly method: "PUT";
882
1208
  readonly path: "/api/admin/products/:id/media";
@@ -1210,122 +1536,6 @@ export declare const AllEndpoints: {
1210
1536
  readonly requiresAuth: true;
1211
1537
  readonly requiresAdmin: true;
1212
1538
  };
1213
- readonly list: {
1214
- readonly method: "GET";
1215
- readonly path: "/api/products";
1216
- readonly query: import("zod").ZodObject<{
1217
- skip: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
1218
- take: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
1219
- showcaseId: import("zod").ZodOptional<import("zod").ZodCoercedNumber<unknown>>;
1220
- subShowcaseId: import("zod").ZodOptional<import("zod").ZodCoercedNumber<unknown>>;
1221
- categoryId: import("zod").ZodOptional<import("zod").ZodCoercedNumber<unknown>>;
1222
- type: import("zod").ZodOptional<import("zod").ZodEnum<{
1223
- GAME_KEY: "GAME_KEY";
1224
- GAME_GIFT: "GAME_GIFT";
1225
- TOPUP: "TOPUP";
1226
- SUBSCRIPTION: "SUBSCRIPTION";
1227
- IN_GAME_ITEM: "IN_GAME_ITEM";
1228
- DLC: "DLC";
1229
- CURRENCY: "CURRENCY";
1230
- VOUCHER: "VOUCHER";
1231
- }>>;
1232
- search: import("zod").ZodOptional<import("zod").ZodString>;
1233
- sort: import("zod").ZodDefault<import("zod").ZodEnum<{
1234
- popular: "popular";
1235
- newest: "newest";
1236
- price_asc: "price_asc";
1237
- price_desc: "price_desc";
1238
- }>>;
1239
- currency: import("zod").ZodDefault<import("zod").ZodEnum<{
1240
- USD: "USD";
1241
- RUB: "RUB";
1242
- UAH: "UAH";
1243
- KZT: "KZT";
1244
- }>>;
1245
- }, import("zod/v4/core").$strip>;
1246
- readonly response: import("zod").ZodObject<{
1247
- items: import("zod").ZodArray<import("zod").ZodObject<{
1248
- id: import("zod").ZodNumber;
1249
- slug: import("zod").ZodString;
1250
- title: import("zod").ZodString;
1251
- type: import("zod").ZodEnum<{
1252
- GAME_KEY: "GAME_KEY";
1253
- GAME_GIFT: "GAME_GIFT";
1254
- TOPUP: "TOPUP";
1255
- SUBSCRIPTION: "SUBSCRIPTION";
1256
- IN_GAME_ITEM: "IN_GAME_ITEM";
1257
- DLC: "DLC";
1258
- CURRENCY: "CURRENCY";
1259
- VOUCHER: "VOUCHER";
1260
- }>;
1261
- status: import("zod").ZodEnum<{
1262
- OUT_OF_STOCK: "OUT_OF_STOCK";
1263
- ACTIVE: "ACTIVE";
1264
- DRAFT: "DRAFT";
1265
- ARCHIVED: "ARCHIVED";
1266
- }>;
1267
- description: import("zod").ZodNullable<import("zod").ZodString>;
1268
- shortDescription: import("zod").ZodNullable<import("zod").ZodString>;
1269
- coverImageUrl: import("zod").ZodNullable<import("zod").ZodString>;
1270
- basePrice: import("zod").ZodObject<{
1271
- usd: import("zod").ZodString;
1272
- rub: import("zod").ZodString;
1273
- uah: import("zod").ZodString;
1274
- kzt: import("zod").ZodString;
1275
- }, import("zod/v4/core").$strip>;
1276
- popularityScore: import("zod").ZodNumber;
1277
- seo: import("zod").ZodObject<{
1278
- metaTitle: import("zod").ZodString;
1279
- metaDescription: import("zod").ZodString;
1280
- ogImageUrl: import("zod").ZodNullable<import("zod").ZodString>;
1281
- canonicalPath: import("zod").ZodString;
1282
- breadcrumb: import("zod").ZodArray<import("zod").ZodObject<{
1283
- id: import("zod").ZodNumber;
1284
- slug: import("zod").ZodString;
1285
- name: import("zod").ZodString;
1286
- }, import("zod/v4/core").$strip>>;
1287
- }, import("zod/v4/core").$strip>;
1288
- variants: import("zod").ZodArray<import("zod").ZodObject<{
1289
- id: import("zod").ZodNumber;
1290
- name: import("zod").ZodString;
1291
- sku: import("zod").ZodString;
1292
- imageUrl: import("zod").ZodNullable<import("zod").ZodString>;
1293
- price: import("zod").ZodObject<{
1294
- usd: import("zod").ZodString;
1295
- rub: import("zod").ZodString;
1296
- uah: import("zod").ZodString;
1297
- kzt: import("zod").ZodString;
1298
- }, import("zod/v4/core").$strip>;
1299
- deliveryType: import("zod").ZodEnum<{
1300
- AUTOMATIC: "AUTOMATIC";
1301
- MANUAL: "MANUAL";
1302
- BOT: "BOT";
1303
- }>;
1304
- desslyServiceType: import("zod").ZodNullable<import("zod").ZodEnum<{
1305
- VOUCHER: "VOUCHER";
1306
- STEAM_TOPUP: "STEAM_TOPUP";
1307
- STEAM_GIFT: "STEAM_GIFT";
1308
- MOBILE_REFILL: "MOBILE_REFILL";
1309
- CRYPTO_REFILL: "CRYPTO_REFILL";
1310
- }>>;
1311
- isActive: import("zod").ZodBoolean;
1312
- }, import("zod/v4/core").$strip>>;
1313
- media: import("zod").ZodArray<import("zod").ZodObject<{
1314
- id: import("zod").ZodNumber;
1315
- type: import("zod").ZodEnum<{
1316
- IMAGE: "IMAGE";
1317
- VIDEO: "VIDEO";
1318
- }>;
1319
- url: import("zod").ZodString;
1320
- thumbnailUrl: import("zod").ZodNullable<import("zod").ZodString>;
1321
- sortOrder: import("zod").ZodNumber;
1322
- }, import("zod/v4/core").$strip>>;
1323
- }, import("zod/v4/core").$strip>>;
1324
- total: import("zod").ZodNumber;
1325
- skip: import("zod").ZodNumber;
1326
- take: import("zod").ZodNumber;
1327
- }, import("zod/v4/core").$strip>;
1328
- };
1329
1539
  readonly getBySlug: {
1330
1540
  readonly method: "GET";
1331
1541
  readonly path: "/api/products/:slug";
@@ -1370,6 +1580,19 @@ export declare const AllEndpoints: {
1370
1580
  kzt: import("zod").ZodString;
1371
1581
  }, import("zod/v4/core").$strip>;
1372
1582
  popularityScore: import("zod").ZodNumber;
1583
+ rating: import("zod").ZodObject<{
1584
+ average: import("zod").ZodNumber;
1585
+ count: import("zod").ZodNumber;
1586
+ distribution: import("zod").ZodObject<{
1587
+ 1: import("zod").ZodNumber;
1588
+ 2: import("zod").ZodNumber;
1589
+ 3: import("zod").ZodNumber;
1590
+ 4: import("zod").ZodNumber;
1591
+ 5: import("zod").ZodNumber;
1592
+ }, import("zod/v4/core").$strip>;
1593
+ userRating: import("zod").ZodNullable<import("zod").ZodNumber>;
1594
+ canRate: import("zod").ZodBoolean;
1595
+ }, import("zod/v4/core").$strip>;
1373
1596
  seo: import("zod").ZodObject<{
1374
1597
  metaTitle: import("zod").ZodString;
1375
1598
  metaDescription: import("zod").ZodString;
@@ -1452,8 +1675,8 @@ export declare const AllEndpoints: {
1452
1675
  }>>;
1453
1676
  search: import("zod").ZodOptional<import("zod").ZodString>;
1454
1677
  sort: import("zod").ZodDefault<import("zod").ZodEnum<{
1455
- popular: "popular";
1456
1678
  newest: "newest";
1679
+ popular: "popular";
1457
1680
  price_asc: "price_asc";
1458
1681
  price_desc: "price_desc";
1459
1682
  }>>;
@@ -1495,6 +1718,19 @@ export declare const AllEndpoints: {
1495
1718
  kzt: import("zod").ZodString;
1496
1719
  }, import("zod/v4/core").$strip>;
1497
1720
  popularityScore: import("zod").ZodNumber;
1721
+ rating: import("zod").ZodObject<{
1722
+ average: import("zod").ZodNumber;
1723
+ count: import("zod").ZodNumber;
1724
+ distribution: import("zod").ZodObject<{
1725
+ 1: import("zod").ZodNumber;
1726
+ 2: import("zod").ZodNumber;
1727
+ 3: import("zod").ZodNumber;
1728
+ 4: import("zod").ZodNumber;
1729
+ 5: import("zod").ZodNumber;
1730
+ }, import("zod/v4/core").$strip>;
1731
+ userRating: import("zod").ZodNullable<import("zod").ZodNumber>;
1732
+ canRate: import("zod").ZodBoolean;
1733
+ }, import("zod/v4/core").$strip>;
1498
1734
  seo: import("zod").ZodObject<{
1499
1735
  metaTitle: import("zod").ZodString;
1500
1736
  metaDescription: import("zod").ZodString;
@@ -1636,6 +1872,19 @@ export declare const AllEndpoints: {
1636
1872
  kzt: import("zod").ZodString;
1637
1873
  }, import("zod/v4/core").$strip>;
1638
1874
  popularityScore: import("zod").ZodNumber;
1875
+ rating: import("zod").ZodObject<{
1876
+ average: import("zod").ZodNumber;
1877
+ count: import("zod").ZodNumber;
1878
+ distribution: import("zod").ZodObject<{
1879
+ 1: import("zod").ZodNumber;
1880
+ 2: import("zod").ZodNumber;
1881
+ 3: import("zod").ZodNumber;
1882
+ 4: import("zod").ZodNumber;
1883
+ 5: import("zod").ZodNumber;
1884
+ }, import("zod/v4/core").$strip>;
1885
+ userRating: import("zod").ZodNullable<import("zod").ZodNumber>;
1886
+ canRate: import("zod").ZodBoolean;
1887
+ }, import("zod/v4/core").$strip>;
1639
1888
  seo: import("zod").ZodObject<{
1640
1889
  metaTitle: import("zod").ZodString;
1641
1890
  metaDescription: import("zod").ZodString;