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 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.$with("serviceOrder").as(db_default.select({
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).innerJoin(cpOrderQuery, eq(crmCustomerTable.id, cpOrderQuery.customerId)).orderBy(crmCustomerTable.phoneNumber).$dynamic();
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 logic_default2.select({
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.results.length !== body.length) {
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.results.find((s) => s.id === item.companyProductId);
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.price,
143538
- priceTotal: item.quantity * (item.priceUnit ?? serviceKind.price)
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
- const [result] = await db_default.update(crmCpOrderServiceTable).set(body).where(eq(crmCpOrderServiceTable.id, id)).returning();
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 model_default8 = CrmCustomerModel;
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", model_default8)).use(better_auth_default).guard({ auth: true }).get("/", async ({ query, user: user2 }) => logic_default3.select(query, user2), {
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 model_default9 = CrmSpPackageModel;
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 logic_default11 = CrmSpPackageProductLogic;
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 model_default10 = CrmSpPackageProductModel;
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", model_default10)).get("/", async ({ query }) => logic_default11.select(query), {
144390
+ }).model(prefix_model_default("CrmSpPackageProductModel", model_default11)).get("/", async ({ query }) => logic_default12.select(query), {
144043
144391
  query: "CrmSpPackageProductModel.select"
144044
- }).post("/", async ({ body }) => logic_default11.create(body), {
144392
+ }).post("/", async ({ body }) => logic_default12.create(body), {
144045
144393
  body: "CrmSpPackageProductModel.create"
144046
- }).post("/many", async ({ body }) => logic_default11.createMany(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 }) => logic_default11.update(params.id, body), {
144398
+ }).put("/:id", async ({ params, body }) => logic_default12.update(params.id, body), {
144051
144399
  body: "CrmSpPackageProductModel.update"
144052
- }).delete("/:id", async ({ params }) => logic_default11.remove(params.id));
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 logic_default12 = CrmSpPackageServiceLogic;
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 model_default11 = CrmSpPackageServiceModel;
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", model_default11)).get("/", async ({ query }) => logic_default12.select(query), {
144463
+ }).model(prefix_model_default("CrmSpPackageServiceModel", model_default12)).get("/", async ({ query }) => logic_default13.select(query), {
144116
144464
  query: "CrmSpPackageServiceModel.select"
144117
- }).post("/", async ({ body }) => logic_default12.create(body), {
144465
+ }).post("/", async ({ body }) => logic_default13.create(body), {
144118
144466
  body: "CrmSpPackageServiceModel.create"
144119
- }).post("/many", async ({ body }) => logic_default12.createMany(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 }) => logic_default12.update(params.id, body), {
144471
+ }).put("/:id", async ({ params, body }) => logic_default13.update(params.id, body), {
144124
144472
  body: "CrmSpPackageServiceModel.update"
144125
- }).delete("/:id", async ({ params }) => logic_default12.remove(params.id));
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", model_default9)).get("/", async ({ query, user: user2 }) => logic_default4.select(query, user2), {
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 logic_default13 = PermissionLogic;
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 model_default12 = PermissionModel;
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", model_default12)).use(better_auth_default).guard({
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 }) => logic_default13.addPermission(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 logic_default13.selectGroups(query), {
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 logic_default14 = TechdocSupplierLogic;
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 model_default13 = TechdocSupplierModel;
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", model_default13)).get("/", async ({ query, user: user2 }) => logic_default14.select(query, user2), {
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 }) => logic_default14.create(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 } }) => logic_default14.update(id, body), {
144861
+ }).put("/:id", ({ body, params: { id } }) => logic_default15.update(id, body), {
144514
144862
  body: "TechdocSupplierModel.update"
144515
- }).delete("/:id", ({ params: { id } }) => logic_default14.remove(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 logic_default13.selectByUserId(users.map((u) => u.id));
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 logic_default13.addPermission({
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 logic_default13.addPermission({
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 logic_default15 = UserLogic;
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 }) => logic_default15.select(query, 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 }) => logic_default15.registerUser(body, 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 } }) => logic_default15.update(id, body, user2, permissions), {
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 logic_default16 = WarehouseItemLogic;
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 model_default14 = WarehouseProductModel;
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: model_default14.select,
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(model_default14.select, ["pagination"])
145269
+ product: t.Omit(model_default15.select, ["pagination"])
144922
145270
  })
144923
145271
  ]);
144924
145272
  })(WarehouseItemModel ||= {});
144925
- var model_default15 = WarehouseItemModel;
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", model_default15)).guard({
145279
+ }).use(better_auth_default).model(prefix_model_default("WarehouseItemModel", model_default16)).guard({
144932
145280
  userKind: "CUSTOMER"
144933
- }).get("/", async ({ query, user: user2 }) => logic_default16.select(query, user2), {
145281
+ }).get("/", async ({ query, user: user2 }) => logic_default17.select(query, user2), {
144934
145282
  query: "WarehouseItemModel.select"
144935
- }).post("/", async ({ body }) => logic_default16.create(body), {
145283
+ }).post("/", async ({ body }) => logic_default17.create(body), {
144936
145284
  body: "WarehouseItemModel.create"
144937
- }).post("/many", async ({ body }) => logic_default16.createMany(body), {
145285
+ }).post("/many", async ({ body }) => logic_default17.createMany(body), {
144938
145286
  body: "WarehouseItemModel.createMany"
144939
- }).get("/transaction", async ({ query, user: user2 }) => logic_default16.selectTransaction(query, 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 } }) => logic_default16.update(id, body), {
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", model_default14)).get("/", async ({ query, user: user2 }) => logic_default7.select(query, user2), {
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 logic_default17 = WarehouseWarehouseLogic;
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 model_default16 = WarehouseWarehouseModel;
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", model_default16)).get("/", async ({ query, user: user2 }) => logic_default17.select(query, user2), {
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 }) => logic_default17.create(body, 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 }) => logic_default17.update(id, body, 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 }) => logic_default17.remove(id, 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.16",
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.1",
50
+ "drizzle-kit": "^0.31.4",
50
51
  "husky": "^9.1.7",
51
52
  "react-email": "^4.0.16"
52
53
  },