@react-pakistan/util-functions 1.24.70 → 1.24.73

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 (39) hide show
  1. package/api/stellar-solutions/app-user/index.d.ts +8 -7
  2. package/api/stellar-solutions/app-user/index.js +60 -24
  3. package/api/stellar-solutions/bank/index.d.ts +14 -11
  4. package/api/stellar-solutions/bank/index.js +60 -22
  5. package/api/stellar-solutions/branch/index.d.ts +11 -8
  6. package/api/stellar-solutions/branch/index.js +61 -17
  7. package/api/stellar-solutions/company/index.d.ts +12 -8
  8. package/api/stellar-solutions/company/index.js +41 -27
  9. package/api/stellar-solutions/company-report/index.d.ts +1 -1
  10. package/api/stellar-solutions/contact/index.d.ts +12 -9
  11. package/api/stellar-solutions/contact/index.js +70 -22
  12. package/api/stellar-solutions/currency/index.d.ts +11 -8
  13. package/api/stellar-solutions/currency/index.js +66 -31
  14. package/api/stellar-solutions/customer/index.d.ts +14 -10
  15. package/api/stellar-solutions/customer/index.js +80 -35
  16. package/api/stellar-solutions/expense/index.d.ts +8 -7
  17. package/api/stellar-solutions/expense/index.js +77 -29
  18. package/api/stellar-solutions/expense-category/index.d.ts +8 -9
  19. package/api/stellar-solutions/expense-category/index.js +45 -30
  20. package/api/stellar-solutions/lead/index.d.ts +6 -5
  21. package/api/stellar-solutions/lead/index.js +46 -28
  22. package/api/stellar-solutions/menu-order/index.d.ts +11 -8
  23. package/api/stellar-solutions/menu-order/index.js +56 -29
  24. package/api/stellar-solutions/payment/index.d.ts +9 -8
  25. package/api/stellar-solutions/payment/index.js +56 -39
  26. package/api/stellar-solutions/payment-mode/index.d.ts +13 -7
  27. package/api/stellar-solutions/payment-mode/index.js +65 -33
  28. package/api/stellar-solutions/preference/index.d.ts +4 -4
  29. package/api/stellar-solutions/preference/index.js +11 -11
  30. package/api/stellar-solutions/product/index.d.ts +9 -12
  31. package/api/stellar-solutions/product/index.js +45 -32
  32. package/api/stellar-solutions/product-category/index.d.ts +8 -9
  33. package/api/stellar-solutions/product-category/index.js +45 -30
  34. package/api/stellar-solutions/quote-invoice/index.d.ts +9 -8
  35. package/api/stellar-solutions/quote-invoice/index.js +40 -25
  36. package/api/stellar-solutions/quote-invoice-report/index.d.ts +1 -1
  37. package/api/stellar-solutions/tax/index.d.ts +9 -6
  38. package/api/stellar-solutions/tax/index.js +44 -21
  39. package/package.json +1 -1
@@ -1,24 +1,25 @@
1
1
  import { AppUserBE } from '../type';
2
2
  type PrismaClient = any;
3
- interface ListAppUserArgs {
4
- currentPage: number;
3
+ export interface ListAppUserArgs {
4
+ currentPage?: number;
5
5
  orderByColumn?: string;
6
6
  orderByDirection?: 'asc' | 'desc';
7
- pageLimit: number;
7
+ pageLimit?: number;
8
8
  prisma: PrismaClient;
9
+ searchQuery?: string;
9
10
  }
10
- interface UnitAppUserByIdArgs {
11
+ export interface UnitAppUserByIdArgs {
11
12
  id: string;
12
13
  prisma: PrismaClient;
13
14
  }
14
- interface UpdateAppUserArgs {
15
+ export interface UpdateAppUserArgs {
15
16
  email: string;
16
17
  firstName: string;
17
18
  id: string;
18
19
  lastName: string;
19
20
  prisma: PrismaClient;
20
21
  }
21
- interface DeleteAppUserArgs {
22
+ export interface DeleteAppUserArgs {
22
23
  id: string;
23
24
  prisma: PrismaClient;
24
25
  }
@@ -27,7 +28,7 @@ interface DeleteAppUserArgs {
27
28
  * @param {ListAppUserArgs} args - Object containing prisma client, pagination, and query options
28
29
  * @returns {Promise<[number, Array<AppUserBE>]>} Tuple of [total count, array of app users]
29
30
  */
30
- export declare const listAppUser: ({ currentPage, orderByColumn, orderByDirection, pageLimit, prisma, }: ListAppUserArgs) => Promise<[number, Array<AppUserBE>]>;
31
+ export declare const listAppUser: ({ currentPage, orderByColumn, orderByDirection, pageLimit, prisma, searchQuery, }: ListAppUserArgs) => Promise<[number, Array<AppUserBE>]>;
31
32
  /**
32
33
  * Retrieves a single app user by ID
33
34
  * @param {UnitAppUserByIdArgs} args - Object containing prisma client and user query
@@ -46,19 +46,29 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
46
46
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
47
  }
48
48
  };
49
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
50
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
51
+ if (ar || !(i in from)) {
52
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
53
+ ar[i] = from[i];
54
+ }
55
+ }
56
+ return to.concat(ar || Array.prototype.slice.call(from));
57
+ };
49
58
  Object.defineProperty(exports, "__esModule", { value: true });
50
59
  exports.deleteAppUser = exports.updateAppUser = exports.unitAppUserById = exports.listAppUser = void 0;
60
+ var general_1 = require("../../../general");
51
61
  /**
52
62
  * Retrieves all app users from the database with pagination
53
63
  * @param {ListAppUserArgs} args - Object containing prisma client, pagination, and query options
54
64
  * @returns {Promise<[number, Array<AppUserBE>]>} Tuple of [total count, array of app users]
55
65
  */
56
66
  var listAppUser = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
57
- var appUsers;
58
- var _c;
59
- var currentPage = _b.currentPage, _d = _b.orderByColumn, orderByColumn = _d === void 0 ? 'createdAt' : _d, _e = _b.orderByDirection, orderByDirection = _e === void 0 ? 'desc' : _e, pageLimit = _b.pageLimit, prisma = _b.prisma;
60
- return __generator(this, function (_f) {
61
- switch (_f.label) {
67
+ var orderBy, idSearchQuery, emailSearchQuery, firstNameSearchQuery, lastNameSearchQuery, where, _c, count, items;
68
+ var _d;
69
+ var _e = _b.currentPage, currentPage = _e === void 0 ? 1 : _e, _f = _b.orderByColumn, orderByColumn = _f === void 0 ? 'createdAt' : _f, _g = _b.orderByDirection, orderByDirection = _g === void 0 ? 'desc' : _g, _h = _b.pageLimit, pageLimit = _h === void 0 ? 5 : _h, prisma = _b.prisma, _j = _b.searchQuery, searchQuery = _j === void 0 ? '' : _j;
70
+ return __generator(this, function (_k) {
71
+ switch (_k.label) {
62
72
  case 0:
63
73
  if (!currentPage || currentPage < 1) {
64
74
  throw new Error('Valid current page is required');
@@ -66,19 +76,42 @@ var listAppUser = function (_a) { return __awaiter(void 0, [_a], void 0, functio
66
76
  if (!pageLimit || pageLimit < 1) {
67
77
  throw new Error('Valid page limit is required');
68
78
  }
79
+ orderBy = (_d = {},
80
+ _d[orderByColumn] = orderByDirection,
81
+ _d);
82
+ idSearchQuery = (0, general_1.multiPartSearch)({
83
+ columnName: 'id',
84
+ fullText: searchQuery,
85
+ });
86
+ emailSearchQuery = (0, general_1.multiPartSearch)({
87
+ columnName: 'email',
88
+ fullText: searchQuery,
89
+ });
90
+ firstNameSearchQuery = (0, general_1.multiPartSearch)({
91
+ columnName: 'firstName',
92
+ fullText: searchQuery,
93
+ });
94
+ lastNameSearchQuery = (0, general_1.multiPartSearch)({
95
+ columnName: 'lastName',
96
+ fullText: searchQuery,
97
+ });
98
+ where = {
99
+ OR: __spreadArray(__spreadArray(__spreadArray(__spreadArray([], idSearchQuery, true), emailSearchQuery, true), firstNameSearchQuery, true), lastNameSearchQuery, true),
100
+ };
69
101
  return [4 /*yield*/, prisma.$transaction([
70
- prisma.appUser.count(),
102
+ prisma.appUser.count({
103
+ where: where,
104
+ }),
71
105
  prisma.appUser.findMany({
72
- orderBy: (_c = {},
73
- _c[orderByColumn] = orderByDirection,
74
- _c),
106
+ orderBy: orderBy,
75
107
  skip: (currentPage - 1) * pageLimit,
76
108
  take: pageLimit,
109
+ where: where,
77
110
  }),
78
111
  ])];
79
112
  case 1:
80
- appUsers = _f.sent();
81
- return [2 /*return*/, appUsers];
113
+ _c = _k.sent(), count = _c[0], items = _c[1];
114
+ return [2 /*return*/, [count, items]];
82
115
  }
83
116
  });
84
117
  }); };
@@ -89,7 +122,7 @@ exports.listAppUser = listAppUser;
89
122
  * @returns {Promise<AppUserBE | null>} App user if found, null otherwise
90
123
  */
91
124
  var unitAppUserById = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
92
- var appUser;
125
+ var where, appUser;
93
126
  var id = _b.id, prisma = _b.prisma;
94
127
  return __generator(this, function (_c) {
95
128
  switch (_c.label) {
@@ -97,10 +130,11 @@ var unitAppUserById = function (_a) { return __awaiter(void 0, [_a], void 0, fun
97
130
  if (!id) {
98
131
  throw new Error('User ID is required');
99
132
  }
133
+ where = {
134
+ id: id,
135
+ };
100
136
  return [4 /*yield*/, prisma.appUser.findUnique({
101
- where: {
102
- id: id,
103
- },
137
+ where: where,
104
138
  })];
105
139
  case 1:
106
140
  appUser = _c.sent();
@@ -115,7 +149,7 @@ exports.unitAppUserById = unitAppUserById;
115
149
  * @returns {Promise<AppUserBE>} Created or updated app user
116
150
  */
117
151
  var updateAppUser = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
118
- var userData, appUser;
152
+ var userData, where, appUser;
119
153
  var email = _b.email, firstName = _b.firstName, id = _b.id, lastName = _b.lastName, prisma = _b.prisma;
120
154
  return __generator(this, function (_c) {
121
155
  switch (_c.label) {
@@ -131,12 +165,13 @@ var updateAppUser = function (_a) { return __awaiter(void 0, [_a], void 0, funct
131
165
  firstName: firstName,
132
166
  lastName: lastName,
133
167
  };
168
+ where = {
169
+ id: id,
170
+ };
134
171
  return [4 /*yield*/, prisma.appUser.upsert({
135
- where: {
136
- id: id,
137
- },
138
- update: userData,
139
172
  create: __assign({ id: id }, userData),
173
+ update: userData,
174
+ where: where,
140
175
  })];
141
176
  case 1:
142
177
  appUser = _c.sent();
@@ -152,7 +187,7 @@ exports.updateAppUser = updateAppUser;
152
187
  * @throws {Error} If user ID is not provided or user not found
153
188
  */
154
189
  var deleteAppUser = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
155
- var appUser;
190
+ var where, appUser;
156
191
  var id = _b.id, prisma = _b.prisma;
157
192
  return __generator(this, function (_c) {
158
193
  switch (_c.label) {
@@ -160,10 +195,11 @@ var deleteAppUser = function (_a) { return __awaiter(void 0, [_a], void 0, funct
160
195
  if (!id) {
161
196
  throw new Error('User ID is required');
162
197
  }
198
+ where = {
199
+ id: id,
200
+ };
163
201
  return [4 /*yield*/, prisma.appUser.delete({
164
- where: {
165
- id: id,
166
- },
202
+ where: where,
167
203
  })];
168
204
  case 1:
169
205
  appUser = _c.sent();
@@ -1,17 +1,20 @@
1
1
  import { BankBE } from '../type';
2
2
  type PrismaClient = any;
3
- interface ListBankArgs {
4
- currentPage: number;
3
+ export interface ListBankArgs {
4
+ currentPage?: number;
5
+ includePreference?: boolean;
5
6
  orderByColumn?: string;
6
7
  orderByDirection?: 'asc' | 'desc';
7
- pageLimit: number;
8
+ pageLimit?: number;
8
9
  prisma: PrismaClient;
10
+ searchQuery?: string;
9
11
  }
10
- interface GetBankByIdArgs {
12
+ export interface UnitBankByIdArgs {
11
13
  id: string;
14
+ includePreference?: boolean;
12
15
  prisma: PrismaClient;
13
16
  }
14
- interface PostBankArgs {
17
+ export interface UpdateBankArgs {
15
18
  accountNumber: string;
16
19
  accountTitle: string;
17
20
  bankAddress?: string;
@@ -24,7 +27,7 @@ interface PostBankArgs {
24
27
  prisma: PrismaClient;
25
28
  swiftCode?: string;
26
29
  }
27
- interface DeleteBankArgs {
30
+ export interface DeleteBankArgs {
28
31
  id: string;
29
32
  prisma: PrismaClient;
30
33
  }
@@ -33,19 +36,19 @@ interface DeleteBankArgs {
33
36
  * @param {ListBankArgs} args - Object containing prisma client, pagination, and filter options
34
37
  * @returns {Promise<[number, Array<BankBE>]>} Tuple of [total count, array of banks]
35
38
  */
36
- export declare const listBank: ({ currentPage, orderByColumn, orderByDirection, pageLimit, prisma, }: ListBankArgs) => Promise<[number, Array<BankBE>]>;
39
+ export declare const listBank: ({ currentPage, includePreference, orderByColumn, orderByDirection, pageLimit, prisma, searchQuery, }: ListBankArgs) => Promise<[number, Array<BankBE>]>;
37
40
  /**
38
41
  * Retrieves a single bank by ID
39
- * @param {GetBankByIdArgs} args - Object containing prisma client and bank id
42
+ * @param {UnitBankByIdArgs} args - Object containing prisma client and bank id
40
43
  * @returns {Promise<BankBE | null>} Bank if found, null otherwise
41
44
  */
42
- export declare const unitBankById: ({ prisma, id, }: GetBankByIdArgs) => Promise<BankBE | null>;
45
+ export declare const unitBankById: ({ id, includePreference, prisma, }: UnitBankByIdArgs) => Promise<BankBE | null>;
43
46
  /**
44
47
  * Creates a new bank or updates an existing one
45
- * @param {PostBankArgs} args - Object containing prisma client and bank data
48
+ * @param {UpdateBankArgs} args - Object containing prisma client and bank data
46
49
  * @returns {Promise<BankBE>} Created or updated bank
47
50
  */
48
- export declare const updateBank: ({ accountNumber, accountTitle, bankAddress, bankName, enabled, iban, id, isDefault, preferenceId, prisma, swiftCode, }: PostBankArgs) => Promise<BankBE>;
51
+ export declare const updateBank: ({ accountNumber, accountTitle, bankAddress, bankName, enabled, iban, id, isDefault, preferenceId, prisma, swiftCode, }: UpdateBankArgs) => Promise<BankBE>;
49
52
  /**
50
53
  * Deletes a bank by ID
51
54
  * @param {DeleteBankArgs} args - Object containing prisma client and bank id
@@ -46,19 +46,29 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
46
46
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
47
  }
48
48
  };
49
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
50
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
51
+ if (ar || !(i in from)) {
52
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
53
+ ar[i] = from[i];
54
+ }
55
+ }
56
+ return to.concat(ar || Array.prototype.slice.call(from));
57
+ };
49
58
  Object.defineProperty(exports, "__esModule", { value: true });
50
59
  exports.deleteBank = exports.updateBank = exports.unitBankById = exports.listBank = void 0;
60
+ var multi_part_search_1 = require("../../../general/multi-part-search");
51
61
  /**
52
62
  * Retrieves all banks from the database with pagination
53
63
  * @param {ListBankArgs} args - Object containing prisma client, pagination, and filter options
54
64
  * @returns {Promise<[number, Array<BankBE>]>} Tuple of [total count, array of banks]
55
65
  */
56
66
  var listBank = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
57
- var banks;
58
- var _c;
59
- var currentPage = _b.currentPage, _d = _b.orderByColumn, orderByColumn = _d === void 0 ? 'createdAt' : _d, _e = _b.orderByDirection, orderByDirection = _e === void 0 ? 'desc' : _e, pageLimit = _b.pageLimit, prisma = _b.prisma;
60
- return __generator(this, function (_f) {
61
- switch (_f.label) {
67
+ var include, orderBy, idSearchQuery, bankNameSearchQuery, where, _c, count, items;
68
+ var _d;
69
+ var _e = _b.currentPage, currentPage = _e === void 0 ? 1 : _e, _f = _b.includePreference, includePreference = _f === void 0 ? false : _f, _g = _b.orderByColumn, orderByColumn = _g === void 0 ? 'createdAt' : _g, _h = _b.orderByDirection, orderByDirection = _h === void 0 ? 'desc' : _h, _j = _b.pageLimit, pageLimit = _j === void 0 ? 5 : _j, prisma = _b.prisma, _k = _b.searchQuery, searchQuery = _k === void 0 ? '' : _k;
70
+ return __generator(this, function (_l) {
71
+ switch (_l.label) {
62
72
  case 0:
63
73
  if (!currentPage || currentPage < 1) {
64
74
  throw new Error('Valid current page is required');
@@ -66,40 +76,66 @@ var listBank = function (_a) { return __awaiter(void 0, [_a], void 0, function (
66
76
  if (!pageLimit || pageLimit < 1) {
67
77
  throw new Error('Valid page limit is required');
68
78
  }
79
+ include = {
80
+ preference: includePreference,
81
+ };
82
+ orderBy = (_d = {},
83
+ _d[orderByColumn] = orderByDirection,
84
+ _d);
85
+ idSearchQuery = (0, multi_part_search_1.multiPartSearch)({
86
+ columnName: 'id',
87
+ fullText: searchQuery,
88
+ });
89
+ bankNameSearchQuery = (0, multi_part_search_1.multiPartSearch)({
90
+ columnName: 'bankName',
91
+ fullText: searchQuery,
92
+ });
93
+ where = {
94
+ OR: __spreadArray(__spreadArray([], idSearchQuery, true), bankNameSearchQuery, true),
95
+ };
69
96
  return [4 /*yield*/, prisma.$transaction([
70
- prisma.bank.count(),
97
+ prisma.bank.count({
98
+ where: where,
99
+ }),
71
100
  prisma.bank.findMany({
72
- orderBy: (_c = {}, _c[orderByColumn] = orderByDirection, _c),
101
+ include: include,
102
+ orderBy: orderBy,
73
103
  skip: (currentPage - 1) * pageLimit,
74
104
  take: pageLimit,
105
+ where: where,
75
106
  }),
76
107
  ])];
77
108
  case 1:
78
- banks = _f.sent();
79
- return [2 /*return*/, banks];
109
+ _c = _l.sent(), count = _c[0], items = _c[1];
110
+ return [2 /*return*/, [count, items]];
80
111
  }
81
112
  });
82
113
  }); };
83
114
  exports.listBank = listBank;
84
115
  /**
85
116
  * Retrieves a single bank by ID
86
- * @param {GetBankByIdArgs} args - Object containing prisma client and bank id
117
+ * @param {UnitBankByIdArgs} args - Object containing prisma client and bank id
87
118
  * @returns {Promise<BankBE | null>} Bank if found, null otherwise
88
119
  */
89
120
  var unitBankById = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
90
- var bank;
91
- var prisma = _b.prisma, id = _b.id;
92
- return __generator(this, function (_c) {
93
- switch (_c.label) {
121
+ var include, where, bank;
122
+ var id = _b.id, _c = _b.includePreference, includePreference = _c === void 0 ? false : _c, prisma = _b.prisma;
123
+ return __generator(this, function (_d) {
124
+ switch (_d.label) {
94
125
  case 0:
95
126
  if (!id) {
96
127
  throw new Error('Bank ID is required');
97
128
  }
129
+ include = {
130
+ preference: includePreference,
131
+ };
132
+ where = { id: id };
98
133
  return [4 /*yield*/, prisma.bank.findUnique({
99
- where: { id: id },
134
+ include: include,
135
+ where: where,
100
136
  })];
101
137
  case 1:
102
- bank = _c.sent();
138
+ bank = _d.sent();
103
139
  return [2 /*return*/, bank];
104
140
  }
105
141
  });
@@ -107,11 +143,11 @@ var unitBankById = function (_a) { return __awaiter(void 0, [_a], void 0, functi
107
143
  exports.unitBankById = unitBankById;
108
144
  /**
109
145
  * Creates a new bank or updates an existing one
110
- * @param {PostBankArgs} args - Object containing prisma client and bank data
146
+ * @param {UpdateBankArgs} args - Object containing prisma client and bank data
111
147
  * @returns {Promise<BankBE>} Created or updated bank
112
148
  */
113
149
  var updateBank = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
114
- var bankData, bank;
150
+ var bankData, where, bank;
115
151
  var accountNumber = _b.accountNumber, accountTitle = _b.accountTitle, bankAddress = _b.bankAddress, bankName = _b.bankName, enabled = _b.enabled, iban = _b.iban, id = _b.id, _c = _b.isDefault, isDefault = _c === void 0 ? false : _c, preferenceId = _b.preferenceId, prisma = _b.prisma, swiftCode = _b.swiftCode;
116
152
  return __generator(this, function (_d) {
117
153
  switch (_d.label) {
@@ -133,10 +169,11 @@ var updateBank = function (_a) { return __awaiter(void 0, [_a], void 0, function
133
169
  preferenceId: preferenceId,
134
170
  swiftCode: swiftCode || null,
135
171
  };
172
+ where = { id: id };
136
173
  return [4 /*yield*/, prisma.bank.upsert({
137
- where: { id: id },
138
- update: bankData,
139
174
  create: __assign({ id: id }, bankData),
175
+ update: bankData,
176
+ where: where,
140
177
  })];
141
178
  case 1:
142
179
  bank = _d.sent();
@@ -152,7 +189,7 @@ exports.updateBank = updateBank;
152
189
  * @throws {Error} If bank ID is not provided or bank not found
153
190
  */
154
191
  var deleteBank = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
155
- var bank;
192
+ var where, bank;
156
193
  var prisma = _b.prisma, id = _b.id;
157
194
  return __generator(this, function (_c) {
158
195
  switch (_c.label) {
@@ -160,8 +197,9 @@ var deleteBank = function (_a) { return __awaiter(void 0, [_a], void 0, function
160
197
  if (!id) {
161
198
  throw new Error('Bank ID is required');
162
199
  }
200
+ where = { id: id };
163
201
  return [4 /*yield*/, prisma.bank.delete({
164
- where: { id: id },
202
+ where: where,
165
203
  })];
166
204
  case 1:
167
205
  bank = _c.sent();
@@ -1,17 +1,20 @@
1
1
  import { BranchBE } from '../type';
2
2
  type PrismaClient = any;
3
- interface ListBranchArgs {
4
- currentPage: number;
3
+ export interface ListBranchArgs {
4
+ currentPage?: number;
5
+ includePreference?: boolean;
5
6
  orderByColumn?: string;
6
7
  orderByDirection?: 'asc' | 'desc';
7
- pageLimit: number;
8
+ pageLimit?: number;
8
9
  prisma: PrismaClient;
10
+ searchQuery?: string;
9
11
  }
10
- interface UnitBranchByIdArgs {
12
+ export interface UnitBranchByIdArgs {
11
13
  id: string;
14
+ includePreference?: boolean;
12
15
  prisma: PrismaClient;
13
16
  }
14
- interface UpdateBranchArgs {
17
+ export interface UpdateBranchArgs {
15
18
  branchAddress: string;
16
19
  branchName: string;
17
20
  enabled: boolean;
@@ -23,7 +26,7 @@ interface UpdateBranchArgs {
23
26
  preferenceId: string;
24
27
  prisma: PrismaClient;
25
28
  }
26
- interface DeleteBranchArgs {
29
+ export interface DeleteBranchArgs {
27
30
  id: string;
28
31
  prisma: PrismaClient;
29
32
  }
@@ -32,7 +35,7 @@ interface DeleteBranchArgs {
32
35
  * @param {ListBranchArgs} args - Object containing prisma client, pagination, and filter options
33
36
  * @returns {Promise<[number, Array<BranchBE>]>} Tuple of [total count, array of branches]
34
37
  */
35
- export declare const listBranch: ({ currentPage, orderByColumn, orderByDirection, pageLimit, prisma, }: ListBranchArgs) => Promise<[number, Array<BranchBE>]>;
38
+ export declare const listBranch: ({ currentPage, includePreference, orderByColumn, orderByDirection, pageLimit, prisma, searchQuery, }: ListBranchArgs) => Promise<[number, Array<BranchBE>]>;
36
39
  /**
37
40
  * Retrieves a single branch by ID
38
41
  * @param {UnitBranchByIdArgs} args - Object containing prisma client and branch id
@@ -51,5 +54,5 @@ export declare const updateBranch: ({ branchAddress, branchName, enabled, id, is
51
54
  * @returns {Promise<BranchBE>} Deleted branch
52
55
  * @throws {Error} If branch ID is not provided or branch not found
53
56
  */
54
- export declare const deleteBranch: ({ prisma, id, }: DeleteBranchArgs) => Promise<BranchBE>;
57
+ export declare const deleteBranch: ({ id, prisma, }: DeleteBranchArgs) => Promise<BranchBE>;
55
58
  export {};
@@ -46,19 +46,29 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
46
46
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
47
  }
48
48
  };
49
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
50
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
51
+ if (ar || !(i in from)) {
52
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
53
+ ar[i] = from[i];
54
+ }
55
+ }
56
+ return to.concat(ar || Array.prototype.slice.call(from));
57
+ };
49
58
  Object.defineProperty(exports, "__esModule", { value: true });
50
59
  exports.deleteBranch = exports.updateBranch = exports.unitBranchById = exports.listBranch = void 0;
60
+ var general_1 = require("../../../general");
51
61
  /**
52
62
  * Retrieves all branches from the database with pagination
53
63
  * @param {ListBranchArgs} args - Object containing prisma client, pagination, and filter options
54
64
  * @returns {Promise<[number, Array<BranchBE>]>} Tuple of [total count, array of branches]
55
65
  */
56
66
  var listBranch = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
57
- var branches;
58
- var _c;
59
- var currentPage = _b.currentPage, _d = _b.orderByColumn, orderByColumn = _d === void 0 ? 'createdAt' : _d, _e = _b.orderByDirection, orderByDirection = _e === void 0 ? 'desc' : _e, pageLimit = _b.pageLimit, prisma = _b.prisma;
60
- return __generator(this, function (_f) {
61
- switch (_f.label) {
67
+ var include, orderBy, idSearchQuery, branchNameSearchQuery, personNameSearchQuery, personEmailSearchQuery, where, _c, count, items;
68
+ var _d;
69
+ var _e = _b.currentPage, currentPage = _e === void 0 ? 1 : _e, _f = _b.includePreference, includePreference = _f === void 0 ? false : _f, _g = _b.orderByColumn, orderByColumn = _g === void 0 ? 'createdAt' : _g, _h = _b.orderByDirection, orderByDirection = _h === void 0 ? 'desc' : _h, _j = _b.pageLimit, pageLimit = _j === void 0 ? 5 : _j, prisma = _b.prisma, _k = _b.searchQuery, searchQuery = _k === void 0 ? '' : _k;
70
+ return __generator(this, function (_l) {
71
+ switch (_l.label) {
62
72
  case 0:
63
73
  if (!currentPage || currentPage < 1) {
64
74
  throw new Error('Valid current page is required');
@@ -66,17 +76,46 @@ var listBranch = function (_a) { return __awaiter(void 0, [_a], void 0, function
66
76
  if (!pageLimit || pageLimit < 1) {
67
77
  throw new Error('Valid page limit is required');
68
78
  }
79
+ include = {
80
+ preference: includePreference,
81
+ };
82
+ orderBy = (_d = {},
83
+ _d[orderByColumn] = orderByDirection,
84
+ _d);
85
+ idSearchQuery = (0, general_1.multiPartSearch)({
86
+ columnName: 'id',
87
+ fullText: searchQuery,
88
+ });
89
+ branchNameSearchQuery = (0, general_1.multiPartSearch)({
90
+ columnName: 'branchName',
91
+ fullText: searchQuery,
92
+ });
93
+ personNameSearchQuery = (0, general_1.multiPartSearch)({
94
+ columnName: 'personName',
95
+ fullText: searchQuery,
96
+ });
97
+ personEmailSearchQuery = (0, general_1.multiPartSearch)({
98
+ columnName: 'personEmail',
99
+ fullText: searchQuery,
100
+ });
101
+ where = {
102
+ OR: __spreadArray(__spreadArray(__spreadArray(__spreadArray([], idSearchQuery, true), branchNameSearchQuery, true), personEmailSearchQuery, true), personNameSearchQuery, true),
103
+ };
69
104
  return [4 /*yield*/, prisma.$transaction([
70
- prisma.branch.count(),
105
+ prisma.branch.count({
106
+ where: where,
107
+ }),
71
108
  prisma.branch.findMany({
72
- orderBy: (_c = {}, _c[orderByColumn] = orderByDirection, _c),
109
+ include: include,
110
+ orderBy: orderBy,
73
111
  skip: (currentPage - 1) * pageLimit,
74
112
  take: pageLimit,
113
+ where: where,
75
114
  }),
76
115
  ])];
77
116
  case 1:
78
- branches = _f.sent();
79
- return [2 /*return*/, branches];
117
+ _c = _l.sent(), count = _c[0], items = _c[1];
118
+ return [2 /*return*/, [count, items]];
80
119
  }
81
120
  });
82
121
  }); };
@@ -87,7 +126,7 @@ exports.listBranch = listBranch;
87
126
  * @returns {Promise<BranchBE | null>} Branch if found, null otherwise
88
127
  */
89
128
  var unitBranchById = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
90
- var branch;
129
+ var where, branch;
91
130
  var prisma = _b.prisma, id = _b.id;
92
131
  return __generator(this, function (_c) {
93
132
  switch (_c.label) {
@@ -95,8 +134,9 @@ var unitBranchById = function (_a) { return __awaiter(void 0, [_a], void 0, func
95
134
  if (!id) {
96
135
  throw new Error('Branch ID is required');
97
136
  }
137
+ where = { id: id };
98
138
  return [4 /*yield*/, prisma.branch.findUnique({
99
- where: { id: id },
139
+ where: where,
100
140
  })];
101
141
  case 1:
102
142
  branch = _c.sent();
@@ -111,7 +151,7 @@ exports.unitBranchById = unitBranchById;
111
151
  * @returns {Promise<BranchBE>} Created or updated branch
112
152
  */
113
153
  var updateBranch = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
114
- var branchData, branch;
154
+ var branchData, where, branch;
115
155
  var branchAddress = _b.branchAddress, branchName = _b.branchName, enabled = _b.enabled, id = _b.id, _c = _b.isDefault, isDefault = _c === void 0 ? false : _c, personEmail = _b.personEmail, personName = _b.personName, personPhone = _b.personPhone, preferenceId = _b.preferenceId, prisma = _b.prisma;
116
156
  return __generator(this, function (_d) {
117
157
  switch (_d.label) {
@@ -137,10 +177,13 @@ var updateBranch = function (_a) { return __awaiter(void 0, [_a], void 0, functi
137
177
  personPhone: personPhone,
138
178
  preferenceId: preferenceId,
139
179
  };
180
+ where = {
181
+ id: id,
182
+ };
140
183
  return [4 /*yield*/, prisma.branch.upsert({
141
- where: { id: id },
142
- update: branchData,
143
184
  create: __assign({ id: id }, branchData),
185
+ update: branchData,
186
+ where: where,
144
187
  })];
145
188
  case 1:
146
189
  branch = _d.sent();
@@ -156,16 +199,17 @@ exports.updateBranch = updateBranch;
156
199
  * @throws {Error} If branch ID is not provided or branch not found
157
200
  */
158
201
  var deleteBranch = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
159
- var branch;
160
- var prisma = _b.prisma, id = _b.id;
202
+ var where, branch;
203
+ var id = _b.id, prisma = _b.prisma;
161
204
  return __generator(this, function (_c) {
162
205
  switch (_c.label) {
163
206
  case 0:
164
207
  if (!id) {
165
208
  throw new Error('Branch ID is required');
166
209
  }
210
+ where = { id: id };
167
211
  return [4 /*yield*/, prisma.branch.delete({
168
- where: { id: id },
212
+ where: where,
169
213
  })];
170
214
  case 1:
171
215
  branch = _c.sent();