storemw-core-api 1.0.140 → 1.0.141
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/controllers/user/userController.js +8 -4
- package/dist/controllers/user/userController.js.map +1 -1
- package/dist/models/account/AccountModel.d.ts +13 -13
- package/dist/models/branch_user/BranchUserModel.d.ts +13 -13
- package/dist/models/user/AgentModel.d.ts +2 -24
- package/dist/models/user/MemberModel.d.ts +2 -24
- package/dist/models/user/UserModel.d.ts +13 -2
- package/dist/schema/payload/account/schemaAccount.d.ts +7 -0
- package/dist/schema/payload/user/schemaUser.d.ts +3 -0
- package/dist/schema/payload/user/schemaUser.js +1 -0
- package/dist/schema/payload/user/schemaUser.js.map +1 -1
- package/dist/schema/payload/user/schemaUserAdministrator.d.ts +14 -0
- package/dist/schema/payload/user/schemaUserAgent.d.ts +15 -12
- package/dist/schema/payload/user/schemaUserAgent.js +2 -2
- package/dist/schema/payload/user/schemaUserAgent.js.map +1 -1
- package/dist/schema/payload/user/schemaUserCustomer.d.ts +14 -0
- package/dist/schema/payload/user/schemaUserDriver.d.ts +14 -0
- package/dist/schema/payload/user/schemaUserMember.d.ts +15 -12
- package/dist/schema/payload/user/schemaUserMember.js +2 -2
- package/dist/schema/payload/user/schemaUserMember.js.map +1 -1
- package/dist/schema/payload/user/schemaUserOperator.d.ts +14 -0
- package/dist/schema/payload/user/schemaUserRetailer.d.ts +14 -0
- package/dist/schema/payload/user/schemaUserWorker.d.ts +14 -0
- package/dist/services/account/AccountService.js +14 -4
- package/dist/services/account/AccountService.js.map +1 -1
- package/dist/services/index.d.ts +1 -1
- package/dist/services/index.js +2 -1
- package/dist/services/index.js.map +1 -1
- package/dist/services/user/AdministratorService.d.ts +1 -0
- package/dist/services/user/AdministratorService.js +7 -0
- package/dist/services/user/AdministratorService.js.map +1 -1
- package/dist/services/user/AgentService.d.ts +2 -12
- package/dist/services/user/AgentService.js +35 -26
- package/dist/services/user/AgentService.js.map +1 -1
- package/dist/services/user/CustomerService.d.ts +1 -0
- package/dist/services/user/CustomerService.js +7 -0
- package/dist/services/user/CustomerService.js.map +1 -1
- package/dist/services/user/DriverService.d.ts +1 -0
- package/dist/services/user/DriverService.js +7 -0
- package/dist/services/user/DriverService.js.map +1 -1
- package/dist/services/user/MemberService.d.ts +2 -12
- package/dist/services/user/MemberService.js +35 -26
- package/dist/services/user/MemberService.js.map +1 -1
- package/dist/services/user/OperatorService.d.ts +4 -2
- package/dist/services/user/OperatorService.js +11 -3
- package/dist/services/user/OperatorService.js.map +1 -1
- package/dist/services/user/RetailerService.d.ts +1 -0
- package/dist/services/user/RetailerService.js +7 -0
- package/dist/services/user/RetailerService.js.map +1 -1
- package/dist/services/user/UserMeService.d.ts +1 -0
- package/dist/services/user/UserService.d.ts +5 -0
- package/dist/services/user/UserService.js +34 -17
- package/dist/services/user/UserService.js.map +1 -1
- package/dist/services/user/WorkerService.d.ts +1 -0
- package/dist/services/user/WorkerService.js +52 -44
- package/dist/services/user/WorkerService.js.map +1 -1
- package/package.json +1 -1
- package/prisma/schema.prisma +44 -47
|
@@ -12,6 +12,7 @@ exports.workerDataTypes = {
|
|
|
12
12
|
zoneCount: "zone_count",
|
|
13
13
|
workerInjectionFields: "worker_injection_fields",
|
|
14
14
|
file: "file",
|
|
15
|
+
parentUser: "parent_user"
|
|
15
16
|
};
|
|
16
17
|
const getCreatePayload = (data) => {
|
|
17
18
|
if ("worker" in data) {
|
|
@@ -46,26 +47,27 @@ let userSqlSelect = {
|
|
|
46
47
|
[`usr.${models_1.ModelUserFields.contact_phone_number}`]: "contact_phone_number",
|
|
47
48
|
[`usr.${models_1.ModelUserFields.email}`]: "email",
|
|
48
49
|
[`usr.${models_1.ModelUserFields.address}`]: "address",
|
|
49
|
-
[`usr.${models_1.ModelUserFields.
|
|
50
|
+
[`usr.${models_1.ModelUserFields.parent_user_id}`]: "parent_user_id",
|
|
51
|
+
[`usr.${models_1.ModelUserFields.status}`]: "status"
|
|
50
52
|
};
|
|
51
53
|
let defaultSqlSelect = {
|
|
52
|
-
[`wrk.${models_1.ModelWorkerFields.createdatetime}`]: "createdatetime",
|
|
53
|
-
[`creator.${models_1.ModelUserFields.login_username}`]: "createusername",
|
|
54
|
-
[`wrk.${models_1.ModelWorkerFields.updatedatetime}`]: "updatedatetime",
|
|
55
|
-
[`updater.${models_1.ModelUserFields.login_username}`]: "updateusername",
|
|
56
|
-
[`wrk.${models_1.ModelWorkerFields.isdelete}`]: "isdelete",
|
|
57
|
-
[`wrk.${models_1.ModelWorkerFields.istrash}`]: "istrash",
|
|
58
|
-
[`wrk.${models_1.ModelWorkerFields.accountid}`]: "accountid",
|
|
54
|
+
[`wrk.${models_1.ModelWorkerFields.createdatetime} `]: "createdatetime",
|
|
55
|
+
[`creator.${models_1.ModelUserFields.login_username} `]: "createusername",
|
|
56
|
+
[`wrk.${models_1.ModelWorkerFields.updatedatetime} `]: "updatedatetime",
|
|
57
|
+
[`updater.${models_1.ModelUserFields.login_username} `]: "updateusername",
|
|
58
|
+
[`wrk.${models_1.ModelWorkerFields.isdelete} `]: "isdelete",
|
|
59
|
+
[`wrk.${models_1.ModelWorkerFields.istrash} `]: "istrash",
|
|
60
|
+
[`wrk.${models_1.ModelWorkerFields.accountid} `]: "accountid",
|
|
59
61
|
};
|
|
60
62
|
let userPropLocationSqlSelect = {
|
|
61
63
|
[`COALESCE(
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
64
|
+
STRING_AGG(usrprop_location.${models_1.ModelUserPropFields.props_id}:: text, ', '),
|
|
65
|
+
''
|
|
66
|
+
)`]: "location_id",
|
|
65
67
|
[`COALESCE(
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
68
|
+
STRING_AGG(location.${models_1.ModelLocationFields.location_name}:: text, ', '),
|
|
69
|
+
''
|
|
70
|
+
)`]: "location_name",
|
|
69
71
|
};
|
|
70
72
|
const WorkerService = (props) => {
|
|
71
73
|
const { ...rest } = props;
|
|
@@ -75,7 +77,7 @@ const WorkerService = (props) => {
|
|
|
75
77
|
const createWorker = async ({ data }) => {
|
|
76
78
|
const _data = getCreatePayload(data);
|
|
77
79
|
if (!_data) {
|
|
78
|
-
throw new Error(`Invalid create worker payload: ${JSON.stringify(_data)}`);
|
|
80
|
+
throw new Error(`Invalid create worker payload: ${JSON.stringify(_data)} `);
|
|
79
81
|
}
|
|
80
82
|
let response = await workerModel.create({ data: _data });
|
|
81
83
|
return response;
|
|
@@ -83,9 +85,9 @@ const WorkerService = (props) => {
|
|
|
83
85
|
const updateWorker = async ({ userId, data }) => {
|
|
84
86
|
const _data = getUpdatePayload(data);
|
|
85
87
|
if (!_data) {
|
|
86
|
-
throw new Error(`Invalid update worker payload: ${JSON.stringify(_data)}`);
|
|
88
|
+
throw new Error(`Invalid update worker payload: ${JSON.stringify(_data)} `);
|
|
87
89
|
}
|
|
88
|
-
let response = await workerModel.update({ where: { [`${models_1.ModelWorkerFields.user_id}`]: userId }, data: _data });
|
|
90
|
+
let response = await workerModel.update({ where: { [`${models_1.ModelWorkerFields.user_id} `]: userId }, data: _data });
|
|
89
91
|
return response;
|
|
90
92
|
};
|
|
91
93
|
const getWorker = async ({ id, datatypes = [], includePassword = false }) => {
|
|
@@ -105,11 +107,11 @@ const WorkerService = (props) => {
|
|
|
105
107
|
if (includePassword === true) {
|
|
106
108
|
userSqlSelect = {
|
|
107
109
|
...userSqlSelect,
|
|
108
|
-
[`usr.${models_1.ModelUserFields.login_password}`]: "password",
|
|
110
|
+
[`usr.${models_1.ModelUserFields.login_password} `]: "password",
|
|
109
111
|
};
|
|
110
112
|
}
|
|
111
113
|
else {
|
|
112
|
-
delete userSqlSelect[`usr.${models_1.ModelUserFields.login_password}`];
|
|
114
|
+
delete userSqlSelect[`usr.${models_1.ModelUserFields.login_password} `];
|
|
113
115
|
}
|
|
114
116
|
let sqlSelect = [
|
|
115
117
|
`COUNT(wrk.*) OVER() as filtered_count`,
|
|
@@ -145,31 +147,37 @@ const WorkerService = (props) => {
|
|
|
145
147
|
sqlRelation = [...sqlRelation, (0, lib_1.buildSqlRelation)("left", "wrk", "user_injection_fields", "uif", ["wrk.user_id = uif.user_id", "uif.field_ref = 'user'", "uif.field_module = 'worker'", "uif.isdelete = false", "uif.istrash = false"])];
|
|
146
148
|
sqlGroupBy = [...sqlGroupBy, ...Object.keys(workerInjectionFieldSqlSelect)];
|
|
147
149
|
}
|
|
150
|
+
if (datatypes.includes(exports.workerDataTypes.parentUser)) {
|
|
151
|
+
filterColumns = { ...filterColumns, ...services_1.userParentSqlSelect };
|
|
152
|
+
sqlRelation = [...sqlRelation, (0, lib_1.buildSqlRelation)("left", "wrk", "users", "parentuser", ["usr.parent_user_id = parentuser.user_id", "parentuser.isdelete = false", "parentuser.istrash = false"])];
|
|
153
|
+
sqlSelect = [...sqlSelect, (0, lib_1.buildSqlSelect)(``, services_1.userParentSqlSelect)];
|
|
154
|
+
sqlGroupBy = [...sqlGroupBy, ...Object.keys(services_1.userParentSqlSelect)];
|
|
155
|
+
}
|
|
148
156
|
if (datatypes.includes(exports.workerDataTypes.location)) {
|
|
149
157
|
let locationSqlSelect = {
|
|
150
158
|
[`COALESCE(
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
159
|
+
JSON_AGG(
|
|
160
|
+
DISTINCT JSONB_BUILD_OBJECT(
|
|
161
|
+
'${models_1.ModelLocationFields.location_id}', location.location_id,
|
|
162
|
+
'${models_1.ModelLocationFields.location_code}', location.location_code,
|
|
163
|
+
'${models_1.ModelLocationFields.location_name}', location.location_name,
|
|
164
|
+
'${models_1.ModelLocationFields.location_type}', location.location_type,
|
|
165
|
+
'${models_1.ModelLocationFields.address_1}', location.address_1,
|
|
166
|
+
'${models_1.ModelLocationFields.address_2}', location.address_2,
|
|
167
|
+
'${models_1.ModelLocationFields.area_id}', location.area_id,
|
|
168
|
+
'${models_1.ModelLocationFields.country_id}', location.country_id,
|
|
169
|
+
'${models_1.ModelLocationFields.state_id}', location.state_id,
|
|
170
|
+
'${models_1.ModelLocationFields.postcode}', location.postcode,
|
|
171
|
+
'${models_1.ModelLocationFields.is_default}', location.is_default,
|
|
172
|
+
'${models_1.ModelLocationFields.person_contact}', location.person_contact,
|
|
173
|
+
'${models_1.ModelLocationFields.person_name}', location.person_contact,
|
|
174
|
+
'${models_1.ModelLocationFields.person_email}', location.person_email,
|
|
175
|
+
'${models_1.ModelLocationFields.isdelete}', location.isdelete,
|
|
176
|
+
'${models_1.ModelLocationFields.istrash}', location.istrash
|
|
177
|
+
)
|
|
178
|
+
) FILTER(WHERE location.location_id IS NOT NULL AND location.isdelete = false AND location.istrash = false),
|
|
179
|
+
'[]'
|
|
180
|
+
)`]: "locations"
|
|
173
181
|
};
|
|
174
182
|
filterColumns = { ...filterColumns, ...locationSqlSelect };
|
|
175
183
|
sqlSelect = [...sqlSelect, (0, lib_1.buildSqlSelect)(``, locationSqlSelect)];
|
|
@@ -177,7 +185,7 @@ const WorkerService = (props) => {
|
|
|
177
185
|
}
|
|
178
186
|
if (datatypes.includes(exports.workerDataTypes.locationCount)) {
|
|
179
187
|
let locationCountSqlSelect = {
|
|
180
|
-
[`COUNT(DISTINCT location.${models_1.ModelLocationFields.location_id})::INT`]: "location_count"
|
|
188
|
+
[`COUNT(DISTINCT location.${models_1.ModelLocationFields.location_id}):: INT`]: "location_count"
|
|
181
189
|
};
|
|
182
190
|
filterColumns = { ...filterColumns, ...locationCountSqlSelect };
|
|
183
191
|
sqlSelect = [...sqlSelect, (0, lib_1.buildSqlSelect)(``, locationCountSqlSelect)];
|
|
@@ -185,7 +193,7 @@ const WorkerService = (props) => {
|
|
|
185
193
|
}
|
|
186
194
|
// if (datatypes.includes(customerDataTypes.branchUserCount)) {
|
|
187
195
|
// let branchUserCountSqlSelect = {
|
|
188
|
-
// [`COUNT(DISTINCT brnusrcount.${ModelBranchUserFields.branch_user_id})::INT`]: "branch_user_count"
|
|
196
|
+
// [`COUNT(DISTINCT brnusrcount.${ ModelBranchUserFields.branch_user_id }):: INT`]: "branch_user_count"
|
|
189
197
|
// }
|
|
190
198
|
// filterColumns = { ...filterColumns, ...branchUserCountSqlSelect }
|
|
191
199
|
// sqlSelect = [...sqlSelect, buildSqlSelect(``, branchUserCountSqlSelect)]
|
|
@@ -219,7 +227,7 @@ const WorkerService = (props) => {
|
|
|
219
227
|
const removeWorkers = async ({ userIds }) => {
|
|
220
228
|
if (!userIds.length)
|
|
221
229
|
(0, utils_1.throwError)('userIds is required');
|
|
222
|
-
const response = await workerModel.remove({ where: { [`${models_1.ModelWorkerFields.user_id}`]: { in: userIds } } });
|
|
230
|
+
const response = await workerModel.remove({ where: { [`${models_1.ModelWorkerFields.user_id} `]: { in: userIds } } });
|
|
223
231
|
return response;
|
|
224
232
|
};
|
|
225
233
|
const getDataTypes = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkerService.js","sourceRoot":"","sources":["../../../src/services/user/WorkerService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport {\n ModelUserFields,\n WorkerModel,\n ModelWorkerFields,\n ModelUserPropFields,\n ModelLocationFields,\n UserInjectionFieldModel\n} from \"@/models\";\n\nimport { InjectionFieldService } from \"@/services\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps } from \"@/utils\";\n\nimport { toFieldMap, buildSqlRawSelect, buildSqlRelation, buildSqlWhere, buildSqlSelect, buildSqlLimitOffset, buildSqlOrderBy, buildInjectionFieldsSqlSelect } from \"@/lib\";\n\nexport type UserType = \"worker\"\n\nexport const workerDataTypes = {\n location: \"location\",\n locationCount: \"location_count\",\n zone: \"zone\",\n zoneCount: \"zone_count\",\n workerInjectionFields: \"worker_injection_fields\",\n file: \"file\",\n}\n\nexport type WorkerDataType = keyof typeof workerDataTypes;\n\nexport type WorkerServiceProps = DefaultServiceProps & {};\n\nexport type WorkerGetProps = {\n id: number,\n includePassword?: boolean,\n datatypes: WorkerDataType[]\n};\n\nexport type WorkerListProps = QueryList & {\n includePassword?: boolean,\n datatypes: WorkerDataType[]\n};\n\nexport type WorkerRemoveProps = {\n userIds: BigInt[]\n};\n\nexport type WorkerCreateProps = {\n data:\n // worker\n {\n worker: {\n userId: number,\n remark: string\n }\n }\n}\n\nexport type WorkerUpdateProps = {\n userId: number,\n data:\n // worker\n {\n worker: {\n // userId: number,\n remark: string\n }\n }\n}\n\nconst getCreatePayload = (data: WorkerCreateProps[\"data\"]) => {\n\n if (\"worker\" in data) {\n\n return {\n [`${ModelWorkerFields.user_id}`]: data.worker.userId,\n [`${ModelWorkerFields.remark}`]: data.worker.remark\n }\n }\n\n return false\n\n}\n\nconst getUpdatePayload = (data: WorkerUpdateProps[\"data\"]) => {\n\n if (\"worker\" in data) {\n\n return {\n // [`${ModelWorkerFields.user_id}`]: data.worker.userId,\n [`${ModelWorkerFields.remark}`]: data.worker.remark\n }\n }\n\n return false\n\n}\n\nlet mainSqlSelect = {\n [`wrk.${ModelWorkerFields.worker_id}`]: \"worker_id\",\n [`wrk.${ModelWorkerFields.user_id}`]: \"user_id\",\n [`wrk.${ModelWorkerFields.remark}`]: \"remark\",\n}\n\nlet userSqlSelect = {\n [`usr.${ModelUserFields.login_username}`]: \"username\",\n [`usr.${ModelUserFields.user_type}`]: \"user_type\",\n [`usr.${ModelUserFields.firstname}`]: \"firstname\",\n [`usr.${ModelUserFields.lastname}`]: \"lastname\",\n [`CONCAT(usr.${ModelUserFields.contact_country_code}, usr.${ModelUserFields.contact_phone_number})`]: \"contact\",\n [`usr.${ModelUserFields.contact_country_code}`]: \"contact_country_code\",\n [`usr.${ModelUserFields.contact_phone_number}`]: \"contact_phone_number\",\n [`usr.${ModelUserFields.email}`]: \"email\",\n [`usr.${ModelUserFields.address}`]: \"address\",\n [`usr.${ModelUserFields.status}`]: \"status\",\n}\n\nlet defaultSqlSelect = {\n [`wrk.${ModelWorkerFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`wrk.${ModelWorkerFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`wrk.${ModelWorkerFields.isdelete}`]: \"isdelete\",\n [`wrk.${ModelWorkerFields.istrash}`]: \"istrash\",\n [`wrk.${ModelWorkerFields.accountid}`]: \"accountid\",\n}\n\nlet userPropLocationSqlSelect = {\n [`COALESCE(\n STRING_AGG(usrprop_location.${ModelUserPropFields.props_id}::text, ', '),\n ''\n )`]: \"location_id\",\n [`COALESCE(\n STRING_AGG(location.${ModelLocationFields.location_name}::text, ', '),\n ''\n )`]: \"location_name\",\n}\n\nexport const WorkerService = (props: WorkerServiceProps) => {\n\n const {\n ...rest\n } = props\n\n const workerModel = WorkerModel({ ...rest })\n\n const injectionFieldService = InjectionFieldService({ ...rest, injectionFieldType: \"user\" })\n\n // const userInjectionFieldModel = UserInjectionFieldModel({ ...rest })\n\n const createWorker = async ({ data }: WorkerCreateProps) => {\n\n const _data = getCreatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid create worker payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await workerModel.create({ data: _data })\n\n return response\n }\n\n const updateWorker = async ({ userId, data }: WorkerUpdateProps) => {\n\n const _data = getUpdatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid update worker payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await workerModel.update({ where: { [`${ModelWorkerFields.user_id}`]: userId }, data: _data })\n\n return response\n }\n\n const getWorker = async ({ id, datatypes = [], includePassword = false }: WorkerGetProps) => {\n\n let { data } = await listWorkers({\n includePassword,\n limit: 1,\n offset: 0,\n filters: [{ field: \"user_id\", operator: \"=\", value: id }],\n sortfield: \"user_id\",\n sortorder: \"ASC\",\n datatypes\n })\n\n return data[0] ?? null;\n\n };\n\n const listWorkers = async ({\n includePassword = false,\n limit,\n offset,\n filters,\n sortfield,\n sortorder,\n datatypes = []\n }: WorkerListProps) => {\n\n let data = []\n\n if (includePassword === true) {\n userSqlSelect = {\n ...userSqlSelect,\n [`usr.${ModelUserFields.login_password}`]: \"password\",\n }\n } else {\n delete userSqlSelect[`usr.${ModelUserFields.login_password}`];\n }\n\n let sqlSelect = [\n `COUNT(wrk.*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, userSqlSelect),\n buildSqlSelect(``, defaultSqlSelect),\n buildSqlSelect(``, userPropLocationSqlSelect),\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"wrk\", \"users\", \"usr\", [\"wrk.user_id = usr.user_id\", \"usr.isdelete = false\", \"usr.istrash = false\"]),\n buildSqlRelation(\"left\", \"wrk\", \"users\", \"creator\", [\"wrk.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"wrk\", \"users\", \"updater\", [\"wrk.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"]),\n buildSqlRelation(\"left\", \"wrk\", \"user_props\", \"usrprop_location\", [\"wrk.user_id = usrprop_location.user_id\", \"usrprop_location.type = 'LOCATION_ID'\", \"usrprop_location.isdelete = false\", \"usrprop_location.istrash = false\"]),\n buildSqlRelation(\"left\", \"wrk\", \"locations\", \"location\", [\"usrprop_location.props_id = location.location_id\", \"location.isdelete = false\", \"location.istrash = false\"]),\n ]\n\n let sqlGroupBy: string[] = [\n ...Object.keys(mainSqlSelect),\n ...Object.keys(userSqlSelect),\n // ...Object.keys(userPropLocationSqlSelect),\n ...Object.keys(defaultSqlSelect)\n ]\n\n let filterColumns = {\n ...mainSqlSelect,\n ...userSqlSelect,\n ...userPropLocationSqlSelect,\n ...defaultSqlSelect\n }\n\n if (datatypes.includes(workerDataTypes.workerInjectionFields)) {\n\n let activeInjectionFields = await injectionFieldService.listActiveInjectionFields(\"user\", \"worker\")\n\n const workerInjectionFieldSqlSelect = buildInjectionFieldsSqlSelect(\"uif\", activeInjectionFields)\n\n filterColumns = { ...filterColumns, ...workerInjectionFieldSqlSelect }\n\n sqlSelect = [...sqlSelect, ...(activeInjectionFields.length > 0 ? [buildSqlSelect(``, workerInjectionFieldSqlSelect)] : [])]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"wrk\", \"user_injection_fields\", \"uif\", [\"wrk.user_id = uif.user_id\", \"uif.field_ref = 'user'\", \"uif.field_module = 'worker'\", \"uif.isdelete = false\", \"uif.istrash = false\"])]\n sqlGroupBy = [...sqlGroupBy, ...Object.keys(workerInjectionFieldSqlSelect)]\n\n }\n\n if (datatypes.includes(workerDataTypes.location)) {\n\n let locationSqlSelect = {\n [`COALESCE(\n JSON_AGG(\n DISTINCT JSONB_BUILD_OBJECT(\n '${ModelLocationFields.location_id}', location.location_id,\n '${ModelLocationFields.location_code}', location.location_code,\n '${ModelLocationFields.location_name}', location.location_name,\n '${ModelLocationFields.location_type}', location.location_type,\n '${ModelLocationFields.address_1}', location.address_1,\n '${ModelLocationFields.address_2}', location.address_2,\n '${ModelLocationFields.area_id}', location.area_id,\n '${ModelLocationFields.country_id}', location.country_id,\n '${ModelLocationFields.state_id}', location.state_id,\n '${ModelLocationFields.postcode}', location.postcode,\n '${ModelLocationFields.is_default}', location.is_default,\n '${ModelLocationFields.person_contact}', location.person_contact,\n '${ModelLocationFields.person_name}', location.person_contact,\n '${ModelLocationFields.person_email}', location.person_email,\n '${ModelLocationFields.isdelete}', location.isdelete,\n '${ModelLocationFields.istrash}', location.istrash\n )\n ) FILTER (WHERE location.location_id IS NOT NULL AND location.isdelete = false AND location.istrash = false), \n '[]'\n )`]: \"locations\"\n }\n\n filterColumns = { ...filterColumns, ...locationSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, locationSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"usrprop_location\", \"location\", \"brn\", [\"wrk.user_id = brn.user_id\", \"brn.isdelete = false\", \"brn.istrash = false\"])]\n\n }\n\n if (datatypes.includes(workerDataTypes.locationCount)) {\n\n let locationCountSqlSelect = {\n [`COUNT(DISTINCT location.${ModelLocationFields.location_id})::INT`]: \"location_count\"\n }\n\n filterColumns = { ...filterColumns, ...locationCountSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, locationCountSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"cus\", \"branches\", \"brncount\", [\"wrk.user_id = brncount.user_id\", \"brncount.isdelete = false\", \"brncount.istrash = false\"])]\n\n }\n\n // if (datatypes.includes(customerDataTypes.branchUserCount)) {\n\n // let branchUserCountSqlSelect = {\n // [`COUNT(DISTINCT brnusrcount.${ModelBranchUserFields.branch_user_id})::INT`]: \"branch_user_count\"\n // }\n\n // filterColumns = { ...filterColumns, ...branchUserCountSqlSelect }\n\n // sqlSelect = [...sqlSelect, buildSqlSelect(``, branchUserCountSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"cus\", \"branch_users\", \"brnusrcount\", [\"wrk.user_id = brnusrcount.user_id\", \"brnusrcount.isdelete = false\", \"brnusrcount.istrash = false\"])]\n\n // }\n\n let sqlWhere = [\n `wrk.isdelete = false`,\n `wrk.istrash = false`,\n ...(filters.length ? [buildSqlWhere(filters, filterColumns)?.where] : []),\n ]\n\n let sqlOrderby = buildSqlOrderBy(sortfield, sortorder)\n let sqlLimitOffset = buildSqlLimitOffset(limit, offset)\n\n const sqlRaw = buildSqlRawSelect({\n tableName: \"workers\",\n mainAlias: \"wrk\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n data = await workerModel.raw(sqlRaw)\n\n const response = {\n data: data.map(({ filtered_count, ...rest }) => rest),\n total: data.length ? Number(data[0].filtered_count) : 0\n }\n\n return response\n\n };\n\n const removeWorkers = async ({ userIds }: WorkerRemoveProps) => {\n\n if (!userIds.length) throwError('userIds is required');\n\n const response = await workerModel.remove({ where: { [`${ModelWorkerFields.user_id}`]: { in: userIds } } });\n\n return response\n };\n\n const getDataTypes = () => {\n return Object.values(workerDataTypes);\n }\n\n return {\n createWorker,\n updateWorker,\n getWorker,\n listWorkers,\n removeWorkers,\n getDataTypes\n }\n\n}\n\n"]}
|
|
1
|
+
{"version":3,"file":"WorkerService.js","sourceRoot":"","sources":["../../../src/services/user/WorkerService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport {\n ModelUserFields,\n WorkerModel,\n ModelWorkerFields,\n ModelUserPropFields,\n ModelLocationFields,\n UserInjectionFieldModel\n} from \"@/models\";\n\nimport { InjectionFieldService, userParentSqlSelect } from \"@/services\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps } from \"@/utils\";\n\nimport { toFieldMap, buildSqlRawSelect, buildSqlRelation, buildSqlWhere, buildSqlSelect, buildSqlLimitOffset, buildSqlOrderBy, buildInjectionFieldsSqlSelect } from \"@/lib\";\n\nexport type UserType = \"worker\"\n\nexport const workerDataTypes = {\n location: \"location\",\n locationCount: \"location_count\",\n zone: \"zone\",\n zoneCount: \"zone_count\",\n workerInjectionFields: \"worker_injection_fields\",\n file: \"file\",\n parentUser: \"parent_user\"\n}\n\nexport type WorkerDataType = keyof typeof workerDataTypes;\n\nexport type WorkerServiceProps = DefaultServiceProps & {};\n\nexport type WorkerGetProps = {\n id: number,\n includePassword?: boolean,\n datatypes: WorkerDataType[]\n};\n\nexport type WorkerListProps = QueryList & {\n includePassword?: boolean,\n datatypes: WorkerDataType[]\n};\n\nexport type WorkerRemoveProps = {\n userIds: BigInt[]\n};\n\nexport type WorkerCreateProps = {\n data:\n // worker\n {\n worker: {\n userId: number,\n remark: string\n }\n }\n}\n\nexport type WorkerUpdateProps = {\n userId: number,\n data:\n // worker\n {\n worker: {\n // userId: number,\n remark: string\n }\n }\n}\n\nconst getCreatePayload = (data: WorkerCreateProps[\"data\"]) => {\n\n if (\"worker\" in data) {\n\n return {\n [`${ModelWorkerFields.user_id}`]: data.worker.userId,\n [`${ModelWorkerFields.remark}`]: data.worker.remark\n }\n }\n\n return false\n\n}\n\nconst getUpdatePayload = (data: WorkerUpdateProps[\"data\"]) => {\n\n if (\"worker\" in data) {\n\n return {\n // [`${ModelWorkerFields.user_id}`]: data.worker.userId,\n [`${ModelWorkerFields.remark}`]: data.worker.remark\n }\n }\n\n return false\n\n}\n\nlet mainSqlSelect = {\n [`wrk.${ModelWorkerFields.worker_id}`]: \"worker_id\",\n [`wrk.${ModelWorkerFields.user_id}`]: \"user_id\",\n [`wrk.${ModelWorkerFields.remark}`]: \"remark\",\n}\n\nlet userSqlSelect = {\n [`usr.${ModelUserFields.login_username}`]: \"username\",\n [`usr.${ModelUserFields.user_type}`]: \"user_type\",\n [`usr.${ModelUserFields.firstname}`]: \"firstname\",\n [`usr.${ModelUserFields.lastname}`]: \"lastname\",\n [`CONCAT(usr.${ModelUserFields.contact_country_code}, usr.${ModelUserFields.contact_phone_number})`]: \"contact\",\n [`usr.${ModelUserFields.contact_country_code}`]: \"contact_country_code\",\n [`usr.${ModelUserFields.contact_phone_number}`]: \"contact_phone_number\",\n [`usr.${ModelUserFields.email}`]: \"email\",\n [`usr.${ModelUserFields.address}`]: \"address\",\n [`usr.${ModelUserFields.parent_user_id}`]: \"parent_user_id\",\n [`usr.${ModelUserFields.status}`]: \"status\"\n}\n\nlet defaultSqlSelect = {\n [`wrk.${ModelWorkerFields.createdatetime} `]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username} `]: \"createusername\",\n [`wrk.${ModelWorkerFields.updatedatetime} `]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username} `]: \"updateusername\",\n [`wrk.${ModelWorkerFields.isdelete} `]: \"isdelete\",\n [`wrk.${ModelWorkerFields.istrash} `]: \"istrash\",\n [`wrk.${ModelWorkerFields.accountid} `]: \"accountid\",\n}\n\nlet userPropLocationSqlSelect = {\n [`COALESCE(\n STRING_AGG(usrprop_location.${ModelUserPropFields.props_id}:: text, ', '),\n ''\n)`]: \"location_id\",\n [`COALESCE(\n STRING_AGG(location.${ModelLocationFields.location_name}:: text, ', '),\n ''\n)`]: \"location_name\",\n}\n\nexport const WorkerService = (props: WorkerServiceProps) => {\n\n const {\n ...rest\n } = props\n\n const workerModel = WorkerModel({ ...rest })\n\n const injectionFieldService = InjectionFieldService({ ...rest, injectionFieldType: \"user\" })\n\n // const userInjectionFieldModel = UserInjectionFieldModel({ ...rest })\n\n const createWorker = async ({ data }: WorkerCreateProps) => {\n\n const _data = getCreatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid create worker payload: ${JSON.stringify(_data)} `);\n }\n\n let response = await workerModel.create({ data: _data })\n\n return response\n }\n\n const updateWorker = async ({ userId, data }: WorkerUpdateProps) => {\n\n const _data = getUpdatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid update worker payload: ${JSON.stringify(_data)} `);\n }\n\n let response = await workerModel.update({ where: { [`${ModelWorkerFields.user_id} `]: userId }, data: _data })\n\n return response\n }\n\n const getWorker = async ({ id, datatypes = [], includePassword = false }: WorkerGetProps) => {\n\n let { data } = await listWorkers({\n includePassword,\n limit: 1,\n offset: 0,\n filters: [{ field: \"user_id\", operator: \"=\", value: id }],\n sortfield: \"user_id\",\n sortorder: \"ASC\",\n datatypes\n })\n\n return data[0] ?? null;\n\n };\n\n const listWorkers = async ({\n includePassword = false,\n limit,\n offset,\n filters,\n sortfield,\n sortorder,\n datatypes = []\n }: WorkerListProps) => {\n\n let data = []\n\n if (includePassword === true) {\n userSqlSelect = {\n ...userSqlSelect,\n [`usr.${ModelUserFields.login_password} `]: \"password\",\n }\n } else {\n delete userSqlSelect[`usr.${ModelUserFields.login_password} `];\n }\n\n let sqlSelect = [\n `COUNT(wrk.*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, userSqlSelect),\n buildSqlSelect(``, defaultSqlSelect),\n buildSqlSelect(``, userPropLocationSqlSelect),\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"wrk\", \"users\", \"usr\", [\"wrk.user_id = usr.user_id\", \"usr.isdelete = false\", \"usr.istrash = false\"]),\n buildSqlRelation(\"left\", \"wrk\", \"users\", \"creator\", [\"wrk.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"wrk\", \"users\", \"updater\", [\"wrk.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"]),\n buildSqlRelation(\"left\", \"wrk\", \"user_props\", \"usrprop_location\", [\"wrk.user_id = usrprop_location.user_id\", \"usrprop_location.type = 'LOCATION_ID'\", \"usrprop_location.isdelete = false\", \"usrprop_location.istrash = false\"]),\n buildSqlRelation(\"left\", \"wrk\", \"locations\", \"location\", [\"usrprop_location.props_id = location.location_id\", \"location.isdelete = false\", \"location.istrash = false\"]),\n ]\n\n let sqlGroupBy: string[] = [\n ...Object.keys(mainSqlSelect),\n ...Object.keys(userSqlSelect),\n // ...Object.keys(userPropLocationSqlSelect),\n ...Object.keys(defaultSqlSelect)\n ]\n\n let filterColumns = {\n ...mainSqlSelect,\n ...userSqlSelect,\n ...userPropLocationSqlSelect,\n ...defaultSqlSelect\n }\n\n if (datatypes.includes(workerDataTypes.workerInjectionFields)) {\n\n let activeInjectionFields = await injectionFieldService.listActiveInjectionFields(\"user\", \"worker\")\n\n const workerInjectionFieldSqlSelect = buildInjectionFieldsSqlSelect(\"uif\", activeInjectionFields)\n\n filterColumns = { ...filterColumns, ...workerInjectionFieldSqlSelect }\n\n sqlSelect = [...sqlSelect, ...(activeInjectionFields.length > 0 ? [buildSqlSelect(``, workerInjectionFieldSqlSelect)] : [])]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"wrk\", \"user_injection_fields\", \"uif\", [\"wrk.user_id = uif.user_id\", \"uif.field_ref = 'user'\", \"uif.field_module = 'worker'\", \"uif.isdelete = false\", \"uif.istrash = false\"])]\n sqlGroupBy = [...sqlGroupBy, ...Object.keys(workerInjectionFieldSqlSelect)]\n\n }\n\n if (datatypes.includes(workerDataTypes.parentUser)) {\n\n filterColumns = { ...filterColumns, ...userParentSqlSelect }\n\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"wrk\", \"users\", \"parentuser\", [\"usr.parent_user_id = parentuser.user_id\", \"parentuser.isdelete = false\", \"parentuser.istrash = false\"])]\n sqlSelect = [...sqlSelect, buildSqlSelect(``, userParentSqlSelect)]\n sqlGroupBy = [...sqlGroupBy, ...Object.keys(userParentSqlSelect)]\n\n }\n\n if (datatypes.includes(workerDataTypes.location)) {\n\n let locationSqlSelect = {\n [`COALESCE(\n JSON_AGG(\n DISTINCT JSONB_BUILD_OBJECT(\n '${ModelLocationFields.location_id}', location.location_id,\n '${ModelLocationFields.location_code}', location.location_code,\n '${ModelLocationFields.location_name}', location.location_name,\n '${ModelLocationFields.location_type}', location.location_type,\n '${ModelLocationFields.address_1}', location.address_1,\n '${ModelLocationFields.address_2}', location.address_2,\n '${ModelLocationFields.area_id}', location.area_id,\n '${ModelLocationFields.country_id}', location.country_id,\n '${ModelLocationFields.state_id}', location.state_id,\n '${ModelLocationFields.postcode}', location.postcode,\n '${ModelLocationFields.is_default}', location.is_default,\n '${ModelLocationFields.person_contact}', location.person_contact,\n '${ModelLocationFields.person_name}', location.person_contact,\n '${ModelLocationFields.person_email}', location.person_email,\n '${ModelLocationFields.isdelete}', location.isdelete,\n '${ModelLocationFields.istrash}', location.istrash\n )\n ) FILTER(WHERE location.location_id IS NOT NULL AND location.isdelete = false AND location.istrash = false),\n '[]'\n )`]: \"locations\"\n }\n\n filterColumns = { ...filterColumns, ...locationSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, locationSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"usrprop_location\", \"location\", \"brn\", [\"wrk.user_id = brn.user_id\", \"brn.isdelete = false\", \"brn.istrash = false\"])]\n\n }\n\n if (datatypes.includes(workerDataTypes.locationCount)) {\n\n let locationCountSqlSelect = {\n [`COUNT(DISTINCT location.${ModelLocationFields.location_id}):: INT`]: \"location_count\"\n }\n\n filterColumns = { ...filterColumns, ...locationCountSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, locationCountSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"cus\", \"branches\", \"brncount\", [\"wrk.user_id = brncount.user_id\", \"brncount.isdelete = false\", \"brncount.istrash = false\"])]\n\n }\n\n // if (datatypes.includes(customerDataTypes.branchUserCount)) {\n\n // let branchUserCountSqlSelect = {\n // [`COUNT(DISTINCT brnusrcount.${ ModelBranchUserFields.branch_user_id }):: INT`]: \"branch_user_count\"\n // }\n\n // filterColumns = { ...filterColumns, ...branchUserCountSqlSelect }\n\n // sqlSelect = [...sqlSelect, buildSqlSelect(``, branchUserCountSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"cus\", \"branch_users\", \"brnusrcount\", [\"wrk.user_id = brnusrcount.user_id\", \"brnusrcount.isdelete = false\", \"brnusrcount.istrash = false\"])]\n\n // }\n\n let sqlWhere = [\n `wrk.isdelete = false`,\n `wrk.istrash = false`,\n ...(filters.length ? [buildSqlWhere(filters, filterColumns)?.where] : []),\n ]\n\n let sqlOrderby = buildSqlOrderBy(sortfield, sortorder)\n let sqlLimitOffset = buildSqlLimitOffset(limit, offset)\n\n const sqlRaw = buildSqlRawSelect({\n tableName: \"workers\",\n mainAlias: \"wrk\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n data = await workerModel.raw(sqlRaw)\n\n const response = {\n data: data.map(({ filtered_count, ...rest }) => rest),\n total: data.length ? Number(data[0].filtered_count) : 0\n }\n\n return response\n\n };\n\n const removeWorkers = async ({ userIds }: WorkerRemoveProps) => {\n\n if (!userIds.length) throwError('userIds is required');\n\n const response = await workerModel.remove({ where: { [`${ModelWorkerFields.user_id} `]: { in: userIds } } });\n\n return response\n };\n\n const getDataTypes = () => {\n return Object.values(workerDataTypes);\n }\n\n return {\n createWorker,\n updateWorker,\n getWorker,\n listWorkers,\n removeWorkers,\n getDataTypes\n }\n\n}\n\n"]}
|
package/package.json
CHANGED
package/prisma/schema.prisma
CHANGED
|
@@ -130,6 +130,7 @@ model users {
|
|
|
130
130
|
accountid BigInt @default(0)
|
|
131
131
|
contact_country_code Int @default(0)
|
|
132
132
|
contact_phone_number String? @db.VarChar(40)
|
|
133
|
+
parent_user_id BigInt @default(0)
|
|
133
134
|
areas_areas_createuseridTousers areas[] @relation("areas_createuseridTousers")
|
|
134
135
|
areas_areas_updateuseridTousers areas[] @relation("areas_updateuseridTousers")
|
|
135
136
|
branches_branches_createuseridTousers branches[] @relation("branches_createuseridTousers")
|
|
@@ -2749,30 +2750,28 @@ model drivers {
|
|
|
2749
2750
|
}
|
|
2750
2751
|
|
|
2751
2752
|
model members {
|
|
2752
|
-
member_id
|
|
2753
|
-
user_id
|
|
2754
|
-
|
|
2755
|
-
|
|
2756
|
-
|
|
2757
|
-
|
|
2758
|
-
|
|
2759
|
-
|
|
2760
|
-
|
|
2761
|
-
|
|
2762
|
-
|
|
2763
|
-
|
|
2764
|
-
|
|
2765
|
-
|
|
2766
|
-
|
|
2767
|
-
|
|
2768
|
-
|
|
2769
|
-
|
|
2770
|
-
|
|
2771
|
-
|
|
2772
|
-
|
|
2773
|
-
|
|
2774
|
-
gender String? @db.VarChar
|
|
2775
|
-
dob DateTime? @db.Date
|
|
2753
|
+
member_id BigInt @id(map: "cl_members_pkey") @default(autoincrement())
|
|
2754
|
+
user_id BigInt @default(0)
|
|
2755
|
+
company_name String? @db.VarChar(100)
|
|
2756
|
+
code String? @db.VarChar(64)
|
|
2757
|
+
address_1 String? @db.VarChar(255)
|
|
2758
|
+
address_2 String? @db.VarChar(255)
|
|
2759
|
+
postcode String? @db.VarChar(255)
|
|
2760
|
+
state_id BigInt? @default(0)
|
|
2761
|
+
area String? @db.VarChar(255)
|
|
2762
|
+
country_id BigInt? @default(0)
|
|
2763
|
+
remark String? @db.VarChar(256)
|
|
2764
|
+
createdatetime DateTime? @db.Timestamp(6)
|
|
2765
|
+
createuserid BigInt @default(0)
|
|
2766
|
+
updatedatetime DateTime? @db.Timestamp(6)
|
|
2767
|
+
updateuserid BigInt @default(0)
|
|
2768
|
+
isdelete Boolean? @default(false)
|
|
2769
|
+
istrash Boolean? @default(false)
|
|
2770
|
+
accountid BigInt @default(0)
|
|
2771
|
+
area_id BigInt?
|
|
2772
|
+
identity_no String? @db.VarChar(255)
|
|
2773
|
+
gender String? @db.VarChar
|
|
2774
|
+
dob DateTime? @db.Date
|
|
2776
2775
|
|
|
2777
2776
|
@@schema("public")
|
|
2778
2777
|
}
|
|
@@ -2822,29 +2821,27 @@ model one_time_codes {
|
|
|
2822
2821
|
}
|
|
2823
2822
|
|
|
2824
2823
|
model agents {
|
|
2825
|
-
agent_id
|
|
2826
|
-
createdatetime
|
|
2827
|
-
createuserid
|
|
2828
|
-
updatedatetime
|
|
2829
|
-
updateuserid
|
|
2830
|
-
isdelete
|
|
2831
|
-
istrash
|
|
2832
|
-
accountid
|
|
2833
|
-
user_id
|
|
2834
|
-
|
|
2835
|
-
|
|
2836
|
-
|
|
2837
|
-
|
|
2838
|
-
|
|
2839
|
-
|
|
2840
|
-
|
|
2841
|
-
|
|
2842
|
-
|
|
2843
|
-
|
|
2844
|
-
|
|
2845
|
-
|
|
2846
|
-
country_id BigInt? @default(0)
|
|
2847
|
-
remark String? @db.VarChar(256)
|
|
2824
|
+
agent_id BigInt @id @default(autoincrement())
|
|
2825
|
+
createdatetime DateTime? @db.Timestamptz(6)
|
|
2826
|
+
createuserid BigInt @default(0)
|
|
2827
|
+
updatedatetime DateTime? @db.Timestamptz(6)
|
|
2828
|
+
updateuserid BigInt @default(0)
|
|
2829
|
+
isdelete Boolean? @default(false)
|
|
2830
|
+
istrash Boolean? @default(false)
|
|
2831
|
+
accountid BigInt @default(0)
|
|
2832
|
+
user_id BigInt @default(0)
|
|
2833
|
+
company_name String? @db.VarChar(100)
|
|
2834
|
+
identity_no String? @db.VarChar(100)
|
|
2835
|
+
gender String? @db.VarChar(100)
|
|
2836
|
+
dob DateTime? @db.Date
|
|
2837
|
+
code String? @db.VarChar(64)
|
|
2838
|
+
address_1 String? @db.VarChar(255)
|
|
2839
|
+
address_2 String? @db.VarChar(255)
|
|
2840
|
+
postcode String? @db.VarChar(255)
|
|
2841
|
+
state_id BigInt? @default(0)
|
|
2842
|
+
area_id BigInt? @default(0)
|
|
2843
|
+
country_id BigInt? @default(0)
|
|
2844
|
+
remark String? @db.VarChar(256)
|
|
2848
2845
|
|
|
2849
2846
|
@@schema("public")
|
|
2850
2847
|
}
|