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.
@@ -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" | "driver" | "retailer" | "member";
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" | "driver" | "retailer" | "member";
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" | "driver" | "retailer" | "member";
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" | "driver" | "retailer" | "member";
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" | "driver" | "retailer" | "member";
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" | "driver" | "retailer" | "member";
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" | "driver" | "retailer" | "member";
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" | "driver" | "retailer" | "member";
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" | "driver" | "retailer" | "member";
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" | "driver" | "retailer" | "member";
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" | "driver" | "retailer" | "member";
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" | "driver" | "retailer" | "member";
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" | "driver" | "retailer" | "member";
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" | "driver" | "retailer" | "member";
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" | "driver" | "retailer" | "member";
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" | "driver" | "retailer" | "member";
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 & {
@@ -12,6 +12,7 @@ exports.authTypes = {
12
12
  administrator: "administrator",
13
13
  worker: "worker",
14
14
  customer: "customer",
15
+ member: "member",
15
16
  };
16
17
  const AuthService = (props) => {
17
18
  const { secretKey, authType = "administrator",
@@ -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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "storemw-core-api",
3
- "version": "1.0.82",
3
+ "version": "1.0.83",
4
4
  "description": "STOREMW Core API",
5
5
  "main": "dist/app.js",
6
6
  "types": "dist/app.d.ts",