storemw-core-api 1.0.82 → 1.0.83
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/schema/payload/injection_field/schemaInjectionField.d.ts +16 -16
- package/dist/services/auth/AuthService.d.ts +1 -0
- package/dist/services/auth/AuthService.js +1 -0
- package/dist/services/auth/AuthService.js.map +1 -1
- package/dist/services/injection_field/InjectionFieldService.d.ts +1 -1
- package/package.json +1 -1
|
@@ -6,12 +6,12 @@ export declare const injectionFieldSchema: z.ZodDiscriminatedUnion<"field_ref",
|
|
|
6
6
|
field_type: z.ZodEnum<["id", "value", "numeric", "integer", "timestamp", "date", "date_time", "text"]>;
|
|
7
7
|
}, "strip", z.ZodTypeAny, {
|
|
8
8
|
field_ref: "user";
|
|
9
|
-
field_module: "administrator" | "worker" | "customer" | "
|
|
9
|
+
field_module: "administrator" | "worker" | "customer" | "member" | "driver" | "retailer";
|
|
10
10
|
field_key: string;
|
|
11
11
|
field_type: "value" | "integer" | "numeric" | "date" | "id" | "timestamp" | "date_time" | "text";
|
|
12
12
|
}, {
|
|
13
13
|
field_ref: "user";
|
|
14
|
-
field_module: "administrator" | "worker" | "customer" | "
|
|
14
|
+
field_module: "administrator" | "worker" | "customer" | "member" | "driver" | "retailer";
|
|
15
15
|
field_key: string;
|
|
16
16
|
field_type: "value" | "integer" | "numeric" | "date" | "id" | "timestamp" | "date_time" | "text";
|
|
17
17
|
}>, z.ZodObject<{
|
|
@@ -130,13 +130,13 @@ export declare const injectionFieldSchemaReplace: z.ZodDiscriminatedUnion<"field
|
|
|
130
130
|
field_value: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
|
|
131
131
|
}, "strip", z.ZodTypeAny, {
|
|
132
132
|
field_ref: "user";
|
|
133
|
-
field_module: "administrator" | "worker" | "customer" | "
|
|
133
|
+
field_module: "administrator" | "worker" | "customer" | "member" | "driver" | "retailer";
|
|
134
134
|
field_key: string;
|
|
135
135
|
ref_id: string | number;
|
|
136
136
|
field_value: string | number;
|
|
137
137
|
}, {
|
|
138
138
|
field_ref: "user";
|
|
139
|
-
field_module: "administrator" | "worker" | "customer" | "
|
|
139
|
+
field_module: "administrator" | "worker" | "customer" | "member" | "driver" | "retailer";
|
|
140
140
|
field_key: string;
|
|
141
141
|
ref_id: string | number;
|
|
142
142
|
field_value: string | number;
|
|
@@ -298,12 +298,12 @@ export declare const schemaInjectionFieldCreatePayload: z.ZodObject<{
|
|
|
298
298
|
field_type: z.ZodEnum<["id", "value", "numeric", "integer", "timestamp", "date", "date_time", "text"]>;
|
|
299
299
|
}, "strip", z.ZodTypeAny, {
|
|
300
300
|
field_ref: "user";
|
|
301
|
-
field_module: "administrator" | "worker" | "customer" | "
|
|
301
|
+
field_module: "administrator" | "worker" | "customer" | "member" | "driver" | "retailer";
|
|
302
302
|
field_key: string;
|
|
303
303
|
field_type: "value" | "integer" | "numeric" | "date" | "id" | "timestamp" | "date_time" | "text";
|
|
304
304
|
}, {
|
|
305
305
|
field_ref: "user";
|
|
306
|
-
field_module: "administrator" | "worker" | "customer" | "
|
|
306
|
+
field_module: "administrator" | "worker" | "customer" | "member" | "driver" | "retailer";
|
|
307
307
|
field_key: string;
|
|
308
308
|
field_type: "value" | "integer" | "numeric" | "date" | "id" | "timestamp" | "date_time" | "text";
|
|
309
309
|
}>, z.ZodObject<{
|
|
@@ -415,7 +415,7 @@ export declare const schemaInjectionFieldCreatePayload: z.ZodObject<{
|
|
|
415
415
|
}, "strip", z.ZodTypeAny, {
|
|
416
416
|
injection_fields: ({
|
|
417
417
|
field_ref: "user";
|
|
418
|
-
field_module: "administrator" | "worker" | "customer" | "
|
|
418
|
+
field_module: "administrator" | "worker" | "customer" | "member" | "driver" | "retailer";
|
|
419
419
|
field_key: string;
|
|
420
420
|
field_type: "value" | "integer" | "numeric" | "date" | "id" | "timestamp" | "date_time" | "text";
|
|
421
421
|
} | {
|
|
@@ -457,7 +457,7 @@ export declare const schemaInjectionFieldCreatePayload: z.ZodObject<{
|
|
|
457
457
|
}, {
|
|
458
458
|
injection_fields: ({
|
|
459
459
|
field_ref: "user";
|
|
460
|
-
field_module: "administrator" | "worker" | "customer" | "
|
|
460
|
+
field_module: "administrator" | "worker" | "customer" | "member" | "driver" | "retailer";
|
|
461
461
|
field_key: string;
|
|
462
462
|
field_type: "value" | "integer" | "numeric" | "date" | "id" | "timestamp" | "date_time" | "text";
|
|
463
463
|
} | {
|
|
@@ -504,7 +504,7 @@ export declare const schemaInjectionFieldCreatePayload: z.ZodObject<{
|
|
|
504
504
|
payload: {
|
|
505
505
|
injection_fields: ({
|
|
506
506
|
field_ref: "user";
|
|
507
|
-
field_module: "administrator" | "worker" | "customer" | "
|
|
507
|
+
field_module: "administrator" | "worker" | "customer" | "member" | "driver" | "retailer";
|
|
508
508
|
field_key: string;
|
|
509
509
|
field_type: "value" | "integer" | "numeric" | "date" | "id" | "timestamp" | "date_time" | "text";
|
|
510
510
|
} | {
|
|
@@ -551,7 +551,7 @@ export declare const schemaInjectionFieldCreatePayload: z.ZodObject<{
|
|
|
551
551
|
payload: {
|
|
552
552
|
injection_fields: ({
|
|
553
553
|
field_ref: "user";
|
|
554
|
-
field_module: "administrator" | "worker" | "customer" | "
|
|
554
|
+
field_module: "administrator" | "worker" | "customer" | "member" | "driver" | "retailer";
|
|
555
555
|
field_key: string;
|
|
556
556
|
field_type: "value" | "integer" | "numeric" | "date" | "id" | "timestamp" | "date_time" | "text";
|
|
557
557
|
} | {
|
|
@@ -613,13 +613,13 @@ export declare const schemaInjectionFieldReplacePayload: z.ZodObject<{
|
|
|
613
613
|
field_value: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
|
|
614
614
|
}, "strip", z.ZodTypeAny, {
|
|
615
615
|
field_ref: "user";
|
|
616
|
-
field_module: "administrator" | "worker" | "customer" | "
|
|
616
|
+
field_module: "administrator" | "worker" | "customer" | "member" | "driver" | "retailer";
|
|
617
617
|
field_key: string;
|
|
618
618
|
ref_id: string | number;
|
|
619
619
|
field_value: string | number;
|
|
620
620
|
}, {
|
|
621
621
|
field_ref: "user";
|
|
622
|
-
field_module: "administrator" | "worker" | "customer" | "
|
|
622
|
+
field_module: "administrator" | "worker" | "customer" | "member" | "driver" | "retailer";
|
|
623
623
|
field_key: string;
|
|
624
624
|
ref_id: string | number;
|
|
625
625
|
field_value: string | number;
|
|
@@ -767,7 +767,7 @@ export declare const schemaInjectionFieldReplacePayload: z.ZodObject<{
|
|
|
767
767
|
}, "strip", z.ZodTypeAny, {
|
|
768
768
|
injection_fields: ({
|
|
769
769
|
field_ref: "user";
|
|
770
|
-
field_module: "administrator" | "worker" | "customer" | "
|
|
770
|
+
field_module: "administrator" | "worker" | "customer" | "member" | "driver" | "retailer";
|
|
771
771
|
field_key: string;
|
|
772
772
|
ref_id: string | number;
|
|
773
773
|
field_value: string | number;
|
|
@@ -817,7 +817,7 @@ export declare const schemaInjectionFieldReplacePayload: z.ZodObject<{
|
|
|
817
817
|
}, {
|
|
818
818
|
injection_fields: ({
|
|
819
819
|
field_ref: "user";
|
|
820
|
-
field_module: "administrator" | "worker" | "customer" | "
|
|
820
|
+
field_module: "administrator" | "worker" | "customer" | "member" | "driver" | "retailer";
|
|
821
821
|
field_key: string;
|
|
822
822
|
ref_id: string | number;
|
|
823
823
|
field_value: string | number;
|
|
@@ -872,7 +872,7 @@ export declare const schemaInjectionFieldReplacePayload: z.ZodObject<{
|
|
|
872
872
|
payload: {
|
|
873
873
|
injection_fields: ({
|
|
874
874
|
field_ref: "user";
|
|
875
|
-
field_module: "administrator" | "worker" | "customer" | "
|
|
875
|
+
field_module: "administrator" | "worker" | "customer" | "member" | "driver" | "retailer";
|
|
876
876
|
field_key: string;
|
|
877
877
|
ref_id: string | number;
|
|
878
878
|
field_value: string | number;
|
|
@@ -927,7 +927,7 @@ export declare const schemaInjectionFieldReplacePayload: z.ZodObject<{
|
|
|
927
927
|
payload: {
|
|
928
928
|
injection_fields: ({
|
|
929
929
|
field_ref: "user";
|
|
930
|
-
field_module: "administrator" | "worker" | "customer" | "
|
|
930
|
+
field_module: "administrator" | "worker" | "customer" | "member" | "driver" | "retailer";
|
|
931
931
|
field_key: string;
|
|
932
932
|
ref_id: string | number;
|
|
933
933
|
field_value: string | number;
|
|
@@ -5,6 +5,7 @@ export declare const authTypes: {
|
|
|
5
5
|
readonly administrator: "administrator";
|
|
6
6
|
readonly worker: "worker";
|
|
7
7
|
readonly customer: "customer";
|
|
8
|
+
readonly member: "member";
|
|
8
9
|
};
|
|
9
10
|
export type AuthType = typeof authTypes[keyof typeof authTypes];
|
|
10
11
|
export type AuthJwtToken = JwtPayload & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthService.js","sourceRoot":"","sources":["../../../src/services/auth/AuthService.ts"],"names":[],"mappings":"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","sourcesContent":["// import { QueryList, QueryGet } from \"@/schema/common\";\nimport { DefaultServiceProps, throwError } from \"@/utils\";\nimport {\n UserService,\n UserGetProps,\n UserType,\n UserListProps,\n userTypes,\n AccountService,\n LocationService,\n LocationListProps\n} from \"@/services\";\n\nimport jwt, { JwtPayload } from \"jsonwebtoken\";\nimport { config } from \"@/configs/config\";\n\nimport { generateAuthToken, verifyPassword, verifyAuthToken, hashPassword } from \"@/utils\"\nimport { ModelAccountFields } from \"@/models\";\n\nexport const authTypes = {\n operator: \"operator\",\n administrator: \"administrator\",\n worker: \"worker\",\n customer: \"customer\",\n} as const\n\nexport type AuthType = typeof authTypes[keyof typeof authTypes]\n\nexport type AuthJwtToken = JwtPayload & {\n user?: { id: number, user_id: number, user_type: AuthType };\n account?: { id: number, account_id: number };\n};\n\nexport type AuthServiceProps = DefaultServiceProps & {\n secretKey: string,\n authType: AuthType\n};\n\nexport type AuthGetTokenProps = {\n authType: AuthType,\n accountId?: number,\n accountCode?: string,\n data:\n // get token\n {\n username: string,\n password: string\n }\n};\n\nexport type AuthChangePasswordProps = {\n authToken: string,\n currentPassword: string\n newPassword: string\n confirmPassword: string\n};\n\nexport const AuthService = (props: AuthServiceProps) => {\n\n const {\n secretKey,\n authType = \"administrator\",\n // prisma,\n // authType = \"administrator\",\n // accountId = 0,\n // actionUserId = 0,\n ...rest\n } = props\n\n const getUserInjectionFieldName = (authType: AuthType) => {\n\n if (authType === \"administrator\") return [\"administrator_injection_fields\"]\n if (authType === \"customer\") return [\"customer_injection_fields\"]\n if (authType === \"worker\") return [\"worker_injection_fields\"]\n\n return []\n }\n\n const getAuthToken = async ({ authType, data, accountId = 0, accountCode = \"\" }: AuthGetTokenProps) => {\n\n let _rest = rest\n\n // check the option pass in using account id or account code\n if (authType !== \"operator\") {\n // _rest.accountId = accountId\n\n // check if the accountId & accountCode is not empty\n if (!accountId && !accountCode) throwError(`accountId or accountCode is required`)\n\n let selectAccountId = `${accountId}`\n\n // check account id is choose \n if (selectAccountId === \"0\") {\n\n const globalAccountService = AccountService({ ...rest, isOperator: true })\n\n // use account code to find the account id\n if (accountCode) {\n\n let { data: responseAcc } = await globalAccountService.listAccounts({\n limit: 1,\n offset: 0,\n sortfield: `${ModelAccountFields.account_id}`,\n sortorder: `ASC`,\n filters: [{\n field: `${ModelAccountFields.account_code}`,\n operator: `=`,\n value: `${accountCode}`,\n }],\n datatypes: []\n })\n\n selectAccountId = responseAcc.length > 0 ? responseAcc[0].account_id : \"\"\n let selectAccountStatus = responseAcc.length > 0 ? responseAcc[0].account_status : \"\"\n\n if (selectAccountStatus !== true) throwError(`Inactive account: ${accountCode}`)\n\n }\n\n if (!selectAccountId) {\n throwError(`Invalid account code: ${accountCode}`)\n }\n\n }\n\n _rest.accountId = Number(selectAccountId)\n\n } else {\n _rest.accountId = accountId\n }\n\n const userService = UserService({ userType: authType as UserType, ...rest })\n const accountService = AccountService({ ...rest, isOperator: true })\n const locationService = LocationService({ ...rest, locationType: \"location\" })\n\n // let data: any = {}\n\n let payload: UserListProps = {\n includePassword: true,\n limit: 1,\n offset: 0,\n sortfield: \"user_id\",\n sortorder: \"ASC\",\n filters: [\n { field: \"username\", operator: \"=\", value: `${data[\"username\"]}` },\n { field: \"user_type\", operator: \"=\", value: `${authType}` }\n ],\n datatypes: getUserInjectionFieldName(authType)\n }\n\n const { data: foundUser } = await userService.listUsers(payload)\n\n if (foundUser.length <= 0) {\n throw Error(`Invalid username: ${data[\"username\"]}`)\n }\n\n let user = foundUser.length > 0 ? foundUser[0] : {}\n\n let decryptedPass: boolean\n\n try {\n decryptedPass = await verifyPassword(data.password, user.password)\n } catch (error) {\n throw error\n }\n\n if (decryptedPass === false) {\n throw Error(`Invalid credential: ${data[\"username\"]}`)\n }\n\n // dont show out to result\n delete user.password\n\n let account: any = {}\n\n if (_rest.accountId && authType !== \"operator\") {\n account = await accountService.getAccount({ id: Number(_rest.accountId), datatypes: [] })\n }\n\n const authToken = generateAuthToken(user, account, secretKey)\n\n // get the locations for user\n const locationIds = user?.location_id ? user.location_id.split(\", \") : []\n\n let locations: any[] = []\n\n if (locationIds.length > 0) {\n const listPayload: LocationListProps = {\n limit: 100,\n offset: 0,\n sortfield: \"location_id\",\n sortorder: \"ASC\",\n filters: [{\n field: \"location_id\",\n operator: \"where_in\",\n value: locationIds.map((i: any) => Number(i))\n }],\n datatypes: []\n }\n\n const { data } = await locationService.listLocations(listPayload)\n locations = data\n }\n\n return {\n token: authToken,\n account,\n user,\n user_locations: locations,\n parent_user_id: 0,\n roles: [\n // {\n // id: 23,\n // role_name: \"123\"\n // }\n ],\n permissions: [],\n is_owner: Boolean(user?.is_owner === 1),\n owner_id: 0\n }\n };\n\n const changePassword = async ({ authToken, currentPassword, confirmPassword, newPassword }: AuthChangePasswordProps) => {\n\n const authSecretKey = config.AUTH_SECRET_KEY\n\n // validate the token\n const jwtData = verifyAuthToken(authToken, authSecretKey);\n\n const accountId = jwtData?.account?.account_id ?? \"\";\n const userId = jwtData?.user?.user_id ?? \"\";\n const userType = jwtData?.user?.user_type ?? \"\";\n\n if (!accountId && userType !== \"operator\") { // operator token do not have account id\n throwError(`Invalid or missing account id in auth token`)\n }\n\n if (!userId) {\n throwError(`Missing user id in auth token`)\n }\n\n if (!userType) {\n throwError(`Missing user type in auth token`)\n }\n\n const userService = UserService({ userType, ...rest })\n const accountService = AccountService({ ...rest, isOperator: true })\n\n const user = await userService.getUser({ id: Number(userId), datatypes: [], includePassword: true })\n const account = await accountService.getAccount({ id: Number(accountId), datatypes: [] })\n\n // console.log('jwtData', jwtData)\n // console.log('user', user)\n // console.log('account', account)\n\n // const a = await hashPassword(user?.password)\n\n // check the accountId / userId is valid\n if (!user?.user_id) {\n throwError(`Invalid user id in auth token`)\n }\n\n if (!account?.account_id && userType !== \"operator\") { // operator token do not have account id\n throwError(`Invalid account id in auth token`)\n }\n\n // new password cannot same with current password\n if (newPassword === currentPassword) {\n throwError(`New and current password cannot be same`)\n }\n\n // new password must same with confirm\n if (newPassword !== confirmPassword) {\n throwError(`New and confirm password not matched`)\n }\n\n // check the current password\n try {\n const decryptedPass = await verifyPassword(currentPassword, user?.password)\n // console.log('decryptedPass', decryptedPass)\n\n if (!decryptedPass) {\n throw Error(`Invalid current password`)\n }\n\n } catch (error: any) {\n throwError(`Auth Token: ${error?.message}`)\n }\n\n // perform update credential\n const responseUser = await userService.replacePassword({\n id: Number(userId),\n data: {\n loginPassword: await hashPassword(newPassword)\n },\n isOperator: Boolean(userType === \"operator\")\n })\n\n return responseUser\n\n }\n\n return {\n getAuthToken,\n verifyAuthToken,\n changePassword\n }\n\n}\n\n"]}
|
|
1
|
+
{"version":3,"file":"AuthService.js","sourceRoot":"","sources":["../../../src/services/auth/AuthService.ts"],"names":[],"mappings":"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","sourcesContent":["// import { QueryList, QueryGet } from \"@/schema/common\";\nimport { DefaultServiceProps, throwError } from \"@/utils\";\nimport {\n UserService,\n UserGetProps,\n UserType,\n UserListProps,\n userTypes,\n AccountService,\n LocationService,\n LocationListProps\n} from \"@/services\";\n\nimport jwt, { JwtPayload } from \"jsonwebtoken\";\nimport { config } from \"@/configs/config\";\n\nimport { generateAuthToken, verifyPassword, verifyAuthToken, hashPassword } from \"@/utils\"\nimport { ModelAccountFields } from \"@/models\";\n\nexport const authTypes = {\n operator: \"operator\",\n administrator: \"administrator\",\n worker: \"worker\",\n customer: \"customer\",\n member: \"member\",\n} as const\n\nexport type AuthType = typeof authTypes[keyof typeof authTypes]\n\nexport type AuthJwtToken = JwtPayload & {\n user?: { id: number, user_id: number, user_type: AuthType };\n account?: { id: number, account_id: number };\n};\n\nexport type AuthServiceProps = DefaultServiceProps & {\n secretKey: string,\n authType: AuthType\n};\n\nexport type AuthGetTokenProps = {\n authType: AuthType,\n accountId?: number,\n accountCode?: string,\n data:\n // get token\n {\n username: string,\n password: string\n }\n};\n\nexport type AuthChangePasswordProps = {\n authToken: string,\n currentPassword: string\n newPassword: string\n confirmPassword: string\n};\n\nexport const AuthService = (props: AuthServiceProps) => {\n\n const {\n secretKey,\n authType = \"administrator\",\n // prisma,\n // authType = \"administrator\",\n // accountId = 0,\n // actionUserId = 0,\n ...rest\n } = props\n\n const getUserInjectionFieldName = (authType: AuthType) => {\n\n if (authType === \"administrator\") return [\"administrator_injection_fields\"]\n if (authType === \"customer\") return [\"customer_injection_fields\"]\n if (authType === \"worker\") return [\"worker_injection_fields\"]\n\n return []\n }\n\n const getAuthToken = async ({ authType, data, accountId = 0, accountCode = \"\" }: AuthGetTokenProps) => {\n\n let _rest = rest\n\n // check the option pass in using account id or account code\n if (authType !== \"operator\") {\n // _rest.accountId = accountId\n\n // check if the accountId & accountCode is not empty\n if (!accountId && !accountCode) throwError(`accountId or accountCode is required`)\n\n let selectAccountId = `${accountId}`\n\n // check account id is choose \n if (selectAccountId === \"0\") {\n\n const globalAccountService = AccountService({ ...rest, isOperator: true })\n\n // use account code to find the account id\n if (accountCode) {\n\n let { data: responseAcc } = await globalAccountService.listAccounts({\n limit: 1,\n offset: 0,\n sortfield: `${ModelAccountFields.account_id}`,\n sortorder: `ASC`,\n filters: [{\n field: `${ModelAccountFields.account_code}`,\n operator: `=`,\n value: `${accountCode}`,\n }],\n datatypes: []\n })\n\n selectAccountId = responseAcc.length > 0 ? responseAcc[0].account_id : \"\"\n let selectAccountStatus = responseAcc.length > 0 ? responseAcc[0].account_status : \"\"\n\n if (selectAccountStatus !== true) throwError(`Inactive account: ${accountCode}`)\n\n }\n\n if (!selectAccountId) {\n throwError(`Invalid account code: ${accountCode}`)\n }\n\n }\n\n _rest.accountId = Number(selectAccountId)\n\n } else {\n _rest.accountId = accountId\n }\n\n const userService = UserService({ userType: authType as UserType, ...rest })\n const accountService = AccountService({ ...rest, isOperator: true })\n const locationService = LocationService({ ...rest, locationType: \"location\" })\n\n // let data: any = {}\n\n let payload: UserListProps = {\n includePassword: true,\n limit: 1,\n offset: 0,\n sortfield: \"user_id\",\n sortorder: \"ASC\",\n filters: [\n { field: \"username\", operator: \"=\", value: `${data[\"username\"]}` },\n { field: \"user_type\", operator: \"=\", value: `${authType}` }\n ],\n datatypes: getUserInjectionFieldName(authType)\n }\n\n const { data: foundUser } = await userService.listUsers(payload)\n\n if (foundUser.length <= 0) {\n throw Error(`Invalid username: ${data[\"username\"]}`)\n }\n\n let user = foundUser.length > 0 ? foundUser[0] : {}\n\n let decryptedPass: boolean\n\n try {\n decryptedPass = await verifyPassword(data.password, user.password)\n } catch (error) {\n throw error\n }\n\n if (decryptedPass === false) {\n throw Error(`Invalid credential: ${data[\"username\"]}`)\n }\n\n // dont show out to result\n delete user.password\n\n let account: any = {}\n\n if (_rest.accountId && authType !== \"operator\") {\n account = await accountService.getAccount({ id: Number(_rest.accountId), datatypes: [] })\n }\n\n const authToken = generateAuthToken(user, account, secretKey)\n\n // get the locations for user\n const locationIds = user?.location_id ? user.location_id.split(\", \") : []\n\n let locations: any[] = []\n\n if (locationIds.length > 0) {\n const listPayload: LocationListProps = {\n limit: 100,\n offset: 0,\n sortfield: \"location_id\",\n sortorder: \"ASC\",\n filters: [{\n field: \"location_id\",\n operator: \"where_in\",\n value: locationIds.map((i: any) => Number(i))\n }],\n datatypes: []\n }\n\n const { data } = await locationService.listLocations(listPayload)\n locations = data\n }\n\n return {\n token: authToken,\n account,\n user,\n user_locations: locations,\n parent_user_id: 0,\n roles: [\n // {\n // id: 23,\n // role_name: \"123\"\n // }\n ],\n permissions: [],\n is_owner: Boolean(user?.is_owner === 1),\n owner_id: 0\n }\n };\n\n const changePassword = async ({ authToken, currentPassword, confirmPassword, newPassword }: AuthChangePasswordProps) => {\n\n const authSecretKey = config.AUTH_SECRET_KEY\n\n // validate the token\n const jwtData = verifyAuthToken(authToken, authSecretKey);\n\n const accountId = jwtData?.account?.account_id ?? \"\";\n const userId = jwtData?.user?.user_id ?? \"\";\n const userType = jwtData?.user?.user_type ?? \"\";\n\n if (!accountId && userType !== \"operator\") { // operator token do not have account id\n throwError(`Invalid or missing account id in auth token`)\n }\n\n if (!userId) {\n throwError(`Missing user id in auth token`)\n }\n\n if (!userType) {\n throwError(`Missing user type in auth token`)\n }\n\n const userService = UserService({ userType, ...rest })\n const accountService = AccountService({ ...rest, isOperator: true })\n\n const user = await userService.getUser({ id: Number(userId), datatypes: [], includePassword: true })\n const account = await accountService.getAccount({ id: Number(accountId), datatypes: [] })\n\n // console.log('jwtData', jwtData)\n // console.log('user', user)\n // console.log('account', account)\n\n // const a = await hashPassword(user?.password)\n\n // check the accountId / userId is valid\n if (!user?.user_id) {\n throwError(`Invalid user id in auth token`)\n }\n\n if (!account?.account_id && userType !== \"operator\") { // operator token do not have account id\n throwError(`Invalid account id in auth token`)\n }\n\n // new password cannot same with current password\n if (newPassword === currentPassword) {\n throwError(`New and current password cannot be same`)\n }\n\n // new password must same with confirm\n if (newPassword !== confirmPassword) {\n throwError(`New and confirm password not matched`)\n }\n\n // check the current password\n try {\n const decryptedPass = await verifyPassword(currentPassword, user?.password)\n // console.log('decryptedPass', decryptedPass)\n\n if (!decryptedPass) {\n throw Error(`Invalid current password`)\n }\n\n } catch (error: any) {\n throwError(`Auth Token: ${error?.message}`)\n }\n\n // perform update credential\n const responseUser = await userService.replacePassword({\n id: Number(userId),\n data: {\n loginPassword: await hashPassword(newPassword)\n },\n isOperator: Boolean(userType === \"operator\")\n })\n\n return responseUser\n\n }\n\n return {\n getAuthToken,\n verifyAuthToken,\n changePassword\n }\n\n}\n\n"]}
|
|
@@ -43,10 +43,10 @@ declare const modulePrefixMap: {
|
|
|
43
43
|
administrator: string;
|
|
44
44
|
worker: string;
|
|
45
45
|
customer: string;
|
|
46
|
+
member: string;
|
|
46
47
|
supplier: string;
|
|
47
48
|
driver: string;
|
|
48
49
|
retailer: string;
|
|
49
|
-
member: string;
|
|
50
50
|
};
|
|
51
51
|
declare const refPrefixMap: {
|
|
52
52
|
logistic: string;
|