@shophost/rest-api 0.1.16 → 0.1.18
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/package.json +1 -1
- package/src/contracts/cart.contract.d.ts +6 -140
- package/src/contracts/customers.contract.d.ts +3 -3
- package/src/contracts/index.d.ts +100 -515
- package/src/contracts/manufacturers.contract.d.ts +15 -15
- package/src/contracts/orders.contract.d.ts +13 -13
- package/src/contracts/organizations.contract.d.ts +3 -3
- package/src/contracts/product-categories.contract.d.ts +18 -18
- package/src/contracts/products.contract.d.ts +24 -292
- package/src/contracts/shipping-methods.contract.d.ts +6 -6
- package/src/contracts/shipping.contract.d.ts +15 -28
- package/src/db/__generated__/client/internal/prismaNamespace.d.ts +9 -9
- package/src/integrations/next.d.ts +1 -0
- package/src/integrations/next.js +13 -15
- package/src/integrations/next.js.map +1 -1
- package/src/lib/better-auth.lib.d.ts +1 -10202
- package/src/lib/better-auth.lib.js.map +1 -1
- package/src/routers/cart.router.d.ts +6 -140
- package/src/routers/manufacturer.router.d.ts +15 -15
- package/src/routers/order.router.d.ts +13 -13
- package/src/routers/organization.router.d.ts +3 -3
- package/src/routers/product-category.router.d.ts +18 -18
- package/src/routers/product.router.d.ts +24 -292
- package/src/routers/shipping-method.router.d.ts +6 -6
- package/src/routers/shipping.router.d.ts +15 -28
- package/src/schemas/address.schema.d.ts +9 -16
- package/src/schemas/cart.schema.d.ts +6 -140
- package/src/schemas/manufacturer.schema.d.ts +3 -3
- package/src/schemas/order.schema.d.ts +3 -3
- package/src/schemas/organization.schema.d.ts +3 -3
- package/src/schemas/params.schema.d.ts +3 -3
- package/src/schemas/product-category.schema.d.ts +6 -6
- package/src/schemas/product-modifier.schema.d.ts +3 -3
- package/src/schemas/product.schema.d.ts +9 -143
- package/src/schemas/recipient.schema.d.ts +3 -3
- package/src/schemas/shipping-method.schema.d.ts +3 -3
|
@@ -15,11 +15,8 @@ export declare const shippingContract: {
|
|
|
15
15
|
cookie?: string | undefined;
|
|
16
16
|
}>>;
|
|
17
17
|
responses: {
|
|
18
|
-
200: import("zod").ZodNullable<import("zod").ZodObject<
|
|
18
|
+
200: import("zod").ZodNullable<import("zod").ZodObject<{
|
|
19
19
|
id: import("zod").ZodString;
|
|
20
|
-
firstname: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
|
|
21
|
-
lastname: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
|
|
22
|
-
phone: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
|
|
23
20
|
addressLineOne: import("zod").ZodString;
|
|
24
21
|
doorNumber: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
25
22
|
addressLineTwo: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
@@ -28,11 +25,11 @@ export declare const shippingContract: {
|
|
|
28
25
|
country: import("zod").ZodString;
|
|
29
26
|
placeId: import("zod").ZodString;
|
|
30
27
|
deliveryInstructions: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
31
|
-
}
|
|
28
|
+
} & {
|
|
32
29
|
firstname: import("zod").ZodString;
|
|
33
30
|
lastname: import("zod").ZodString;
|
|
34
31
|
phone: import("zod").ZodString;
|
|
35
|
-
}
|
|
32
|
+
}, "strip", import("zod").ZodTypeAny, {
|
|
36
33
|
id: string;
|
|
37
34
|
firstname: string;
|
|
38
35
|
lastname: string;
|
|
@@ -75,11 +72,8 @@ export declare const shippingContract: {
|
|
|
75
72
|
description: "Creates a new shipping address for the user";
|
|
76
73
|
method: "POST";
|
|
77
74
|
summary: "Create Shipping Address";
|
|
78
|
-
body: import("zod").ZodObject<Pick<
|
|
75
|
+
body: import("zod").ZodObject<Pick<{
|
|
79
76
|
id: import("zod").ZodString;
|
|
80
|
-
firstname: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
|
|
81
|
-
lastname: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
|
|
82
|
-
phone: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
|
|
83
77
|
addressLineOne: import("zod").ZodString;
|
|
84
78
|
doorNumber: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
85
79
|
addressLineTwo: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
@@ -88,11 +82,11 @@ export declare const shippingContract: {
|
|
|
88
82
|
country: import("zod").ZodString;
|
|
89
83
|
placeId: import("zod").ZodString;
|
|
90
84
|
deliveryInstructions: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
91
|
-
}
|
|
85
|
+
} & {
|
|
92
86
|
firstname: import("zod").ZodString;
|
|
93
87
|
lastname: import("zod").ZodString;
|
|
94
88
|
phone: import("zod").ZodString;
|
|
95
|
-
}
|
|
89
|
+
}, "firstname" | "lastname" | "phone" | "addressLineOne" | "doorNumber" | "addressLineTwo" | "zipCode" | "city" | "country" | "placeId" | "deliveryInstructions">, "strip", import("zod").ZodTypeAny, {
|
|
96
90
|
firstname: string;
|
|
97
91
|
lastname: string;
|
|
98
92
|
phone: string;
|
|
@@ -129,11 +123,8 @@ export declare const shippingContract: {
|
|
|
129
123
|
cookie?: string | undefined;
|
|
130
124
|
}>>;
|
|
131
125
|
responses: {
|
|
132
|
-
201: import("zod").ZodObject<
|
|
126
|
+
201: import("zod").ZodObject<{
|
|
133
127
|
id: import("zod").ZodString;
|
|
134
|
-
firstname: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
|
|
135
|
-
lastname: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
|
|
136
|
-
phone: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
|
|
137
128
|
addressLineOne: import("zod").ZodString;
|
|
138
129
|
doorNumber: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
139
130
|
addressLineTwo: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
@@ -142,11 +133,11 @@ export declare const shippingContract: {
|
|
|
142
133
|
country: import("zod").ZodString;
|
|
143
134
|
placeId: import("zod").ZodString;
|
|
144
135
|
deliveryInstructions: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
145
|
-
}
|
|
136
|
+
} & {
|
|
146
137
|
firstname: import("zod").ZodString;
|
|
147
138
|
lastname: import("zod").ZodString;
|
|
148
139
|
phone: import("zod").ZodString;
|
|
149
|
-
}
|
|
140
|
+
}, "strip", import("zod").ZodTypeAny, {
|
|
150
141
|
id: string;
|
|
151
142
|
firstname: string;
|
|
152
143
|
lastname: string;
|
|
@@ -199,7 +190,7 @@ export declare const shippingContract: {
|
|
|
199
190
|
description: "Updates the shipping address for the user";
|
|
200
191
|
method: "PUT";
|
|
201
192
|
summary: "Update Shipping Address";
|
|
202
|
-
body: import("zod").ZodObject<
|
|
193
|
+
body: import("zod").ZodObject<{
|
|
203
194
|
firstname: import("zod").ZodOptional<import("zod").ZodString>;
|
|
204
195
|
lastname: import("zod").ZodOptional<import("zod").ZodString>;
|
|
205
196
|
phone: import("zod").ZodOptional<import("zod").ZodString>;
|
|
@@ -209,11 +200,10 @@ export declare const shippingContract: {
|
|
|
209
200
|
zipCode: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodString>>;
|
|
210
201
|
city: import("zod").ZodOptional<import("zod").ZodString>;
|
|
211
202
|
country: import("zod").ZodOptional<import("zod").ZodString>;
|
|
212
|
-
placeId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
213
203
|
deliveryInstructions: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>>;
|
|
214
|
-
}
|
|
204
|
+
} & {
|
|
215
205
|
placeId: import("zod").ZodString;
|
|
216
|
-
}
|
|
206
|
+
}, "strip", import("zod").ZodTypeAny, {
|
|
217
207
|
placeId: string;
|
|
218
208
|
firstname?: string | undefined;
|
|
219
209
|
lastname?: string | undefined;
|
|
@@ -250,11 +240,8 @@ export declare const shippingContract: {
|
|
|
250
240
|
cookie?: string | undefined;
|
|
251
241
|
}>>;
|
|
252
242
|
responses: {
|
|
253
|
-
200: import("zod").ZodObject<
|
|
243
|
+
200: import("zod").ZodObject<{
|
|
254
244
|
id: import("zod").ZodString;
|
|
255
|
-
firstname: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
|
|
256
|
-
lastname: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
|
|
257
|
-
phone: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
|
|
258
245
|
addressLineOne: import("zod").ZodString;
|
|
259
246
|
doorNumber: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
260
247
|
addressLineTwo: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
@@ -263,11 +250,11 @@ export declare const shippingContract: {
|
|
|
263
250
|
country: import("zod").ZodString;
|
|
264
251
|
placeId: import("zod").ZodString;
|
|
265
252
|
deliveryInstructions: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
266
|
-
}
|
|
253
|
+
} & {
|
|
267
254
|
firstname: import("zod").ZodString;
|
|
268
255
|
lastname: import("zod").ZodString;
|
|
269
256
|
phone: import("zod").ZodString;
|
|
270
|
-
}
|
|
257
|
+
}, "strip", import("zod").ZodTypeAny, {
|
|
271
258
|
id: string;
|
|
272
259
|
firstname: string;
|
|
273
260
|
lastname: string;
|
|
@@ -92,7 +92,7 @@ export declare const NullTypes: {
|
|
|
92
92
|
* @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field
|
|
93
93
|
*/
|
|
94
94
|
export declare const DbNull: {
|
|
95
|
-
"__#
|
|
95
|
+
"__#2@#private": any;
|
|
96
96
|
_getNamespace(): string;
|
|
97
97
|
_getName(): string;
|
|
98
98
|
toString(): string;
|
|
@@ -103,7 +103,7 @@ export declare const DbNull: {
|
|
|
103
103
|
* @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field
|
|
104
104
|
*/
|
|
105
105
|
export declare const JsonNull: {
|
|
106
|
-
"__#
|
|
106
|
+
"__#3@#private": any;
|
|
107
107
|
_getNamespace(): string;
|
|
108
108
|
_getName(): string;
|
|
109
109
|
toString(): string;
|
|
@@ -114,7 +114,7 @@ export declare const JsonNull: {
|
|
|
114
114
|
* @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field
|
|
115
115
|
*/
|
|
116
116
|
export declare const AnyNull: {
|
|
117
|
-
"__#
|
|
117
|
+
"__#1@#private": any;
|
|
118
118
|
_getNamespace(): string;
|
|
119
119
|
_getName(): string;
|
|
120
120
|
toString(): string;
|
|
@@ -3161,7 +3161,7 @@ export declare const SortOrder: {
|
|
|
3161
3161
|
export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder];
|
|
3162
3162
|
export declare const JsonNullValueInput: {
|
|
3163
3163
|
readonly JsonNull: {
|
|
3164
|
-
"__#
|
|
3164
|
+
"__#3@#private": any;
|
|
3165
3165
|
_getNamespace(): string;
|
|
3166
3166
|
_getName(): string;
|
|
3167
3167
|
toString(): string;
|
|
@@ -3170,13 +3170,13 @@ export declare const JsonNullValueInput: {
|
|
|
3170
3170
|
export type JsonNullValueInput = (typeof JsonNullValueInput)[keyof typeof JsonNullValueInput];
|
|
3171
3171
|
export declare const NullableJsonNullValueInput: {
|
|
3172
3172
|
readonly DbNull: {
|
|
3173
|
-
"__#
|
|
3173
|
+
"__#2@#private": any;
|
|
3174
3174
|
_getNamespace(): string;
|
|
3175
3175
|
_getName(): string;
|
|
3176
3176
|
toString(): string;
|
|
3177
3177
|
};
|
|
3178
3178
|
readonly JsonNull: {
|
|
3179
|
-
"__#
|
|
3179
|
+
"__#3@#private": any;
|
|
3180
3180
|
_getNamespace(): string;
|
|
3181
3181
|
_getName(): string;
|
|
3182
3182
|
toString(): string;
|
|
@@ -3195,19 +3195,19 @@ export declare const NullsOrder: {
|
|
|
3195
3195
|
export type NullsOrder = (typeof NullsOrder)[keyof typeof NullsOrder];
|
|
3196
3196
|
export declare const JsonNullValueFilter: {
|
|
3197
3197
|
readonly DbNull: {
|
|
3198
|
-
"__#
|
|
3198
|
+
"__#2@#private": any;
|
|
3199
3199
|
_getNamespace(): string;
|
|
3200
3200
|
_getName(): string;
|
|
3201
3201
|
toString(): string;
|
|
3202
3202
|
};
|
|
3203
3203
|
readonly JsonNull: {
|
|
3204
|
-
"__#
|
|
3204
|
+
"__#3@#private": any;
|
|
3205
3205
|
_getNamespace(): string;
|
|
3206
3206
|
_getName(): string;
|
|
3207
3207
|
toString(): string;
|
|
3208
3208
|
};
|
|
3209
3209
|
readonly AnyNull: {
|
|
3210
|
-
"__#
|
|
3210
|
+
"__#1@#private": any;
|
|
3211
3211
|
_getNamespace(): string;
|
|
3212
3212
|
_getName(): string;
|
|
3213
3213
|
toString(): string;
|
|
@@ -4,6 +4,7 @@ import { Prisma } from "../db";
|
|
|
4
4
|
import { PaymentServiceOptions } from "../services/payment.service";
|
|
5
5
|
interface CreateNextHandlerOptions extends Partial<Parameters<typeof tsRestCreateNextHandler>[2]> {
|
|
6
6
|
database: Prisma.PrismaClientOptions;
|
|
7
|
+
prisma: any;
|
|
7
8
|
maps: {
|
|
8
9
|
google?: {
|
|
9
10
|
key: string;
|
package/src/integrations/next.js
CHANGED
|
@@ -4,7 +4,6 @@ import { toNextJsHandler } from "better-auth/next-js";
|
|
|
4
4
|
import { contract } from "../contracts";
|
|
5
5
|
import { webhookHandler } from "../handlers/webhook.handler";
|
|
6
6
|
import { createAuthClient } from "../lib/better-auth.lib";
|
|
7
|
-
import { createPrismaClient } from "../lib/prisma";
|
|
8
7
|
import { buildCartRouter, buildFileRouter, buildHealthRouter, buildManufacturerRouter, buildOrderRouter, buildOrganizationRouter, buildPaymentRouter, buildProductCategoryRouter, buildProductRouter, buildReservationRouter, buildShippingMethodRouter, } from "../routers";
|
|
9
8
|
import { buildLocationsRouter } from "../routers/places.router";
|
|
10
9
|
import { buildShippingRouter } from "../routers/shipping.router";
|
|
@@ -12,23 +11,22 @@ import { buildWebhookRouter } from "../routers/webhook.router";
|
|
|
12
11
|
import { errorHandler } from "../utils/error-handler.util";
|
|
13
12
|
export const createNextHandler = (options) => {
|
|
14
13
|
const { database: databaseOptions, auth: authOptions } = options, handlerOptions = __rest(options, ["database", "auth"]);
|
|
15
|
-
const
|
|
16
|
-
const auth = createAuthClient(Object.assign({ prisma }, authOptions));
|
|
14
|
+
const auth = createAuthClient(Object.assign({ prisma: options.prisma }, authOptions));
|
|
17
15
|
const handler = tsRestCreateNextHandler(contract, {
|
|
18
16
|
health: buildHealthRouter(),
|
|
19
|
-
manufacturer: buildManufacturerRouter(prisma),
|
|
20
|
-
organization: buildOrganizationRouter(prisma, options.maps.google.key),
|
|
21
|
-
file: buildFileRouter(prisma),
|
|
22
|
-
productCategory: buildProductCategoryRouter(prisma),
|
|
23
|
-
product: buildProductRouter(prisma),
|
|
24
|
-
shippingMethod: buildShippingMethodRouter(prisma),
|
|
25
|
-
order: buildOrderRouter(prisma, options.payment),
|
|
26
|
-
cart: buildCartRouter(prisma),
|
|
27
|
-
shipping: buildShippingRouter(prisma, options.maps.google.key),
|
|
17
|
+
manufacturer: buildManufacturerRouter(options.prisma),
|
|
18
|
+
organization: buildOrganizationRouter(options.prisma, options.maps.google.key),
|
|
19
|
+
file: buildFileRouter(options.prisma),
|
|
20
|
+
productCategory: buildProductCategoryRouter(options.prisma),
|
|
21
|
+
product: buildProductRouter(options.prisma),
|
|
22
|
+
shippingMethod: buildShippingMethodRouter(options.prisma),
|
|
23
|
+
order: buildOrderRouter(options.prisma, options.payment),
|
|
24
|
+
cart: buildCartRouter(options.prisma),
|
|
25
|
+
shipping: buildShippingRouter(options.prisma, options.maps.google.key),
|
|
28
26
|
location: buildLocationsRouter(options.maps),
|
|
29
|
-
payment: buildPaymentRouter(prisma, options.payment),
|
|
27
|
+
payment: buildPaymentRouter(options.prisma, options.payment),
|
|
30
28
|
webhook: buildWebhookRouter(),
|
|
31
|
-
reservation: buildReservationRouter(prisma, options.payment.stripe.resendApiKey),
|
|
29
|
+
reservation: buildReservationRouter(options.prisma, options.payment.stripe.resendApiKey),
|
|
32
30
|
}, Object.assign({ handlerType: "app-router", basePath: "/api", cors: {
|
|
33
31
|
origin: ["http://localhost:3000"],
|
|
34
32
|
credentials: true,
|
|
@@ -61,7 +59,7 @@ export const createNextHandler = (options) => {
|
|
|
61
59
|
}
|
|
62
60
|
}
|
|
63
61
|
if (request.url.includes("/api/webhook")) {
|
|
64
|
-
return webhookHandler(request, prisma, options === null || options === void 0 ? void 0 : options.payment);
|
|
62
|
+
return webhookHandler(request, options.prisma, options === null || options === void 0 ? void 0 : options.payment);
|
|
65
63
|
}
|
|
66
64
|
return handler(request);
|
|
67
65
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"next.js","sourceRoot":"","sources":["../../../../../packages/rest-api/src/integrations/next.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,IAAI,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,
|
|
1
|
+
{"version":3,"file":"next.js","sourceRoot":"","sources":["../../../../../packages/rest-api/src/integrations/next.ts"],"names":[],"mappings":"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"}
|