autosync_backend2 1.1.16 → 1.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/dist/index.d.ts +125 -0
- package/dist/index.js +417 -69
- package/package.json +3 -2
package/dist/index.d.ts
CHANGED
|
@@ -341,6 +341,53 @@ declare const app: Elysia<"", {
|
|
|
341
341
|
readonly "CrmCpOrderProductModel.select": import("@sinclair/typebox").TObject<{
|
|
342
342
|
cpOrderId: import("@sinclair/typebox").TString;
|
|
343
343
|
}>;
|
|
344
|
+
readonly "CrmCpOrderPaymentModel.create": import("@sinclair/typebox").TObject<{
|
|
345
|
+
state: import("@sinclair/typebox").TEnum<{
|
|
346
|
+
NOT_PAID: "NOT_PAID";
|
|
347
|
+
PENDING: "PENDING";
|
|
348
|
+
FAILED: "FAILED";
|
|
349
|
+
EXPIRED: "EXPIRED";
|
|
350
|
+
PAID: "PAID";
|
|
351
|
+
DECLINED: "DECLINED";
|
|
352
|
+
CANCELED: "CANCELED";
|
|
353
|
+
REFUNDING: "REFUNDING";
|
|
354
|
+
REFUNDED: "REFUNDED";
|
|
355
|
+
}>;
|
|
356
|
+
cpOrderId: import("@sinclair/typebox").TString;
|
|
357
|
+
paymentPackageId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
|
|
358
|
+
paymentMethod: import("@sinclair/typebox").TEnum<{
|
|
359
|
+
CASH: "CASH";
|
|
360
|
+
BANK_TRANSFER: "BANK_TRANSFER";
|
|
361
|
+
POS_TERMINAL: "POS_TERMINAL";
|
|
362
|
+
PAYMENT_PACKAGE: "PAYMENT_PACKAGE";
|
|
363
|
+
}>;
|
|
364
|
+
paymentChannel: import("@sinclair/typebox").TString;
|
|
365
|
+
amount: import("@sinclair/typebox").TNumber;
|
|
366
|
+
}>;
|
|
367
|
+
readonly "CrmCpOrderPaymentModel.storepay": import("@sinclair/typebox").TObject<{
|
|
368
|
+
state: import("@sinclair/typebox").TEnum<{
|
|
369
|
+
NOT_PAID: "NOT_PAID";
|
|
370
|
+
PENDING: "PENDING";
|
|
371
|
+
FAILED: "FAILED";
|
|
372
|
+
EXPIRED: "EXPIRED";
|
|
373
|
+
PAID: "PAID";
|
|
374
|
+
DECLINED: "DECLINED";
|
|
375
|
+
CANCELED: "CANCELED";
|
|
376
|
+
REFUNDING: "REFUNDING";
|
|
377
|
+
REFUNDED: "REFUNDED";
|
|
378
|
+
}>;
|
|
379
|
+
cpOrderId: import("@sinclair/typebox").TString;
|
|
380
|
+
paymentPackageId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>>;
|
|
381
|
+
paymentMethod: import("@sinclair/typebox").TEnum<{
|
|
382
|
+
CASH: "CASH";
|
|
383
|
+
BANK_TRANSFER: "BANK_TRANSFER";
|
|
384
|
+
POS_TERMINAL: "POS_TERMINAL";
|
|
385
|
+
PAYMENT_PACKAGE: "PAYMENT_PACKAGE";
|
|
386
|
+
}>;
|
|
387
|
+
paymentChannel: import("@sinclair/typebox").TString;
|
|
388
|
+
amount: import("@sinclair/typebox").TNumber;
|
|
389
|
+
phone: import("@sinclair/typebox").TNumber;
|
|
390
|
+
}>;
|
|
344
391
|
readonly "CrmCpOrderModel.create": import("@sinclair/typebox").TObject<{
|
|
345
392
|
phone: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
346
393
|
vin: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
@@ -3448,6 +3495,84 @@ declare const app: Elysia<"", {
|
|
|
3448
3495
|
};
|
|
3449
3496
|
};
|
|
3450
3497
|
};
|
|
3498
|
+
} & {
|
|
3499
|
+
"cp-order": {
|
|
3500
|
+
payment: {};
|
|
3501
|
+
} & {
|
|
3502
|
+
payment: {
|
|
3503
|
+
storepay: {
|
|
3504
|
+
":id": {
|
|
3505
|
+
get: {
|
|
3506
|
+
body: unknown;
|
|
3507
|
+
params: {
|
|
3508
|
+
id: string;
|
|
3509
|
+
};
|
|
3510
|
+
query: unknown;
|
|
3511
|
+
headers: unknown;
|
|
3512
|
+
response: {
|
|
3513
|
+
200: undefined;
|
|
3514
|
+
404: "Төлбөрийн тохиргоо олдсонгүй." | "Төлбөрийн мэдээлэл олдсонгүй.";
|
|
3515
|
+
400: string;
|
|
3516
|
+
500: "Сервер алдаа гарлаа";
|
|
3517
|
+
422: {
|
|
3518
|
+
type: "validation";
|
|
3519
|
+
on: string;
|
|
3520
|
+
summary?: string;
|
|
3521
|
+
message?: string;
|
|
3522
|
+
found?: unknown;
|
|
3523
|
+
property?: string;
|
|
3524
|
+
expected?: string;
|
|
3525
|
+
};
|
|
3526
|
+
};
|
|
3527
|
+
};
|
|
3528
|
+
};
|
|
3529
|
+
};
|
|
3530
|
+
};
|
|
3531
|
+
} & {
|
|
3532
|
+
payment: {
|
|
3533
|
+
storepay: {
|
|
3534
|
+
post: {
|
|
3535
|
+
body: {
|
|
3536
|
+
paymentPackageId?: string | null | undefined;
|
|
3537
|
+
phone: number;
|
|
3538
|
+
state: "NOT_PAID" | "PENDING" | "FAILED" | "EXPIRED" | "PAID" | "DECLINED" | "CANCELED" | "REFUNDING" | "REFUNDED";
|
|
3539
|
+
cpOrderId: string;
|
|
3540
|
+
paymentMethod: "CASH" | "BANK_TRANSFER" | "POS_TERMINAL" | "PAYMENT_PACKAGE";
|
|
3541
|
+
paymentChannel: string;
|
|
3542
|
+
amount: number;
|
|
3543
|
+
};
|
|
3544
|
+
params: {};
|
|
3545
|
+
query: unknown;
|
|
3546
|
+
headers: unknown;
|
|
3547
|
+
response: {
|
|
3548
|
+
200: {
|
|
3549
|
+
id: string;
|
|
3550
|
+
createdAt: string;
|
|
3551
|
+
updatedAt: string;
|
|
3552
|
+
deletedAt: string | null;
|
|
3553
|
+
state: "NOT_PAID" | "PENDING" | "FAILED" | "EXPIRED" | "PAID" | "DECLINED" | "CANCELED" | "REFUNDING" | "REFUNDED";
|
|
3554
|
+
cpOrderId: string;
|
|
3555
|
+
paymentPackageId: string | null;
|
|
3556
|
+
paymentMethod: "CASH" | "BANK_TRANSFER" | "POS_TERMINAL" | "PAYMENT_PACKAGE";
|
|
3557
|
+
paymentChannel: string;
|
|
3558
|
+
amount: number;
|
|
3559
|
+
invoiceNumber: string | null;
|
|
3560
|
+
};
|
|
3561
|
+
404: "Төлбөрийн тохиргоо олдсонгүй.";
|
|
3562
|
+
422: {
|
|
3563
|
+
type: "validation";
|
|
3564
|
+
on: string;
|
|
3565
|
+
summary?: string;
|
|
3566
|
+
message?: string;
|
|
3567
|
+
found?: unknown;
|
|
3568
|
+
property?: string;
|
|
3569
|
+
expected?: string;
|
|
3570
|
+
};
|
|
3571
|
+
};
|
|
3572
|
+
};
|
|
3573
|
+
};
|
|
3574
|
+
};
|
|
3575
|
+
};
|
|
3451
3576
|
} & {
|
|
3452
3577
|
"cp-order": {
|
|
3453
3578
|
get: {
|
package/dist/index.js
CHANGED
|
@@ -137662,6 +137662,8 @@ __export(exports_schema, {
|
|
|
137662
137662
|
crmSpPackageServiceTable: () => crmSpPackageServiceTable,
|
|
137663
137663
|
crmSpPackageProductTable: () => crmSpPackageProductTable,
|
|
137664
137664
|
crmSchema: () => crmSchema,
|
|
137665
|
+
crmPaymentTypeEnum: () => crmPaymentTypeEnum,
|
|
137666
|
+
crmPaymentTable: () => crmPaymentTable,
|
|
137665
137667
|
crmCustomerVehicleTable: () => crmCustomerVehicleTable,
|
|
137666
137668
|
crmCustomerTable: () => crmCustomerTable,
|
|
137667
137669
|
crmCpOrderTable: () => crmCpOrderTable,
|
|
@@ -137669,6 +137671,9 @@ __export(exports_schema, {
|
|
|
137669
137671
|
crmCpOrderSpPackageTable: () => crmCpOrderSpPackageTable,
|
|
137670
137672
|
crmCpOrderServiceTable: () => crmCpOrderServiceTable,
|
|
137671
137673
|
crmCpOrderProductTable: () => crmCpOrderProductTable,
|
|
137674
|
+
crmCpOrderPaymentTable: () => crmCpOrderPaymentTable,
|
|
137675
|
+
crmCpOrderPaymentStateEnum: () => crmCpOrderPaymentStateEnum,
|
|
137676
|
+
crmCpOrderPaymentMethodEnum: () => crmCpOrderPaymentMethodEnum,
|
|
137672
137677
|
companyServiceKindTable: () => companyServiceKindTable,
|
|
137673
137678
|
companySchema: () => companySchema,
|
|
137674
137679
|
companyPackageTable: () => companyPackageTable,
|
|
@@ -138016,6 +138021,50 @@ var crmCpOrderProductTable = crmSchema.table("cp_order_product", {
|
|
|
138016
138021
|
priceTotal: numeric({ mode: "number" }).notNull(),
|
|
138017
138022
|
name: varchar()
|
|
138018
138023
|
}, (t2) => [unique().on(t2.cpOrderId, t2.companyProductId)]);
|
|
138024
|
+
var crmCpOrderPaymentMethodEnum = crmSchema.enum("payment_method", [
|
|
138025
|
+
"CASH",
|
|
138026
|
+
"BANK_TRANSFER",
|
|
138027
|
+
"POS_TERMINAL",
|
|
138028
|
+
"PAYMENT_PACKAGE"
|
|
138029
|
+
]);
|
|
138030
|
+
var crmCpOrderPaymentStateEnum = crmSchema.enum("payment_state", [
|
|
138031
|
+
"NOT_PAID",
|
|
138032
|
+
"PENDING",
|
|
138033
|
+
"FAILED",
|
|
138034
|
+
"EXPIRED",
|
|
138035
|
+
"PAID",
|
|
138036
|
+
"DECLINED",
|
|
138037
|
+
"CANCELED",
|
|
138038
|
+
"REFUNDING",
|
|
138039
|
+
"REFUNDED"
|
|
138040
|
+
]);
|
|
138041
|
+
var crmPaymentTypeEnum = crmSchema.enum("payment_type", [
|
|
138042
|
+
"StorePay",
|
|
138043
|
+
"Qpay",
|
|
138044
|
+
"MinuPos",
|
|
138045
|
+
"UbPay"
|
|
138046
|
+
]);
|
|
138047
|
+
var crmPaymentTable = crmSchema.table("payment", {
|
|
138048
|
+
...base_schema_helper_default,
|
|
138049
|
+
accessToken: varchar(),
|
|
138050
|
+
refreshToken: varchar(),
|
|
138051
|
+
companyId: uuid().notNull(),
|
|
138052
|
+
expiresIn: integer(),
|
|
138053
|
+
refreshExpiresIn: integer(),
|
|
138054
|
+
branchId: uuid(),
|
|
138055
|
+
type: crmPaymentTypeEnum("type").notNull(),
|
|
138056
|
+
sub: json("sub")
|
|
138057
|
+
});
|
|
138058
|
+
var crmCpOrderPaymentTable = crmSchema.table("cp_order_payment", {
|
|
138059
|
+
...base_schema_helper_default,
|
|
138060
|
+
cpOrderId: uuid().notNull(),
|
|
138061
|
+
paymentPackageId: uuid(),
|
|
138062
|
+
paymentMethod: crmCpOrderPaymentMethodEnum().notNull(),
|
|
138063
|
+
paymentChannel: varchar().notNull(),
|
|
138064
|
+
amount: numeric({ mode: "number" }).notNull(),
|
|
138065
|
+
state: crmCpOrderPaymentStateEnum().notNull(),
|
|
138066
|
+
invoiceNumber: varchar()
|
|
138067
|
+
});
|
|
138019
138068
|
// src/lib/db/schema/techdoc.schema.ts
|
|
138020
138069
|
var techdocSchema = pgSchema("techdoc");
|
|
138021
138070
|
var techdocVehicleKindEnum = pgEnum("vehicle_kind_enum", [
|
|
@@ -141801,14 +141850,14 @@ var CrmCustomerLogic;
|
|
|
141801
141850
|
return result;
|
|
141802
141851
|
};
|
|
141803
141852
|
CrmCustomerLogic.select = async (query, user2) => {
|
|
141804
|
-
const cpOrderQuery = db_default
|
|
141853
|
+
const cpOrderQuery = db_default.select({
|
|
141805
141854
|
customerId: crmCpOrderTable.customerId
|
|
141806
|
-
}).from(crmCpOrderTable).where(and(eq(crmCpOrderTable.companyId, user2.companyId), eq(crmCpOrderTable.companyBranchId, user2.branchId).if(user2.kind === "CUSTOMER"), softDeletedFilter(crmCpOrderTable))));
|
|
141807
|
-
const filter = and(softDeletedFilter(crmCustomerTable), like(crmCustomerTable.phoneNumber, `${query.phone}`).if(query.phone));
|
|
141855
|
+
}).from(crmCpOrderTable).where(and(eq(crmCpOrderTable.companyId, user2.companyId), eq(crmCpOrderTable.companyBranchId, user2.branchId).if(user2.kind === "CUSTOMER"), softDeletedFilter(crmCpOrderTable), eq(crmCpOrderTable.customerId, crmCustomerTable.id)));
|
|
141856
|
+
const filter = and(softDeletedFilter(crmCustomerTable), like(crmCustomerTable.phoneNumber, `${query.phone}`).if(query.phone), exists(cpOrderQuery));
|
|
141808
141857
|
const baseQuery = db_default.select({
|
|
141809
141858
|
customer: crmCustomerTable,
|
|
141810
141859
|
totalCount: totalCountSql
|
|
141811
|
-
}).from(crmCustomerTable).where(filter).
|
|
141860
|
+
}).from(crmCustomerTable).where(filter).orderBy(crmCustomerTable.phoneNumber).$dynamic();
|
|
141812
141861
|
const result = await pagination_helper_default(baseQuery, query.pagination);
|
|
141813
141862
|
const content = {
|
|
141814
141863
|
totalCount: result[0]?.totalCount ?? 0,
|
|
@@ -143516,26 +143565,26 @@ var CrmCpOrderProductLogic;
|
|
|
143516
143565
|
if (body.length === 0) {
|
|
143517
143566
|
return status("Bad Request", "\u0411\u0430\u0440\u0430\u0430 \u043E\u0440\u0443\u0443\u043B\u0430\u0445 \u043C\u044D\u0434\u044D\u044D\u043B\u044D\u043B \u0431\u0430\u0439\u0445\u0433\u04AF\u0439 \u0431\u0430\u0439\u043D\u0430.");
|
|
143518
143567
|
}
|
|
143519
|
-
const serviceKinds = await
|
|
143568
|
+
const serviceKinds = await logic_default7.select({
|
|
143520
143569
|
ids: body.map((item) => item.companyProductId),
|
|
143521
143570
|
pagination: {
|
|
143522
143571
|
page: 1,
|
|
143523
143572
|
size: body.length
|
|
143524
143573
|
}
|
|
143525
143574
|
}, user2);
|
|
143526
|
-
if (serviceKinds.
|
|
143575
|
+
if (serviceKinds.result.length !== body.length) {
|
|
143527
143576
|
return status("Not Found", "\u0411\u0430\u0440\u0430\u0430\u043D\u044B \u0442\u04E9\u0440\u04E9\u043B \u0437\u0430\u0440\u0438\u043C \u043D\u044C \u043E\u043B\u0434\u0441\u043E\u043D\u0433\u04AF\u0439.");
|
|
143528
143577
|
}
|
|
143529
143578
|
const insertValues = [];
|
|
143530
143579
|
for (const item of body) {
|
|
143531
|
-
const serviceKind = serviceKinds.
|
|
143580
|
+
const serviceKind = serviceKinds.result.find((s) => s.id === item.companyProductId);
|
|
143532
143581
|
if (!serviceKind) {
|
|
143533
143582
|
return status("Not Found", "\u0411\u0430\u0440\u0430\u0430 \u043E\u043B\u0434\u0441\u043E\u043D\u0433\u04AF\u0439.");
|
|
143534
143583
|
}
|
|
143535
143584
|
insertValues.push({
|
|
143536
143585
|
...item,
|
|
143537
|
-
priceUnit: item.priceUnit ?? serviceKind.
|
|
143538
|
-
priceTotal: item.quantity * (item.priceUnit ?? serviceKind.
|
|
143586
|
+
priceUnit: item.priceUnit ?? serviceKind.priceSell,
|
|
143587
|
+
priceTotal: item.quantity * (item.priceUnit ?? serviceKind.priceSell)
|
|
143539
143588
|
});
|
|
143540
143589
|
}
|
|
143541
143590
|
await tdb.insert(crmCpOrderProductTable).values(insertValues);
|
|
@@ -143615,7 +143664,20 @@ var CrmCpOrderServiceLogic;
|
|
|
143615
143664
|
await tdb.insert(crmCpOrderServiceTable).values(insertValues);
|
|
143616
143665
|
};
|
|
143617
143666
|
CrmCpOrderServiceLogic.update = async (id, body) => {
|
|
143618
|
-
|
|
143667
|
+
let priceTotal = undefined;
|
|
143668
|
+
if (body.priceUnit) {
|
|
143669
|
+
priceTotal = sql3`${body.priceUnit} * ${crmCpOrderServiceTable.quantity}`;
|
|
143670
|
+
}
|
|
143671
|
+
if (body.quantity) {
|
|
143672
|
+
priceTotal = sql3`${crmCpOrderServiceTable.priceUnit} * ${body.quantity}`;
|
|
143673
|
+
}
|
|
143674
|
+
if (body.priceUnit && body.quantity) {
|
|
143675
|
+
priceTotal = body.priceUnit * body.quantity;
|
|
143676
|
+
}
|
|
143677
|
+
const [result] = await db_default.update(crmCpOrderServiceTable).set({
|
|
143678
|
+
...body,
|
|
143679
|
+
priceTotal
|
|
143680
|
+
}).where(eq(crmCpOrderServiceTable.id, id)).returning();
|
|
143619
143681
|
if (!result) {
|
|
143620
143682
|
return status("Not Found", "\u04AE\u0439\u043B\u0447\u0438\u043B\u0433\u044D\u044D \u043E\u043B\u0434\u0441\u043E\u043D\u0433\u04AF\u0439.");
|
|
143621
143683
|
}
|
|
@@ -143724,10 +143786,11 @@ var CrmCpOrderLogic;
|
|
|
143724
143786
|
spPackageId,
|
|
143725
143787
|
quantity,
|
|
143726
143788
|
priceUnit: spPackage.spPackage.priceTotal,
|
|
143727
|
-
name: spPackage.spPackage.name
|
|
143789
|
+
name: spPackage.spPackage.name,
|
|
143790
|
+
priceTotal: spPackage.spPackage.priceTotal * quantity
|
|
143728
143791
|
}).returning();
|
|
143729
143792
|
if (spPackage.services.length > 0) {
|
|
143730
|
-
await logic_default9.createMany(spPackage.services.map((i2) => ({
|
|
143793
|
+
const res = await logic_default9.createMany(spPackage.services.map((i2) => ({
|
|
143731
143794
|
cpOrderId,
|
|
143732
143795
|
companyServiceKindId: i2.kindId,
|
|
143733
143796
|
quantity: i2.quantity,
|
|
@@ -143735,9 +143798,12 @@ var CrmCpOrderLogic;
|
|
|
143735
143798
|
cpOrderSpPackageId: orderPackage.id,
|
|
143736
143799
|
name: i2.name ?? undefined
|
|
143737
143800
|
})), user2, db2);
|
|
143801
|
+
if (res && "code" in res) {
|
|
143802
|
+
throw res;
|
|
143803
|
+
}
|
|
143738
143804
|
}
|
|
143739
143805
|
if (spPackage.products.length > 0) {
|
|
143740
|
-
await logic_default8.createMany(spPackage.products.map((i2) => ({
|
|
143806
|
+
const res = await logic_default8.createMany(spPackage.products.map((i2) => ({
|
|
143741
143807
|
cpOrderId,
|
|
143742
143808
|
companyProductId: i2.companyProductId,
|
|
143743
143809
|
quantity: i2.quantity,
|
|
@@ -143745,6 +143811,9 @@ var CrmCpOrderLogic;
|
|
|
143745
143811
|
cpOrderSpPackageId: orderPackage.id,
|
|
143746
143812
|
name: i2.name
|
|
143747
143813
|
})), user2, db2);
|
|
143814
|
+
if (res && "code" in res) {
|
|
143815
|
+
throw res;
|
|
143816
|
+
}
|
|
143748
143817
|
}
|
|
143749
143818
|
});
|
|
143750
143819
|
};
|
|
@@ -143900,11 +143969,290 @@ var serviceRoutes = new Elysia({
|
|
|
143900
143969
|
}).delete("/:id", async ({ params }) => logic_default9.remove(params.id));
|
|
143901
143970
|
var service_default = serviceRoutes;
|
|
143902
143971
|
|
|
143972
|
+
// src/routes/crm/cpOrder/payment/model.ts
|
|
143973
|
+
var CrmCpOrderPaymentModel;
|
|
143974
|
+
((CrmCpOrderPaymentModel) => {
|
|
143975
|
+
const createSchema = createInsertSchema(crmCpOrderPaymentTable);
|
|
143976
|
+
CrmCpOrderPaymentModel.create = t.Omit(OmitBaseSchema(createSchema), ["invoiceNumber"]);
|
|
143977
|
+
CrmCpOrderPaymentModel.storepay = t.Composite([
|
|
143978
|
+
CrmCpOrderPaymentModel.create,
|
|
143979
|
+
t.Object({
|
|
143980
|
+
phone: t.Number({
|
|
143981
|
+
minimum: 1e7,
|
|
143982
|
+
maximum: 99999999
|
|
143983
|
+
})
|
|
143984
|
+
})
|
|
143985
|
+
]);
|
|
143986
|
+
})(CrmCpOrderPaymentModel ||= {});
|
|
143987
|
+
var model_default8 = CrmCpOrderPaymentModel;
|
|
143988
|
+
|
|
143989
|
+
// src/routes/crm/cpOrder/payment/gateways/index.ts
|
|
143990
|
+
class PaymentGateway {
|
|
143991
|
+
token = undefined;
|
|
143992
|
+
paymentId = undefined;
|
|
143993
|
+
async setToken(payment) {
|
|
143994
|
+
this.token = {
|
|
143995
|
+
access_token: payment.accessToken ?? "",
|
|
143996
|
+
refresh_token: payment.refreshToken ?? "",
|
|
143997
|
+
expires_in: payment.expiresIn ?? 0,
|
|
143998
|
+
refresh_expires_in: payment.refreshExpiresIn ?? 0
|
|
143999
|
+
};
|
|
144000
|
+
this.paymentId = payment.id;
|
|
144001
|
+
}
|
|
144002
|
+
async updatePaymentInfo(token) {
|
|
144003
|
+
this.token = token;
|
|
144004
|
+
if (this.paymentId) {
|
|
144005
|
+
await db_default.update(crmPaymentTable).set({
|
|
144006
|
+
accessToken: token.access_token,
|
|
144007
|
+
refreshToken: token.refresh_token,
|
|
144008
|
+
expiresIn: token.expires_in,
|
|
144009
|
+
refreshExpiresIn: token.refresh_expires_in
|
|
144010
|
+
}).where(eq(crmPaymentTable.id, this.paymentId));
|
|
144011
|
+
}
|
|
144012
|
+
}
|
|
144013
|
+
async getPaymentById(id) {
|
|
144014
|
+
const [payment] = await db_default.select().from(crmCpOrderPaymentTable).where(eq(crmCpOrderPaymentTable.id, id)).limit(1);
|
|
144015
|
+
if (!payment) {
|
|
144016
|
+
throw new Error("\u041D\u044D\u0445\u044D\u043C\u0436\u043B\u044D\u043B \u043E\u043B\u0434\u0441\u043E\u043D\u0433\u04AF\u0439.");
|
|
144017
|
+
}
|
|
144018
|
+
return payment;
|
|
144019
|
+
}
|
|
144020
|
+
async savePayment(input) {
|
|
144021
|
+
const [payment] = await db_default.insert(crmCpOrderPaymentTable).values({
|
|
144022
|
+
...input
|
|
144023
|
+
}).returning();
|
|
144024
|
+
return payment;
|
|
144025
|
+
}
|
|
144026
|
+
async setPaid(id) {
|
|
144027
|
+
const [payment] = await db_default.update(crmCpOrderPaymentTable).set({
|
|
144028
|
+
state: "PAID"
|
|
144029
|
+
}).where(eq(crmCpOrderPaymentTable.id, id)).returning();
|
|
144030
|
+
if (!payment) {
|
|
144031
|
+
throw new Error("\u041D\u044D\u0445\u044D\u043C\u0436\u043B\u044D\u043B \u043E\u043B\u0434\u0441\u043E\u043D\u0433\u04AF\u0439.");
|
|
144032
|
+
}
|
|
144033
|
+
return payment;
|
|
144034
|
+
}
|
|
144035
|
+
async updateInvoiceNumber(id, invoiceNumber) {
|
|
144036
|
+
await db_default.update(crmCpOrderPaymentTable).set({
|
|
144037
|
+
invoiceNumber
|
|
144038
|
+
}).where(eq(crmCpOrderPaymentTable.id, id));
|
|
144039
|
+
}
|
|
144040
|
+
}
|
|
144041
|
+
|
|
144042
|
+
// node_modules/mn-payment/dist/index.mjs
|
|
144043
|
+
var __async = (__this, __arguments, generator3) => {
|
|
144044
|
+
return new Promise((resolve, reject) => {
|
|
144045
|
+
var fulfilled = (value) => {
|
|
144046
|
+
try {
|
|
144047
|
+
step(generator3.next(value));
|
|
144048
|
+
} catch (e) {
|
|
144049
|
+
reject(e);
|
|
144050
|
+
}
|
|
144051
|
+
};
|
|
144052
|
+
var rejected = (value) => {
|
|
144053
|
+
try {
|
|
144054
|
+
step(generator3.throw(value));
|
|
144055
|
+
} catch (e) {
|
|
144056
|
+
reject(e);
|
|
144057
|
+
}
|
|
144058
|
+
};
|
|
144059
|
+
var step = (x2) => x2.done ? resolve(x2.value) : Promise.resolve(x2.value).then(fulfilled, rejected);
|
|
144060
|
+
step((generator3 = generator3.apply(__this, __arguments)).next());
|
|
144061
|
+
});
|
|
144062
|
+
};
|
|
144063
|
+
var StorePay = class {
|
|
144064
|
+
constructor(username2, password, appUsername, appPassword) {
|
|
144065
|
+
this.baseUrl = "https://service.storepay.mn:8778";
|
|
144066
|
+
this.username = username2;
|
|
144067
|
+
this.password = password;
|
|
144068
|
+
this.appUsername = appUsername;
|
|
144069
|
+
this.appPassword = appPassword;
|
|
144070
|
+
}
|
|
144071
|
+
login() {
|
|
144072
|
+
return __async(this, null, function* () {
|
|
144073
|
+
const req = yield fetch(`${this.baseUrl}/merchant-uaa/oauth/token`, {
|
|
144074
|
+
method: "POST",
|
|
144075
|
+
body: JSON.stringify({
|
|
144076
|
+
grant_type: "password",
|
|
144077
|
+
username: this.username,
|
|
144078
|
+
password: this.password
|
|
144079
|
+
}),
|
|
144080
|
+
headers: {
|
|
144081
|
+
"Content-Type": "application/x-www-form-urlencoded",
|
|
144082
|
+
Authorization: `Basic ${btoa(`${this.appUsername}:${this.appPassword}`)}`
|
|
144083
|
+
}
|
|
144084
|
+
});
|
|
144085
|
+
const res = yield req.json();
|
|
144086
|
+
if (res.error) {
|
|
144087
|
+
throw new Error(res.error_description);
|
|
144088
|
+
}
|
|
144089
|
+
return res;
|
|
144090
|
+
});
|
|
144091
|
+
}
|
|
144092
|
+
checkToken(token) {
|
|
144093
|
+
return __async(this, null, function* () {
|
|
144094
|
+
if (!token) {
|
|
144095
|
+
token = yield this.login();
|
|
144096
|
+
}
|
|
144097
|
+
if (new Date(token.expires_in * 1000) <= /* @__PURE__ */ new Date) {
|
|
144098
|
+
token = yield this.login();
|
|
144099
|
+
}
|
|
144100
|
+
return token;
|
|
144101
|
+
});
|
|
144102
|
+
}
|
|
144103
|
+
createInvoice(input, token) {
|
|
144104
|
+
return __async(this, null, function* () {
|
|
144105
|
+
token = yield this.checkToken(token);
|
|
144106
|
+
const req = yield fetch(`${this.baseUrl}/lend-merchant/merchant/loan`, {
|
|
144107
|
+
method: "POST",
|
|
144108
|
+
body: JSON.stringify(input),
|
|
144109
|
+
headers: {
|
|
144110
|
+
Authorization: `Bearer ${token.access_token}`
|
|
144111
|
+
}
|
|
144112
|
+
});
|
|
144113
|
+
const res = yield req.json();
|
|
144114
|
+
if (res.data.status !== "Success") {
|
|
144115
|
+
throw Error(res.data.msgList[0].text);
|
|
144116
|
+
}
|
|
144117
|
+
return {
|
|
144118
|
+
data: res,
|
|
144119
|
+
token
|
|
144120
|
+
};
|
|
144121
|
+
});
|
|
144122
|
+
}
|
|
144123
|
+
checkInvoice(invoiceId, token) {
|
|
144124
|
+
return __async(this, null, function* () {
|
|
144125
|
+
token = yield this.checkToken(token);
|
|
144126
|
+
const req = yield fetch(`${this.baseUrl}/lend-merchant/merchant/loan/check/${invoiceId}`, {
|
|
144127
|
+
method: "GET",
|
|
144128
|
+
headers: {
|
|
144129
|
+
Authorization: `Bearer ${token.access_token}`
|
|
144130
|
+
}
|
|
144131
|
+
});
|
|
144132
|
+
const res = yield req.json();
|
|
144133
|
+
return {
|
|
144134
|
+
data: res,
|
|
144135
|
+
token
|
|
144136
|
+
};
|
|
144137
|
+
});
|
|
144138
|
+
}
|
|
144139
|
+
};
|
|
144140
|
+
|
|
144141
|
+
// src/routes/crm/cpOrder/payment/gateways/storepay.ts
|
|
144142
|
+
class StorePayGateway extends PaymentGateway {
|
|
144143
|
+
storepay;
|
|
144144
|
+
storeId = 0;
|
|
144145
|
+
constructor(input) {
|
|
144146
|
+
super();
|
|
144147
|
+
this.storepay = new StorePay(...input);
|
|
144148
|
+
}
|
|
144149
|
+
async createInvoice(input) {
|
|
144150
|
+
const payment = await this.savePayment({
|
|
144151
|
+
...input,
|
|
144152
|
+
state: "PENDING"
|
|
144153
|
+
});
|
|
144154
|
+
const invoice = await this.storepay.createInvoice({
|
|
144155
|
+
storeId: this.storeId,
|
|
144156
|
+
mobileNumber: input.phone,
|
|
144157
|
+
description: "",
|
|
144158
|
+
amount: input.amount,
|
|
144159
|
+
callbackUrl: `https://dev.api.autosync.mn/crm/cp-order/payment/storepay/${payment.id}`
|
|
144160
|
+
}, this.token);
|
|
144161
|
+
if (JSON.stringify(invoice.token) !== JSON.stringify(this.token)) {
|
|
144162
|
+
await this.updatePaymentInfo(invoice.token);
|
|
144163
|
+
}
|
|
144164
|
+
return payment;
|
|
144165
|
+
}
|
|
144166
|
+
async checkInvoice(id) {
|
|
144167
|
+
const payment = await this.getPaymentById(id);
|
|
144168
|
+
const check2 = await this.storepay.checkInvoice(payment.invoiceNumber ?? "", this.token);
|
|
144169
|
+
if (JSON.stringify(check2.token) !== JSON.stringify(this.token)) {
|
|
144170
|
+
await this.updatePaymentInfo(check2.token);
|
|
144171
|
+
}
|
|
144172
|
+
if (check2.data.status !== "Success") {
|
|
144173
|
+
throw Error(check2.data.msgList[0]);
|
|
144174
|
+
}
|
|
144175
|
+
if (check2.data.value === false) {
|
|
144176
|
+
throw Error("\u0422\u04E9\u043B\u0431\u04E9\u0440 \u0442\u04E9\u043B\u04E9\u0433\u0434\u04E9\u04E9\u0433\u04AF\u0439 \u0431\u0430\u0439\u043D\u0430.");
|
|
144177
|
+
}
|
|
144178
|
+
await this.setPaid(id);
|
|
144179
|
+
}
|
|
144180
|
+
}
|
|
144181
|
+
|
|
144182
|
+
// src/routes/crm/cpOrder/payment/logic.ts
|
|
144183
|
+
var CrmCpOrderPaymentLogic;
|
|
144184
|
+
((CrmCpOrderPaymentLogic) => {
|
|
144185
|
+
CrmCpOrderPaymentLogic.createStorepay = async (body, user2) => {
|
|
144186
|
+
const paymentInfo = await getPaymentInfo("StorePay", user2);
|
|
144187
|
+
if ("code" in paymentInfo) {
|
|
144188
|
+
return paymentInfo;
|
|
144189
|
+
}
|
|
144190
|
+
const auth3 = paymentInfo.sub;
|
|
144191
|
+
const gateway = new StorePayGateway([
|
|
144192
|
+
auth3.username,
|
|
144193
|
+
auth3.password,
|
|
144194
|
+
auth3.appUserName,
|
|
144195
|
+
auth3.appPassword
|
|
144196
|
+
]);
|
|
144197
|
+
gateway.setToken(paymentInfo);
|
|
144198
|
+
gateway.storeId = auth3.storeId;
|
|
144199
|
+
const result = await gateway.createInvoice(body);
|
|
144200
|
+
return result;
|
|
144201
|
+
};
|
|
144202
|
+
CrmCpOrderPaymentLogic.checkStorePay = async (id) => {
|
|
144203
|
+
const paymentInfo = await getPaymentInfoByPaymentId(id, "StorePay");
|
|
144204
|
+
if ("code" in paymentInfo) {
|
|
144205
|
+
return paymentInfo;
|
|
144206
|
+
}
|
|
144207
|
+
const auth3 = paymentInfo.sub;
|
|
144208
|
+
const gateway = new StorePayGateway([
|
|
144209
|
+
auth3.username,
|
|
144210
|
+
auth3.password,
|
|
144211
|
+
auth3.appUserName,
|
|
144212
|
+
auth3.appPassword
|
|
144213
|
+
]);
|
|
144214
|
+
gateway.setToken(paymentInfo);
|
|
144215
|
+
try {
|
|
144216
|
+
await gateway.checkInvoice(id);
|
|
144217
|
+
} catch (err2) {
|
|
144218
|
+
if (err2 instanceof Error) {
|
|
144219
|
+
return status("Bad Request", err2.message);
|
|
144220
|
+
}
|
|
144221
|
+
return status("Internal Server Error", "\u0421\u0435\u0440\u0432\u0435\u0440 \u0430\u043B\u0434\u0430\u0430 \u0433\u0430\u0440\u043B\u0430\u0430");
|
|
144222
|
+
}
|
|
144223
|
+
};
|
|
144224
|
+
const getPaymentInfo = async (type, user2) => {
|
|
144225
|
+
const [payment] = await db_default.select().from(crmPaymentTable).where(and(eq(crmPaymentTable.companyId, user2.companyId), eq(crmPaymentTable.type, type), or(isNull2(crmPaymentTable.branchId), eq(crmPaymentTable.branchId, user2.branchId)))).limit(1);
|
|
144226
|
+
if (!payment) {
|
|
144227
|
+
return status("Not Found", "\u0422\u04E9\u043B\u0431\u04E9\u0440\u0438\u0439\u043D \u0442\u043E\u0445\u0438\u0440\u0433\u043E\u043E \u043E\u043B\u0434\u0441\u043E\u043D\u0433\u04AF\u0439.");
|
|
144228
|
+
}
|
|
144229
|
+
return payment;
|
|
144230
|
+
};
|
|
144231
|
+
const getPaymentInfoByPaymentId = async (id, type) => {
|
|
144232
|
+
const [payment] = await db_default.select().from(crmCpOrderPaymentTable).where(eq(crmCpOrderPaymentTable.id, id)).innerJoin(crmCpOrderTable, eq(crmCpOrderTable.id, crmCpOrderPaymentTable.cpOrderId)).limit(1);
|
|
144233
|
+
if (!payment) {
|
|
144234
|
+
return status("Not Found", "\u0422\u04E9\u043B\u0431\u04E9\u0440\u0438\u0439\u043D \u043C\u044D\u0434\u044D\u044D\u043B\u044D\u043B \u043E\u043B\u0434\u0441\u043E\u043D\u0433\u04AF\u0439.");
|
|
144235
|
+
}
|
|
144236
|
+
return getPaymentInfo(type, {
|
|
144237
|
+
companyId: payment.cp_order.companyId,
|
|
144238
|
+
branchId: payment.cp_order.companyBranchId
|
|
144239
|
+
});
|
|
144240
|
+
};
|
|
144241
|
+
})(CrmCpOrderPaymentLogic ||= {});
|
|
144242
|
+
var logic_default11 = CrmCpOrderPaymentLogic;
|
|
144243
|
+
|
|
144244
|
+
// src/routes/crm/cpOrder/payment/index.ts
|
|
144245
|
+
var paymentRoutes = new Elysia({
|
|
144246
|
+
prefix: "/payment",
|
|
144247
|
+
tags: ["CrmCpOrderPayment"]
|
|
144248
|
+
}).use(better_auth_default).model(prefix_model_default("CrmCpOrderPaymentModel", model_default8)).get("/storepay/:id", async ({ params: { id } }) => logic_default11.checkStorePay(id)).guard({ auth: true }).post("/storepay", async ({ body, user: user2 }) => logic_default11.createStorepay(body, user2), { body: "CrmCpOrderPaymentModel.storepay" });
|
|
144249
|
+
var payment_default = paymentRoutes;
|
|
144250
|
+
|
|
143903
144251
|
// src/routes/crm/cpOrder/index.ts
|
|
143904
144252
|
var cpOrderRoutes = new Elysia({
|
|
143905
144253
|
prefix: "/cp-order",
|
|
143906
144254
|
tags: ["CrmCpOrder"]
|
|
143907
|
-
}).use(better_auth_default).use(service_default).use(product_default).guard({ auth: true }).model(prefix_model_default("CrmCpOrderModel", model_default5)).get("/", async ({ query, user: user2 }) => logic_default10.select(query, user2), {
|
|
144255
|
+
}).use(better_auth_default).use(service_default).use(product_default).use(payment_default).guard({ auth: true }).model(prefix_model_default("CrmCpOrderModel", model_default5)).get("/", async ({ query, user: user2 }) => logic_default10.select(query, user2), {
|
|
143908
144256
|
query: "CrmCpOrderModel.select",
|
|
143909
144257
|
transform: ({ query }) => {
|
|
143910
144258
|
console.log(query);
|
|
@@ -143955,13 +144303,13 @@ var CrmCustomerModel;
|
|
|
143955
144303
|
PaginationSchema
|
|
143956
144304
|
]);
|
|
143957
144305
|
})(CrmCustomerModel ||= {});
|
|
143958
|
-
var
|
|
144306
|
+
var model_default9 = CrmCustomerModel;
|
|
143959
144307
|
|
|
143960
144308
|
// src/routes/crm/customer/index.ts
|
|
143961
144309
|
var customerRoutes = new Elysia({
|
|
143962
144310
|
prefix: "/customer",
|
|
143963
144311
|
tags: ["CrmCustomer"]
|
|
143964
|
-
}).model(prefix_model_default("CrmCustomerModel",
|
|
144312
|
+
}).model(prefix_model_default("CrmCustomerModel", model_default9)).use(better_auth_default).guard({ auth: true }).get("/", async ({ query, user: user2 }) => logic_default3.select(query, user2), {
|
|
143965
144313
|
query: "CrmCustomerModel.select"
|
|
143966
144314
|
});
|
|
143967
144315
|
var customer_default = customerRoutes;
|
|
@@ -143979,7 +144327,7 @@ var CrmSpPackageModel;
|
|
|
143979
144327
|
t.Partial(t.Pick(selectSchema, ["name", "priceTotal", "companyBranchId"]))
|
|
143980
144328
|
]);
|
|
143981
144329
|
})(CrmSpPackageModel ||= {});
|
|
143982
|
-
var
|
|
144330
|
+
var model_default10 = CrmSpPackageModel;
|
|
143983
144331
|
|
|
143984
144332
|
// src/routes/crm/spPackage/product/logic.ts
|
|
143985
144333
|
var CrmSpPackageProductLogic;
|
|
@@ -144019,7 +144367,7 @@ var CrmSpPackageProductLogic;
|
|
|
144019
144367
|
}).where(eq(crmSpPackageProductTable.id, id));
|
|
144020
144368
|
};
|
|
144021
144369
|
})(CrmSpPackageProductLogic ||= {});
|
|
144022
|
-
var
|
|
144370
|
+
var logic_default12 = CrmSpPackageProductLogic;
|
|
144023
144371
|
|
|
144024
144372
|
// src/routes/crm/spPackage/product/model.ts
|
|
144025
144373
|
var CrmSpPackageProductModel;
|
|
@@ -144031,7 +144379,7 @@ var CrmSpPackageProductModel;
|
|
|
144031
144379
|
CrmSpPackageProductModel.update = OmitBaseSchema(updateSchema);
|
|
144032
144380
|
CrmSpPackageProductModel.select = t.Pick(selectSchema, ["spPackageId"]);
|
|
144033
144381
|
})(CrmSpPackageProductModel ||= {});
|
|
144034
|
-
var
|
|
144382
|
+
var model_default11 = CrmSpPackageProductModel;
|
|
144035
144383
|
|
|
144036
144384
|
// src/routes/crm/spPackage/product/index.ts
|
|
144037
144385
|
var productRoutes2 = new Elysia({
|
|
@@ -144039,17 +144387,17 @@ var productRoutes2 = new Elysia({
|
|
|
144039
144387
|
tags: ["CrmSpPackageProduct"]
|
|
144040
144388
|
}).use(better_auth_default).guard({
|
|
144041
144389
|
auth: true
|
|
144042
|
-
}).model(prefix_model_default("CrmSpPackageProductModel",
|
|
144390
|
+
}).model(prefix_model_default("CrmSpPackageProductModel", model_default11)).get("/", async ({ query }) => logic_default12.select(query), {
|
|
144043
144391
|
query: "CrmSpPackageProductModel.select"
|
|
144044
|
-
}).post("/", async ({ body }) =>
|
|
144392
|
+
}).post("/", async ({ body }) => logic_default12.create(body), {
|
|
144045
144393
|
body: "CrmSpPackageProductModel.create"
|
|
144046
|
-
}).post("/many", async ({ body }) =>
|
|
144394
|
+
}).post("/many", async ({ body }) => logic_default12.createMany(body), {
|
|
144047
144395
|
body: "CrmSpPackageProductModel.create[]"
|
|
144048
144396
|
}).guard({
|
|
144049
144397
|
params: IdSchema
|
|
144050
|
-
}).put("/:id", async ({ params, body }) =>
|
|
144398
|
+
}).put("/:id", async ({ params, body }) => logic_default12.update(params.id, body), {
|
|
144051
144399
|
body: "CrmSpPackageProductModel.update"
|
|
144052
|
-
}).delete("/:id", async ({ params }) =>
|
|
144400
|
+
}).delete("/:id", async ({ params }) => logic_default12.remove(params.id));
|
|
144053
144401
|
var product_default2 = productRoutes2;
|
|
144054
144402
|
|
|
144055
144403
|
// src/routes/crm/spPackage/service/logic.ts
|
|
@@ -144092,7 +144440,7 @@ var CrmSpPackageServiceLogic;
|
|
|
144092
144440
|
}).where(and(eq(crmSpPackageServiceTable.id, id)));
|
|
144093
144441
|
};
|
|
144094
144442
|
})(CrmSpPackageServiceLogic ||= {});
|
|
144095
|
-
var
|
|
144443
|
+
var logic_default13 = CrmSpPackageServiceLogic;
|
|
144096
144444
|
|
|
144097
144445
|
// src/routes/crm/spPackage/service/model.ts
|
|
144098
144446
|
var CrmSpPackageServiceModel;
|
|
@@ -144104,7 +144452,7 @@ var CrmSpPackageServiceModel;
|
|
|
144104
144452
|
CrmSpPackageServiceModel.update = OmitBaseSchema(updateSchema);
|
|
144105
144453
|
CrmSpPackageServiceModel.select = t.Pick(selectSchema, ["spPackageId"]);
|
|
144106
144454
|
})(CrmSpPackageServiceModel ||= {});
|
|
144107
|
-
var
|
|
144455
|
+
var model_default12 = CrmSpPackageServiceModel;
|
|
144108
144456
|
|
|
144109
144457
|
// src/routes/crm/spPackage/service/index.ts
|
|
144110
144458
|
var serviceRoutes2 = new Elysia({
|
|
@@ -144112,17 +144460,17 @@ var serviceRoutes2 = new Elysia({
|
|
|
144112
144460
|
tags: ["CrmSpPackageService"]
|
|
144113
144461
|
}).use(better_auth_default).guard({
|
|
144114
144462
|
auth: true
|
|
144115
|
-
}).model(prefix_model_default("CrmSpPackageServiceModel",
|
|
144463
|
+
}).model(prefix_model_default("CrmSpPackageServiceModel", model_default12)).get("/", async ({ query }) => logic_default13.select(query), {
|
|
144116
144464
|
query: "CrmSpPackageServiceModel.select"
|
|
144117
|
-
}).post("/", async ({ body }) =>
|
|
144465
|
+
}).post("/", async ({ body }) => logic_default13.create(body), {
|
|
144118
144466
|
body: "CrmSpPackageServiceModel.create"
|
|
144119
|
-
}).post("/many", async ({ body }) =>
|
|
144467
|
+
}).post("/many", async ({ body }) => logic_default13.createMany(body), {
|
|
144120
144468
|
body: "CrmSpPackageServiceModel.create[]"
|
|
144121
144469
|
}).guard({
|
|
144122
144470
|
params: IdSchema
|
|
144123
|
-
}).put("/:id", async ({ params, body }) =>
|
|
144471
|
+
}).put("/:id", async ({ params, body }) => logic_default13.update(params.id, body), {
|
|
144124
144472
|
body: "CrmSpPackageServiceModel.update"
|
|
144125
|
-
}).delete("/:id", async ({ params }) =>
|
|
144473
|
+
}).delete("/:id", async ({ params }) => logic_default13.remove(params.id));
|
|
144126
144474
|
var service_default2 = serviceRoutes2;
|
|
144127
144475
|
|
|
144128
144476
|
// src/routes/crm/spPackage/index.ts
|
|
@@ -144131,7 +144479,7 @@ var spPackageRoutes = new Elysia({
|
|
|
144131
144479
|
tags: ["CrmSpPackage"]
|
|
144132
144480
|
}).use(better_auth_default).use(service_default2).use(product_default2).guard({
|
|
144133
144481
|
auth: true
|
|
144134
|
-
}).model(prefix_model_default("CrmSpPackageModel",
|
|
144482
|
+
}).model(prefix_model_default("CrmSpPackageModel", model_default10)).get("/", async ({ query, user: user2 }) => logic_default4.select(query, user2), {
|
|
144135
144483
|
query: "CrmSpPackageModel.select"
|
|
144136
144484
|
}).post("/", async ({ body, user: user2 }) => logic_default4.create(body, user2), {
|
|
144137
144485
|
body: "CrmSpPackageModel.create"
|
|
@@ -144378,7 +144726,7 @@ var PermissionLogic;
|
|
|
144378
144726
|
};
|
|
144379
144727
|
};
|
|
144380
144728
|
PermissionLogic.selectByUserId = async (userId) => {
|
|
144381
|
-
const userIds = Array.isArray(userId) ? userId : [userId];
|
|
144729
|
+
const userIds = (Array.isArray(userId) ? userId : [userId]).map(String);
|
|
144382
144730
|
if (userIds.length === 0) {
|
|
144383
144731
|
return [];
|
|
144384
144732
|
}
|
|
@@ -144386,7 +144734,7 @@ var PermissionLogic;
|
|
|
144386
144734
|
return permissions;
|
|
144387
144735
|
};
|
|
144388
144736
|
})(PermissionLogic ||= {});
|
|
144389
|
-
var
|
|
144737
|
+
var logic_default14 = PermissionLogic;
|
|
144390
144738
|
|
|
144391
144739
|
// src/routes/permission/model.ts
|
|
144392
144740
|
var PermissionModel;
|
|
@@ -144401,13 +144749,13 @@ var PermissionModel;
|
|
|
144401
144749
|
permissions: t.Array(t.String())
|
|
144402
144750
|
});
|
|
144403
144751
|
})(PermissionModel ||= {});
|
|
144404
|
-
var
|
|
144752
|
+
var model_default13 = PermissionModel;
|
|
144405
144753
|
|
|
144406
144754
|
// src/routes/permission/index.ts
|
|
144407
144755
|
var groupService = new CrudHelper(permissionGroupTable, "\u042D\u0440\u0445\u0438\u0439\u043D \u0431\u0430\u0433\u0446 \u043E\u043B\u0434\u0441\u043E\u043D\u0433\u04AF\u0439.");
|
|
144408
144756
|
var permissionRoutes = new Elysia({
|
|
144409
144757
|
prefix: "/permission"
|
|
144410
|
-
}).decorate("publicPermissions", permissionList.filter((permission) => permission?.requiresAdmin !== undefined ? permission.requiresAdmin === false : true)).model(prefix_model_default("PermissionModel",
|
|
144758
|
+
}).decorate("publicPermissions", permissionList.filter((permission) => permission?.requiresAdmin !== undefined ? permission.requiresAdmin === false : true)).model(prefix_model_default("PermissionModel", model_default13)).use(better_auth_default).guard({
|
|
144411
144759
|
auth: true,
|
|
144412
144760
|
tags: ["PermissionGroup"]
|
|
144413
144761
|
}).get("/", ({ permissions, publicPermissions }) => {
|
|
@@ -144417,7 +144765,7 @@ var permissionRoutes = new Elysia({
|
|
|
144417
144765
|
return permissionList;
|
|
144418
144766
|
}, {
|
|
144419
144767
|
permission: "PERMISSION_ADD"
|
|
144420
|
-
}).post("/", ({ body }) =>
|
|
144768
|
+
}).post("/", ({ body }) => logic_default14.addPermission(body), {
|
|
144421
144769
|
body: "PermissionModel.addPermission",
|
|
144422
144770
|
permission: "PERMISSION_ADD",
|
|
144423
144771
|
beforeHandle({ status: status2, body, permissions, publicPermissions }) {
|
|
@@ -144429,7 +144777,7 @@ var permissionRoutes = new Elysia({
|
|
|
144429
144777
|
}
|
|
144430
144778
|
}).group("/group", (app) => app.guard({
|
|
144431
144779
|
permission: "PERMISSION_GROUP_ALL"
|
|
144432
|
-
}).get("/", async ({ query }) => await
|
|
144780
|
+
}).get("/", async ({ query }) => await logic_default14.selectGroups(query), {
|
|
144433
144781
|
query: "PermissionModel.select"
|
|
144434
144782
|
}).post("/", async ({ body }) => await groupService.create(body), {
|
|
144435
144783
|
body: "PermissionModel.create"
|
|
@@ -144477,7 +144825,7 @@ var TechdocSupplierLogic;
|
|
|
144477
144825
|
}).where(eq(techdocSupplierTable.id, id));
|
|
144478
144826
|
};
|
|
144479
144827
|
})(TechdocSupplierLogic ||= {});
|
|
144480
|
-
var
|
|
144828
|
+
var logic_default15 = TechdocSupplierLogic;
|
|
144481
144829
|
|
|
144482
144830
|
// src/routes/techdoc/supplier/model.ts
|
|
144483
144831
|
var TechdocSupplierModel;
|
|
@@ -144495,24 +144843,24 @@ var TechdocSupplierModel;
|
|
|
144495
144843
|
const updateSchema = createUpdateSchema(techdocSupplierTable);
|
|
144496
144844
|
TechdocSupplierModel.update = OmitBaseSchema(updateSchema);
|
|
144497
144845
|
})(TechdocSupplierModel ||= {});
|
|
144498
|
-
var
|
|
144846
|
+
var model_default14 = TechdocSupplierModel;
|
|
144499
144847
|
|
|
144500
144848
|
// src/routes/techdoc/supplier/index.ts
|
|
144501
144849
|
var supplierRoutes = new Elysia({
|
|
144502
144850
|
prefix: "/supplier",
|
|
144503
144851
|
tags: ["TechdocSupplier"]
|
|
144504
|
-
}).use(better_auth_default).model(prefix_model_default("TechdocSupplierModel",
|
|
144852
|
+
}).use(better_auth_default).model(prefix_model_default("TechdocSupplierModel", model_default14)).get("/", async ({ query, user: user2 }) => logic_default15.select(query, user2), {
|
|
144505
144853
|
query: "TechdocSupplierModel.select",
|
|
144506
144854
|
auth: true
|
|
144507
144855
|
}).guard({
|
|
144508
144856
|
userKind: "ADMIN"
|
|
144509
|
-
}).post("/", async ({ body }) =>
|
|
144857
|
+
}).post("/", async ({ body }) => logic_default15.create(body), {
|
|
144510
144858
|
body: "TechdocSupplierModel.create"
|
|
144511
144859
|
}).guard({
|
|
144512
144860
|
params: IdSchema
|
|
144513
|
-
}).put("/:id", ({ body, params: { id } }) =>
|
|
144861
|
+
}).put("/:id", ({ body, params: { id } }) => logic_default15.update(id, body), {
|
|
144514
144862
|
body: "TechdocSupplierModel.update"
|
|
144515
|
-
}).delete("/:id", ({ params: { id } }) =>
|
|
144863
|
+
}).delete("/:id", ({ params: { id } }) => logic_default15.remove(id));
|
|
144516
144864
|
var supplier_default = supplierRoutes;
|
|
144517
144865
|
|
|
144518
144866
|
// src/routes/techdoc/index.ts
|
|
@@ -144648,7 +144996,7 @@ var UserLogic;
|
|
|
144648
144996
|
totalCount: totalCountSql
|
|
144649
144997
|
}).from(user).where(filter).$dynamic();
|
|
144650
144998
|
const users = await pagination_helper_default(baseQuery, query.pagination);
|
|
144651
|
-
const userPermissions2 = await
|
|
144999
|
+
const userPermissions2 = await logic_default14.selectByUserId(users.map((u) => u.id));
|
|
144652
145000
|
const content = {
|
|
144653
145001
|
totalCount: users[0]?.totalCount ?? 0,
|
|
144654
145002
|
totalPage: users.length === 0 ? 0 : Math.ceil(users[0].totalCount / query.pagination.size)
|
|
@@ -144693,7 +145041,7 @@ var UserLogic;
|
|
|
144693
145041
|
}
|
|
144694
145042
|
});
|
|
144695
145043
|
try {
|
|
144696
|
-
await
|
|
145044
|
+
await logic_default14.addPermission({
|
|
144697
145045
|
permissions: body.permissions,
|
|
144698
145046
|
userId: result.user.id
|
|
144699
145047
|
});
|
|
@@ -144708,7 +145056,7 @@ var UserLogic;
|
|
|
144708
145056
|
if (!updatedUser) {
|
|
144709
145057
|
return status("Not Found", "\u0425\u044D\u0440\u044D\u0433\u043B\u044D\u0433\u0447 \u043E\u043B\u0434\u0441\u043E\u043D\u0433\u04AF\u0439.");
|
|
144710
145058
|
}
|
|
144711
|
-
await
|
|
145059
|
+
await logic_default14.addPermission({
|
|
144712
145060
|
permissions: body.permissions,
|
|
144713
145061
|
userId: updatedUser.id
|
|
144714
145062
|
}, db2);
|
|
@@ -144716,7 +145064,7 @@ var UserLogic;
|
|
|
144716
145064
|
});
|
|
144717
145065
|
};
|
|
144718
145066
|
})(UserLogic ||= {});
|
|
144719
|
-
var
|
|
145067
|
+
var logic_default16 = UserLogic;
|
|
144720
145068
|
|
|
144721
145069
|
// src/routes/user/schema.ts
|
|
144722
145070
|
var select = createSelectSchema(user);
|
|
@@ -144748,17 +145096,17 @@ var userRoutes = new Elysia({
|
|
|
144748
145096
|
}).use(better_auth_default).guard({
|
|
144749
145097
|
auth: true,
|
|
144750
145098
|
tags: ["User"]
|
|
144751
|
-
}).get("/", async ({ query, user: user2, permissions }) =>
|
|
145099
|
+
}).get("/", async ({ query, user: user2, permissions }) => logic_default16.select(query, user2, permissions), {
|
|
144752
145100
|
query: selectUserSchema,
|
|
144753
145101
|
permission: [
|
|
144754
145102
|
"USER_SELECT_BACKOFFICE",
|
|
144755
145103
|
"USER_SELECT_ADMIN",
|
|
144756
145104
|
"USER_SELECT_OWN"
|
|
144757
145105
|
]
|
|
144758
|
-
}).get("/me", async ({ user: user2 }) => user2).post("/", async ({ body, user: user2, permissions }) =>
|
|
145106
|
+
}).get("/me", async ({ user: user2 }) => user2).post("/", async ({ body, user: user2, permissions }) => logic_default16.registerUser(body, user2, permissions), {
|
|
144759
145107
|
body: createUserSchema,
|
|
144760
145108
|
permission: ["USER_CREATE_ADMIN", "USER_CREATE_OWN"]
|
|
144761
|
-
}).put("/:id", async ({ body, user: user2, permissions, params: { id } }) =>
|
|
145109
|
+
}).put("/:id", async ({ body, user: user2, permissions, params: { id } }) => logic_default16.update(id, body, user2, permissions), {
|
|
144762
145110
|
body: updateUserSchema,
|
|
144763
145111
|
permission: ["USER_CREATE_ADMIN", "USER_CREATE_OWN"]
|
|
144764
145112
|
});
|
|
@@ -144865,7 +145213,7 @@ var WarehouseItemLogic;
|
|
|
144865
145213
|
await tdb.insert(warehouseItemTransactionTable).values(body);
|
|
144866
145214
|
};
|
|
144867
145215
|
})(WarehouseItemLogic ||= {});
|
|
144868
|
-
var
|
|
145216
|
+
var logic_default17 = WarehouseItemLogic;
|
|
144869
145217
|
|
|
144870
145218
|
// src/routes/warehouse/product/model.ts
|
|
144871
145219
|
var WarehouseProductModel;
|
|
@@ -144888,7 +145236,7 @@ var WarehouseProductModel;
|
|
|
144888
145236
|
PaginationSchema
|
|
144889
145237
|
]);
|
|
144890
145238
|
})(WarehouseProductModel ||= {});
|
|
144891
|
-
var
|
|
145239
|
+
var model_default15 = WarehouseProductModel;
|
|
144892
145240
|
|
|
144893
145241
|
// src/routes/warehouse/item/model.ts
|
|
144894
145242
|
var WarehouseItemModel;
|
|
@@ -144903,7 +145251,7 @@ var WarehouseItemModel;
|
|
|
144903
145251
|
WarehouseItemModel.select = t.Composite([
|
|
144904
145252
|
PaginationSchema,
|
|
144905
145253
|
t.Partial(t.Object({
|
|
144906
|
-
product:
|
|
145254
|
+
product: model_default15.select,
|
|
144907
145255
|
shelfNumber: t.String(),
|
|
144908
145256
|
safetyStock: t.Number()
|
|
144909
145257
|
}))
|
|
@@ -144918,29 +145266,29 @@ var WarehouseItemModel;
|
|
|
144918
145266
|
"userId"
|
|
144919
145267
|
])),
|
|
144920
145268
|
t.Object({
|
|
144921
|
-
product: t.Omit(
|
|
145269
|
+
product: t.Omit(model_default15.select, ["pagination"])
|
|
144922
145270
|
})
|
|
144923
145271
|
]);
|
|
144924
145272
|
})(WarehouseItemModel ||= {});
|
|
144925
|
-
var
|
|
145273
|
+
var model_default16 = WarehouseItemModel;
|
|
144926
145274
|
|
|
144927
145275
|
// src/routes/warehouse/item/index.ts
|
|
144928
145276
|
var itemRoutes = new Elysia({
|
|
144929
145277
|
prefix: "/item",
|
|
144930
145278
|
tags: ["WarehouseItem"]
|
|
144931
|
-
}).use(better_auth_default).model(prefix_model_default("WarehouseItemModel",
|
|
145279
|
+
}).use(better_auth_default).model(prefix_model_default("WarehouseItemModel", model_default16)).guard({
|
|
144932
145280
|
userKind: "CUSTOMER"
|
|
144933
|
-
}).get("/", async ({ query, user: user2 }) =>
|
|
145281
|
+
}).get("/", async ({ query, user: user2 }) => logic_default17.select(query, user2), {
|
|
144934
145282
|
query: "WarehouseItemModel.select"
|
|
144935
|
-
}).post("/", async ({ body }) =>
|
|
145283
|
+
}).post("/", async ({ body }) => logic_default17.create(body), {
|
|
144936
145284
|
body: "WarehouseItemModel.create"
|
|
144937
|
-
}).post("/many", async ({ body }) =>
|
|
145285
|
+
}).post("/many", async ({ body }) => logic_default17.createMany(body), {
|
|
144938
145286
|
body: "WarehouseItemModel.createMany"
|
|
144939
|
-
}).get("/transaction", async ({ query, user: user2 }) =>
|
|
145287
|
+
}).get("/transaction", async ({ query, user: user2 }) => logic_default17.selectTransaction(query, user2), {
|
|
144940
145288
|
query: "WarehouseItemModel.selectTransaction"
|
|
144941
145289
|
}).guard({
|
|
144942
145290
|
params: IdSchema
|
|
144943
|
-
}).put("/:id", async ({ body, params: { id } }) =>
|
|
145291
|
+
}).put("/:id", async ({ body, params: { id } }) => logic_default17.update(id, body), {
|
|
144944
145292
|
body: "WarehouseItemModel.update"
|
|
144945
145293
|
});
|
|
144946
145294
|
var item_default2 = itemRoutes;
|
|
@@ -144949,7 +145297,7 @@ var item_default2 = itemRoutes;
|
|
|
144949
145297
|
var productRoutes3 = new Elysia({
|
|
144950
145298
|
prefix: "/product",
|
|
144951
145299
|
tags: ["WarehouseProduct"]
|
|
144952
|
-
}).use(better_auth_default).guard({ auth: true }).model(prefix_model_default("WarehouseProductModel",
|
|
145300
|
+
}).use(better_auth_default).guard({ auth: true }).model(prefix_model_default("WarehouseProductModel", model_default15)).get("/", async ({ query, user: user2 }) => logic_default7.select(query, user2), {
|
|
144953
145301
|
query: "WarehouseProductModel.select"
|
|
144954
145302
|
}).post("/", async ({ body, user: user2 }) => logic_default7.create(body, user2), {
|
|
144955
145303
|
body: "WarehouseProductModel.create"
|
|
@@ -145000,7 +145348,7 @@ var WarehouseWarehouseLogic;
|
|
|
145000
145348
|
}).where(and(eq(warehouseWarehouseTable.id, id), eq(warehouseWarehouseTable.companyId, user2.companyId), eq(warehouseWarehouseTable.branchId, user2.branchId).if(user2.kind !== "COMPANY_ADMIN")));
|
|
145001
145349
|
};
|
|
145002
145350
|
})(WarehouseWarehouseLogic ||= {});
|
|
145003
|
-
var
|
|
145351
|
+
var logic_default18 = WarehouseWarehouseLogic;
|
|
145004
145352
|
|
|
145005
145353
|
// src/routes/warehouse/warehouse/model.ts
|
|
145006
145354
|
var WarehouseWarehouseModel;
|
|
@@ -145019,21 +145367,21 @@ var WarehouseWarehouseModel;
|
|
|
145019
145367
|
PaginationSchema
|
|
145020
145368
|
]);
|
|
145021
145369
|
})(WarehouseWarehouseModel ||= {});
|
|
145022
|
-
var
|
|
145370
|
+
var model_default17 = WarehouseWarehouseModel;
|
|
145023
145371
|
|
|
145024
145372
|
// src/routes/warehouse/warehouse/index.ts
|
|
145025
145373
|
var warehouseRoutes = new Elysia({
|
|
145026
145374
|
prefix: "/warehouse",
|
|
145027
145375
|
tags: ["Warehouse"]
|
|
145028
|
-
}).use(better_auth_default).guard({ userKind: "COMPANY_ADMIN" }).model(prefix_model_default("Warehouse",
|
|
145376
|
+
}).use(better_auth_default).guard({ userKind: "COMPANY_ADMIN" }).model(prefix_model_default("Warehouse", model_default17)).get("/", async ({ query, user: user2 }) => logic_default18.select(query, user2), {
|
|
145029
145377
|
query: "Warehouse.select"
|
|
145030
|
-
}).post("/", async ({ body, user: user2 }) =>
|
|
145378
|
+
}).post("/", async ({ body, user: user2 }) => logic_default18.create(body, user2), {
|
|
145031
145379
|
body: "Warehouse.create"
|
|
145032
145380
|
}).guard({
|
|
145033
145381
|
params: IdSchema
|
|
145034
|
-
}).put("/:id", async ({ params: { id }, body, user: user2 }) =>
|
|
145382
|
+
}).put("/:id", async ({ params: { id }, body, user: user2 }) => logic_default18.update(id, body, user2), {
|
|
145035
145383
|
body: "Warehouse.update"
|
|
145036
|
-
}).delete("/:id", async ({ params: { id }, user: user2 }) =>
|
|
145384
|
+
}).delete("/:id", async ({ params: { id }, user: user2 }) => logic_default18.remove(id, user2));
|
|
145037
145385
|
var warehouse_default = warehouseRoutes;
|
|
145038
145386
|
|
|
145039
145387
|
// src/routes/warehouse/index.ts
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "autosync_backend2",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.18",
|
|
4
4
|
"module": "src/index.ts",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
"exceljs": "^4.4.0",
|
|
32
32
|
"fast-xml-parser": "^5.2.5",
|
|
33
33
|
"generate-password": "^1.7.1",
|
|
34
|
+
"mn-payment": "^0.0.6",
|
|
34
35
|
"nodemailer": "^7.0.3",
|
|
35
36
|
"pg": "^8.16.1",
|
|
36
37
|
"pino": "^9.7.0",
|
|
@@ -46,7 +47,7 @@
|
|
|
46
47
|
"@types/react": "^19.1.8",
|
|
47
48
|
"@types/react-dom": "^19.1.6",
|
|
48
49
|
"bun-types": "latest",
|
|
49
|
-
"drizzle-kit": "^0.31.
|
|
50
|
+
"drizzle-kit": "^0.31.4",
|
|
50
51
|
"husky": "^9.1.7",
|
|
51
52
|
"react-email": "^4.0.16"
|
|
52
53
|
},
|