autosync_backend2 1.1.67 → 1.1.68

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/index.d.ts +428 -133
  2. package/dist/index.js +341 -90
  3. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -3013,6 +3013,139 @@ export declare const app: Elysia<"", {
3013
3013
  } & {
3014
3014
  "cp-order": {
3015
3015
  item: {};
3016
+ } & {
3017
+ item: {
3018
+ employee: {};
3019
+ } & {
3020
+ employee: {
3021
+ get: {
3022
+ body: unknown;
3023
+ params: {};
3024
+ query: {
3025
+ cpOrderItemId: string;
3026
+ };
3027
+ headers: unknown;
3028
+ response: {
3029
+ 200: {
3030
+ cpOrderItemId: string;
3031
+ employeeId: string;
3032
+ amount: number;
3033
+ id: string;
3034
+ createdAt: string;
3035
+ updatedAt: string;
3036
+ deletedAt: string | null;
3037
+ }[];
3038
+ 422: {
3039
+ type: "validation";
3040
+ on: string;
3041
+ summary?: string;
3042
+ message?: string;
3043
+ found?: unknown;
3044
+ property?: string;
3045
+ expected?: string;
3046
+ };
3047
+ };
3048
+ };
3049
+ };
3050
+ } & {
3051
+ employee: {
3052
+ post: {
3053
+ body: {
3054
+ amount?: number | undefined;
3055
+ employeeId: string;
3056
+ cpOrderItemId: string;
3057
+ };
3058
+ params: {};
3059
+ query: unknown;
3060
+ headers: unknown;
3061
+ response: {
3062
+ 200: {
3063
+ id: string;
3064
+ createdAt: string;
3065
+ updatedAt: string;
3066
+ employeeId: string;
3067
+ deletedAt: string | null;
3068
+ cpOrderItemId: string;
3069
+ amount: number;
3070
+ };
3071
+ 400: "Энэ үйлчилгээнд ажилтан аль хэдийн хуваарилагдсан байна.";
3072
+ 422: {
3073
+ type: "validation";
3074
+ on: string;
3075
+ summary?: string;
3076
+ message?: string;
3077
+ found?: unknown;
3078
+ property?: string;
3079
+ expected?: string;
3080
+ };
3081
+ };
3082
+ };
3083
+ };
3084
+ } & {
3085
+ employee: {
3086
+ ":id": {
3087
+ put: {
3088
+ body: {
3089
+ amount?: number | undefined;
3090
+ };
3091
+ params: {
3092
+ id: string;
3093
+ };
3094
+ query: unknown;
3095
+ headers: unknown;
3096
+ response: {
3097
+ 200: {
3098
+ cpOrderItemId: string;
3099
+ employeeId: string;
3100
+ amount: number;
3101
+ id: string;
3102
+ createdAt: string;
3103
+ updatedAt: string;
3104
+ deletedAt: string | null;
3105
+ };
3106
+ 404: "Ажилтны мэдээлэл олдсонгүй.";
3107
+ 422: {
3108
+ type: "validation";
3109
+ on: string;
3110
+ summary?: string;
3111
+ message?: string;
3112
+ found?: unknown;
3113
+ property?: string;
3114
+ expected?: string;
3115
+ };
3116
+ };
3117
+ };
3118
+ };
3119
+ };
3120
+ } & {
3121
+ employee: {
3122
+ ":id": {
3123
+ delete: {
3124
+ body: unknown;
3125
+ params: {
3126
+ id: string;
3127
+ };
3128
+ query: unknown;
3129
+ headers: unknown;
3130
+ response: {
3131
+ 200: {
3132
+ id: string;
3133
+ };
3134
+ 404: "Ажилтны мэдээлэл олдсонгүй.";
3135
+ 422: {
3136
+ type: "validation";
3137
+ on: string;
3138
+ summary?: string;
3139
+ message?: string;
3140
+ found?: unknown;
3141
+ property?: string;
3142
+ expected?: string;
3143
+ };
3144
+ };
3145
+ };
3146
+ };
3147
+ };
3148
+ };
3016
3149
  } & {
3017
3150
  item: {
3018
3151
  get: {
@@ -3207,139 +3340,6 @@ export declare const app: Elysia<"", {
3207
3340
  };
3208
3341
  };
3209
3342
  };
3210
- } & {
3211
- item: {
3212
- employee: {};
3213
- } & {
3214
- employee: {
3215
- get: {
3216
- body: unknown;
3217
- params: {};
3218
- query: {
3219
- cpOrderItemId: string;
3220
- };
3221
- headers: unknown;
3222
- response: {
3223
- 200: {
3224
- cpOrderItemId: string;
3225
- employeeId: string;
3226
- amount: number;
3227
- id: string;
3228
- createdAt: string;
3229
- updatedAt: string;
3230
- deletedAt: string | null;
3231
- }[];
3232
- 422: {
3233
- type: "validation";
3234
- on: string;
3235
- summary?: string;
3236
- message?: string;
3237
- found?: unknown;
3238
- property?: string;
3239
- expected?: string;
3240
- };
3241
- };
3242
- };
3243
- };
3244
- } & {
3245
- employee: {
3246
- post: {
3247
- body: {
3248
- amount?: number | undefined;
3249
- employeeId: string;
3250
- cpOrderItemId: string;
3251
- };
3252
- params: {};
3253
- query: unknown;
3254
- headers: unknown;
3255
- response: {
3256
- 200: {
3257
- id: string;
3258
- createdAt: string;
3259
- updatedAt: string;
3260
- employeeId: string;
3261
- deletedAt: string | null;
3262
- cpOrderItemId: string;
3263
- amount: number;
3264
- };
3265
- 400: "Энэ үйлчилгээнд ажилтан аль хэдийн хуваарилагдсан байна.";
3266
- 422: {
3267
- type: "validation";
3268
- on: string;
3269
- summary?: string;
3270
- message?: string;
3271
- found?: unknown;
3272
- property?: string;
3273
- expected?: string;
3274
- };
3275
- };
3276
- };
3277
- };
3278
- } & {
3279
- employee: {
3280
- ":id": {
3281
- put: {
3282
- body: {
3283
- amount?: number | undefined;
3284
- };
3285
- params: {
3286
- id: string;
3287
- };
3288
- query: unknown;
3289
- headers: unknown;
3290
- response: {
3291
- 200: {
3292
- cpOrderItemId: string;
3293
- employeeId: string;
3294
- amount: number;
3295
- id: string;
3296
- createdAt: string;
3297
- updatedAt: string;
3298
- deletedAt: string | null;
3299
- };
3300
- 404: "Ажилтны мэдээлэл олдсонгүй.";
3301
- 422: {
3302
- type: "validation";
3303
- on: string;
3304
- summary?: string;
3305
- message?: string;
3306
- found?: unknown;
3307
- property?: string;
3308
- expected?: string;
3309
- };
3310
- };
3311
- };
3312
- };
3313
- };
3314
- } & {
3315
- employee: {
3316
- ":id": {
3317
- delete: {
3318
- body: unknown;
3319
- params: {
3320
- id: string;
3321
- };
3322
- query: unknown;
3323
- headers: unknown;
3324
- response: {
3325
- 200: {
3326
- id: string;
3327
- };
3328
- 404: "Ажилтны мэдээлэл олдсонгүй.";
3329
- 422: {
3330
- type: "validation";
3331
- on: string;
3332
- summary?: string;
3333
- message?: string;
3334
- found?: unknown;
3335
- property?: string;
3336
- expected?: string;
3337
- };
3338
- };
3339
- };
3340
- };
3341
- };
3342
- };
3343
3343
  };
3344
3344
  } & {
3345
3345
  "cp-order": {
@@ -6176,6 +6176,301 @@ export declare const app: Elysia<"", {
6176
6176
  };
6177
6177
  };
6178
6178
  };
6179
+ } & {
6180
+ crm: {
6181
+ reports: {};
6182
+ } & {
6183
+ reports: {
6184
+ sales: {
6185
+ get: {
6186
+ body: unknown;
6187
+ params: {};
6188
+ query: {
6189
+ employeeId?: string | undefined;
6190
+ companyBranchId?: string | undefined;
6191
+ state?: "CREATED" | "PROGRESSING" | "COMPLETE" | undefined;
6192
+ startDate?: string | undefined;
6193
+ endDate?: string | undefined;
6194
+ includeItems?: boolean | undefined;
6195
+ includePayments?: boolean | undefined;
6196
+ pagination: {
6197
+ size: number;
6198
+ page: number;
6199
+ };
6200
+ };
6201
+ headers: unknown;
6202
+ response: {
6203
+ 200: {
6204
+ totalCount: number;
6205
+ order: {
6206
+ companyId: string;
6207
+ companyBranchId: string;
6208
+ customerId: string | null;
6209
+ vehicleId: string;
6210
+ orderId: string;
6211
+ state: "CREATED" | "PROGRESSING" | "COMPLETE";
6212
+ isNoat: boolean | null;
6213
+ timeCompleted: string | null;
6214
+ km: number;
6215
+ id: string;
6216
+ createdAt: string;
6217
+ updatedAt: string;
6218
+ deletedAt: string | null;
6219
+ };
6220
+ customer: {
6221
+ companyId: string | null;
6222
+ firstname: string | null;
6223
+ lastname: string | null;
6224
+ phoneNumber: string;
6225
+ email: string | null;
6226
+ regNum: string | null;
6227
+ id: string;
6228
+ createdAt: string;
6229
+ updatedAt: string;
6230
+ deletedAt: string | null;
6231
+ } | null;
6232
+ vehicle: {
6233
+ customerId: string | null;
6234
+ vehicleKindId: string;
6235
+ vin: string | null;
6236
+ licensePlate: string | null;
6237
+ color: string | null;
6238
+ engineCc: string | null;
6239
+ cylinder: string | null;
6240
+ gasType: string | null;
6241
+ transmissionType: string | null;
6242
+ vehicleType: string | null;
6243
+ yearManufacture: number | null;
6244
+ yearImport: number | null;
6245
+ steering: string | null;
6246
+ engineCode: string | null;
6247
+ transmissionCode: string | null;
6248
+ driveTrain: string | null;
6249
+ km: number;
6250
+ companyId: string | null;
6251
+ id: string;
6252
+ createdAt: string;
6253
+ updatedAt: string;
6254
+ deletedAt: string | null;
6255
+ } | null;
6256
+ vehicleKind: {
6257
+ vehicleKindEnum: "MAKE" | "MODEL_GROUP" | "MODEL";
6258
+ parentId: string | null;
6259
+ name: string;
6260
+ description: string | null;
6261
+ yearStart: number | null;
6262
+ yearEnd: number | null;
6263
+ imagePath: string | null;
6264
+ id: string;
6265
+ createdAt: string;
6266
+ updatedAt: string;
6267
+ deletedAt: string | null;
6268
+ } | null;
6269
+ totalAmount: number;
6270
+ paidAmount: number;
6271
+ }[];
6272
+ 422: {
6273
+ type: "validation";
6274
+ on: string;
6275
+ summary?: string;
6276
+ message?: string;
6277
+ found?: unknown;
6278
+ property?: string;
6279
+ expected?: string;
6280
+ };
6281
+ };
6282
+ };
6283
+ };
6284
+ };
6285
+ } & {
6286
+ reports: {
6287
+ sales: {
6288
+ summary: {
6289
+ get: {
6290
+ body: unknown;
6291
+ params: {};
6292
+ query: {
6293
+ companyBranchId?: string | undefined;
6294
+ startDate?: string | undefined;
6295
+ endDate?: string | undefined;
6296
+ };
6297
+ headers: unknown;
6298
+ response: {
6299
+ 200: {
6300
+ totalOrders: number;
6301
+ totalRevenue: number;
6302
+ totalPaidAmount: number;
6303
+ totalPendingAmount: number;
6304
+ averageOrderValue: number;
6305
+ ordersCompleted: number;
6306
+ ordersPending: number;
6307
+ ordersCancelled: number;
6308
+ };
6309
+ 422: {
6310
+ type: "validation";
6311
+ on: string;
6312
+ summary?: string;
6313
+ message?: string;
6314
+ found?: unknown;
6315
+ property?: string;
6316
+ expected?: string;
6317
+ };
6318
+ };
6319
+ };
6320
+ };
6321
+ };
6322
+ };
6323
+ } & {
6324
+ reports: {
6325
+ sales: {
6326
+ "by-period": {
6327
+ get: {
6328
+ body: unknown;
6329
+ params: {};
6330
+ query: {
6331
+ companyBranchId?: string | undefined;
6332
+ startDate?: string | undefined;
6333
+ endDate?: string | undefined;
6334
+ groupBy: "day" | "week" | "month" | "year";
6335
+ };
6336
+ headers: unknown;
6337
+ response: {
6338
+ 200: {
6339
+ totalOrders: number;
6340
+ totalRevenue: number;
6341
+ totalPaidAmount: number;
6342
+ period: string;
6343
+ }[];
6344
+ 422: {
6345
+ type: "validation";
6346
+ on: string;
6347
+ summary?: string;
6348
+ message?: string;
6349
+ found?: unknown;
6350
+ property?: string;
6351
+ expected?: string;
6352
+ };
6353
+ };
6354
+ };
6355
+ };
6356
+ };
6357
+ };
6358
+ } & {
6359
+ reports: {
6360
+ sales: {
6361
+ "by-employee": {
6362
+ get: {
6363
+ body: unknown;
6364
+ params: {};
6365
+ query: {
6366
+ companyBranchId?: string | undefined;
6367
+ startDate?: string | undefined;
6368
+ endDate?: string | undefined;
6369
+ pagination: {
6370
+ size: number;
6371
+ page: number;
6372
+ };
6373
+ };
6374
+ headers: unknown;
6375
+ response: {
6376
+ 200: {
6377
+ totalCount: number;
6378
+ employeeId: string;
6379
+ employeeName: string;
6380
+ totalOrders: number;
6381
+ totalRevenue: number;
6382
+ totalCommission: number;
6383
+ }[];
6384
+ 422: {
6385
+ type: "validation";
6386
+ on: string;
6387
+ summary?: string;
6388
+ message?: string;
6389
+ found?: unknown;
6390
+ property?: string;
6391
+ expected?: string;
6392
+ };
6393
+ };
6394
+ };
6395
+ };
6396
+ };
6397
+ };
6398
+ } & {
6399
+ reports: {
6400
+ payments: {
6401
+ get: {
6402
+ body: unknown;
6403
+ params: {};
6404
+ query: {
6405
+ method?: string | undefined;
6406
+ companyBranchId?: string | undefined;
6407
+ state?: string | undefined;
6408
+ startDate?: string | undefined;
6409
+ endDate?: string | undefined;
6410
+ pagination: {
6411
+ size: number;
6412
+ page: number;
6413
+ };
6414
+ };
6415
+ headers: unknown;
6416
+ response: {
6417
+ 200: {
6418
+ totalCount: number;
6419
+ payment: {
6420
+ cpOrderId: string;
6421
+ paymentPackageId: string | null;
6422
+ paymentMethod: "CASH" | "BANK_TRANSFER" | "POS_TERMINAL" | "PAYMENT_PACKAGE" | "CARD";
6423
+ paymentChannel: string;
6424
+ amount: number;
6425
+ state: "NOT_PAID" | "PENDING" | "FAILED" | "EXPIRED" | "PAID" | "DECLINED" | "CANCELED" | "REFUNDING" | "REFUNDED";
6426
+ invoiceNumber: string | null;
6427
+ id: string;
6428
+ createdAt: string;
6429
+ updatedAt: string;
6430
+ deletedAt: string | null;
6431
+ };
6432
+ order: {
6433
+ companyId: string;
6434
+ companyBranchId: string;
6435
+ customerId: string | null;
6436
+ vehicleId: string;
6437
+ orderId: string;
6438
+ state: "CREATED" | "PROGRESSING" | "COMPLETE";
6439
+ isNoat: boolean | null;
6440
+ timeCompleted: string | null;
6441
+ km: number;
6442
+ id: string;
6443
+ createdAt: string;
6444
+ updatedAt: string;
6445
+ deletedAt: string | null;
6446
+ };
6447
+ customer: {
6448
+ companyId: string | null;
6449
+ firstname: string | null;
6450
+ lastname: string | null;
6451
+ phoneNumber: string;
6452
+ email: string | null;
6453
+ regNum: string | null;
6454
+ id: string;
6455
+ createdAt: string;
6456
+ updatedAt: string;
6457
+ deletedAt: string | null;
6458
+ } | null;
6459
+ }[];
6460
+ 422: {
6461
+ type: "validation";
6462
+ on: string;
6463
+ summary?: string;
6464
+ message?: string;
6465
+ found?: unknown;
6466
+ property?: string;
6467
+ expected?: string;
6468
+ };
6469
+ };
6470
+ };
6471
+ };
6472
+ };
6473
+ };
6179
6474
  };
6180
6475
  } & {
6181
6476
  api: {
package/dist/index.js CHANGED
@@ -155551,14 +155551,8 @@ var CrmCpOrderItemEmployeeModel;
155551
155551
  ((CrmCpOrderItemEmployeeModel) => {
155552
155552
  const createSchema = createInsertSchema(crmCpOrderItemEmployeeTable);
155553
155553
  const updateSchema = createUpdateSchema(crmCpOrderItemEmployeeTable);
155554
- CrmCpOrderItemEmployeeModel.create = t.Pick(OmitBaseSchema(createSchema), [
155555
- "cpOrderItemId",
155556
- "employeeId",
155557
- "amount"
155558
- ]);
155559
- CrmCpOrderItemEmployeeModel.update = t.Pick(OmitBaseSchema(updateSchema), [
155560
- "amount"
155561
- ]);
155554
+ CrmCpOrderItemEmployeeModel.create = OmitBaseSchema(createSchema);
155555
+ CrmCpOrderItemEmployeeModel.update = t.Pick(OmitBaseSchema(updateSchema), ["amount"]);
155562
155556
  CrmCpOrderItemEmployeeModel.select = t.Object({
155563
155557
  cpOrderItemId: t.String({ format: "uuid" })
155564
155558
  });
@@ -155616,7 +155610,7 @@ var model_default7 = CrmCpOrderItemModel;
155616
155610
  var itemRoutes = new Elysia({
155617
155611
  prefix: "/item",
155618
155612
  tags: ["CrmCpOrderItem"]
155619
- }).use(better_auth_default).guard({
155613
+ }).use(better_auth_default).use(employee_default2).guard({
155620
155614
  auth: true
155621
155615
  }).get("/", async ({ query }) => logic_default5.select(query), {
155622
155616
  query: model_default7.select
@@ -155645,7 +155639,7 @@ var itemRoutes = new Elysia({
155645
155639
  return res;
155646
155640
  return await logic_default11.apply(res.cpOrderId, user2);
155647
155641
  }
155648
- }).use(employee_default2);
155642
+ });
155649
155643
  var item_default = itemRoutes;
155650
155644
 
155651
155645
  // src/routes/crm/cpOrder/model.ts
@@ -156140,6 +156134,263 @@ var inspectionRoutes = new Elysia({
156140
156134
  }).get("/:id", async ({ params: { id }, user: user2 }) => logic_default14.getById(id, user2)).post("/:id", async ({ params: { id }, user: user2 }) => logic_default14.approve(id, user2)).put("/:id", async ({ params: { id }, user: user2 }) => logic_default14.cancel(id, user2)).post("/:id/service-order", async ({ params: { id }, user: user2 }) => logic_default14.createCpOrder(id, user2));
156141
156135
  var inspection_default = inspectionRoutes;
156142
156136
 
156137
+ // src/routes/crm/reports/logic.ts
156138
+ var CrmReportsLogic;
156139
+ ((CrmReportsLogic) => {
156140
+ const buildCommonFilters = (query, user2) => {
156141
+ return and(eq(crmCpOrderTable.companyId, user2.companyId), eq(crmCpOrderTable.companyBranchId, user2.branchId).if(user2.kind === "CUSTOMER"), eq(crmCpOrderTable.companyBranchId, query.companyBranchId).if(query.companyBranchId), gte(sql3`date(${crmCpOrderTable.createdAt})`, query.startDate).if(query.startDate), lte(sql3`date(${crmCpOrderTable.createdAt})`, query.endDate).if(query.endDate), softDeletedFilter(crmCpOrderTable));
156142
+ };
156143
+ CrmReportsLogic.salesReport = async (query, user2) => {
156144
+ const filter = and(buildCommonFilters(query, user2), eq(crmCpOrderTable.state, query.state).if(query.state));
156145
+ let baseQuery = db_default.select({
156146
+ totalCount: totalCountSql,
156147
+ order: crmCpOrderTable,
156148
+ customer: crmCustomerTable,
156149
+ vehicle: crmVehicleTable,
156150
+ vehicleKind: techdocVehicleKindTable,
156151
+ totalAmount: sql3`
156152
+ COALESCE(
156153
+ (SELECT SUM(${crmCpOrderItemTable.priceTotal})
156154
+ FROM ${crmCpOrderItemTable}
156155
+ WHERE ${crmCpOrderItemTable.cpOrderId} = ${crmCpOrderTable.id}
156156
+ AND ${crmCpOrderItemTable.deletedAt} IS NULL),
156157
+ 0
156158
+ )
156159
+ `,
156160
+ paidAmount: sql3`
156161
+ COALESCE(
156162
+ (SELECT SUM(${crmCpOrderPaymentTable.amount})
156163
+ FROM ${crmCpOrderPaymentTable}
156164
+ WHERE ${crmCpOrderPaymentTable.cpOrderId} = ${crmCpOrderTable.id}
156165
+ AND ${crmCpOrderPaymentTable.state} = 'PAID'
156166
+ AND ${crmCpOrderPaymentTable.deletedAt} IS NULL),
156167
+ 0
156168
+ )
156169
+ `
156170
+ }).from(crmCpOrderTable).leftJoin(crmCustomerTable, eq(crmCustomerTable.id, crmCpOrderTable.customerId)).leftJoin(crmVehicleTable, eq(crmVehicleTable.id, crmCpOrderTable.vehicleId)).leftJoin(techdocVehicleKindTable, eq(techdocVehicleKindTable.id, crmVehicleTable.vehicleKindId)).where(filter).orderBy(desc(crmCpOrderTable.createdAt)).$dynamic();
156171
+ const result = await pagination_helper_default(baseQuery, query.pagination);
156172
+ if (query.includeItems || query.includePayments) {
156173
+ const orderIds = result.map((r2) => r2.order.id);
156174
+ let items = [];
156175
+ let payments = [];
156176
+ if (query.includeItems && orderIds.length > 0) {
156177
+ items = await db_default.select().from(crmCpOrderItemTable).where(and(sql3`${crmCpOrderItemTable.cpOrderId} = ANY(${orderIds})`, softDeletedFilter(crmCpOrderItemTable)));
156178
+ }
156179
+ if (query.includePayments && orderIds.length > 0) {
156180
+ payments = await db_default.select().from(crmCpOrderPaymentTable).where(and(sql3`${crmCpOrderPaymentTable.cpOrderId} = ANY(${orderIds})`, softDeletedFilter(crmCpOrderPaymentTable)));
156181
+ }
156182
+ return result.map((order) => ({
156183
+ ...order,
156184
+ items: items.filter((item) => item.cpOrderId === order.order.id),
156185
+ payments: payments.filter((payment) => payment.cpOrderId === order.order.id)
156186
+ }));
156187
+ }
156188
+ return result;
156189
+ };
156190
+ CrmReportsLogic.salesSummary = async (query, user2) => {
156191
+ const filter = buildCommonFilters(query, user2);
156192
+ const [summary] = await db_default.select({
156193
+ totalOrders: count(crmCpOrderTable.id),
156194
+ totalRevenue: sql3`
156195
+ COALESCE(SUM(
156196
+ (SELECT SUM(${crmCpOrderItemTable.priceTotal})
156197
+ FROM ${crmCpOrderItemTable}
156198
+ WHERE ${crmCpOrderItemTable.cpOrderId} = ${crmCpOrderTable.id}
156199
+ AND ${crmCpOrderItemTable.deletedAt} IS NULL)
156200
+ ), 0)
156201
+ `,
156202
+ totalPaidAmount: sql3`
156203
+ COALESCE(SUM(
156204
+ (SELECT SUM(${crmCpOrderPaymentTable.amount})
156205
+ FROM ${crmCpOrderPaymentTable}
156206
+ WHERE ${crmCpOrderPaymentTable.cpOrderId} = ${crmCpOrderTable.id}
156207
+ AND ${crmCpOrderPaymentTable.state} = 'PAID'
156208
+ AND ${crmCpOrderPaymentTable.deletedAt} IS NULL)
156209
+ ), 0)
156210
+ `,
156211
+ averageOrderValue: sql3`
156212
+ COALESCE(AVG(
156213
+ (SELECT SUM(${crmCpOrderItemTable.priceTotal})
156214
+ FROM ${crmCpOrderItemTable}
156215
+ WHERE ${crmCpOrderItemTable.cpOrderId} = ${crmCpOrderTable.id}
156216
+ AND ${crmCpOrderItemTable.deletedAt} IS NULL)
156217
+ ), 0)
156218
+ `,
156219
+ ordersCompleted: sql3`
156220
+ COUNT(CASE WHEN ${crmCpOrderTable.state} = 'COMPLETE' THEN 1 END)
156221
+ `,
156222
+ ordersPending: sql3`
156223
+ COUNT(CASE WHEN ${crmCpOrderTable.state} = 'CREATED' THEN 1 END)
156224
+ `,
156225
+ ordersCancelled: sql3`
156226
+ COUNT(CASE WHEN ${crmCpOrderTable.state} = 'CANCELLED' THEN 1 END)
156227
+ `
156228
+ }).from(crmCpOrderTable).where(filter);
156229
+ return {
156230
+ totalOrders: summary.totalOrders,
156231
+ totalRevenue: summary.totalRevenue,
156232
+ totalPaidAmount: summary.totalPaidAmount,
156233
+ totalPendingAmount: summary.totalRevenue - summary.totalPaidAmount,
156234
+ averageOrderValue: summary.averageOrderValue,
156235
+ ordersCompleted: summary.ordersCompleted,
156236
+ ordersPending: summary.ordersPending,
156237
+ ordersCancelled: summary.ordersCancelled
156238
+ };
156239
+ };
156240
+ CrmReportsLogic.salesByPeriod = async (query, user2) => {
156241
+ const filter = buildCommonFilters(query, user2);
156242
+ const dateFormat = {
156243
+ day: "YYYY-MM-DD",
156244
+ week: "YYYY-WW",
156245
+ month: "YYYY-MM",
156246
+ year: "YYYY"
156247
+ }[query.groupBy];
156248
+ const result = await db_default.select({
156249
+ period: sql3`to_char(${crmCpOrderTable.createdAt}, '${sql3.raw(dateFormat)}')`,
156250
+ totalOrders: count(crmCpOrderTable.id),
156251
+ totalRevenue: sql3`
156252
+ COALESCE(SUM(
156253
+ (SELECT SUM(${crmCpOrderItemTable.priceTotal})
156254
+ FROM ${crmCpOrderItemTable}
156255
+ WHERE ${crmCpOrderItemTable.cpOrderId} = ${crmCpOrderTable.id}
156256
+ AND ${crmCpOrderItemTable.deletedAt} IS NULL)
156257
+ ), 0)
156258
+ `,
156259
+ totalPaidAmount: sql3`
156260
+ COALESCE(SUM(
156261
+ (SELECT SUM(${crmCpOrderPaymentTable.amount})
156262
+ FROM ${crmCpOrderPaymentTable}
156263
+ WHERE ${crmCpOrderPaymentTable.cpOrderId} = ${crmCpOrderTable.id}
156264
+ AND ${crmCpOrderPaymentTable.state} = 'PAID'
156265
+ AND ${crmCpOrderPaymentTable.deletedAt} IS NULL)
156266
+ ), 0)
156267
+ `
156268
+ }).from(crmCpOrderTable).where(filter).groupBy(sql3`to_char(${crmCpOrderTable.createdAt}, '${sql3.raw(dateFormat)}')`).orderBy(sql3`to_char(${crmCpOrderTable.createdAt}, '${sql3.raw(dateFormat)}')`);
156269
+ return result;
156270
+ };
156271
+ CrmReportsLogic.salesByEmployee = async (query, user2) => {
156272
+ const filter = buildCommonFilters(query, user2);
156273
+ const baseQuery = db_default.select({
156274
+ totalCount: totalCountSql,
156275
+ employeeId: crmCpOrderItemEmployeeTable.employeeId,
156276
+ employeeName: sql3`
156277
+ CONCAT(${companyEmployeeTable.firstname}, ' ', ${companyEmployeeTable.lastname})
156278
+ `,
156279
+ totalOrders: count(sql3`DISTINCT ${crmCpOrderTable.id}`),
156280
+ totalRevenue: sql3`
156281
+ COALESCE(SUM(${crmCpOrderItemEmployeeTable.amount}), 0)
156282
+ `,
156283
+ totalCommission: sql3`
156284
+ COALESCE(SUM(${crmCpOrderItemEmployeeTable.amount}) * 0.1, 0)
156285
+ `
156286
+ }).from(crmCpOrderItemEmployeeTable).innerJoin(crmCpOrderItemTable, eq(crmCpOrderItemTable.id, crmCpOrderItemEmployeeTable.cpOrderItemId)).innerJoin(crmCpOrderTable, eq(crmCpOrderTable.id, crmCpOrderItemTable.cpOrderId)).innerJoin(companyEmployeeTable, eq(companyEmployeeTable.id, crmCpOrderItemEmployeeTable.employeeId)).where(and(filter, softDeletedFilter(crmCpOrderItemEmployeeTable), softDeletedFilter(crmCpOrderItemTable), softDeletedFilter(companyEmployeeTable))).groupBy(crmCpOrderItemEmployeeTable.employeeId, companyEmployeeTable.firstname, companyEmployeeTable.lastname).orderBy(desc(sql3`SUM(${crmCpOrderItemEmployeeTable.amount})`)).$dynamic();
156287
+ return await pagination_helper_default(baseQuery, query.pagination);
156288
+ };
156289
+ CrmReportsLogic.paymentsReport = async (query, user2) => {
156290
+ const filter = and(buildCommonFilters(query, user2), eq(crmCpOrderPaymentTable.paymentMethod, query.method).if(query.method), eq(crmCpOrderPaymentTable.state, query.state).if(query.state), softDeletedFilter(crmCpOrderPaymentTable));
156291
+ const baseQuery = db_default.select({
156292
+ totalCount: totalCountSql,
156293
+ payment: crmCpOrderPaymentTable,
156294
+ order: crmCpOrderTable,
156295
+ customer: crmCustomerTable
156296
+ }).from(crmCpOrderPaymentTable).innerJoin(crmCpOrderTable, eq(crmCpOrderTable.id, crmCpOrderPaymentTable.cpOrderId)).leftJoin(crmCustomerTable, eq(crmCustomerTable.id, crmCpOrderTable.customerId)).where(filter).orderBy(desc(crmCpOrderPaymentTable.createdAt)).$dynamic();
156297
+ return await pagination_helper_default(baseQuery, query.pagination);
156298
+ };
156299
+ })(CrmReportsLogic ||= {});
156300
+ var logic_default15 = CrmReportsLogic;
156301
+
156302
+ // src/routes/crm/reports/model.ts
156303
+ var CrmReportsModel;
156304
+ ((CrmReportsModel) => {
156305
+ CrmReportsModel.baseDateFilter = t.Partial(t.Object({
156306
+ startDate: t.String({ format: "date" }),
156307
+ endDate: t.String({ format: "date" }),
156308
+ companyBranchId: t.String({ format: "uuid" })
156309
+ }));
156310
+ CrmReportsModel.salesReportQuery = t.Composite([
156311
+ PaginationSchema,
156312
+ CrmReportsModel.baseDateFilter,
156313
+ t.Partial(t.Object({
156314
+ state: t.UnionEnum(crmCpOrderStateEnum.enumValues, {
156315
+ default: undefined
156316
+ }),
156317
+ employeeId: t.String({ format: "uuid" }),
156318
+ includeItems: t.Boolean({ default: false }),
156319
+ includePayments: t.Boolean({ default: false })
156320
+ }))
156321
+ ]);
156322
+ CrmReportsModel.salesSummaryQuery = CrmReportsModel.baseDateFilter;
156323
+ CrmReportsModel.salesByPeriodQuery = t.Composite([
156324
+ CrmReportsModel.baseDateFilter,
156325
+ t.Object({
156326
+ groupBy: t.UnionEnum(["day", "week", "month", "year"])
156327
+ })
156328
+ ]);
156329
+ CrmReportsModel.salesByEmployeeQuery = t.Composite([
156330
+ PaginationSchema,
156331
+ CrmReportsModel.baseDateFilter
156332
+ ]);
156333
+ CrmReportsModel.paymentsReportQuery = t.Composite([
156334
+ PaginationSchema,
156335
+ CrmReportsModel.baseDateFilter,
156336
+ t.Partial(t.Object({
156337
+ method: t.String(),
156338
+ state: t.String()
156339
+ }))
156340
+ ]);
156341
+ CrmReportsModel.salesSummaryResponse = t.Object({
156342
+ totalOrders: t.Number(),
156343
+ totalRevenue: t.Number(),
156344
+ totalPaidAmount: t.Number(),
156345
+ totalPendingAmount: t.Number(),
156346
+ averageOrderValue: t.Number(),
156347
+ ordersCompleted: t.Number(),
156348
+ ordersPending: t.Number(),
156349
+ ordersCancelled: t.Number()
156350
+ });
156351
+ CrmReportsModel.salesByPeriodResponse = t.Array(t.Object({
156352
+ period: t.String(),
156353
+ totalOrders: t.Number(),
156354
+ totalRevenue: t.Number(),
156355
+ totalPaidAmount: t.Number()
156356
+ }));
156357
+ CrmReportsModel.salesByEmployeeResponse = t.Object({
156358
+ data: t.Array(t.Object({
156359
+ employeeId: t.String({ format: "uuid" }),
156360
+ employeeName: t.String(),
156361
+ totalOrders: t.Number(),
156362
+ totalRevenue: t.Number(),
156363
+ totalCommission: t.Number()
156364
+ })),
156365
+ totalCount: t.Number(),
156366
+ pagination: t.Object({
156367
+ page: t.Number(),
156368
+ size: t.Number(),
156369
+ totalPages: t.Number()
156370
+ })
156371
+ });
156372
+ })(CrmReportsModel ||= {});
156373
+ var model_default13 = CrmReportsModel;
156374
+
156375
+ // src/routes/crm/reports/index.ts
156376
+ var reportsRoutes = new Elysia({
156377
+ prefix: "/reports",
156378
+ tags: ["CrmReports"]
156379
+ }).use(better_auth_default).guard({
156380
+ auth: true
156381
+ }).get("/sales", async ({ query, user: user2 }) => logic_default15.salesReport(query, user2), {
156382
+ query: model_default13.salesReportQuery
156383
+ }).get("/sales/summary", async ({ query, user: user2 }) => logic_default15.salesSummary(query, user2), {
156384
+ query: model_default13.salesSummaryQuery
156385
+ }).get("/sales/by-period", async ({ query, user: user2 }) => logic_default15.salesByPeriod(query, user2), {
156386
+ query: model_default13.salesByPeriodQuery
156387
+ }).get("/sales/by-employee", async ({ query, user: user2 }) => logic_default15.salesByEmployee(query, user2), {
156388
+ query: model_default13.salesByEmployeeQuery
156389
+ }).get("/payments", async ({ query, user: user2 }) => logic_default15.paymentsReport(query, user2), {
156390
+ query: model_default13.paymentsReportQuery
156391
+ });
156392
+ var reports_default = reportsRoutes;
156393
+
156143
156394
  // src/routes/crm/spPackage/model.ts
156144
156395
  var CrmSpPackageModel;
156145
156396
  ((CrmSpPackageModel) => {
@@ -156153,7 +156404,7 @@ var CrmSpPackageModel;
156153
156404
  t.Partial(t.Pick(selectSchema, ["name", "priceTotal", "companyBranchId"]))
156154
156405
  ]);
156155
156406
  })(CrmSpPackageModel ||= {});
156156
- var model_default13 = CrmSpPackageModel;
156407
+ var model_default14 = CrmSpPackageModel;
156157
156408
 
156158
156409
  // src/routes/crm/spPackage/product/logic.ts
156159
156410
  var CrmSpPackageProductLogic;
@@ -156199,7 +156450,7 @@ var CrmSpPackageProductLogic;
156199
156450
  }).where(eq(crmSpPackageProductTable.id, id));
156200
156451
  };
156201
156452
  })(CrmSpPackageProductLogic ||= {});
156202
- var logic_default15 = CrmSpPackageProductLogic;
156453
+ var logic_default16 = CrmSpPackageProductLogic;
156203
156454
 
156204
156455
  // src/routes/crm/spPackage/product/model.ts
156205
156456
  var CrmSpPackageProductModel;
@@ -156211,7 +156462,7 @@ var CrmSpPackageProductModel;
156211
156462
  CrmSpPackageProductModel.update = OmitBaseSchema(updateSchema);
156212
156463
  CrmSpPackageProductModel.select = t.Pick(selectSchema, ["spPackageId"]);
156213
156464
  })(CrmSpPackageProductModel ||= {});
156214
- var model_default14 = CrmSpPackageProductModel;
156465
+ var model_default15 = CrmSpPackageProductModel;
156215
156466
 
156216
156467
  // src/routes/crm/spPackage/product/index.ts
156217
156468
  var productRoutes = new Elysia({
@@ -156219,17 +156470,17 @@ var productRoutes = new Elysia({
156219
156470
  tags: ["CrmSpPackageProduct"]
156220
156471
  }).use(better_auth_default).guard({
156221
156472
  auth: true
156222
- }).get("/", async ({ query }) => logic_default15.select(query), {
156223
- query: model_default14.select
156224
- }).post("/", async ({ body }) => logic_default15.create(body), {
156225
- body: model_default14.create
156226
- }).post("/many", async ({ body }) => logic_default15.createMany(body), {
156227
- body: t.Array(model_default14.create)
156473
+ }).get("/", async ({ query }) => logic_default16.select(query), {
156474
+ query: model_default15.select
156475
+ }).post("/", async ({ body }) => logic_default16.create(body), {
156476
+ body: model_default15.create
156477
+ }).post("/many", async ({ body }) => logic_default16.createMany(body), {
156478
+ body: t.Array(model_default15.create)
156228
156479
  }).guard({
156229
156480
  params: IdSchema
156230
- }).put("/:id", async ({ params, body }) => logic_default15.update(params.id, body), {
156231
- body: model_default14.update
156232
- }).delete("/:id", async ({ params }) => logic_default15.remove(params.id));
156481
+ }).put("/:id", async ({ params, body }) => logic_default16.update(params.id, body), {
156482
+ body: model_default15.update
156483
+ }).delete("/:id", async ({ params }) => logic_default16.remove(params.id));
156233
156484
  var product_default = productRoutes;
156234
156485
 
156235
156486
  // src/routes/crm/spPackage/service/logic.ts
@@ -156272,7 +156523,7 @@ var CrmSpPackageServiceLogic;
156272
156523
  }).where(eq(crmSpPackageServiceTable.id, id));
156273
156524
  };
156274
156525
  })(CrmSpPackageServiceLogic ||= {});
156275
- var logic_default16 = CrmSpPackageServiceLogic;
156526
+ var logic_default17 = CrmSpPackageServiceLogic;
156276
156527
 
156277
156528
  // src/routes/crm/spPackage/service/model.ts
156278
156529
  var CrmSpPackageServiceModel;
@@ -156284,7 +156535,7 @@ var CrmSpPackageServiceModel;
156284
156535
  CrmSpPackageServiceModel.update = OmitBaseSchema(updateSchema);
156285
156536
  CrmSpPackageServiceModel.select = t.Pick(selectSchema, ["spPackageId"]);
156286
156537
  })(CrmSpPackageServiceModel ||= {});
156287
- var model_default15 = CrmSpPackageServiceModel;
156538
+ var model_default16 = CrmSpPackageServiceModel;
156288
156539
 
156289
156540
  // src/routes/crm/spPackage/service/index.ts
156290
156541
  var serviceRoutes = new Elysia({
@@ -156292,17 +156543,17 @@ var serviceRoutes = new Elysia({
156292
156543
  tags: ["CrmSpPackageService"]
156293
156544
  }).use(better_auth_default).guard({
156294
156545
  auth: true
156295
- }).get("/", async ({ query }) => logic_default16.select(query), {
156296
- query: model_default15.select
156297
- }).post("/", async ({ body }) => logic_default16.create(body), {
156298
- body: model_default15.create
156299
- }).post("/many", async ({ body }) => logic_default16.createMany(body), {
156300
- body: t.Array(model_default15.create)
156546
+ }).get("/", async ({ query }) => logic_default17.select(query), {
156547
+ query: model_default16.select
156548
+ }).post("/", async ({ body }) => logic_default17.create(body), {
156549
+ body: model_default16.create
156550
+ }).post("/many", async ({ body }) => logic_default17.createMany(body), {
156551
+ body: t.Array(model_default16.create)
156301
156552
  }).guard({
156302
156553
  params: IdSchema
156303
- }).put("/:id", async ({ params, body }) => logic_default16.update(params.id, body), {
156304
- body: model_default15.update
156305
- }).delete("/:id", async ({ params }) => logic_default16.remove(params.id));
156554
+ }).put("/:id", async ({ params, body }) => logic_default17.update(params.id, body), {
156555
+ body: model_default16.update
156556
+ }).delete("/:id", async ({ params }) => logic_default17.remove(params.id));
156306
156557
  var service_default = serviceRoutes;
156307
156558
 
156308
156559
  // src/routes/crm/spPackage/index.ts
@@ -156312,12 +156563,12 @@ var spPackageRoutes = new Elysia({
156312
156563
  }).use(better_auth_default).use(service_default).use(product_default).guard({
156313
156564
  auth: true
156314
156565
  }).get("/", async ({ query, user: user2 }) => logic_default7.select(query, user2), {
156315
- query: model_default13.select
156566
+ query: model_default14.select
156316
156567
  }).post("/", async ({ body, user: user2 }) => logic_default7.create(body, user2), {
156317
- body: model_default13.create
156568
+ body: model_default14.create
156318
156569
  }).guard({
156319
156570
  params: IdSchema
156320
- }).put("/:id", async ({ body, user: user2, params }) => logic_default7.update(params.id, body, user2), { body: model_default13.update }).delete("/:id", async ({ user: user2, params: { id } }) => logic_default7.remove(id, user2));
156571
+ }).put("/:id", async ({ body, user: user2, params }) => logic_default7.update(params.id, body, user2), { body: model_default14.update }).delete("/:id", async ({ user: user2, params: { id } }) => logic_default7.remove(id, user2));
156321
156572
  var spPackage_default = spPackageRoutes;
156322
156573
 
156323
156574
  // src/routes/crm/vehicle/model.ts
@@ -156340,7 +156591,7 @@ var CrmVehicleModel;
156340
156591
  }))
156341
156592
  ]);
156342
156593
  })(CrmVehicleModel ||= {});
156343
- var model_default16 = CrmVehicleModel;
156594
+ var model_default17 = CrmVehicleModel;
156344
156595
 
156345
156596
  // src/routes/crm/vehicle/index.ts
156346
156597
  var vehicleRoutes = new Elysia({
@@ -156353,20 +156604,20 @@ var vehicleRoutes = new Elysia({
156353
156604
  auth: true,
156354
156605
  tags: ["Vehicle"]
156355
156606
  }).get("/", async ({ query, user: user2 }) => logic_default9.select(query, user2), {
156356
- query: model_default16.select
156607
+ query: model_default17.select
156357
156608
  }).post("/", async ({ body, user: user2 }) => logic_default9.create(body, user2), {
156358
- body: model_default16.create
156609
+ body: model_default17.create
156359
156610
  }).guard({
156360
156611
  params: IdSchema
156361
156612
  }).get("/:id", async ({ params, user: user2 }) => logic_default9.selectById(params.id, user2)).put("/:id", async ({ params, body, user: user2 }) => logic_default9.update(params.id, body, user2), {
156362
- body: model_default16.update
156613
+ body: model_default17.update
156363
156614
  }).delete("/:id", async ({ params, user: user2 }) => logic_default9.remove(params.id, user2)));
156364
156615
  var vehicle_default = vehicleRoutes;
156365
156616
 
156366
156617
  // src/routes/crm/index.ts
156367
156618
  var crmSchemaRoutes = new Elysia({
156368
156619
  prefix: "/crm"
156369
- }).use(cpOrder_default).use(spPackage_default).use(vehicle_default).use(customer_default).use(discount_default).use(inspection_default);
156620
+ }).use(cpOrder_default).use(spPackage_default).use(vehicle_default).use(customer_default).use(discount_default).use(inspection_default).use(reports_default);
156370
156621
  var crm_default = crmSchemaRoutes;
156371
156622
 
156372
156623
  // src/lib/s3Client.ts
@@ -156635,7 +156886,7 @@ var PermissionLogic;
156635
156886
  return permissions;
156636
156887
  };
156637
156888
  })(PermissionLogic ||= {});
156638
- var logic_default17 = PermissionLogic;
156889
+ var logic_default18 = PermissionLogic;
156639
156890
 
156640
156891
  // src/routes/permission/model.ts
156641
156892
  var PermissionModel;
@@ -156650,7 +156901,7 @@ var PermissionModel;
156650
156901
  permissions: t.Array(t.String())
156651
156902
  });
156652
156903
  })(PermissionModel ||= {});
156653
- var model_default17 = PermissionModel;
156904
+ var model_default18 = PermissionModel;
156654
156905
 
156655
156906
  // src/routes/permission/index.ts
156656
156907
  var groupService = new CrudHelper(permissionGroupTable, "\u042D\u0440\u0445\u0438\u0439\u043D \u0431\u0430\u0433\u0446 \u043E\u043B\u0434\u0441\u043E\u043D\u0433\u04AF\u0439.");
@@ -156666,8 +156917,8 @@ var permissionRoutes = new Elysia({
156666
156917
  return permissionList;
156667
156918
  }, {
156668
156919
  permission: "PERMISSION_ADD"
156669
- }).post("/", ({ body }) => logic_default17.addPermission(body), {
156670
- body: model_default17.addPermission,
156920
+ }).post("/", ({ body }) => logic_default18.addPermission(body), {
156921
+ body: model_default18.addPermission,
156671
156922
  permission: "PERMISSION_ADD",
156672
156923
  beforeHandle({ status: status2, body, permissions, publicPermissions }) {
156673
156924
  if (!permissions.includes("BACK_OFFICE_ADMIN") && body.permissions.some((bp) => !publicPermissions.map((pp) => pp.code).includes(bp))) {
@@ -156676,14 +156927,14 @@ var permissionRoutes = new Elysia({
156676
156927
  }
156677
156928
  }).group("/group", (app2) => app2.guard({
156678
156929
  permission: "PERMISSION_GROUP_ALL"
156679
- }).get("/", async ({ query }) => await logic_default17.selectGroups(query), {
156680
- query: model_default17.select
156930
+ }).get("/", async ({ query }) => await logic_default18.selectGroups(query), {
156931
+ query: model_default18.select
156681
156932
  }).post("/", async ({ body }) => await groupService.create(body), {
156682
- body: model_default17.create
156933
+ body: model_default18.create
156683
156934
  }).guard({
156684
156935
  params: IdSchema
156685
156936
  }).put("/:id", async ({ body, params: { id } }) => groupService.update(id, body), {
156686
- body: model_default17.update
156937
+ body: model_default18.update
156687
156938
  }).delete("/:id", async ({ params: { id } }) => groupService.delete(id)));
156688
156939
  var permission_default2 = permissionRoutes;
156689
156940
 
@@ -156731,7 +156982,7 @@ var TechdocSupplierLogic;
156731
156982
  }).where(eq(techdocSupplierTable.id, id));
156732
156983
  };
156733
156984
  })(TechdocSupplierLogic ||= {});
156734
- var logic_default18 = TechdocSupplierLogic;
156985
+ var logic_default19 = TechdocSupplierLogic;
156735
156986
 
156736
156987
  // src/routes/techdoc/supplier/model.ts
156737
156988
  var TechdocSupplierModel;
@@ -156749,24 +157000,24 @@ var TechdocSupplierModel;
156749
157000
  const updateSchema = createUpdateSchema(techdocSupplierTable);
156750
157001
  TechdocSupplierModel.update = OmitBaseSchema(updateSchema);
156751
157002
  })(TechdocSupplierModel ||= {});
156752
- var model_default18 = TechdocSupplierModel;
157003
+ var model_default19 = TechdocSupplierModel;
156753
157004
 
156754
157005
  // src/routes/techdoc/supplier/index.ts
156755
157006
  var supplierRoutes = new Elysia({
156756
157007
  prefix: "/supplier",
156757
157008
  tags: ["TechdocSupplier"]
156758
- }).use(better_auth_default).get("/", async ({ query, user: user2 }) => logic_default18.select(query, user2), {
156759
- query: model_default18.select,
157009
+ }).use(better_auth_default).get("/", async ({ query, user: user2 }) => logic_default19.select(query, user2), {
157010
+ query: model_default19.select,
156760
157011
  auth: true
156761
157012
  }).guard({
156762
157013
  userKind: "ADMIN"
156763
- }).post("/", async ({ body }) => logic_default18.create(body), {
156764
- body: model_default18.create
157014
+ }).post("/", async ({ body }) => logic_default19.create(body), {
157015
+ body: model_default19.create
156765
157016
  }).guard({
156766
157017
  params: IdSchema
156767
- }).put("/:id", ({ body, params: { id } }) => logic_default18.update(id, body), {
156768
- body: model_default18.update
156769
- }).delete("/:id", ({ params: { id } }) => logic_default18.remove(id));
157018
+ }).put("/:id", ({ body, params: { id } }) => logic_default19.update(id, body), {
157019
+ body: model_default19.update
157020
+ }).delete("/:id", ({ params: { id } }) => logic_default19.remove(id));
156770
157021
  var supplier_default = supplierRoutes;
156771
157022
 
156772
157023
  // src/routes/techdoc/vehicleKind/model.ts
@@ -156780,7 +157031,7 @@ var TechdocVehicleKindModel;
156780
157031
  const updateSchema = createUpdateSchema(techdocVehicleKindTable);
156781
157032
  TechdocVehicleKindModel.update = OmitBaseSchema(updateSchema);
156782
157033
  })(TechdocVehicleKindModel ||= {});
156783
- var model_default19 = TechdocVehicleKindModel;
157034
+ var model_default20 = TechdocVehicleKindModel;
156784
157035
 
156785
157036
  // src/routes/techdoc/vehicleKind/index.ts
156786
157037
  var vehicleKindRoutes = new Elysia({
@@ -156789,9 +157040,9 @@ var vehicleKindRoutes = new Elysia({
156789
157040
  }).use(better_auth_default).guard({
156790
157041
  auth: true
156791
157042
  }).get("/", async ({ query }) => logic_default8.select(query), {
156792
- query: model_default19.select
157043
+ query: model_default20.select
156793
157044
  }).put("/:id", async ({ body, params: { id } }) => logic_default8.update(id, body), {
156794
- body: model_default19.update,
157045
+ body: model_default20.update,
156795
157046
  params: IdSchema,
156796
157047
  userKind: "ADMIN"
156797
157048
  });
@@ -156921,7 +157172,7 @@ var UserLogic;
156921
157172
  totalCount: totalCountSql
156922
157173
  }).from(user).where(filter).$dynamic();
156923
157174
  const users = await pagination_helper_default(baseQuery, query.pagination);
156924
- const userPermissions2 = await logic_default17.selectByUserId(users.map((u) => u.id));
157175
+ const userPermissions2 = await logic_default18.selectByUserId(users.map((u) => u.id));
156925
157176
  const content = {
156926
157177
  totalCount: users[0]?.totalCount ?? 0,
156927
157178
  totalPage: users.length === 0 ? 0 : Math.ceil(users[0].totalCount / query.pagination.size)
@@ -156987,7 +157238,7 @@ var UserLogic;
156987
157238
  });
156988
157239
  };
156989
157240
  })(UserLogic ||= {});
156990
- var logic_default19 = UserLogic;
157241
+ var logic_default20 = UserLogic;
156991
157242
 
156992
157243
  // src/routes/user/schema.ts
156993
157244
  var select = createSelectSchema(user);
@@ -157020,7 +157271,7 @@ var userRoutes = new Elysia({
157020
157271
  }).use(better_auth_default).guard({
157021
157272
  auth: true,
157022
157273
  tags: ["User"]
157023
- }).get("/", async ({ query, user: user2 }) => logic_default19.select(query, user2), {
157274
+ }).get("/", async ({ query, user: user2 }) => logic_default20.select(query, user2), {
157024
157275
  query: selectUserSchema,
157025
157276
  userKind: "COMPANY_ADMIN"
157026
157277
  }).get("/me", async ({ user: user2 }) => {
@@ -157032,10 +157283,10 @@ var userRoutes = new Elysia({
157032
157283
  ...user2,
157033
157284
  company: company2.result[0]
157034
157285
  };
157035
- }).post("/", async ({ body, user: user2 }) => logic_default19.registerUser(body, user2), {
157286
+ }).post("/", async ({ body, user: user2 }) => logic_default20.registerUser(body, user2), {
157036
157287
  body: createUserSchema,
157037
157288
  userKind: "COMPANY_ADMIN"
157038
- }).put("/:id", async ({ body, user: user2, params: { id } }) => logic_default19.update(id, body, user2), {
157289
+ }).put("/:id", async ({ body, user: user2, params: { id } }) => logic_default20.update(id, body, user2), {
157039
157290
  body: updateUserSchema,
157040
157291
  userKind: "COMPANY_ADMIN"
157041
157292
  });
@@ -157064,7 +157315,7 @@ var WarehouseProductModel;
157064
157315
  PaginationSchema
157065
157316
  ]);
157066
157317
  })(WarehouseProductModel ||= {});
157067
- var model_default20 = WarehouseProductModel;
157318
+ var model_default21 = WarehouseProductModel;
157068
157319
 
157069
157320
  // src/routes/warehouse/item/model.ts
157070
157321
  var WarehouseItemModel;
@@ -157079,7 +157330,7 @@ var WarehouseItemModel;
157079
157330
  WarehouseItemModel.select = t.Composite([
157080
157331
  PaginationSchema,
157081
157332
  t.Partial(t.Object({
157082
- product: model_default20.select,
157333
+ product: model_default21.select,
157083
157334
  shelfNumber: t.String(),
157084
157335
  safetyStock: t.Number(),
157085
157336
  warehouseId: t.String({ format: "uuid" })
@@ -157097,7 +157348,7 @@ var WarehouseItemModel;
157097
157348
  transferId: t.String({ format: "uuid", default: undefined })
157098
157349
  })),
157099
157350
  t.Partial(t.Object({
157100
- product: t.Omit(model_default20.select, ["pagination"]),
157351
+ product: t.Omit(model_default21.select, ["pagination"]),
157101
157352
  itemId: t.String({ format: "uuid", default: undefined }),
157102
157353
  dateFrom: t.String({ format: "date-time", default: undefined }),
157103
157354
  dateTo: t.String({ format: "date-time", default: undefined }),
@@ -157121,7 +157372,7 @@ var WarehouseItemModel;
157121
157372
  transactionDetails
157122
157373
  });
157123
157374
  })(WarehouseItemModel ||= {});
157124
- var model_default21 = WarehouseItemModel;
157375
+ var model_default22 = WarehouseItemModel;
157125
157376
 
157126
157377
  // src/routes/warehouse/item/index.ts
157127
157378
  var itemRoutes2 = new Elysia({
@@ -157130,19 +157381,19 @@ var itemRoutes2 = new Elysia({
157130
157381
  }).use(better_auth_default).guard({
157131
157382
  userKind: "CUSTOMER"
157132
157383
  }).get("/", async ({ query, user: user2 }) => logic_default4.select(query, user2), {
157133
- query: model_default21.select
157384
+ query: model_default22.select
157134
157385
  }).post("/", async ({ body }) => logic_default4.create(body), {
157135
- body: model_default21.create
157386
+ body: model_default22.create
157136
157387
  }).post("/many", async ({ body, user: user2 }) => logic_default4.createMany(body, user2), {
157137
- body: model_default21.createMany
157388
+ body: model_default22.createMany
157138
157389
  }).get("/transaction", async ({ query, user: user2 }) => logic_default4.selectTransaction(query, user2), {
157139
- query: model_default21.selectTransaction
157390
+ query: model_default22.selectTransaction
157140
157391
  }).post("/change-quantity", async ({ body, user: user2 }) => logic_default4.changeQuantity(body, user2), {
157141
- body: model_default21.changeQuantity
157392
+ body: model_default22.changeQuantity
157142
157393
  }).guard({
157143
157394
  params: IdSchema
157144
157395
  }).put("/:id", async ({ body, params: { id } }) => logic_default4.update(id, body), {
157145
- body: model_default21.update
157396
+ body: model_default22.update
157146
157397
  });
157147
157398
  var item_default3 = itemRoutes2;
157148
157399
 
@@ -157153,14 +157404,14 @@ var productRoutes3 = new Elysia({
157153
157404
  }).use(better_auth_default).guard({ auth: true }).get("/", async ({ query, user: user2 }) => {
157154
157405
  return logic_default3.select(query, user2);
157155
157406
  }, {
157156
- query: model_default20.select
157407
+ query: model_default21.select
157157
157408
  }).post("/", async ({ body, user: user2 }) => logic_default3.create(body, user2), {
157158
- body: model_default20.create
157409
+ body: model_default21.create
157159
157410
  }).post("/many", async ({ body, user: user2 }) => logic_default3.createMany(body, user2), {
157160
- body: t.Array(model_default20.create)
157161
- }).post("/download", async ({ query, user: user2 }) => logic_default3.downloadExcel(query, user2), { query: model_default20.select }).guard({
157411
+ body: t.Array(model_default21.create)
157412
+ }).post("/download", async ({ query, user: user2 }) => logic_default3.downloadExcel(query, user2), { query: model_default21.select }).guard({
157162
157413
  params: IdSchema
157163
- }).put("/:id", async ({ params: { id }, body, user: user2 }) => logic_default3.update(id, body, user2), { body: model_default20.update });
157414
+ }).put("/:id", async ({ params: { id }, body, user: user2 }) => logic_default3.update(id, body, user2), { body: model_default21.update });
157164
157415
  var product_default3 = productRoutes3;
157165
157416
 
157166
157417
  // src/routes/warehouse/warehouse/logic.ts
@@ -157203,7 +157454,7 @@ var WarehouseWarehouseLogic;
157203
157454
  }).where(and(eq(warehouseWarehouseTable.id, id), eq(warehouseWarehouseTable.companyId, user2.companyId), eq(warehouseWarehouseTable.branchId, user2.branchId).if(user2.kind !== "COMPANY_ADMIN")));
157204
157455
  };
157205
157456
  })(WarehouseWarehouseLogic ||= {});
157206
- var logic_default20 = WarehouseWarehouseLogic;
157457
+ var logic_default21 = WarehouseWarehouseLogic;
157207
157458
 
157208
157459
  // src/routes/warehouse/warehouse/model.ts
157209
157460
  var WarehouseWarehouseModel;
@@ -157222,21 +157473,21 @@ var WarehouseWarehouseModel;
157222
157473
  PaginationSchema
157223
157474
  ]);
157224
157475
  })(WarehouseWarehouseModel ||= {});
157225
- var model_default22 = WarehouseWarehouseModel;
157476
+ var model_default23 = WarehouseWarehouseModel;
157226
157477
 
157227
157478
  // src/routes/warehouse/warehouse/index.ts
157228
157479
  var warehouseRoutes = new Elysia({
157229
157480
  prefix: "/warehouse",
157230
157481
  tags: ["Warehouse"]
157231
- }).use(better_auth_default).guard({ userKind: "COMPANY_ADMIN" }).get("/", async ({ query, user: user2 }) => logic_default20.select(query, user2), {
157232
- query: model_default22.select
157233
- }).post("/", async ({ body, user: user2 }) => logic_default20.create(body, user2), {
157234
- body: model_default22.create
157482
+ }).use(better_auth_default).guard({ userKind: "COMPANY_ADMIN" }).get("/", async ({ query, user: user2 }) => logic_default21.select(query, user2), {
157483
+ query: model_default23.select
157484
+ }).post("/", async ({ body, user: user2 }) => logic_default21.create(body, user2), {
157485
+ body: model_default23.create
157235
157486
  }).guard({
157236
157487
  params: IdSchema
157237
- }).put("/:id", async ({ params: { id }, body, user: user2 }) => logic_default20.update(id, body, user2), {
157238
- body: model_default22.update
157239
- }).delete("/:id", async ({ params: { id }, user: user2 }) => logic_default20.remove(id, user2));
157488
+ }).put("/:id", async ({ params: { id }, body, user: user2 }) => logic_default21.update(id, body, user2), {
157489
+ body: model_default23.update
157490
+ }).delete("/:id", async ({ params: { id }, user: user2 }) => logic_default21.remove(id, user2));
157240
157491
  var warehouse_default = warehouseRoutes;
157241
157492
 
157242
157493
  // src/routes/warehouse/index.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "autosync_backend2",
3
- "version": "1.1.67",
3
+ "version": "1.1.68",
4
4
  "module": "src/index.ts",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",