autosync_backend2 1.1.16 → 1.1.17
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 +100 -0
- package/dist/index.js +406 -69
- package/package.json +3 -2
package/dist/index.d.ts
CHANGED
|
@@ -341,6 +341,29 @@ 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
|
+
}>;
|
|
344
367
|
readonly "CrmCpOrderModel.create": import("@sinclair/typebox").TObject<{
|
|
345
368
|
phone: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
346
369
|
vin: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
@@ -3448,6 +3471,83 @@ declare const app: Elysia<"", {
|
|
|
3448
3471
|
};
|
|
3449
3472
|
};
|
|
3450
3473
|
};
|
|
3474
|
+
} & {
|
|
3475
|
+
"cp-order": {
|
|
3476
|
+
payment: {};
|
|
3477
|
+
} & {
|
|
3478
|
+
payment: {
|
|
3479
|
+
storepay: {
|
|
3480
|
+
":id": {
|
|
3481
|
+
get: {
|
|
3482
|
+
body: unknown;
|
|
3483
|
+
params: {
|
|
3484
|
+
id: string;
|
|
3485
|
+
};
|
|
3486
|
+
query: unknown;
|
|
3487
|
+
headers: unknown;
|
|
3488
|
+
response: {
|
|
3489
|
+
200: undefined;
|
|
3490
|
+
404: "Төлбөрийн тохиргоо олдсонгүй." | "Төлбөрийн мэдээлэл олдсонгүй.";
|
|
3491
|
+
400: string;
|
|
3492
|
+
500: "Сервер алдаа гарлаа";
|
|
3493
|
+
422: {
|
|
3494
|
+
type: "validation";
|
|
3495
|
+
on: string;
|
|
3496
|
+
summary?: string;
|
|
3497
|
+
message?: string;
|
|
3498
|
+
found?: unknown;
|
|
3499
|
+
property?: string;
|
|
3500
|
+
expected?: string;
|
|
3501
|
+
};
|
|
3502
|
+
};
|
|
3503
|
+
};
|
|
3504
|
+
};
|
|
3505
|
+
};
|
|
3506
|
+
};
|
|
3507
|
+
} & {
|
|
3508
|
+
payment: {
|
|
3509
|
+
storepay: {
|
|
3510
|
+
post: {
|
|
3511
|
+
body: {
|
|
3512
|
+
paymentPackageId?: string | null | undefined;
|
|
3513
|
+
state: "NOT_PAID" | "PENDING" | "FAILED" | "EXPIRED" | "PAID" | "DECLINED" | "CANCELED" | "REFUNDING" | "REFUNDED";
|
|
3514
|
+
cpOrderId: string;
|
|
3515
|
+
paymentMethod: "CASH" | "BANK_TRANSFER" | "POS_TERMINAL" | "PAYMENT_PACKAGE";
|
|
3516
|
+
paymentChannel: string;
|
|
3517
|
+
amount: number;
|
|
3518
|
+
};
|
|
3519
|
+
params: {};
|
|
3520
|
+
query: unknown;
|
|
3521
|
+
headers: unknown;
|
|
3522
|
+
response: {
|
|
3523
|
+
200: {
|
|
3524
|
+
id: string;
|
|
3525
|
+
createdAt: string;
|
|
3526
|
+
updatedAt: string;
|
|
3527
|
+
deletedAt: string | null;
|
|
3528
|
+
state: "NOT_PAID" | "PENDING" | "FAILED" | "EXPIRED" | "PAID" | "DECLINED" | "CANCELED" | "REFUNDING" | "REFUNDED";
|
|
3529
|
+
cpOrderId: string;
|
|
3530
|
+
paymentPackageId: string | null;
|
|
3531
|
+
paymentMethod: "CASH" | "BANK_TRANSFER" | "POS_TERMINAL" | "PAYMENT_PACKAGE";
|
|
3532
|
+
paymentChannel: string;
|
|
3533
|
+
amount: number;
|
|
3534
|
+
invoiceNumber: string | null;
|
|
3535
|
+
};
|
|
3536
|
+
404: "Төлбөрийн тохиргоо олдсонгүй.";
|
|
3537
|
+
422: {
|
|
3538
|
+
type: "validation";
|
|
3539
|
+
on: string;
|
|
3540
|
+
summary?: string;
|
|
3541
|
+
message?: string;
|
|
3542
|
+
found?: unknown;
|
|
3543
|
+
property?: string;
|
|
3544
|
+
expected?: string;
|
|
3545
|
+
};
|
|
3546
|
+
};
|
|
3547
|
+
};
|
|
3548
|
+
};
|
|
3549
|
+
};
|
|
3550
|
+
};
|
|
3451
3551
|
} & {
|
|
3452
3552
|
"cp-order": {
|
|
3453
3553
|
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,279 @@ 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 ||= {});
|
|
143978
|
+
var model_default8 = CrmCpOrderPaymentModel;
|
|
143979
|
+
|
|
143980
|
+
// src/routes/crm/cpOrder/payment/gateways/index.ts
|
|
143981
|
+
class PaymentGateway {
|
|
143982
|
+
token = undefined;
|
|
143983
|
+
paymentId = undefined;
|
|
143984
|
+
async setToken(payment) {
|
|
143985
|
+
this.token = {
|
|
143986
|
+
access_token: payment.accessToken ?? "",
|
|
143987
|
+
refresh_token: payment.refreshToken ?? "",
|
|
143988
|
+
expires_in: payment.expiresIn ?? 0,
|
|
143989
|
+
refresh_expires_in: payment.refreshExpiresIn ?? 0
|
|
143990
|
+
};
|
|
143991
|
+
this.paymentId = payment.id;
|
|
143992
|
+
}
|
|
143993
|
+
async updatePaymentInfo(token) {
|
|
143994
|
+
this.token = token;
|
|
143995
|
+
if (this.paymentId) {
|
|
143996
|
+
await db_default.update(crmPaymentTable).set({
|
|
143997
|
+
accessToken: token.access_token,
|
|
143998
|
+
refreshToken: token.refresh_token,
|
|
143999
|
+
expiresIn: token.expires_in,
|
|
144000
|
+
refreshExpiresIn: token.refresh_expires_in
|
|
144001
|
+
}).where(eq(crmPaymentTable.id, this.paymentId));
|
|
144002
|
+
}
|
|
144003
|
+
}
|
|
144004
|
+
async getPaymentById(id) {
|
|
144005
|
+
const [payment] = await db_default.select().from(crmCpOrderPaymentTable).where(eq(crmCpOrderPaymentTable.id, id)).limit(1);
|
|
144006
|
+
if (!payment) {
|
|
144007
|
+
throw new Error("\u041D\u044D\u0445\u044D\u043C\u0436\u043B\u044D\u043B \u043E\u043B\u0434\u0441\u043E\u043D\u0433\u04AF\u0439.");
|
|
144008
|
+
}
|
|
144009
|
+
return payment;
|
|
144010
|
+
}
|
|
144011
|
+
async savePayment(input) {
|
|
144012
|
+
const [payment] = await db_default.insert(crmCpOrderPaymentTable).values({
|
|
144013
|
+
...input
|
|
144014
|
+
}).returning();
|
|
144015
|
+
return payment;
|
|
144016
|
+
}
|
|
144017
|
+
async setPaid(id) {
|
|
144018
|
+
const [payment] = await db_default.update(crmCpOrderPaymentTable).set({
|
|
144019
|
+
state: "PAID"
|
|
144020
|
+
}).where(eq(crmCpOrderPaymentTable.id, id)).returning();
|
|
144021
|
+
if (!payment) {
|
|
144022
|
+
throw new Error("\u041D\u044D\u0445\u044D\u043C\u0436\u043B\u044D\u043B \u043E\u043B\u0434\u0441\u043E\u043D\u0433\u04AF\u0439.");
|
|
144023
|
+
}
|
|
144024
|
+
return payment;
|
|
144025
|
+
}
|
|
144026
|
+
async updateInvoiceNumber(id, invoiceNumber) {
|
|
144027
|
+
await db_default.update(crmCpOrderPaymentTable).set({
|
|
144028
|
+
invoiceNumber
|
|
144029
|
+
}).where(eq(crmCpOrderPaymentTable.id, id));
|
|
144030
|
+
}
|
|
144031
|
+
}
|
|
144032
|
+
|
|
144033
|
+
// node_modules/mn-payment/dist/index.mjs
|
|
144034
|
+
var __async = (__this, __arguments, generator3) => {
|
|
144035
|
+
return new Promise((resolve, reject) => {
|
|
144036
|
+
var fulfilled = (value) => {
|
|
144037
|
+
try {
|
|
144038
|
+
step(generator3.next(value));
|
|
144039
|
+
} catch (e) {
|
|
144040
|
+
reject(e);
|
|
144041
|
+
}
|
|
144042
|
+
};
|
|
144043
|
+
var rejected = (value) => {
|
|
144044
|
+
try {
|
|
144045
|
+
step(generator3.throw(value));
|
|
144046
|
+
} catch (e) {
|
|
144047
|
+
reject(e);
|
|
144048
|
+
}
|
|
144049
|
+
};
|
|
144050
|
+
var step = (x2) => x2.done ? resolve(x2.value) : Promise.resolve(x2.value).then(fulfilled, rejected);
|
|
144051
|
+
step((generator3 = generator3.apply(__this, __arguments)).next());
|
|
144052
|
+
});
|
|
144053
|
+
};
|
|
144054
|
+
var StorePay = class {
|
|
144055
|
+
constructor(username2, password, appUsername, appPassword) {
|
|
144056
|
+
this.baseUrl = "https://service.storepay.mn:8778";
|
|
144057
|
+
this.username = username2;
|
|
144058
|
+
this.password = password;
|
|
144059
|
+
this.appUsername = appUsername;
|
|
144060
|
+
this.appPassword = appPassword;
|
|
144061
|
+
}
|
|
144062
|
+
login() {
|
|
144063
|
+
return __async(this, null, function* () {
|
|
144064
|
+
const req = yield fetch(`${this.baseUrl}/merchant-uaa/oauth/token`, {
|
|
144065
|
+
method: "POST",
|
|
144066
|
+
body: JSON.stringify({
|
|
144067
|
+
grant_type: "password",
|
|
144068
|
+
username: this.username,
|
|
144069
|
+
password: this.password
|
|
144070
|
+
}),
|
|
144071
|
+
headers: {
|
|
144072
|
+
"Content-Type": "application/x-www-form-urlencoded",
|
|
144073
|
+
Authorization: `Basic ${btoa(`${this.appUsername}:${this.appPassword}`)}`
|
|
144074
|
+
}
|
|
144075
|
+
});
|
|
144076
|
+
const res = yield req.json();
|
|
144077
|
+
if (res.error) {
|
|
144078
|
+
throw new Error(res.error_description);
|
|
144079
|
+
}
|
|
144080
|
+
return res;
|
|
144081
|
+
});
|
|
144082
|
+
}
|
|
144083
|
+
checkToken(token) {
|
|
144084
|
+
return __async(this, null, function* () {
|
|
144085
|
+
if (!token) {
|
|
144086
|
+
token = yield this.login();
|
|
144087
|
+
}
|
|
144088
|
+
if (new Date(token.expires_in * 1000) <= /* @__PURE__ */ new Date) {
|
|
144089
|
+
token = yield this.login();
|
|
144090
|
+
}
|
|
144091
|
+
return token;
|
|
144092
|
+
});
|
|
144093
|
+
}
|
|
144094
|
+
createInvoice(input, token) {
|
|
144095
|
+
return __async(this, null, function* () {
|
|
144096
|
+
token = yield this.checkToken(token);
|
|
144097
|
+
const req = yield fetch(`${this.baseUrl}/lend-merchant/merchant/loan`, {
|
|
144098
|
+
method: "POST",
|
|
144099
|
+
body: JSON.stringify(input),
|
|
144100
|
+
headers: {
|
|
144101
|
+
Authorization: `Bearer ${token.access_token}`
|
|
144102
|
+
}
|
|
144103
|
+
});
|
|
144104
|
+
const res = yield req.json();
|
|
144105
|
+
if (res.data.status !== "Success") {
|
|
144106
|
+
throw Error(res.data.msgList[0].text);
|
|
144107
|
+
}
|
|
144108
|
+
return {
|
|
144109
|
+
data: res,
|
|
144110
|
+
token
|
|
144111
|
+
};
|
|
144112
|
+
});
|
|
144113
|
+
}
|
|
144114
|
+
checkInvoice(invoiceId, token) {
|
|
144115
|
+
return __async(this, null, function* () {
|
|
144116
|
+
token = yield this.checkToken(token);
|
|
144117
|
+
const req = yield fetch(`${this.baseUrl}/lend-merchant/merchant/loan/check/${invoiceId}`, {
|
|
144118
|
+
method: "GET",
|
|
144119
|
+
headers: {
|
|
144120
|
+
Authorization: `Bearer ${token.access_token}`
|
|
144121
|
+
}
|
|
144122
|
+
});
|
|
144123
|
+
const res = yield req.json();
|
|
144124
|
+
return {
|
|
144125
|
+
data: res,
|
|
144126
|
+
token
|
|
144127
|
+
};
|
|
144128
|
+
});
|
|
144129
|
+
}
|
|
144130
|
+
};
|
|
144131
|
+
|
|
144132
|
+
// src/routes/crm/cpOrder/payment/gateways/storepay.ts
|
|
144133
|
+
class StorePayGateway extends PaymentGateway {
|
|
144134
|
+
storepay;
|
|
144135
|
+
constructor(input) {
|
|
144136
|
+
super();
|
|
144137
|
+
this.storepay = new StorePay(...input);
|
|
144138
|
+
}
|
|
144139
|
+
async createInvoice(input) {
|
|
144140
|
+
const payment = await this.savePayment({
|
|
144141
|
+
...input,
|
|
144142
|
+
state: "PENDING"
|
|
144143
|
+
});
|
|
144144
|
+
const invoice = await this.storepay.createInvoice({
|
|
144145
|
+
storeId: 0,
|
|
144146
|
+
mobileNumber: 0,
|
|
144147
|
+
description: "",
|
|
144148
|
+
amount: 0,
|
|
144149
|
+
callbackUrl: `https://dev.api.autosync.mn/crm/cp-order/payment/storepay/${payment.id}`
|
|
144150
|
+
}, this.token);
|
|
144151
|
+
if (JSON.stringify(invoice.token) !== JSON.stringify(this.token)) {
|
|
144152
|
+
await this.updatePaymentInfo(invoice.token);
|
|
144153
|
+
}
|
|
144154
|
+
return payment;
|
|
144155
|
+
}
|
|
144156
|
+
async checkInvoice(id) {
|
|
144157
|
+
const payment = await this.getPaymentById(id);
|
|
144158
|
+
const check2 = await this.storepay.checkInvoice(payment.invoiceNumber ?? "", this.token);
|
|
144159
|
+
if (JSON.stringify(check2.token) !== JSON.stringify(this.token)) {
|
|
144160
|
+
await this.updatePaymentInfo(check2.token);
|
|
144161
|
+
}
|
|
144162
|
+
if (check2.data.status !== "Success") {
|
|
144163
|
+
throw Error(check2.data.msgList[0]);
|
|
144164
|
+
}
|
|
144165
|
+
if (check2.data.value === false) {
|
|
144166
|
+
throw Error("\u0422\u04E9\u043B\u0431\u04E9\u0440 \u0442\u04E9\u043B\u04E9\u0433\u0434\u04E9\u04E9\u0433\u04AF\u0439 \u0431\u0430\u0439\u043D\u0430.");
|
|
144167
|
+
}
|
|
144168
|
+
await this.setPaid(id);
|
|
144169
|
+
}
|
|
144170
|
+
}
|
|
144171
|
+
|
|
144172
|
+
// src/routes/crm/cpOrder/payment/logic.ts
|
|
144173
|
+
var CrmCpOrderPaymentLogic;
|
|
144174
|
+
((CrmCpOrderPaymentLogic) => {
|
|
144175
|
+
CrmCpOrderPaymentLogic.createStorepay = async (body, user2) => {
|
|
144176
|
+
const paymentInfo = await getPaymentInfo("StorePay", user2);
|
|
144177
|
+
if ("code" in paymentInfo) {
|
|
144178
|
+
return paymentInfo;
|
|
144179
|
+
}
|
|
144180
|
+
const auth3 = paymentInfo.sub;
|
|
144181
|
+
const gateway = new StorePayGateway([
|
|
144182
|
+
auth3.username,
|
|
144183
|
+
auth3.password,
|
|
144184
|
+
auth3.appUserName,
|
|
144185
|
+
auth3.appPassword
|
|
144186
|
+
]);
|
|
144187
|
+
gateway.setToken(paymentInfo);
|
|
144188
|
+
const result = await gateway.createInvoice(body);
|
|
144189
|
+
return result;
|
|
144190
|
+
};
|
|
144191
|
+
CrmCpOrderPaymentLogic.checkStorePay = async (id) => {
|
|
144192
|
+
const paymentInfo = await getPaymentInfoByPaymentId(id, "StorePay");
|
|
144193
|
+
if ("code" in paymentInfo) {
|
|
144194
|
+
return paymentInfo;
|
|
144195
|
+
}
|
|
144196
|
+
const auth3 = paymentInfo.sub;
|
|
144197
|
+
const gateway = new StorePayGateway([
|
|
144198
|
+
auth3.username,
|
|
144199
|
+
auth3.password,
|
|
144200
|
+
auth3.appUserName,
|
|
144201
|
+
auth3.appPassword
|
|
144202
|
+
]);
|
|
144203
|
+
gateway.setToken(paymentInfo);
|
|
144204
|
+
try {
|
|
144205
|
+
await gateway.checkInvoice(id);
|
|
144206
|
+
} catch (err2) {
|
|
144207
|
+
if (err2 instanceof Error) {
|
|
144208
|
+
return status("Bad Request", err2.message);
|
|
144209
|
+
}
|
|
144210
|
+
return status("Internal Server Error", "\u0421\u0435\u0440\u0432\u0435\u0440 \u0430\u043B\u0434\u0430\u0430 \u0433\u0430\u0440\u043B\u0430\u0430");
|
|
144211
|
+
}
|
|
144212
|
+
};
|
|
144213
|
+
const getPaymentInfo = async (type, user2) => {
|
|
144214
|
+
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);
|
|
144215
|
+
if (!payment) {
|
|
144216
|
+
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.");
|
|
144217
|
+
}
|
|
144218
|
+
return payment;
|
|
144219
|
+
};
|
|
144220
|
+
const getPaymentInfoByPaymentId = async (id, type) => {
|
|
144221
|
+
const [payment] = await db_default.select().from(crmCpOrderPaymentTable).where(eq(crmCpOrderPaymentTable.id, id)).innerJoin(crmCpOrderTable, eq(crmCpOrderTable.id, crmCpOrderPaymentTable.cpOrderId)).limit(1);
|
|
144222
|
+
if (!payment) {
|
|
144223
|
+
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.");
|
|
144224
|
+
}
|
|
144225
|
+
return getPaymentInfo(type, {
|
|
144226
|
+
companyId: payment.cp_order.companyId,
|
|
144227
|
+
branchId: payment.cp_order.companyBranchId
|
|
144228
|
+
});
|
|
144229
|
+
};
|
|
144230
|
+
})(CrmCpOrderPaymentLogic ||= {});
|
|
144231
|
+
var logic_default11 = CrmCpOrderPaymentLogic;
|
|
144232
|
+
|
|
144233
|
+
// src/routes/crm/cpOrder/payment/index.ts
|
|
144234
|
+
var paymentRoutes = new Elysia({
|
|
144235
|
+
prefix: "/payment",
|
|
144236
|
+
tags: ["CrmCpOrderPayment"]
|
|
144237
|
+
}).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.create" });
|
|
144238
|
+
var payment_default = paymentRoutes;
|
|
144239
|
+
|
|
143903
144240
|
// src/routes/crm/cpOrder/index.ts
|
|
143904
144241
|
var cpOrderRoutes = new Elysia({
|
|
143905
144242
|
prefix: "/cp-order",
|
|
143906
144243
|
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), {
|
|
144244
|
+
}).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
144245
|
query: "CrmCpOrderModel.select",
|
|
143909
144246
|
transform: ({ query }) => {
|
|
143910
144247
|
console.log(query);
|
|
@@ -143955,13 +144292,13 @@ var CrmCustomerModel;
|
|
|
143955
144292
|
PaginationSchema
|
|
143956
144293
|
]);
|
|
143957
144294
|
})(CrmCustomerModel ||= {});
|
|
143958
|
-
var
|
|
144295
|
+
var model_default9 = CrmCustomerModel;
|
|
143959
144296
|
|
|
143960
144297
|
// src/routes/crm/customer/index.ts
|
|
143961
144298
|
var customerRoutes = new Elysia({
|
|
143962
144299
|
prefix: "/customer",
|
|
143963
144300
|
tags: ["CrmCustomer"]
|
|
143964
|
-
}).model(prefix_model_default("CrmCustomerModel",
|
|
144301
|
+
}).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
144302
|
query: "CrmCustomerModel.select"
|
|
143966
144303
|
});
|
|
143967
144304
|
var customer_default = customerRoutes;
|
|
@@ -143979,7 +144316,7 @@ var CrmSpPackageModel;
|
|
|
143979
144316
|
t.Partial(t.Pick(selectSchema, ["name", "priceTotal", "companyBranchId"]))
|
|
143980
144317
|
]);
|
|
143981
144318
|
})(CrmSpPackageModel ||= {});
|
|
143982
|
-
var
|
|
144319
|
+
var model_default10 = CrmSpPackageModel;
|
|
143983
144320
|
|
|
143984
144321
|
// src/routes/crm/spPackage/product/logic.ts
|
|
143985
144322
|
var CrmSpPackageProductLogic;
|
|
@@ -144019,7 +144356,7 @@ var CrmSpPackageProductLogic;
|
|
|
144019
144356
|
}).where(eq(crmSpPackageProductTable.id, id));
|
|
144020
144357
|
};
|
|
144021
144358
|
})(CrmSpPackageProductLogic ||= {});
|
|
144022
|
-
var
|
|
144359
|
+
var logic_default12 = CrmSpPackageProductLogic;
|
|
144023
144360
|
|
|
144024
144361
|
// src/routes/crm/spPackage/product/model.ts
|
|
144025
144362
|
var CrmSpPackageProductModel;
|
|
@@ -144031,7 +144368,7 @@ var CrmSpPackageProductModel;
|
|
|
144031
144368
|
CrmSpPackageProductModel.update = OmitBaseSchema(updateSchema);
|
|
144032
144369
|
CrmSpPackageProductModel.select = t.Pick(selectSchema, ["spPackageId"]);
|
|
144033
144370
|
})(CrmSpPackageProductModel ||= {});
|
|
144034
|
-
var
|
|
144371
|
+
var model_default11 = CrmSpPackageProductModel;
|
|
144035
144372
|
|
|
144036
144373
|
// src/routes/crm/spPackage/product/index.ts
|
|
144037
144374
|
var productRoutes2 = new Elysia({
|
|
@@ -144039,17 +144376,17 @@ var productRoutes2 = new Elysia({
|
|
|
144039
144376
|
tags: ["CrmSpPackageProduct"]
|
|
144040
144377
|
}).use(better_auth_default).guard({
|
|
144041
144378
|
auth: true
|
|
144042
|
-
}).model(prefix_model_default("CrmSpPackageProductModel",
|
|
144379
|
+
}).model(prefix_model_default("CrmSpPackageProductModel", model_default11)).get("/", async ({ query }) => logic_default12.select(query), {
|
|
144043
144380
|
query: "CrmSpPackageProductModel.select"
|
|
144044
|
-
}).post("/", async ({ body }) =>
|
|
144381
|
+
}).post("/", async ({ body }) => logic_default12.create(body), {
|
|
144045
144382
|
body: "CrmSpPackageProductModel.create"
|
|
144046
|
-
}).post("/many", async ({ body }) =>
|
|
144383
|
+
}).post("/many", async ({ body }) => logic_default12.createMany(body), {
|
|
144047
144384
|
body: "CrmSpPackageProductModel.create[]"
|
|
144048
144385
|
}).guard({
|
|
144049
144386
|
params: IdSchema
|
|
144050
|
-
}).put("/:id", async ({ params, body }) =>
|
|
144387
|
+
}).put("/:id", async ({ params, body }) => logic_default12.update(params.id, body), {
|
|
144051
144388
|
body: "CrmSpPackageProductModel.update"
|
|
144052
|
-
}).delete("/:id", async ({ params }) =>
|
|
144389
|
+
}).delete("/:id", async ({ params }) => logic_default12.remove(params.id));
|
|
144053
144390
|
var product_default2 = productRoutes2;
|
|
144054
144391
|
|
|
144055
144392
|
// src/routes/crm/spPackage/service/logic.ts
|
|
@@ -144092,7 +144429,7 @@ var CrmSpPackageServiceLogic;
|
|
|
144092
144429
|
}).where(and(eq(crmSpPackageServiceTable.id, id)));
|
|
144093
144430
|
};
|
|
144094
144431
|
})(CrmSpPackageServiceLogic ||= {});
|
|
144095
|
-
var
|
|
144432
|
+
var logic_default13 = CrmSpPackageServiceLogic;
|
|
144096
144433
|
|
|
144097
144434
|
// src/routes/crm/spPackage/service/model.ts
|
|
144098
144435
|
var CrmSpPackageServiceModel;
|
|
@@ -144104,7 +144441,7 @@ var CrmSpPackageServiceModel;
|
|
|
144104
144441
|
CrmSpPackageServiceModel.update = OmitBaseSchema(updateSchema);
|
|
144105
144442
|
CrmSpPackageServiceModel.select = t.Pick(selectSchema, ["spPackageId"]);
|
|
144106
144443
|
})(CrmSpPackageServiceModel ||= {});
|
|
144107
|
-
var
|
|
144444
|
+
var model_default12 = CrmSpPackageServiceModel;
|
|
144108
144445
|
|
|
144109
144446
|
// src/routes/crm/spPackage/service/index.ts
|
|
144110
144447
|
var serviceRoutes2 = new Elysia({
|
|
@@ -144112,17 +144449,17 @@ var serviceRoutes2 = new Elysia({
|
|
|
144112
144449
|
tags: ["CrmSpPackageService"]
|
|
144113
144450
|
}).use(better_auth_default).guard({
|
|
144114
144451
|
auth: true
|
|
144115
|
-
}).model(prefix_model_default("CrmSpPackageServiceModel",
|
|
144452
|
+
}).model(prefix_model_default("CrmSpPackageServiceModel", model_default12)).get("/", async ({ query }) => logic_default13.select(query), {
|
|
144116
144453
|
query: "CrmSpPackageServiceModel.select"
|
|
144117
|
-
}).post("/", async ({ body }) =>
|
|
144454
|
+
}).post("/", async ({ body }) => logic_default13.create(body), {
|
|
144118
144455
|
body: "CrmSpPackageServiceModel.create"
|
|
144119
|
-
}).post("/many", async ({ body }) =>
|
|
144456
|
+
}).post("/many", async ({ body }) => logic_default13.createMany(body), {
|
|
144120
144457
|
body: "CrmSpPackageServiceModel.create[]"
|
|
144121
144458
|
}).guard({
|
|
144122
144459
|
params: IdSchema
|
|
144123
|
-
}).put("/:id", async ({ params, body }) =>
|
|
144460
|
+
}).put("/:id", async ({ params, body }) => logic_default13.update(params.id, body), {
|
|
144124
144461
|
body: "CrmSpPackageServiceModel.update"
|
|
144125
|
-
}).delete("/:id", async ({ params }) =>
|
|
144462
|
+
}).delete("/:id", async ({ params }) => logic_default13.remove(params.id));
|
|
144126
144463
|
var service_default2 = serviceRoutes2;
|
|
144127
144464
|
|
|
144128
144465
|
// src/routes/crm/spPackage/index.ts
|
|
@@ -144131,7 +144468,7 @@ var spPackageRoutes = new Elysia({
|
|
|
144131
144468
|
tags: ["CrmSpPackage"]
|
|
144132
144469
|
}).use(better_auth_default).use(service_default2).use(product_default2).guard({
|
|
144133
144470
|
auth: true
|
|
144134
|
-
}).model(prefix_model_default("CrmSpPackageModel",
|
|
144471
|
+
}).model(prefix_model_default("CrmSpPackageModel", model_default10)).get("/", async ({ query, user: user2 }) => logic_default4.select(query, user2), {
|
|
144135
144472
|
query: "CrmSpPackageModel.select"
|
|
144136
144473
|
}).post("/", async ({ body, user: user2 }) => logic_default4.create(body, user2), {
|
|
144137
144474
|
body: "CrmSpPackageModel.create"
|
|
@@ -144378,7 +144715,7 @@ var PermissionLogic;
|
|
|
144378
144715
|
};
|
|
144379
144716
|
};
|
|
144380
144717
|
PermissionLogic.selectByUserId = async (userId) => {
|
|
144381
|
-
const userIds = Array.isArray(userId) ? userId : [userId];
|
|
144718
|
+
const userIds = (Array.isArray(userId) ? userId : [userId]).map(String);
|
|
144382
144719
|
if (userIds.length === 0) {
|
|
144383
144720
|
return [];
|
|
144384
144721
|
}
|
|
@@ -144386,7 +144723,7 @@ var PermissionLogic;
|
|
|
144386
144723
|
return permissions;
|
|
144387
144724
|
};
|
|
144388
144725
|
})(PermissionLogic ||= {});
|
|
144389
|
-
var
|
|
144726
|
+
var logic_default14 = PermissionLogic;
|
|
144390
144727
|
|
|
144391
144728
|
// src/routes/permission/model.ts
|
|
144392
144729
|
var PermissionModel;
|
|
@@ -144401,13 +144738,13 @@ var PermissionModel;
|
|
|
144401
144738
|
permissions: t.Array(t.String())
|
|
144402
144739
|
});
|
|
144403
144740
|
})(PermissionModel ||= {});
|
|
144404
|
-
var
|
|
144741
|
+
var model_default13 = PermissionModel;
|
|
144405
144742
|
|
|
144406
144743
|
// src/routes/permission/index.ts
|
|
144407
144744
|
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
144745
|
var permissionRoutes = new Elysia({
|
|
144409
144746
|
prefix: "/permission"
|
|
144410
|
-
}).decorate("publicPermissions", permissionList.filter((permission) => permission?.requiresAdmin !== undefined ? permission.requiresAdmin === false : true)).model(prefix_model_default("PermissionModel",
|
|
144747
|
+
}).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
144748
|
auth: true,
|
|
144412
144749
|
tags: ["PermissionGroup"]
|
|
144413
144750
|
}).get("/", ({ permissions, publicPermissions }) => {
|
|
@@ -144417,7 +144754,7 @@ var permissionRoutes = new Elysia({
|
|
|
144417
144754
|
return permissionList;
|
|
144418
144755
|
}, {
|
|
144419
144756
|
permission: "PERMISSION_ADD"
|
|
144420
|
-
}).post("/", ({ body }) =>
|
|
144757
|
+
}).post("/", ({ body }) => logic_default14.addPermission(body), {
|
|
144421
144758
|
body: "PermissionModel.addPermission",
|
|
144422
144759
|
permission: "PERMISSION_ADD",
|
|
144423
144760
|
beforeHandle({ status: status2, body, permissions, publicPermissions }) {
|
|
@@ -144429,7 +144766,7 @@ var permissionRoutes = new Elysia({
|
|
|
144429
144766
|
}
|
|
144430
144767
|
}).group("/group", (app) => app.guard({
|
|
144431
144768
|
permission: "PERMISSION_GROUP_ALL"
|
|
144432
|
-
}).get("/", async ({ query }) => await
|
|
144769
|
+
}).get("/", async ({ query }) => await logic_default14.selectGroups(query), {
|
|
144433
144770
|
query: "PermissionModel.select"
|
|
144434
144771
|
}).post("/", async ({ body }) => await groupService.create(body), {
|
|
144435
144772
|
body: "PermissionModel.create"
|
|
@@ -144477,7 +144814,7 @@ var TechdocSupplierLogic;
|
|
|
144477
144814
|
}).where(eq(techdocSupplierTable.id, id));
|
|
144478
144815
|
};
|
|
144479
144816
|
})(TechdocSupplierLogic ||= {});
|
|
144480
|
-
var
|
|
144817
|
+
var logic_default15 = TechdocSupplierLogic;
|
|
144481
144818
|
|
|
144482
144819
|
// src/routes/techdoc/supplier/model.ts
|
|
144483
144820
|
var TechdocSupplierModel;
|
|
@@ -144495,24 +144832,24 @@ var TechdocSupplierModel;
|
|
|
144495
144832
|
const updateSchema = createUpdateSchema(techdocSupplierTable);
|
|
144496
144833
|
TechdocSupplierModel.update = OmitBaseSchema(updateSchema);
|
|
144497
144834
|
})(TechdocSupplierModel ||= {});
|
|
144498
|
-
var
|
|
144835
|
+
var model_default14 = TechdocSupplierModel;
|
|
144499
144836
|
|
|
144500
144837
|
// src/routes/techdoc/supplier/index.ts
|
|
144501
144838
|
var supplierRoutes = new Elysia({
|
|
144502
144839
|
prefix: "/supplier",
|
|
144503
144840
|
tags: ["TechdocSupplier"]
|
|
144504
|
-
}).use(better_auth_default).model(prefix_model_default("TechdocSupplierModel",
|
|
144841
|
+
}).use(better_auth_default).model(prefix_model_default("TechdocSupplierModel", model_default14)).get("/", async ({ query, user: user2 }) => logic_default15.select(query, user2), {
|
|
144505
144842
|
query: "TechdocSupplierModel.select",
|
|
144506
144843
|
auth: true
|
|
144507
144844
|
}).guard({
|
|
144508
144845
|
userKind: "ADMIN"
|
|
144509
|
-
}).post("/", async ({ body }) =>
|
|
144846
|
+
}).post("/", async ({ body }) => logic_default15.create(body), {
|
|
144510
144847
|
body: "TechdocSupplierModel.create"
|
|
144511
144848
|
}).guard({
|
|
144512
144849
|
params: IdSchema
|
|
144513
|
-
}).put("/:id", ({ body, params: { id } }) =>
|
|
144850
|
+
}).put("/:id", ({ body, params: { id } }) => logic_default15.update(id, body), {
|
|
144514
144851
|
body: "TechdocSupplierModel.update"
|
|
144515
|
-
}).delete("/:id", ({ params: { id } }) =>
|
|
144852
|
+
}).delete("/:id", ({ params: { id } }) => logic_default15.remove(id));
|
|
144516
144853
|
var supplier_default = supplierRoutes;
|
|
144517
144854
|
|
|
144518
144855
|
// src/routes/techdoc/index.ts
|
|
@@ -144648,7 +144985,7 @@ var UserLogic;
|
|
|
144648
144985
|
totalCount: totalCountSql
|
|
144649
144986
|
}).from(user).where(filter).$dynamic();
|
|
144650
144987
|
const users = await pagination_helper_default(baseQuery, query.pagination);
|
|
144651
|
-
const userPermissions2 = await
|
|
144988
|
+
const userPermissions2 = await logic_default14.selectByUserId(users.map((u) => u.id));
|
|
144652
144989
|
const content = {
|
|
144653
144990
|
totalCount: users[0]?.totalCount ?? 0,
|
|
144654
144991
|
totalPage: users.length === 0 ? 0 : Math.ceil(users[0].totalCount / query.pagination.size)
|
|
@@ -144693,7 +145030,7 @@ var UserLogic;
|
|
|
144693
145030
|
}
|
|
144694
145031
|
});
|
|
144695
145032
|
try {
|
|
144696
|
-
await
|
|
145033
|
+
await logic_default14.addPermission({
|
|
144697
145034
|
permissions: body.permissions,
|
|
144698
145035
|
userId: result.user.id
|
|
144699
145036
|
});
|
|
@@ -144708,7 +145045,7 @@ var UserLogic;
|
|
|
144708
145045
|
if (!updatedUser) {
|
|
144709
145046
|
return status("Not Found", "\u0425\u044D\u0440\u044D\u0433\u043B\u044D\u0433\u0447 \u043E\u043B\u0434\u0441\u043E\u043D\u0433\u04AF\u0439.");
|
|
144710
145047
|
}
|
|
144711
|
-
await
|
|
145048
|
+
await logic_default14.addPermission({
|
|
144712
145049
|
permissions: body.permissions,
|
|
144713
145050
|
userId: updatedUser.id
|
|
144714
145051
|
}, db2);
|
|
@@ -144716,7 +145053,7 @@ var UserLogic;
|
|
|
144716
145053
|
});
|
|
144717
145054
|
};
|
|
144718
145055
|
})(UserLogic ||= {});
|
|
144719
|
-
var
|
|
145056
|
+
var logic_default16 = UserLogic;
|
|
144720
145057
|
|
|
144721
145058
|
// src/routes/user/schema.ts
|
|
144722
145059
|
var select = createSelectSchema(user);
|
|
@@ -144748,17 +145085,17 @@ var userRoutes = new Elysia({
|
|
|
144748
145085
|
}).use(better_auth_default).guard({
|
|
144749
145086
|
auth: true,
|
|
144750
145087
|
tags: ["User"]
|
|
144751
|
-
}).get("/", async ({ query, user: user2, permissions }) =>
|
|
145088
|
+
}).get("/", async ({ query, user: user2, permissions }) => logic_default16.select(query, user2, permissions), {
|
|
144752
145089
|
query: selectUserSchema,
|
|
144753
145090
|
permission: [
|
|
144754
145091
|
"USER_SELECT_BACKOFFICE",
|
|
144755
145092
|
"USER_SELECT_ADMIN",
|
|
144756
145093
|
"USER_SELECT_OWN"
|
|
144757
145094
|
]
|
|
144758
|
-
}).get("/me", async ({ user: user2 }) => user2).post("/", async ({ body, user: user2, permissions }) =>
|
|
145095
|
+
}).get("/me", async ({ user: user2 }) => user2).post("/", async ({ body, user: user2, permissions }) => logic_default16.registerUser(body, user2, permissions), {
|
|
144759
145096
|
body: createUserSchema,
|
|
144760
145097
|
permission: ["USER_CREATE_ADMIN", "USER_CREATE_OWN"]
|
|
144761
|
-
}).put("/:id", async ({ body, user: user2, permissions, params: { id } }) =>
|
|
145098
|
+
}).put("/:id", async ({ body, user: user2, permissions, params: { id } }) => logic_default16.update(id, body, user2, permissions), {
|
|
144762
145099
|
body: updateUserSchema,
|
|
144763
145100
|
permission: ["USER_CREATE_ADMIN", "USER_CREATE_OWN"]
|
|
144764
145101
|
});
|
|
@@ -144865,7 +145202,7 @@ var WarehouseItemLogic;
|
|
|
144865
145202
|
await tdb.insert(warehouseItemTransactionTable).values(body);
|
|
144866
145203
|
};
|
|
144867
145204
|
})(WarehouseItemLogic ||= {});
|
|
144868
|
-
var
|
|
145205
|
+
var logic_default17 = WarehouseItemLogic;
|
|
144869
145206
|
|
|
144870
145207
|
// src/routes/warehouse/product/model.ts
|
|
144871
145208
|
var WarehouseProductModel;
|
|
@@ -144888,7 +145225,7 @@ var WarehouseProductModel;
|
|
|
144888
145225
|
PaginationSchema
|
|
144889
145226
|
]);
|
|
144890
145227
|
})(WarehouseProductModel ||= {});
|
|
144891
|
-
var
|
|
145228
|
+
var model_default15 = WarehouseProductModel;
|
|
144892
145229
|
|
|
144893
145230
|
// src/routes/warehouse/item/model.ts
|
|
144894
145231
|
var WarehouseItemModel;
|
|
@@ -144903,7 +145240,7 @@ var WarehouseItemModel;
|
|
|
144903
145240
|
WarehouseItemModel.select = t.Composite([
|
|
144904
145241
|
PaginationSchema,
|
|
144905
145242
|
t.Partial(t.Object({
|
|
144906
|
-
product:
|
|
145243
|
+
product: model_default15.select,
|
|
144907
145244
|
shelfNumber: t.String(),
|
|
144908
145245
|
safetyStock: t.Number()
|
|
144909
145246
|
}))
|
|
@@ -144918,29 +145255,29 @@ var WarehouseItemModel;
|
|
|
144918
145255
|
"userId"
|
|
144919
145256
|
])),
|
|
144920
145257
|
t.Object({
|
|
144921
|
-
product: t.Omit(
|
|
145258
|
+
product: t.Omit(model_default15.select, ["pagination"])
|
|
144922
145259
|
})
|
|
144923
145260
|
]);
|
|
144924
145261
|
})(WarehouseItemModel ||= {});
|
|
144925
|
-
var
|
|
145262
|
+
var model_default16 = WarehouseItemModel;
|
|
144926
145263
|
|
|
144927
145264
|
// src/routes/warehouse/item/index.ts
|
|
144928
145265
|
var itemRoutes = new Elysia({
|
|
144929
145266
|
prefix: "/item",
|
|
144930
145267
|
tags: ["WarehouseItem"]
|
|
144931
|
-
}).use(better_auth_default).model(prefix_model_default("WarehouseItemModel",
|
|
145268
|
+
}).use(better_auth_default).model(prefix_model_default("WarehouseItemModel", model_default16)).guard({
|
|
144932
145269
|
userKind: "CUSTOMER"
|
|
144933
|
-
}).get("/", async ({ query, user: user2 }) =>
|
|
145270
|
+
}).get("/", async ({ query, user: user2 }) => logic_default17.select(query, user2), {
|
|
144934
145271
|
query: "WarehouseItemModel.select"
|
|
144935
|
-
}).post("/", async ({ body }) =>
|
|
145272
|
+
}).post("/", async ({ body }) => logic_default17.create(body), {
|
|
144936
145273
|
body: "WarehouseItemModel.create"
|
|
144937
|
-
}).post("/many", async ({ body }) =>
|
|
145274
|
+
}).post("/many", async ({ body }) => logic_default17.createMany(body), {
|
|
144938
145275
|
body: "WarehouseItemModel.createMany"
|
|
144939
|
-
}).get("/transaction", async ({ query, user: user2 }) =>
|
|
145276
|
+
}).get("/transaction", async ({ query, user: user2 }) => logic_default17.selectTransaction(query, user2), {
|
|
144940
145277
|
query: "WarehouseItemModel.selectTransaction"
|
|
144941
145278
|
}).guard({
|
|
144942
145279
|
params: IdSchema
|
|
144943
|
-
}).put("/:id", async ({ body, params: { id } }) =>
|
|
145280
|
+
}).put("/:id", async ({ body, params: { id } }) => logic_default17.update(id, body), {
|
|
144944
145281
|
body: "WarehouseItemModel.update"
|
|
144945
145282
|
});
|
|
144946
145283
|
var item_default2 = itemRoutes;
|
|
@@ -144949,7 +145286,7 @@ var item_default2 = itemRoutes;
|
|
|
144949
145286
|
var productRoutes3 = new Elysia({
|
|
144950
145287
|
prefix: "/product",
|
|
144951
145288
|
tags: ["WarehouseProduct"]
|
|
144952
|
-
}).use(better_auth_default).guard({ auth: true }).model(prefix_model_default("WarehouseProductModel",
|
|
145289
|
+
}).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
145290
|
query: "WarehouseProductModel.select"
|
|
144954
145291
|
}).post("/", async ({ body, user: user2 }) => logic_default7.create(body, user2), {
|
|
144955
145292
|
body: "WarehouseProductModel.create"
|
|
@@ -145000,7 +145337,7 @@ var WarehouseWarehouseLogic;
|
|
|
145000
145337
|
}).where(and(eq(warehouseWarehouseTable.id, id), eq(warehouseWarehouseTable.companyId, user2.companyId), eq(warehouseWarehouseTable.branchId, user2.branchId).if(user2.kind !== "COMPANY_ADMIN")));
|
|
145001
145338
|
};
|
|
145002
145339
|
})(WarehouseWarehouseLogic ||= {});
|
|
145003
|
-
var
|
|
145340
|
+
var logic_default18 = WarehouseWarehouseLogic;
|
|
145004
145341
|
|
|
145005
145342
|
// src/routes/warehouse/warehouse/model.ts
|
|
145006
145343
|
var WarehouseWarehouseModel;
|
|
@@ -145019,21 +145356,21 @@ var WarehouseWarehouseModel;
|
|
|
145019
145356
|
PaginationSchema
|
|
145020
145357
|
]);
|
|
145021
145358
|
})(WarehouseWarehouseModel ||= {});
|
|
145022
|
-
var
|
|
145359
|
+
var model_default17 = WarehouseWarehouseModel;
|
|
145023
145360
|
|
|
145024
145361
|
// src/routes/warehouse/warehouse/index.ts
|
|
145025
145362
|
var warehouseRoutes = new Elysia({
|
|
145026
145363
|
prefix: "/warehouse",
|
|
145027
145364
|
tags: ["Warehouse"]
|
|
145028
|
-
}).use(better_auth_default).guard({ userKind: "COMPANY_ADMIN" }).model(prefix_model_default("Warehouse",
|
|
145365
|
+
}).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
145366
|
query: "Warehouse.select"
|
|
145030
|
-
}).post("/", async ({ body, user: user2 }) =>
|
|
145367
|
+
}).post("/", async ({ body, user: user2 }) => logic_default18.create(body, user2), {
|
|
145031
145368
|
body: "Warehouse.create"
|
|
145032
145369
|
}).guard({
|
|
145033
145370
|
params: IdSchema
|
|
145034
|
-
}).put("/:id", async ({ params: { id }, body, user: user2 }) =>
|
|
145371
|
+
}).put("/:id", async ({ params: { id }, body, user: user2 }) => logic_default18.update(id, body, user2), {
|
|
145035
145372
|
body: "Warehouse.update"
|
|
145036
|
-
}).delete("/:id", async ({ params: { id }, user: user2 }) =>
|
|
145373
|
+
}).delete("/:id", async ({ params: { id }, user: user2 }) => logic_default18.remove(id, user2));
|
|
145037
145374
|
var warehouse_default = warehouseRoutes;
|
|
145038
145375
|
|
|
145039
145376
|
// 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.17",
|
|
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
|
},
|