@orbe-agro/client-core-prod 5.5.38 → 5.5.39

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 (38) hide show
  1. package/dist/@ecme/auth/AuthProvider.js +7 -1
  2. package/dist/@ecme/auth/AuthProvider.js.map +1 -1
  3. package/dist/@types/@ecme/auth/AuthProvider.d.ts.map +1 -1
  4. package/dist/@types/base/@types/models/dm/user.d.ts +90 -0
  5. package/dist/@types/base/@types/models/dm/user.d.ts.map +1 -0
  6. package/dist/@types/base/@types/models/racao/precificacaoFarelo.d.ts +8 -2
  7. package/dist/@types/base/@types/models/racao/precificacaoFarelo.d.ts.map +1 -1
  8. package/dist/@types/base/configs/endpoints.config/dm/config/user.d.ts +4 -0
  9. package/dist/@types/base/configs/endpoints.config/dm/config/user.d.ts.map +1 -1
  10. package/dist/@types/base/configs/endpoints.config/dm/dm.d.ts +4 -0
  11. package/dist/@types/base/configs/endpoints.config/dm/dm.d.ts.map +1 -1
  12. package/dist/@types/base/configs/endpoints.config/endpoints.navigation.d.ts +4 -0
  13. package/dist/@types/base/configs/endpoints.config/endpoints.navigation.d.ts.map +1 -1
  14. package/dist/@types/base/services/modules/dm/user/UserService.d.ts +3 -1
  15. package/dist/@types/base/services/modules/dm/user/UserService.d.ts.map +1 -1
  16. package/dist/@types/base/store/auth/sessionUserData.d.ts +3 -0
  17. package/dist/@types/base/store/auth/sessionUserData.d.ts.map +1 -1
  18. package/dist/base/@types/models/dm/user.js +2 -0
  19. package/dist/base/@types/models/dm/user.js.map +1 -0
  20. package/dist/base/@types/models/racao/precificacaoFarelo.js +8 -1
  21. package/dist/base/@types/models/racao/precificacaoFarelo.js.map +1 -1
  22. package/dist/base/configs/endpoints.config/dm/config/user.js +5 -1
  23. package/dist/base/configs/endpoints.config/dm/config/user.js.map +1 -1
  24. package/dist/base/index.js +2 -1
  25. package/dist/base/services/index.js +2 -1
  26. package/dist/base/services/modules/dm/index.js +2 -1
  27. package/dist/base/services/modules/dm/user/UserService.js +8 -0
  28. package/dist/base/services/modules/dm/user/UserService.js.map +1 -1
  29. package/dist/base/services/modules/index.js +2 -1
  30. package/dist/base/store/auth/sessionUserData.js +12 -4
  31. package/dist/base/store/auth/sessionUserData.js.map +1 -1
  32. package/lib/@ecme/auth/AuthProvider.tsx +8 -1
  33. package/lib/base/@types/models/dm/user.ts +94 -0
  34. package/lib/base/@types/models/racao/precificacaoFarelo.ts +9 -2
  35. package/lib/base/configs/endpoints.config/dm/config/user.ts +6 -2
  36. package/lib/base/services/modules/dm/user/UserService.tsx +20 -8
  37. package/lib/base/store/auth/sessionUserData.ts +18 -6
  38. package/package.json +1 -1
@@ -9,6 +9,7 @@ import { mapFuncionalidadesByPath } from "../../base/utils/modules/dm/funcionali
9
9
  import { useImperativeHandle, useRef } from "react";
10
10
  import { useNavigate } from "react-router-dom";
11
11
  import AuthContext from "./AuthContext.js";
12
+ import { apiFindUserById } from "../../base/services/modules/dm/user/UserService.js";
12
13
  import { apiFetchUserFuncionalidades, apiFetchUserVinculosUsuario } from "../../base/services/modules/AdmService.js";
13
14
  const IsolatedNavigator = ({ ref }) => {
14
15
  const navigate = useNavigate();
@@ -26,6 +27,7 @@ function AuthProvider({ children }) {
26
27
  const setSessionSignedIn = useSessionUser(
27
28
  (state) => state.setSessionSignedIn
28
29
  );
30
+ const setRolesSet = useSessionUserDataStore((state) => state.setRolesSet);
29
31
  const setFuncionalidadesSet = useSessionUserDataStore(
30
32
  (state) => state.setFuncionalidadesSet
31
33
  );
@@ -57,7 +59,11 @@ function AuthProvider({ children }) {
57
59
  setSessionSignedIn(false);
58
60
  };
59
61
  async function handlePostAuth(resp) {
60
- const funcionalidades = await apiFetchUserFuncionalidades(resp.id);
62
+ const findUserByIdResp = await apiFindUserById(resp.id);
63
+ const { roles } = findUserByIdResp;
64
+ const funcionalidades = roles.flatMap(
65
+ (role) => role.funcionalidades.map((func) => func.url)
66
+ );
61
67
  const funcionalidadesSet = new Set(funcionalidades || []);
62
68
  setFuncionalidadesSet(funcionalidadesSet);
63
69
  const funcionalidadesMap = funcionalidades.reduce(
@@ -1 +1 @@
1
- {"version":3,"file":"AuthProvider.js","sources":["../../../lib/@ecme/auth/AuthProvider.tsx"],"sourcesContent":["import type {\n AuthResult,\n OauthSignInCallbackPayload,\n SignInCredential,\n SignInResponse,\n SignUpCredential,\n Token,\n} from '@/@types/auth'\nimport appConfig from '@/configs/app.config'\nimport { REDIRECT_URL_KEY } from '@/constants/app.constant'\nimport { apiSignIn, apiSignOut, apiSignUp } from '@/services/AuthService'\nimport { useSessionUser, useToken } from '@/store/authStore'\nimport {\n apiFetchUserFuncionalidades,\n apiFetchUserVinculosUsuario,\n} from '@base/services'\nimport {\n TFuncionalidadeMap,\n useSessionUserDataStore,\n} from '@base/store/auth/sessionUserData'\nimport { mapFuncionalidadesByPath } from '@base/utils/modules/dm/funcionalidades'\nimport { ReactNode, Ref, useImperativeHandle, useRef } from 'react'\nimport { NavigateFunction, useNavigate } from 'react-router-dom'\nimport AuthContext from './AuthContext'\n\ntype AuthProviderProps = { children: ReactNode }\n\nexport type IsolatedNavigatorRef = {\n navigate: NavigateFunction\n}\n\nconst IsolatedNavigator = ({ ref }: { ref: Ref<IsolatedNavigatorRef> }) => {\n const navigate = useNavigate()\n\n useImperativeHandle(ref, () => {\n return {\n navigate,\n }\n }, [navigate])\n\n return <></>\n}\n\nfunction AuthProvider({ children }: AuthProviderProps) {\n const signedIn = useSessionUser((state) => state.session.signedIn)\n const user = useSessionUser((state) => state.user)\n const setUser = useSessionUser((state) => state.setUser)\n const setSessionSignedIn = useSessionUser(\n (state) => state.setSessionSignedIn,\n )\n\n const setFuncionalidadesSet = useSessionUserDataStore(\n (state) => state.setFuncionalidadesSet,\n )\n const setFuncionalidadesMap = useSessionUserDataStore(\n (state) => state.setFuncionalidesMap,\n )\n\n const { token, setToken } = useToken()\n\n const authenticated = Boolean(token && signedIn)\n\n const navigatorRef = useRef<IsolatedNavigatorRef>(null)\n\n const redirect = (userData: { primeiroAcesso?: boolean }) => {\n if (userData.primeiroAcesso) {\n navigatorRef.current?.navigate(appConfig.firstAccessPath)\n return\n }\n const search = window.location.search\n const params = new URLSearchParams(search)\n const redirectUrl = params.get(REDIRECT_URL_KEY)\n\n navigatorRef.current?.navigate(\n redirectUrl ? redirectUrl : appConfig.authenticatedEntryPath,\n )\n }\n\n const handleSignIn = (tokens: Token) => {\n setToken(tokens.accessToken)\n setSessionSignedIn(true)\n }\n\n const handleSignOut = () => {\n setToken('')\n setUser({})\n setSessionSignedIn(false)\n }\n\n async function handlePostAuth(resp: SignInResponse) {\n const funcionalidades = await apiFetchUserFuncionalidades(resp.id)\n\n const funcionalidadesSet = new Set<string>(funcionalidades || [])\n setFuncionalidadesSet(funcionalidadesSet)\n\n const funcionalidadesMap = funcionalidades.reduce(\n mapFuncionalidadesByPath,\n {} as TFuncionalidadeMap,\n )\n\n setFuncionalidadesMap(funcionalidadesMap)\n }\n\n const signIn = async (values: SignInCredential): AuthResult => {\n try {\n const resp = await apiSignIn(values)\n\n if (resp) {\n handleSignIn({ accessToken: resp.jwtToken })\n const funcionalidades = await apiFetchUserFuncionalidades(\n resp.id,\n )\n const vinculosUsuario = await apiFetchUserVinculosUsuario(\n resp.id,\n )\n\n const newUser = {\n userId: resp.id.toString(),\n userName: resp.nome,\n primeiroAcesso: resp.primeiroAcesso,\n authority: funcionalidades,\n vinculosUsuario: vinculosUsuario,\n }\n handlePostAuth(resp)\n setUser(newUser)\n redirect(newUser)\n return {\n status: 'success',\n message: '',\n }\n }\n return {\n status: 'failed',\n message: 'Unable to sign in',\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (errors: any) {\n console.error('ERRO NA CHAMADA DA API:', errors)\n return {\n status: 'failed',\n message: errors?.response?.data?.message || errors.toString(),\n }\n }\n }\n\n const signUp = async (values: SignUpCredential): AuthResult => {\n try {\n const resp = await apiSignUp(values)\n if (resp) {\n handleSignIn({ accessToken: resp.jwtToken })\n // Armazenar ID e nome do usuário no estado\n const newUser = {\n userId: resp.id.toString(),\n userName: resp.nome,\n primeiroAcesso: false,\n }\n setUser(newUser)\n redirect(newUser)\n return {\n status: 'success',\n message: '',\n }\n }\n return {\n status: 'failed',\n message: 'Unable to sign up',\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (errors: any) {\n return {\n status: 'failed',\n message: errors?.response?.data?.message || errors.toString(),\n }\n }\n }\n\n const signOut = async () => {\n try {\n await apiSignOut()\n } finally {\n handleSignOut()\n navigatorRef.current?.navigate(appConfig.unAuthenticatedEntryPath)\n }\n }\n const oAuthSignIn = (\n callback: (payload: OauthSignInCallbackPayload) => void,\n ) => {\n callback({\n onSignIn: handleSignIn,\n redirect: () => redirect(user),\n })\n }\n\n const updateUserSession = (newUserData: Partial<typeof user>) => {\n setUser({ ...user, ...newUserData })\n }\n return (\n <AuthContext.Provider\n value={{\n authenticated,\n user,\n signIn,\n signUp,\n signOut,\n oAuthSignIn,\n updateUserSession,\n }}\n >\n {children}\n <IsolatedNavigator ref={navigatorRef} />\n </AuthContext.Provider>\n )\n}\n\nexport default AuthProvider\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AuthProvider.js","sources":["../../../lib/@ecme/auth/AuthProvider.tsx"],"sourcesContent":["import type {\n AuthResult,\n OauthSignInCallbackPayload,\n SignInCredential,\n SignInResponse,\n SignUpCredential,\n Token,\n} from '@/@types/auth'\nimport appConfig from '@/configs/app.config'\nimport { REDIRECT_URL_KEY } from '@/constants/app.constant'\nimport { apiSignIn, apiSignOut, apiSignUp } from '@/services/AuthService'\nimport { useSessionUser, useToken } from '@/store/authStore'\nimport {\n apiFetchUserFuncionalidades,\n apiFetchUserVinculosUsuario,\n apiFindUserById,\n} from '@base/services'\nimport {\n TFuncionalidadeMap,\n useSessionUserDataStore,\n} from '@base/store/auth/sessionUserData'\nimport { mapFuncionalidadesByPath } from '@base/utils/modules/dm/funcionalidades'\nimport { ReactNode, Ref, useImperativeHandle, useRef } from 'react'\nimport { NavigateFunction, useNavigate } from 'react-router-dom'\nimport AuthContext from './AuthContext'\n\ntype AuthProviderProps = { children: ReactNode }\n\nexport type IsolatedNavigatorRef = {\n navigate: NavigateFunction\n}\n\nconst IsolatedNavigator = ({ ref }: { ref: Ref<IsolatedNavigatorRef> }) => {\n const navigate = useNavigate()\n\n useImperativeHandle(ref, () => {\n return {\n navigate,\n }\n }, [navigate])\n\n return <></>\n}\n\nfunction AuthProvider({ children }: AuthProviderProps) {\n const signedIn = useSessionUser((state) => state.session.signedIn)\n const user = useSessionUser((state) => state.user)\n const setUser = useSessionUser((state) => state.setUser)\n const setSessionSignedIn = useSessionUser(\n (state) => state.setSessionSignedIn,\n )\n\n const setRolesSet = useSessionUserDataStore((state) => state.setRolesSet)\n const setFuncionalidadesSet = useSessionUserDataStore(\n (state) => state.setFuncionalidadesSet,\n )\n const setFuncionalidadesMap = useSessionUserDataStore(\n (state) => state.setFuncionalidesMap,\n )\n\n const { token, setToken } = useToken()\n\n const authenticated = Boolean(token && signedIn)\n\n const navigatorRef = useRef<IsolatedNavigatorRef>(null)\n\n const redirect = (userData: { primeiroAcesso?: boolean }) => {\n if (userData.primeiroAcesso) {\n navigatorRef.current?.navigate(appConfig.firstAccessPath)\n return\n }\n const search = window.location.search\n const params = new URLSearchParams(search)\n const redirectUrl = params.get(REDIRECT_URL_KEY)\n\n navigatorRef.current?.navigate(\n redirectUrl ? redirectUrl : appConfig.authenticatedEntryPath,\n )\n }\n\n const handleSignIn = (tokens: Token) => {\n setToken(tokens.accessToken)\n setSessionSignedIn(true)\n }\n\n const handleSignOut = () => {\n setToken('')\n setUser({})\n setSessionSignedIn(false)\n }\n\n async function handlePostAuth(resp: SignInResponse) {\n const findUserByIdResp = await apiFindUserById(resp.id)\n\n const { roles } = findUserByIdResp\n const funcionalidades = roles.flatMap((role) =>\n role.funcionalidades.map((func) => func.url),\n )\n\n const funcionalidadesSet = new Set<string>(funcionalidades || [])\n setFuncionalidadesSet(funcionalidadesSet)\n\n const funcionalidadesMap = funcionalidades.reduce(\n mapFuncionalidadesByPath,\n {} as TFuncionalidadeMap,\n )\n\n setFuncionalidadesMap(funcionalidadesMap)\n }\n\n const signIn = async (values: SignInCredential): AuthResult => {\n try {\n const resp = await apiSignIn(values)\n\n if (resp) {\n handleSignIn({ accessToken: resp.jwtToken })\n const funcionalidades = await apiFetchUserFuncionalidades(\n resp.id,\n )\n const vinculosUsuario = await apiFetchUserVinculosUsuario(\n resp.id,\n )\n\n const newUser = {\n userId: resp.id.toString(),\n userName: resp.nome,\n primeiroAcesso: resp.primeiroAcesso,\n authority: funcionalidades,\n vinculosUsuario: vinculosUsuario,\n }\n handlePostAuth(resp)\n setUser(newUser)\n redirect(newUser)\n return {\n status: 'success',\n message: '',\n }\n }\n return {\n status: 'failed',\n message: 'Unable to sign in',\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (errors: any) {\n console.error('ERRO NA CHAMADA DA API:', errors)\n return {\n status: 'failed',\n message: errors?.response?.data?.message || errors.toString(),\n }\n }\n }\n\n const signUp = async (values: SignUpCredential): AuthResult => {\n try {\n const resp = await apiSignUp(values)\n if (resp) {\n handleSignIn({ accessToken: resp.jwtToken })\n // Armazenar ID e nome do usuário no estado\n const newUser = {\n userId: resp.id.toString(),\n userName: resp.nome,\n primeiroAcesso: false,\n }\n setUser(newUser)\n redirect(newUser)\n return {\n status: 'success',\n message: '',\n }\n }\n return {\n status: 'failed',\n message: 'Unable to sign up',\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (errors: any) {\n return {\n status: 'failed',\n message: errors?.response?.data?.message || errors.toString(),\n }\n }\n }\n\n const signOut = async () => {\n try {\n await apiSignOut()\n } finally {\n handleSignOut()\n navigatorRef.current?.navigate(appConfig.unAuthenticatedEntryPath)\n }\n }\n const oAuthSignIn = (\n callback: (payload: OauthSignInCallbackPayload) => void,\n ) => {\n callback({\n onSignIn: handleSignIn,\n redirect: () => redirect(user),\n })\n }\n\n const updateUserSession = (newUserData: Partial<typeof user>) => {\n setUser({ ...user, ...newUserData })\n }\n return (\n <AuthContext.Provider\n value={{\n authenticated,\n user,\n signIn,\n signUp,\n signOut,\n oAuthSignIn,\n updateUserSession,\n }}\n >\n {children}\n <IsolatedNavigator ref={navigatorRef} />\n </AuthContext.Provider>\n )\n}\n\nexport default AuthProvider\n"],"names":[],"mappings":";;;;;;;;;;;;;AAgCA,MAAM,oBAAoB,CAAC,EAAE,UAA8C;AACvE,QAAM,WAAW,YAAA;AAEjB,sBAAoB,KAAK,MAAM;AAC3B,WAAO;AAAA,MACH;AAAA,IAAA;AAAA,EAER,GAAG,CAAC,QAAQ,CAAC;AAEb,SAAO,oBAAA,UAAA,EAAE;AACb;AAEA,SAAS,aAAa,EAAE,YAA+B;AACnD,QAAM,WAAW,eAAe,CAAC,UAAU,MAAM,QAAQ,QAAQ;AACjE,QAAM,OAAO,eAAe,CAAC,UAAU,MAAM,IAAI;AACjD,QAAM,UAAU,eAAe,CAAC,UAAU,MAAM,OAAO;AACvD,QAAM,qBAAqB;AAAA,IACvB,CAAC,UAAU,MAAM;AAAA,EAAA;AAGrB,QAAM,cAAc,wBAAwB,CAAC,UAAU,MAAM,WAAW;AACxE,QAAM,wBAAwB;AAAA,IAC1B,CAAC,UAAU,MAAM;AAAA,EAAA;AAErB,QAAM,wBAAwB;AAAA,IAC1B,CAAC,UAAU,MAAM;AAAA,EAAA;AAGrB,QAAM,EAAE,OAAO,SAAA,IAAa,SAAA;AAE5B,QAAM,gBAAgB,QAAQ,SAAS,QAAQ;AAE/C,QAAM,eAAe,OAA6B,IAAI;AAEtD,QAAM,WAAW,CAAC,aAA2C;AACzD,QAAI,SAAS,gBAAgB;AACzB,mBAAa,SAAS,SAAS,UAAU,eAAe;AACxD;AAAA,IACJ;AACA,UAAM,SAAS,OAAO,SAAS;AAC/B,UAAM,SAAS,IAAI,gBAAgB,MAAM;AACzC,UAAM,cAAc,OAAO,IAAI,gBAAgB;AAE/C,iBAAa,SAAS;AAAA,MAClB,cAAc,cAAc,UAAU;AAAA,IAAA;AAAA,EAE9C;AAEA,QAAM,eAAe,CAAC,WAAkB;AACpC,aAAS,OAAO,WAAW;AAC3B,uBAAmB,IAAI;AAAA,EAC3B;AAEA,QAAM,gBAAgB,MAAM;AACxB,aAAS,EAAE;AACX,YAAQ,CAAA,CAAE;AACV,uBAAmB,KAAK;AAAA,EAC5B;AAEA,iBAAe,eAAe,MAAsB;AAChD,UAAM,mBAAmB,MAAM,gBAAgB,KAAK,EAAE;AAEtD,UAAM,EAAE,UAAU;AAClB,UAAM,kBAAkB,MAAM;AAAA,MAAQ,CAAC,SACnC,KAAK,gBAAgB,IAAI,CAAC,SAAS,KAAK,GAAG;AAAA,IAAA;AAG/C,UAAM,qBAAqB,IAAI,IAAY,mBAAmB,CAAA,CAAE;AAChE,0BAAsB,kBAAkB;AAExC,UAAM,qBAAqB,gBAAgB;AAAA,MACvC;AAAA,MACA,CAAA;AAAA,IAAC;AAGL,0BAAsB,kBAAkB;AAAA,EAC5C;AAEA,QAAM,SAAS,OAAO,WAAyC;AAC3D,QAAI;AACA,YAAM,OAAO,MAAM,UAAU,MAAM;AAEnC,UAAI,MAAM;AACN,qBAAa,EAAE,aAAa,KAAK,SAAA,CAAU;AAC3C,cAAM,kBAAkB,MAAM;AAAA,UAC1B,KAAK;AAAA,QAAA;AAET,cAAM,kBAAkB,MAAM;AAAA,UAC1B,KAAK;AAAA,QAAA;AAGT,cAAM,UAAU;AAAA,UACZ,QAAQ,KAAK,GAAG,SAAA;AAAA,UAChB,UAAU,KAAK;AAAA,UACf,gBAAgB,KAAK;AAAA,UACrB,WAAW;AAAA,UACX;AAAA,QAAA;AAEJ,uBAAe,IAAI;AACnB,gBAAQ,OAAO;AACf,iBAAS,OAAO;AAChB,eAAO;AAAA,UACH,QAAQ;AAAA,UACR,SAAS;AAAA,QAAA;AAAA,MAEjB;AACA,aAAO;AAAA,QACH,QAAQ;AAAA,QACR,SAAS;AAAA,MAAA;AAAA,IAGjB,SAAS,QAAa;AAClB,cAAQ,MAAM,2BAA2B,MAAM;AAC/C,aAAO;AAAA,QACH,QAAQ;AAAA,QACR,SAAS,QAAQ,UAAU,MAAM,WAAW,OAAO,SAAA;AAAA,MAAS;AAAA,IAEpE;AAAA,EACJ;AAEA,QAAM,SAAS,OAAO,WAAyC;AAC3D,QAAI;AACA,YAAM,OAAO,MAAM,UAAU,MAAM;AACnC,UAAI,MAAM;AACN,qBAAa,EAAE,aAAa,KAAK,SAAA,CAAU;AAE3C,cAAM,UAAU;AAAA,UACZ,QAAQ,KAAK,GAAG,SAAA;AAAA,UAChB,UAAU,KAAK;AAAA,UACf,gBAAgB;AAAA,QAAA;AAEpB,gBAAQ,OAAO;AACf,iBAAS,OAAO;AAChB,eAAO;AAAA,UACH,QAAQ;AAAA,UACR,SAAS;AAAA,QAAA;AAAA,MAEjB;AACA,aAAO;AAAA,QACH,QAAQ;AAAA,QACR,SAAS;AAAA,MAAA;AAAA,IAGjB,SAAS,QAAa;AAClB,aAAO;AAAA,QACH,QAAQ;AAAA,QACR,SAAS,QAAQ,UAAU,MAAM,WAAW,OAAO,SAAA;AAAA,MAAS;AAAA,IAEpE;AAAA,EACJ;AAEA,QAAM,UAAU,YAAY;AACxB,QAAI;AACA,YAAM,WAAA;AAAA,IACV,UAAA;AACI,oBAAA;AACA,mBAAa,SAAS,SAAS,UAAU,wBAAwB;AAAA,IACrE;AAAA,EACJ;AACA,QAAM,cAAc,CAChB,aACC;AACD,aAAS;AAAA,MACL,UAAU;AAAA,MACV,UAAU,MAAM,SAAS,IAAI;AAAA,IAAA,CAChC;AAAA,EACL;AAEA,QAAM,oBAAoB,CAAC,gBAAsC;AAC7D,YAAQ,EAAE,GAAG,MAAM,GAAG,aAAa;AAAA,EACvC;AACA,SACI;AAAA,IAAC,YAAY;AAAA,IAAZ;AAAA,MACG,OAAO;AAAA,QACH;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,MAGH,UAAA;AAAA,QAAA;AAAA,QACD,oBAAC,mBAAA,EAAkB,KAAK,aAAA,CAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGlD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"AuthProvider.d.ts","sourceRoot":"","sources":["../../../../lib/@ecme/auth/AuthProvider.tsx"],"names":[],"mappings":"AAqBA,OAAO,EAAE,SAAS,EAAoC,MAAM,OAAO,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAe,MAAM,kBAAkB,CAAA;AAGhE,KAAK,iBAAiB,GAAG;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,CAAA;AAEhD,MAAM,MAAM,oBAAoB,GAAG;IAC/B,QAAQ,EAAE,gBAAgB,CAAA;CAC7B,CAAA;AAcD,iBAAS,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CAyKpD;AAED,eAAe,YAAY,CAAA"}
1
+ {"version":3,"file":"AuthProvider.d.ts","sourceRoot":"","sources":["../../../../lib/@ecme/auth/AuthProvider.tsx"],"names":[],"mappings":"AAsBA,OAAO,EAAE,SAAS,EAAoC,MAAM,OAAO,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAe,MAAM,kBAAkB,CAAA;AAGhE,KAAK,iBAAiB,GAAG;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,CAAA;AAEhD,MAAM,MAAM,oBAAoB,GAAG;IAC/B,QAAQ,EAAE,gBAAgB,CAAA;CAC7B,CAAA;AAcD,iBAAS,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CA+KpD;AAED,eAAe,YAAY,CAAA"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Objeto de resposta para operações relacionadas a usuários.
3
+ *
4
+ * @param id Identificador único do usuário.
5
+ * @param email Email do usuário.
6
+ * @param empresa Empresa do usuário.
7
+ * @param ativo Indica se o usuário está ativo.
8
+ * @param roles Conjunto dos papéis do usuário.
9
+ * @param dadosPessoais Dados pessoais do usuário.
10
+ */
11
+ export interface TGetUserResponse {
12
+ id: number;
13
+ username: string;
14
+ password: string;
15
+ email: string;
16
+ empresa: string;
17
+ dataCadastro: string;
18
+ ativo: boolean;
19
+ primeiroAcesso: boolean;
20
+ roles: TGetRoleResponse[];
21
+ dadosPessoais: TGetDadosPessoaisResponse;
22
+ vinculosUsuario: TGetVinculosUsuarioResponse;
23
+ pesagemManual: boolean | null;
24
+ }
25
+ /**
26
+ * Objeto de resposta para operações relacionadas a permissões.
27
+ *
28
+ * @param id Identificador único da permissão.
29
+ * @param endpoint Endpoint da permissão.
30
+ * @param ativo Indica se a permissão está ativa.
31
+ * @param httpMethod Método HTTP associado à permissão.
32
+ */
33
+ export interface TGetPermissaoResponse {
34
+ id: number;
35
+ endpoint: string;
36
+ ativo: boolean;
37
+ httpMethod: string;
38
+ }
39
+ /**
40
+ * Objeto de resposta para operações relacionadas a roles.
41
+ *
42
+ * @param id Identificador único da role.
43
+ * @param nome Nome da role.
44
+ * @param funcionalidades Lista de grupos de acesso associados à role.
45
+ */
46
+ export interface TGetRoleResponse {
47
+ id: number;
48
+ nome: string;
49
+ descricao: string;
50
+ funcionalidades: TGetFuncionalidadeResponse[];
51
+ }
52
+ /**
53
+ * Objeto de resposta para operações que retornam dados de um registro de dados pessoais.
54
+ *
55
+ * @param id Identificador único do registro de dados pessoais.
56
+ * @param nome Nome do usuário. Representa o nome completo da pessoa física ou razão social da pessoa jurídica.
57
+ * @param cpfCnpj CPF (para pessoa física) ou CNPJ (para pessoa jurídica) do usuário.
58
+ * @param matricula Matrícula do usuário.
59
+ * @param telefone Telefone fixo do usuário.
60
+ * @param celular Celular do usuário.
61
+ * @param ativo Indica se o registro de dados pessoais está ativo no sistema (true) ou inativo (false).
62
+ */
63
+ export interface TGetDadosPessoaisResponse {
64
+ id: number;
65
+ nome: string;
66
+ cpfCnpj: string;
67
+ matricula: string;
68
+ telefone: string;
69
+ ativo: boolean;
70
+ }
71
+ export interface TGetVinculosUsuarioResponse {
72
+ id: number;
73
+ vendedorId: number;
74
+ areaId: number;
75
+ centroIds: number[];
76
+ centroCustoIds: number[];
77
+ depositoIds: number[];
78
+ tipoOrdemVendaIds: number[];
79
+ clienteAgendamentoIds: number[];
80
+ transportadoraAgendamentoIds: number[];
81
+ }
82
+ export interface TGetFuncionalidadeResponse {
83
+ id: number;
84
+ url: string;
85
+ nome: string;
86
+ descricao: string;
87
+ ativo: boolean;
88
+ permissoes: TGetPermissaoResponse[];
89
+ }
90
+ //# sourceMappingURL=user.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../../../lib/base/@types/models/dm/user.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,OAAO,CAAA;IACd,cAAc,EAAE,OAAO,CAAA;IACvB,KAAK,EAAE,gBAAgB,EAAE,CAAA;IACzB,aAAa,EAAE,yBAAyB,CAAA;IACxC,eAAe,EAAE,2BAA2B,CAAA;IAC5C,aAAa,EAAE,OAAO,GAAG,IAAI,CAAA;CAChC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,OAAO,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,0BAA0B,EAAE,CAAA;CAChD;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,yBAAyB;IACtC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,2BAA2B;IACxC,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,iBAAiB,EAAE,MAAM,EAAE,CAAA;IAC3B,qBAAqB,EAAE,MAAM,EAAE,CAAA;IAC/B,4BAA4B,EAAE,MAAM,EAAE,CAAA;CACzC;AAED,MAAM,WAAW,0BAA0B;IACvC,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,OAAO,CAAA;IACd,UAAU,EAAE,qBAAqB,EAAE,CAAA;CACtC"}
@@ -1,3 +1,7 @@
1
+ export declare enum TipoEstado {
2
+ DENTRO_ESTADO = "DENTRO_ESTADO",
3
+ FORA_ESTADO = "FORA_ESTADO"
4
+ }
1
5
  export type TPrecificacaoFareloColumnDef = {
2
6
  id: number;
3
7
  dataCriacao: string;
@@ -7,15 +11,17 @@ export type TPrecificacaoFareloColumnDef = {
7
11
  codigoProduto?: string;
8
12
  descricaoProduto?: string;
9
13
  unidadeMedida: string;
14
+ tipoEstado: string;
10
15
  preco: number;
11
- precoAdicional: number;
16
+ valorAdicional: number;
12
17
  };
13
18
  export type TPrecificacaoFarelo = {
14
19
  id?: number;
15
20
  produtoId?: number | null;
16
21
  produtoCodigo?: string | null;
17
22
  unidadeMedida: string;
23
+ tipoEstado: TipoEstado | string;
18
24
  preco: number;
19
- precoAdicional: number;
25
+ valorAdicional: number;
20
26
  };
21
27
  //# sourceMappingURL=precificacaoFarelo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"precificacaoFarelo.d.ts","sourceRoot":"","sources":["../../../../../../lib/base/@types/models/racao/precificacaoFarelo.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,4BAA4B,GAAG;IACvC,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,MAAM,CAAA;IACxB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,MAAM,CAAA;CACzB,CAAA"}
1
+ {"version":3,"file":"precificacaoFarelo.d.ts","sourceRoot":"","sources":["../../../../../../lib/base/@types/models/racao/precificacaoFarelo.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IAClB,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;CAC9B;AAED,MAAM,MAAM,4BAA4B,GAAG;IACvC,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,MAAM,CAAA;IACxB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,UAAU,GAAG,MAAM,CAAA;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,MAAM,CAAA;CACzB,CAAA"}
@@ -3,6 +3,10 @@ declare const user: {
3
3
  endpoint: string;
4
4
  httpMethod: string;
5
5
  };
6
+ findById: {
7
+ endpoint: string;
8
+ httpMethod: string;
9
+ };
6
10
  findByIds: {
7
11
  endpoint: string;
8
12
  httpMethod: string;
@@ -1 +1 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../../../../lib/base/configs/endpoints.config/dm/config/user.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,IAAI;;;;;;;;;0BAGgB,MAAM,GAAG,MAAM;;;;;;;;CAKxC,CAAA;AAED,eAAe,IAAI,CAAA"}
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../../../../lib/base/configs/endpoints.config/dm/config/user.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,IAAI;;;;;;;;;;;;;0BAIgB,MAAM,GAAG,MAAM;;;;;;;;CAQxC,CAAA;AAED,eAAe,IAAI,CAAA"}
@@ -248,6 +248,10 @@ declare const dm: {
248
248
  endpoint: string;
249
249
  httpMethod: string;
250
250
  };
251
+ findById: {
252
+ endpoint: string;
253
+ httpMethod: string;
254
+ };
251
255
  findByIds: {
252
256
  endpoint: string;
253
257
  httpMethod: string;
@@ -1 +1 @@
1
- {"version":3,"file":"dm.d.ts","sourceRoot":"","sources":["../../../../../../lib/base/configs/endpoints.config/dm/dm.ts"],"names":[],"mappings":"AA2BA,QAAA,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BP,CAAA;AAED,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"dm.d.ts","sourceRoot":"","sources":["../../../../../../lib/base/configs/endpoints.config/dm/dm.ts"],"names":[],"mappings":"AA2BA,QAAA,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BP,CAAA;AAED,eAAe,EAAE,CAAC"}
@@ -652,6 +652,10 @@ declare const endpointNavigationConfig: {
652
652
  endpoint: string;
653
653
  httpMethod: string;
654
654
  };
655
+ findById: {
656
+ endpoint: string;
657
+ httpMethod: string;
658
+ };
655
659
  findByIds: {
656
660
  endpoint: string;
657
661
  httpMethod: string;
@@ -1 +1 @@
1
- {"version":3,"file":"endpoints.navigation.d.ts","sourceRoot":"","sources":["../../../../../lib/base/configs/endpoints.config/endpoints.navigation.ts"],"names":[],"mappings":"AAoDA,eAAO,MAAM,SAAS,SAAS,CAAA;AAE/B,QAAA,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoD7B,CAAA;AAED,eAAe,wBAAwB,CAAA"}
1
+ {"version":3,"file":"endpoints.navigation.d.ts","sourceRoot":"","sources":["../../../../../lib/base/configs/endpoints.config/endpoints.navigation.ts"],"names":[],"mappings":"AAoDA,eAAO,MAAM,SAAS,SAAS,CAAA;AAE/B,QAAA,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoD7B,CAAA;AAED,eAAe,wBAAwB,CAAA"}
@@ -1,5 +1,7 @@
1
- import { IFilterParams, TQueryResponse } from "@base/@types/api";
1
+ import { IFilterParams, TQueryResponse } from '@base/@types/api';
2
+ import { TGetUserResponse } from '@base/@types/models/dm/user';
2
3
  export declare function apiFindUser(body?: IFilterParams): Promise<TQueryResponse<any>>;
4
+ export declare function apiFindUserById(id: string | number): Promise<TGetUserResponse>;
3
5
  export declare function apiFindByIds(filters?: IFilterParams): Promise<TQueryResponse<any>>;
4
6
  export declare function apiFindCentrosByUserId(userId: string | number): Promise<TQueryResponse<any>>;
5
7
  export declare function apiVerificaUserPossuiFuncionalidade(userId: string, nomeFuncionalidade: string): Promise<unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"UserService.d.ts","sourceRoot":"","sources":["../../../../../../../lib/base/services/modules/dm/user/UserService.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAKjE,wBAAsB,WAAW,CAAC,IAAI,CAAC,EAAE,aAAa,gCAMrD;AAED,wBAAsB,YAAY,CAAC,OAAO,CAAC,EAAE,aAAa,gCAMzD;AAED,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,gCAOnE;AAED,wBAAsB,mCAAmC,CAAC,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,oBAOnG"}
1
+ {"version":3,"file":"UserService.d.ts","sourceRoot":"","sources":["../../../../../../../lib/base/services/modules/dm/user/UserService.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAK9D,wBAAsB,WAAW,CAAC,IAAI,CAAC,EAAE,aAAa,gCAMrD;AAED,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,6BAMxD;AAED,wBAAsB,YAAY,CAAC,OAAO,CAAC,EAAE,aAAa,gCAMzD;AAED,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,gCAOnE;AAED,wBAAsB,mCAAmC,CACrD,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE,MAAM,oBAQ7B"}
@@ -2,11 +2,14 @@ export interface TFuncionalidadeMap {
2
2
  [key: string]: TFuncionalidadeMap | Set<string>;
3
3
  }
4
4
  export type TSessionUserDataStore = {
5
+ rolesSet: Set<string> | null;
6
+ setRolesSet: (roles: Set<string>) => void;
5
7
  funcionalidadesSet: Set<string> | null;
6
8
  setFuncionalidadesSet: (funcSet: Set<string>) => void;
7
9
  funcionalidadesMap: TFuncionalidadeMap | null;
8
10
  setFuncionalidesMap: (funcMap: TFuncionalidadeMap) => void;
9
11
  checkUserPathAccess: (path: string) => boolean;
12
+ checkUserRoleAccess: (role: string) => boolean;
10
13
  };
11
14
  export declare const useSessionUserDataStore: import("zustand").UseBoundStore<Omit<Omit<import("zustand").StoreApi<TSessionUserDataStore>, "setState" | "devtools"> & {
12
15
  setState(partial: TSessionUserDataStore | Partial<TSessionUserDataStore> | ((state: TSessionUserDataStore) => TSessionUserDataStore | Partial<TSessionUserDataStore>), replace?: false | undefined, action?: (string | {
@@ -1 +1 @@
1
- {"version":3,"file":"sessionUserData.d.ts","sourceRoot":"","sources":["../../../../../lib/base/store/auth/sessionUserData.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,kBAAkB;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,GAAG,GAAG,CAAC,MAAM,CAAC,CAAA;CAClD;AAED,MAAM,MAAM,qBAAqB,GAAG;IAChC,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;IACtC,qBAAqB,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;IACrD,kBAAkB,EAAE,kBAAkB,GAAG,IAAI,CAAA;IAC7C,mBAAmB,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAA;IAC1D,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;CACjD,CAAA;AAED,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgDnC,CAAA"}
1
+ {"version":3,"file":"sessionUserData.d.ts","sourceRoot":"","sources":["../../../../../lib/base/store/auth/sessionUserData.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,kBAAkB;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,GAAG,GAAG,CAAC,MAAM,CAAC,CAAA;CAClD;AAED,MAAM,MAAM,qBAAqB,GAAG;IAChC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;IAC5B,WAAW,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;IACzC,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;IACtC,qBAAqB,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;IACrD,kBAAkB,EAAE,kBAAkB,GAAG,IAAI,CAAA;IAC7C,mBAAmB,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAA;IAC1D,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;IAC9C,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;CACjD,CAAA;AAED,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyDnC,CAAA"}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,9 @@
1
-
1
+ var TipoEstado = /* @__PURE__ */ ((TipoEstado2) => {
2
+ TipoEstado2["DENTRO_ESTADO"] = "DENTRO_ESTADO";
3
+ TipoEstado2["FORA_ESTADO"] = "FORA_ESTADO";
4
+ return TipoEstado2;
5
+ })(TipoEstado || {});
6
+ export {
7
+ TipoEstado
8
+ };
2
9
  //# sourceMappingURL=precificacaoFarelo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"precificacaoFarelo.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"precificacaoFarelo.js","sources":["../../../../../lib/base/@types/models/racao/precificacaoFarelo.ts"],"sourcesContent":["export enum TipoEstado {\n DENTRO_ESTADO = 'DENTRO_ESTADO',\n FORA_ESTADO = 'FORA_ESTADO',\n}\n\nexport type TPrecificacaoFareloColumnDef = {\n id: number\n dataCriacao: string\n usuarioCriacaoId: number\n usuarioCriacaoNome: string\n produtoId?: number\n codigoProduto?: string\n descricaoProduto?: string\n unidadeMedida: string\n tipoEstado: string\n preco: number\n valorAdicional: number\n}\n\nexport type TPrecificacaoFarelo = {\n id?: number\n produtoId?: number | null\n produtoCodigo?: string | null\n unidadeMedida: string\n tipoEstado: TipoEstado | string\n preco: number\n valorAdicional: number\n}"],"names":["TipoEstado"],"mappings":"AAAO,IAAK,+BAAAA,gBAAL;AACHA,cAAA,eAAA,IAAgB;AAChBA,cAAA,aAAA,IAAc;AAFN,SAAAA;AAAA,GAAA,cAAA,CAAA,CAAA;"}
@@ -1,12 +1,16 @@
1
1
  const USER_BASE_URL = "/dados-mestres/api/user";
2
2
  const user = {
3
3
  find: { endpoint: `${USER_BASE_URL}/find`, httpMethod: "post" },
4
+ findById: { endpoint: `${USER_BASE_URL}`, httpMethod: "get" },
4
5
  findByIds: { endpoint: `${USER_BASE_URL}/find-by-ids`, httpMethod: "post" },
5
6
  findCentros: (userId) => ({
6
7
  endpoint: `${USER_BASE_URL}/${userId}/centros`,
7
8
  httpMethod: "get"
8
9
  }),
9
- verificaUserPossuiFuncionalidade: { endpoint: `${USER_BASE_URL}/{id}/{funcionalidade}`, httpMethod: "get" }
10
+ verificaUserPossuiFuncionalidade: {
11
+ endpoint: `${USER_BASE_URL}/{id}/{funcionalidade}`,
12
+ httpMethod: "get"
13
+ }
10
14
  };
11
15
  export {
12
16
  user as default
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sources":["../../../../../../lib/base/configs/endpoints.config/dm/config/user.ts"],"sourcesContent":["const USER_BASE_URL = '/dados-mestres/api/user'\n\nconst user = {\n find: { endpoint: `${USER_BASE_URL}/find`, httpMethod: 'post' },\n findByIds: { endpoint: `${USER_BASE_URL}/find-by-ids`, httpMethod: 'post' },\n findCentros: (userId: string | number) => ({\n endpoint: `${USER_BASE_URL}/${userId}/centros`,\n httpMethod: 'get' as const,\n }),\n verificaUserPossuiFuncionalidade: { endpoint: `${USER_BASE_URL}/{id}/{funcionalidade}`, httpMethod: 'get' },\n}\n\nexport default user"],"names":[],"mappings":"AAAA,MAAM,gBAAgB;AAEtB,MAAM,OAAO;AAAA,EACT,MAAM,EAAE,UAAU,GAAG,aAAa,SAAS,YAAY,OAAA;AAAA,EACvD,WAAW,EAAE,UAAU,GAAG,aAAa,gBAAgB,YAAY,OAAA;AAAA,EACnE,aAAa,CAAC,YAA6B;AAAA,IACvC,UAAU,GAAG,aAAa,IAAI,MAAM;AAAA,IACpC,YAAY;AAAA,EAAA;AAAA,EAEhB,kCAAkC,EAAE,UAAU,GAAG,aAAa,0BAA0B,YAAY,MAAA;AACxG;"}
1
+ {"version":3,"file":"user.js","sources":["../../../../../../lib/base/configs/endpoints.config/dm/config/user.ts"],"sourcesContent":["const USER_BASE_URL = '/dados-mestres/api/user'\n\nconst user = {\n find: { endpoint: `${USER_BASE_URL}/find`, httpMethod: 'post' },\n findById: { endpoint: `${USER_BASE_URL}`, httpMethod: 'get' },\n findByIds: { endpoint: `${USER_BASE_URL}/find-by-ids`, httpMethod: 'post' },\n findCentros: (userId: string | number) => ({\n endpoint: `${USER_BASE_URL}/${userId}/centros`,\n httpMethod: 'get' as const,\n }),\n verificaUserPossuiFuncionalidade: {\n endpoint: `${USER_BASE_URL}/{id}/{funcionalidade}`,\n httpMethod: 'get',\n },\n}\n\nexport default user\n"],"names":[],"mappings":"AAAA,MAAM,gBAAgB;AAEtB,MAAM,OAAO;AAAA,EACT,MAAM,EAAE,UAAU,GAAG,aAAa,SAAS,YAAY,OAAA;AAAA,EACvD,UAAU,EAAE,UAAU,GAAG,aAAa,IAAI,YAAY,MAAA;AAAA,EACtD,WAAW,EAAE,UAAU,GAAG,aAAa,gBAAgB,YAAY,OAAA;AAAA,EACnE,aAAa,CAAC,YAA6B;AAAA,IACvC,UAAU,GAAG,aAAa,IAAI,MAAM;AAAA,IACpC,YAAY;AAAA,EAAA;AAAA,EAEhB,kCAAkC;AAAA,IAC9B,UAAU,GAAG,aAAa;AAAA,IAC1B,YAAY;AAAA,EAAA;AAEpB;"}
@@ -92,7 +92,7 @@ import { apiFindAllUfs, apiFindDmMunicipio, apiFindDmMunicipioByCodigo, apiFindM
92
92
  import { apiFindAllveiculo } from "./services/modules/transportadora/Veiculo/VeiculoService.js";
93
93
  import { apiFindBoleto } from "./services/modules/sap/boleto/BoletoService.js";
94
94
  import { apiFindByCodigosProduto, apiFindByIdsProduto, apiFindDescricaoById, apiFindDmFindProdutosByCanalDistribuicaoAndOrganizacaoVenda, apiFindDmProduto, apiFindDmProdutoByCodigo, apiFindDmProdutoByGrupoProduto, apiFindDmProdutoIsPrecificadoRacao, apiFindDmValidaProdutoByEmissorPedidoVenda, apiFindMonitorProduto, apiFindProdutoComItinerario, apiFindProdutosByDeposito, apiGetMultiplicadorUnidadeMedida, apiUpdateProduto } from "./services/modules/dm/produto/ProdutoService.js";
95
- import { apiFindByIds, apiFindCentrosByUserId, apiFindUser, apiVerificaUserPossuiFuncionalidade } from "./services/modules/dm/user/UserService.js";
95
+ import { apiFindByIds, apiFindCentrosByUserId, apiFindUser, apiFindUserById, apiVerificaUserPossuiFuncionalidade } from "./services/modules/dm/user/UserService.js";
96
96
  import { apiFindByNomeOrCodigo } from "./services/modules/transportadora/NaturezaCarga/NaturezaCargaService.js";
97
97
  import { apiFindByNotaFiscal } from "./services/modules/transportadora/NotaFiscal/NotaFiscalService.js";
98
98
  import { apiFindDmBusinessPartner, apiFindDmBusinessPartnerByIds, apiFindDmBusinessPartnerCliente, apiFindDmBusinessPartnerFiliais, apiFindDmBusinessPartnerFornecedor, apiFindDmBusinessPartnerFuncoesParceirosClientes, apiFindDmBusinessPartnerFuncoesParceirosClientesPartidas, apiFindDmBusinessPartnerFuncoesParceirosClientesPedidoVenda, apiFindDmBusinessPartnerFuncoesParceirosFornecedores, apiFindDmBusinessPartnerMatrizes, apiFindDmFindSalesAreasByBusinessPartnerAndModulo, apiFindDmVendedoresAKARepresentantesVendas, apiFindEmpresasIdsByCnpj, apiFindFornecedorNfeByCnpj, apiFindMonitorFornecedor, apiFindMonitorTransportadora, apiGetDmBusinessPartner } from "./services/modules/dm/businessPartner/BusinessPartnerService.js";
@@ -553,6 +553,7 @@ export {
553
553
  apiFindSaldoByIdContratoCompraGraos,
554
554
  apiFindSaldoCommoditiesContratoBiodiesel,
555
555
  apiFindUser,
556
+ apiFindUserById,
556
557
  apiFindVerificaCadastroCompletoByCondicaoPagamento,
557
558
  apiFindvalorBrutoContrato,
558
559
  apiGeTIss,
@@ -90,7 +90,7 @@ import { apiFindAllUfs, apiFindDmMunicipio, apiFindDmMunicipioByCodigo, apiFindM
90
90
  import { apiFindAllveiculo } from "./modules/transportadora/Veiculo/VeiculoService.js";
91
91
  import { apiFindBoleto } from "./modules/sap/boleto/BoletoService.js";
92
92
  import { apiFindByCodigosProduto, apiFindByIdsProduto, apiFindDescricaoById, apiFindDmFindProdutosByCanalDistribuicaoAndOrganizacaoVenda, apiFindDmProduto, apiFindDmProdutoByCodigo, apiFindDmProdutoByGrupoProduto, apiFindDmProdutoIsPrecificadoRacao, apiFindDmValidaProdutoByEmissorPedidoVenda, apiFindMonitorProduto, apiFindProdutoComItinerario, apiFindProdutosByDeposito, apiGetMultiplicadorUnidadeMedida, apiUpdateProduto } from "./modules/dm/produto/ProdutoService.js";
93
- import { apiFindByIds, apiFindCentrosByUserId, apiFindUser, apiVerificaUserPossuiFuncionalidade } from "./modules/dm/user/UserService.js";
93
+ import { apiFindByIds, apiFindCentrosByUserId, apiFindUser, apiFindUserById, apiVerificaUserPossuiFuncionalidade } from "./modules/dm/user/UserService.js";
94
94
  import { apiFindByNomeOrCodigo } from "./modules/transportadora/NaturezaCarga/NaturezaCargaService.js";
95
95
  import { apiFindByNotaFiscal } from "./modules/transportadora/NotaFiscal/NotaFiscalService.js";
96
96
  import { apiFindDmBusinessPartner, apiFindDmBusinessPartnerByIds, apiFindDmBusinessPartnerCliente, apiFindDmBusinessPartnerFiliais, apiFindDmBusinessPartnerFornecedor, apiFindDmBusinessPartnerFuncoesParceirosClientes, apiFindDmBusinessPartnerFuncoesParceirosClientesPartidas, apiFindDmBusinessPartnerFuncoesParceirosClientesPedidoVenda, apiFindDmBusinessPartnerFuncoesParceirosFornecedores, apiFindDmBusinessPartnerMatrizes, apiFindDmFindSalesAreasByBusinessPartnerAndModulo, apiFindDmVendedoresAKARepresentantesVendas, apiFindEmpresasIdsByCnpj, apiFindFornecedorNfeByCnpj, apiFindMonitorFornecedor, apiFindMonitorTransportadora, apiGetDmBusinessPartner } from "./modules/dm/businessPartner/BusinessPartnerService.js";
@@ -445,6 +445,7 @@ export {
445
445
  apiFindSaldoByIdContratoCompraGraos,
446
446
  apiFindSaldoCommoditiesContratoBiodiesel,
447
447
  apiFindUser,
448
+ apiFindUserById,
448
449
  apiFindVerificaCadastroCompletoByCondicaoPagamento,
449
450
  apiFindvalorBrutoContrato,
450
451
  apiGeTIss,
@@ -20,7 +20,7 @@ import { apiFindDmSetorAtividade } from "./setorAtividade/SetorAtividadeService.
20
20
  import { apiFindDmTipoDocumentoVenda, apiFindDmTipoDocumentoVendaByCodigo, apiFindMonitorTipoDocumentoVenda } from "./tipoDocumentoVenda/TipoDocumentoVendaService.js";
21
21
  import { apiFindDmTipoOrdemVenda, apiFindDmTipoOrdemVendaByCodigo, apiFindMonitorTipoOrdemVenda } from "./tipoOrdemVenda/TipoOrdemVendaService.js";
22
22
  import { apiFindDmTipoVeiculo, apiFindDmTipoVeiculoByCodigo, apiFindMonitorTipoVeiculo } from "./tipoVeiculo/TipoVeiculoService.js";
23
- import { apiFindByIds, apiFindCentrosByUserId, apiFindUser, apiVerificaUserPossuiFuncionalidade } from "./user/UserService.js";
23
+ import { apiFindByIds, apiFindCentrosByUserId, apiFindUser, apiFindUserById, apiVerificaUserPossuiFuncionalidade } from "./user/UserService.js";
24
24
  export {
25
25
  apiFindAllUfs,
26
26
  apiFindByCodigosProduto,
@@ -96,6 +96,7 @@ export {
96
96
  apiFindProdutoComItinerario,
97
97
  apiFindProdutosByDeposito,
98
98
  apiFindUser,
99
+ apiFindUserById,
99
100
  apiFindVerificaCadastroCompletoByCondicaoPagamento,
100
101
  apiGetDmBusinessPartner,
101
102
  apiGetMultiplicadorUnidadeMedida,
@@ -9,6 +9,13 @@ async function apiFindUser(body) {
9
9
  data: body
10
10
  });
11
11
  }
12
+ async function apiFindUserById(id) {
13
+ return ApiService.fetchDataWithAxios({
14
+ url: USER_ENDPOINT.findById.endpoint,
15
+ method: USER_ENDPOINT.findById.httpMethod,
16
+ params: { id }
17
+ });
18
+ }
12
19
  async function apiFindByIds(filters) {
13
20
  return ApiService.fetchDataWithAxios({
14
21
  url: USER_ENDPOINT.findByIds.endpoint,
@@ -33,6 +40,7 @@ export {
33
40
  apiFindByIds,
34
41
  apiFindCentrosByUserId,
35
42
  apiFindUser,
43
+ apiFindUserById,
36
44
  apiVerificaUserPossuiFuncionalidade
37
45
  };
38
46
  //# sourceMappingURL=UserService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UserService.js","sources":["../../../../../../lib/base/services/modules/dm/user/UserService.tsx"],"sourcesContent":["import ApiService from \"@/services/ApiService\";\nimport { IFilterParams, TQueryResponse } from \"@base/@types/api\";\nimport { endpointsConfig } from \"@base/configs\";\n\nconst USER_ENDPOINT = endpointsConfig.dm.user;\n\nexport async function apiFindUser(body?: IFilterParams) {\n return ApiService.fetchDataWithAxios<TQueryResponse<any>>({\n url: USER_ENDPOINT.find.endpoint,\n method: USER_ENDPOINT.find.httpMethod,\n data: body,\n })\n}\n\nexport async function apiFindByIds(filters?: IFilterParams) {\n return ApiService.fetchDataWithAxios<TQueryResponse<any>>({\n url: USER_ENDPOINT.findByIds.endpoint,\n method: USER_ENDPOINT.findByIds.httpMethod,\n data: filters,\n })\n}\n\nexport async function apiFindCentrosByUserId(userId: string | number) {\n const { endpoint, httpMethod } = USER_ENDPOINT.findCentros(userId)\n \n return ApiService.fetchDataWithAxios<TQueryResponse<any>>({\n url: endpoint,\n method: httpMethod,\n })\n}\n\nexport async function apiVerificaUserPossuiFuncionalidade(userId: string, nomeFuncionalidade: string) {\n return ApiService.fetchDataWithAxios({\n url: USER_ENDPOINT.verificaUserPossuiFuncionalidade.endpoint\n .replace('{id}' , userId)\n .replace('{funcionalidade}', nomeFuncionalidade),\n method: USER_ENDPOINT.verificaUserPossuiFuncionalidade.httpMethod,\n })\n}"],"names":["endpointsConfig"],"mappings":";;;AAIA,MAAM,gBAAgBA,yBAAgB,GAAG;AAEzC,eAAsB,YAAY,MAAsB;AACpD,SAAO,WAAW,mBAAwC;AAAA,IACtD,KAAK,cAAc,KAAK;AAAA,IACxB,QAAQ,cAAc,KAAK;AAAA,IAC3B,MAAM;AAAA,EAAA,CACT;AACL;AAEA,eAAsB,aAAa,SAAyB;AACxD,SAAO,WAAW,mBAAwC;AAAA,IACtD,KAAK,cAAc,UAAU;AAAA,IAC7B,QAAQ,cAAc,UAAU;AAAA,IAChC,MAAM;AAAA,EAAA,CACT;AACL;AAEA,eAAsB,uBAAuB,QAAyB;AAClE,QAAM,EAAE,UAAU,WAAA,IAAe,cAAc,YAAY,MAAM;AAEjE,SAAO,WAAW,mBAAwC;AAAA,IACtD,KAAK;AAAA,IACL,QAAQ;AAAA,EAAA,CACX;AACL;AAEA,eAAsB,oCAAoC,QAAgB,oBAA4B;AAClG,SAAO,WAAW,mBAAmB;AAAA,IACjC,KAAK,cAAc,iCAAiC,SAC/C,QAAQ,QAAS,MAAM,EACvB,QAAQ,oBAAoB,kBAAkB;AAAA,IACnD,QAAQ,cAAc,iCAAiC;AAAA,EAAA,CAC1D;AACL;"}
1
+ {"version":3,"file":"UserService.js","sources":["../../../../../../lib/base/services/modules/dm/user/UserService.tsx"],"sourcesContent":["import ApiService from '@/services/ApiService'\nimport { IFilterParams, TQueryResponse } from '@base/@types/api'\nimport { TGetUserResponse } from '@base/@types/models/dm/user'\nimport { endpointsConfig } from '@base/configs'\n\nconst USER_ENDPOINT = endpointsConfig.dm.user\n\nexport async function apiFindUser(body?: IFilterParams) {\n return ApiService.fetchDataWithAxios<TQueryResponse<any>>({\n url: USER_ENDPOINT.find.endpoint,\n method: USER_ENDPOINT.find.httpMethod,\n data: body,\n })\n}\n\nexport async function apiFindUserById(id: string | number) {\n return ApiService.fetchDataWithAxios<TGetUserResponse>({\n url: USER_ENDPOINT.findById.endpoint,\n method: USER_ENDPOINT.findById.httpMethod,\n params: { id },\n })\n}\n\nexport async function apiFindByIds(filters?: IFilterParams) {\n return ApiService.fetchDataWithAxios<TQueryResponse<any>>({\n url: USER_ENDPOINT.findByIds.endpoint,\n method: USER_ENDPOINT.findByIds.httpMethod,\n data: filters,\n })\n}\n\nexport async function apiFindCentrosByUserId(userId: string | number) {\n const { endpoint, httpMethod } = USER_ENDPOINT.findCentros(userId)\n\n return ApiService.fetchDataWithAxios<TQueryResponse<any>>({\n url: endpoint,\n method: httpMethod,\n })\n}\n\nexport async function apiVerificaUserPossuiFuncionalidade(\n userId: string,\n nomeFuncionalidade: string,\n) {\n return ApiService.fetchDataWithAxios({\n url: USER_ENDPOINT.verificaUserPossuiFuncionalidade.endpoint\n .replace('{id}', userId)\n .replace('{funcionalidade}', nomeFuncionalidade),\n method: USER_ENDPOINT.verificaUserPossuiFuncionalidade.httpMethod,\n })\n}\n"],"names":["endpointsConfig"],"mappings":";;;AAKA,MAAM,gBAAgBA,yBAAgB,GAAG;AAEzC,eAAsB,YAAY,MAAsB;AACpD,SAAO,WAAW,mBAAwC;AAAA,IACtD,KAAK,cAAc,KAAK;AAAA,IACxB,QAAQ,cAAc,KAAK;AAAA,IAC3B,MAAM;AAAA,EAAA,CACT;AACL;AAEA,eAAsB,gBAAgB,IAAqB;AACvD,SAAO,WAAW,mBAAqC;AAAA,IACnD,KAAK,cAAc,SAAS;AAAA,IAC5B,QAAQ,cAAc,SAAS;AAAA,IAC/B,QAAQ,EAAE,GAAA;AAAA,EAAG,CAChB;AACL;AAEA,eAAsB,aAAa,SAAyB;AACxD,SAAO,WAAW,mBAAwC;AAAA,IACtD,KAAK,cAAc,UAAU;AAAA,IAC7B,QAAQ,cAAc,UAAU;AAAA,IAChC,MAAM;AAAA,EAAA,CACT;AACL;AAEA,eAAsB,uBAAuB,QAAyB;AAClE,QAAM,EAAE,UAAU,WAAA,IAAe,cAAc,YAAY,MAAM;AAEjE,SAAO,WAAW,mBAAwC;AAAA,IACtD,KAAK;AAAA,IACL,QAAQ;AAAA,EAAA,CACX;AACL;AAEA,eAAsB,oCAClB,QACA,oBACF;AACE,SAAO,WAAW,mBAAmB;AAAA,IACjC,KAAK,cAAc,iCAAiC,SAC/C,QAAQ,QAAQ,MAAM,EACtB,QAAQ,oBAAoB,kBAAkB;AAAA,IACnD,QAAQ,cAAc,iCAAiC;AAAA,EAAA,CAC1D;AACL;"}
@@ -82,7 +82,7 @@ import { apiFindAllUfs, apiFindDmMunicipio, apiFindDmMunicipioByCodigo, apiFindM
82
82
  import { apiFindAllveiculo } from "./transportadora/Veiculo/VeiculoService.js";
83
83
  import { apiFindBoleto } from "./sap/boleto/BoletoService.js";
84
84
  import { apiFindByCodigosProduto, apiFindByIdsProduto, apiFindDescricaoById, apiFindDmFindProdutosByCanalDistribuicaoAndOrganizacaoVenda, apiFindDmProduto, apiFindDmProdutoByCodigo, apiFindDmProdutoByGrupoProduto, apiFindDmProdutoIsPrecificadoRacao, apiFindDmValidaProdutoByEmissorPedidoVenda, apiFindMonitorProduto, apiFindProdutoComItinerario, apiFindProdutosByDeposito, apiGetMultiplicadorUnidadeMedida, apiUpdateProduto } from "./dm/produto/ProdutoService.js";
85
- import { apiFindByIds, apiFindCentrosByUserId, apiFindUser, apiVerificaUserPossuiFuncionalidade } from "./dm/user/UserService.js";
85
+ import { apiFindByIds, apiFindCentrosByUserId, apiFindUser, apiFindUserById, apiVerificaUserPossuiFuncionalidade } from "./dm/user/UserService.js";
86
86
  import { apiFindByNomeOrCodigo } from "./transportadora/NaturezaCarga/NaturezaCargaService.js";
87
87
  import { apiFindByNotaFiscal } from "./transportadora/NotaFiscal/NotaFiscalService.js";
88
88
  import { apiFindDmBusinessPartner, apiFindDmBusinessPartnerByIds, apiFindDmBusinessPartnerCliente, apiFindDmBusinessPartnerFiliais, apiFindDmBusinessPartnerFornecedor, apiFindDmBusinessPartnerFuncoesParceirosClientes, apiFindDmBusinessPartnerFuncoesParceirosClientesPartidas, apiFindDmBusinessPartnerFuncoesParceirosClientesPedidoVenda, apiFindDmBusinessPartnerFuncoesParceirosFornecedores, apiFindDmBusinessPartnerMatrizes, apiFindDmFindSalesAreasByBusinessPartnerAndModulo, apiFindDmVendedoresAKARepresentantesVendas, apiFindEmpresasIdsByCnpj, apiFindFornecedorNfeByCnpj, apiFindMonitorFornecedor, apiFindMonitorTransportadora, apiGetDmBusinessPartner } from "./dm/businessPartner/BusinessPartnerService.js";
@@ -420,6 +420,7 @@ export {
420
420
  apiFindSaldoByIdContratoCompraGraos,
421
421
  apiFindSaldoCommoditiesContratoBiodiesel,
422
422
  apiFindUser,
423
+ apiFindUserById,
423
424
  apiFindVerificaCadastroCompletoByCondicaoPagamento,
424
425
  apiFindvalorBrutoContrato,
425
426
  apiGeTIss,
@@ -4,6 +4,10 @@ const useSessionUserDataStore = create()(
4
4
  devtools(
5
5
  persist(
6
6
  (set, get) => ({
7
+ rolesSet: null,
8
+ setRolesSet: (roles) => set(() => ({
9
+ rolesSet: roles
10
+ })),
7
11
  funcionalidadesSet: null,
8
12
  setFuncionalidadesSet: (funcionalidades) => set(() => ({
9
13
  funcionalidadesSet: funcionalidades
@@ -18,21 +22,25 @@ const useSessionUserDataStore = create()(
18
22
  return false;
19
23
  }
20
24
  return funcSet.has(path);
25
+ },
26
+ checkUserRoleAccess: (role) => {
27
+ const rolesSet = get().rolesSet;
28
+ if (role.length === 0 || role == null || rolesSet == null) {
29
+ return false;
30
+ }
31
+ return rolesSet.has(role);
21
32
  }
22
33
  }),
23
34
  {
35
+ // Serializador customizado para armazenar Set corretamente
24
36
  name: "sessionUserData",
25
- // unique name
26
37
  storage: createJSONStorage(() => localStorage, {
27
- // Custom serialization and deserialization
28
- // `state` is the entire store object
29
38
  reviver: (key, value) => {
30
39
  if (key === "items" && Array.isArray(value)) {
31
40
  return new Set(value);
32
41
  }
33
42
  return value;
34
43
  },
35
- // `state` is the entire store object before stringifying
36
44
  replacer: (key, value) => {
37
45
  if (value instanceof Set) {
38
46
  return Array.from(value);
@@ -1 +1 @@
1
- {"version":3,"file":"sessionUserData.js","sources":["../../../../lib/base/store/auth/sessionUserData.ts"],"sourcesContent":["import { create } from 'zustand'\nimport { createJSONStorage, devtools, persist } from 'zustand/middleware'\n\nexport interface TFuncionalidadeMap {\n [key: string]: TFuncionalidadeMap | Set<string>\n}\n\nexport type TSessionUserDataStore = {\n funcionalidadesSet: Set<string> | null\n setFuncionalidadesSet: (funcSet: Set<string>) => void\n funcionalidadesMap: TFuncionalidadeMap | null\n setFuncionalidesMap: (funcMap: TFuncionalidadeMap) => void\n checkUserPathAccess: (path: string) => boolean\n}\n\nexport const useSessionUserDataStore = create<TSessionUserDataStore>()(\n devtools(\n persist(\n (set, get) => ({\n funcionalidadesSet: null,\n setFuncionalidadesSet: (funcionalidades: Set<string>) =>\n set(() => ({\n funcionalidadesSet: funcionalidades,\n })),\n funcionalidadesMap: null,\n setFuncionalidesMap: (funcionalidadesMap: TFuncionalidadeMap) =>\n set(() => ({\n funcionalidadesMap: funcionalidadesMap,\n })),\n checkUserPathAccess: (path: string): boolean => {\n const funcSet = get().funcionalidadesSet\n\n if (path.length === 0 || path == null || funcSet == null) {\n return false\n }\n\n return funcSet.has(path)\n },\n }),\n {\n name: 'sessionUserData', // unique name\n storage: createJSONStorage(() => localStorage, {\n // Custom serialization and deserialization\n // `state` is the entire store object\n reviver: (key, value) => {\n // If the key is 'items' and value is an array (from storage), convert to Set\n if (key === 'items' && Array.isArray(value)) {\n return new Set(value)\n }\n return value\n },\n // `state` is the entire store object before stringifying\n replacer: (key, value) => {\n // If the value is a Set, convert it to an Array\n if (value instanceof Set) {\n return Array.from(value)\n }\n return value\n },\n }),\n },\n ),\n ),\n)\n"],"names":[],"mappings":";;AAeO,MAAM,0BAA0B,OAAA;AAAA,EACnC;AAAA,IACI;AAAA,MACI,CAAC,KAAK,SAAS;AAAA,QACX,oBAAoB;AAAA,QACpB,uBAAuB,CAAC,oBACpB,IAAI,OAAO;AAAA,UACP,oBAAoB;AAAA,QAAA,EACtB;AAAA,QACN,oBAAoB;AAAA,QACpB,qBAAqB,CAAC,uBAClB,IAAI,OAAO;AAAA,UACP;AAAA,QAAA,EACF;AAAA,QACN,qBAAqB,CAAC,SAA0B;AAC5C,gBAAM,UAAU,MAAM;AAEtB,cAAI,KAAK,WAAW,KAAK,QAAQ,QAAQ,WAAW,MAAM;AACtD,mBAAO;AAAA,UACX;AAEA,iBAAO,QAAQ,IAAI,IAAI;AAAA,QAC3B;AAAA,MAAA;AAAA,MAEJ;AAAA,QACI,MAAM;AAAA;AAAA,QACN,SAAS,kBAAkB,MAAM,cAAc;AAAA;AAAA;AAAA,UAG3C,SAAS,CAAC,KAAK,UAAU;AAErB,gBAAI,QAAQ,WAAW,MAAM,QAAQ,KAAK,GAAG;AACzC,qBAAO,IAAI,IAAI,KAAK;AAAA,YACxB;AACA,mBAAO;AAAA,UACX;AAAA;AAAA,UAEA,UAAU,CAAC,KAAK,UAAU;AAEtB,gBAAI,iBAAiB,KAAK;AACtB,qBAAO,MAAM,KAAK,KAAK;AAAA,YAC3B;AACA,mBAAO;AAAA,UACX;AAAA,QAAA,CACH;AAAA,MAAA;AAAA,IACL;AAAA,EACJ;AAER;"}
1
+ {"version":3,"file":"sessionUserData.js","sources":["../../../../lib/base/store/auth/sessionUserData.ts"],"sourcesContent":["import { create } from 'zustand'\nimport { createJSONStorage, devtools, persist } from 'zustand/middleware'\n\nexport interface TFuncionalidadeMap {\n [key: string]: TFuncionalidadeMap | Set<string>\n}\n\nexport type TSessionUserDataStore = {\n rolesSet: Set<string> | null\n setRolesSet: (roles: Set<string>) => void\n funcionalidadesSet: Set<string> | null\n setFuncionalidadesSet: (funcSet: Set<string>) => void\n funcionalidadesMap: TFuncionalidadeMap | null\n setFuncionalidesMap: (funcMap: TFuncionalidadeMap) => void\n checkUserPathAccess: (path: string) => boolean\n checkUserRoleAccess: (role: string) => boolean\n}\n\nexport const useSessionUserDataStore = create<TSessionUserDataStore>()(\n devtools(\n persist(\n (set, get) => ({\n rolesSet: null,\n setRolesSet: (roles: Set<string>) =>\n set(() => ({\n rolesSet: roles,\n })),\n funcionalidadesSet: null,\n setFuncionalidadesSet: (funcionalidades: Set<string>) =>\n set(() => ({\n funcionalidadesSet: funcionalidades,\n })),\n funcionalidadesMap: null,\n setFuncionalidesMap: (funcionalidadesMap: TFuncionalidadeMap) =>\n set(() => ({\n funcionalidadesMap: funcionalidadesMap,\n })),\n checkUserPathAccess: (path: string): boolean => {\n const funcSet = get().funcionalidadesSet\n\n if (path.length === 0 || path == null || funcSet == null) {\n return false\n }\n\n return funcSet.has(path)\n },\n checkUserRoleAccess: (role: string): boolean => {\n const rolesSet = get().rolesSet\n if (role.length === 0 || role == null || rolesSet == null) {\n return false\n }\n return rolesSet.has(role)\n },\n }),\n {\n // Serializador customizado para armazenar Set corretamente\n name: 'sessionUserData',\n storage: createJSONStorage(() => localStorage, {\n reviver: (key, value) => {\n if (key === 'items' && Array.isArray(value)) {\n return new Set(value)\n }\n return value\n },\n\n replacer: (key, value) => {\n if (value instanceof Set) {\n return Array.from(value)\n }\n return value\n },\n }),\n },\n ),\n ),\n)\n"],"names":[],"mappings":";;AAkBO,MAAM,0BAA0B,OAAA;AAAA,EACnC;AAAA,IACI;AAAA,MACI,CAAC,KAAK,SAAS;AAAA,QACX,UAAU;AAAA,QACV,aAAa,CAAC,UACV,IAAI,OAAO;AAAA,UACP,UAAU;AAAA,QAAA,EACZ;AAAA,QACN,oBAAoB;AAAA,QACpB,uBAAuB,CAAC,oBACpB,IAAI,OAAO;AAAA,UACP,oBAAoB;AAAA,QAAA,EACtB;AAAA,QACN,oBAAoB;AAAA,QACpB,qBAAqB,CAAC,uBAClB,IAAI,OAAO;AAAA,UACP;AAAA,QAAA,EACF;AAAA,QACN,qBAAqB,CAAC,SAA0B;AAC5C,gBAAM,UAAU,MAAM;AAEtB,cAAI,KAAK,WAAW,KAAK,QAAQ,QAAQ,WAAW,MAAM;AACtD,mBAAO;AAAA,UACX;AAEA,iBAAO,QAAQ,IAAI,IAAI;AAAA,QAC3B;AAAA,QACA,qBAAqB,CAAC,SAA0B;AAC5C,gBAAM,WAAW,MAAM;AACvB,cAAI,KAAK,WAAW,KAAK,QAAQ,QAAQ,YAAY,MAAM;AACvD,mBAAO;AAAA,UACX;AACA,iBAAO,SAAS,IAAI,IAAI;AAAA,QAC5B;AAAA,MAAA;AAAA,MAEJ;AAAA;AAAA,QAEI,MAAM;AAAA,QACN,SAAS,kBAAkB,MAAM,cAAc;AAAA,UAC3C,SAAS,CAAC,KAAK,UAAU;AACrB,gBAAI,QAAQ,WAAW,MAAM,QAAQ,KAAK,GAAG;AACzC,qBAAO,IAAI,IAAI,KAAK;AAAA,YACxB;AACA,mBAAO;AAAA,UACX;AAAA,UAEA,UAAU,CAAC,KAAK,UAAU;AACtB,gBAAI,iBAAiB,KAAK;AACtB,qBAAO,MAAM,KAAK,KAAK;AAAA,YAC3B;AACA,mBAAO;AAAA,UACX;AAAA,QAAA,CACH;AAAA,MAAA;AAAA,IACL;AAAA,EACJ;AAER;"}
@@ -13,6 +13,7 @@ import { useSessionUser, useToken } from '@/store/authStore'
13
13
  import {
14
14
  apiFetchUserFuncionalidades,
15
15
  apiFetchUserVinculosUsuario,
16
+ apiFindUserById,
16
17
  } from '@base/services'
17
18
  import {
18
19
  TFuncionalidadeMap,
@@ -49,6 +50,7 @@ function AuthProvider({ children }: AuthProviderProps) {
49
50
  (state) => state.setSessionSignedIn,
50
51
  )
51
52
 
53
+ const setRolesSet = useSessionUserDataStore((state) => state.setRolesSet)
52
54
  const setFuncionalidadesSet = useSessionUserDataStore(
53
55
  (state) => state.setFuncionalidadesSet,
54
56
  )
@@ -88,7 +90,12 @@ function AuthProvider({ children }: AuthProviderProps) {
88
90
  }
89
91
 
90
92
  async function handlePostAuth(resp: SignInResponse) {
91
- const funcionalidades = await apiFetchUserFuncionalidades(resp.id)
93
+ const findUserByIdResp = await apiFindUserById(resp.id)
94
+
95
+ const { roles } = findUserByIdResp
96
+ const funcionalidades = roles.flatMap((role) =>
97
+ role.funcionalidades.map((func) => func.url),
98
+ )
92
99
 
93
100
  const funcionalidadesSet = new Set<string>(funcionalidades || [])
94
101
  setFuncionalidadesSet(funcionalidadesSet)
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Objeto de resposta para operações relacionadas a usuários.
3
+ *
4
+ * @param id Identificador único do usuário.
5
+ * @param email Email do usuário.
6
+ * @param empresa Empresa do usuário.
7
+ * @param ativo Indica se o usuário está ativo.
8
+ * @param roles Conjunto dos papéis do usuário.
9
+ * @param dadosPessoais Dados pessoais do usuário.
10
+ */
11
+ export interface TGetUserResponse {
12
+ id: number
13
+ username: string
14
+ password: string
15
+ email: string
16
+ empresa: string
17
+ dataCadastro: string
18
+ ativo: boolean
19
+ primeiroAcesso: boolean
20
+ roles: TGetRoleResponse[]
21
+ dadosPessoais: TGetDadosPessoaisResponse
22
+ vinculosUsuario: TGetVinculosUsuarioResponse
23
+ pesagemManual: boolean | null
24
+ }
25
+
26
+ /**
27
+ * Objeto de resposta para operações relacionadas a permissões.
28
+ *
29
+ * @param id Identificador único da permissão.
30
+ * @param endpoint Endpoint da permissão.
31
+ * @param ativo Indica se a permissão está ativa.
32
+ * @param httpMethod Método HTTP associado à permissão.
33
+ */
34
+ export interface TGetPermissaoResponse {
35
+ id: number
36
+ endpoint: string
37
+ ativo: boolean
38
+ httpMethod: string
39
+ }
40
+
41
+ /**
42
+ * Objeto de resposta para operações relacionadas a roles.
43
+ *
44
+ * @param id Identificador único da role.
45
+ * @param nome Nome da role.
46
+ * @param funcionalidades Lista de grupos de acesso associados à role.
47
+ */
48
+ export interface TGetRoleResponse {
49
+ id: number
50
+ nome: string
51
+ descricao: string
52
+ funcionalidades: TGetFuncionalidadeResponse[]
53
+ }
54
+
55
+ /**
56
+ * Objeto de resposta para operações que retornam dados de um registro de dados pessoais.
57
+ *
58
+ * @param id Identificador único do registro de dados pessoais.
59
+ * @param nome Nome do usuário. Representa o nome completo da pessoa física ou razão social da pessoa jurídica.
60
+ * @param cpfCnpj CPF (para pessoa física) ou CNPJ (para pessoa jurídica) do usuário.
61
+ * @param matricula Matrícula do usuário.
62
+ * @param telefone Telefone fixo do usuário.
63
+ * @param celular Celular do usuário.
64
+ * @param ativo Indica se o registro de dados pessoais está ativo no sistema (true) ou inativo (false).
65
+ */
66
+ export interface TGetDadosPessoaisResponse {
67
+ id: number
68
+ nome: string
69
+ cpfCnpj: string
70
+ matricula: string
71
+ telefone: string
72
+ ativo: boolean
73
+ }
74
+
75
+ export interface TGetVinculosUsuarioResponse {
76
+ id: number
77
+ vendedorId: number
78
+ areaId: number
79
+ centroIds: number[]
80
+ centroCustoIds: number[]
81
+ depositoIds: number[]
82
+ tipoOrdemVendaIds: number[]
83
+ clienteAgendamentoIds: number[]
84
+ transportadoraAgendamentoIds: number[]
85
+ }
86
+
87
+ export interface TGetFuncionalidadeResponse {
88
+ id: number
89
+ url: string
90
+ nome: string
91
+ descricao: string
92
+ ativo: boolean
93
+ permissoes: TGetPermissaoResponse[]
94
+ }
@@ -1,3 +1,8 @@
1
+ export enum TipoEstado {
2
+ DENTRO_ESTADO = 'DENTRO_ESTADO',
3
+ FORA_ESTADO = 'FORA_ESTADO',
4
+ }
5
+
1
6
  export type TPrecificacaoFareloColumnDef = {
2
7
  id: number
3
8
  dataCriacao: string
@@ -7,8 +12,9 @@ export type TPrecificacaoFareloColumnDef = {
7
12
  codigoProduto?: string
8
13
  descricaoProduto?: string
9
14
  unidadeMedida: string
15
+ tipoEstado: string
10
16
  preco: number
11
- precoAdicional: number
17
+ valorAdicional: number
12
18
  }
13
19
 
14
20
  export type TPrecificacaoFarelo = {
@@ -16,6 +22,7 @@ export type TPrecificacaoFarelo = {
16
22
  produtoId?: number | null
17
23
  produtoCodigo?: string | null
18
24
  unidadeMedida: string
25
+ tipoEstado: TipoEstado | string
19
26
  preco: number
20
- precoAdicional: number
27
+ valorAdicional: number
21
28
  }
@@ -2,12 +2,16 @@ const USER_BASE_URL = '/dados-mestres/api/user'
2
2
 
3
3
  const user = {
4
4
  find: { endpoint: `${USER_BASE_URL}/find`, httpMethod: 'post' },
5
+ findById: { endpoint: `${USER_BASE_URL}`, httpMethod: 'get' },
5
6
  findByIds: { endpoint: `${USER_BASE_URL}/find-by-ids`, httpMethod: 'post' },
6
7
  findCentros: (userId: string | number) => ({
7
8
  endpoint: `${USER_BASE_URL}/${userId}/centros`,
8
9
  httpMethod: 'get' as const,
9
10
  }),
10
- verificaUserPossuiFuncionalidade: { endpoint: `${USER_BASE_URL}/{id}/{funcionalidade}`, httpMethod: 'get' },
11
+ verificaUserPossuiFuncionalidade: {
12
+ endpoint: `${USER_BASE_URL}/{id}/{funcionalidade}`,
13
+ httpMethod: 'get',
14
+ },
11
15
  }
12
16
 
13
- export default user
17
+ export default user
@@ -1,8 +1,9 @@
1
- import ApiService from "@/services/ApiService";
2
- import { IFilterParams, TQueryResponse } from "@base/@types/api";
3
- import { endpointsConfig } from "@base/configs";
1
+ import ApiService from '@/services/ApiService'
2
+ import { IFilterParams, TQueryResponse } from '@base/@types/api'
3
+ import { TGetUserResponse } from '@base/@types/models/dm/user'
4
+ import { endpointsConfig } from '@base/configs'
4
5
 
5
- const USER_ENDPOINT = endpointsConfig.dm.user;
6
+ const USER_ENDPOINT = endpointsConfig.dm.user
6
7
 
7
8
  export async function apiFindUser(body?: IFilterParams) {
8
9
  return ApiService.fetchDataWithAxios<TQueryResponse<any>>({
@@ -12,6 +13,14 @@ export async function apiFindUser(body?: IFilterParams) {
12
13
  })
13
14
  }
14
15
 
16
+ export async function apiFindUserById(id: string | number) {
17
+ return ApiService.fetchDataWithAxios<TGetUserResponse>({
18
+ url: USER_ENDPOINT.findById.endpoint,
19
+ method: USER_ENDPOINT.findById.httpMethod,
20
+ params: { id },
21
+ })
22
+ }
23
+
15
24
  export async function apiFindByIds(filters?: IFilterParams) {
16
25
  return ApiService.fetchDataWithAxios<TQueryResponse<any>>({
17
26
  url: USER_ENDPOINT.findByIds.endpoint,
@@ -22,18 +31,21 @@ export async function apiFindByIds(filters?: IFilterParams) {
22
31
 
23
32
  export async function apiFindCentrosByUserId(userId: string | number) {
24
33
  const { endpoint, httpMethod } = USER_ENDPOINT.findCentros(userId)
25
-
34
+
26
35
  return ApiService.fetchDataWithAxios<TQueryResponse<any>>({
27
36
  url: endpoint,
28
37
  method: httpMethod,
29
38
  })
30
39
  }
31
40
 
32
- export async function apiVerificaUserPossuiFuncionalidade(userId: string, nomeFuncionalidade: string) {
41
+ export async function apiVerificaUserPossuiFuncionalidade(
42
+ userId: string,
43
+ nomeFuncionalidade: string,
44
+ ) {
33
45
  return ApiService.fetchDataWithAxios({
34
46
  url: USER_ENDPOINT.verificaUserPossuiFuncionalidade.endpoint
35
- .replace('{id}' , userId)
47
+ .replace('{id}', userId)
36
48
  .replace('{funcionalidade}', nomeFuncionalidade),
37
49
  method: USER_ENDPOINT.verificaUserPossuiFuncionalidade.httpMethod,
38
50
  })
39
- }
51
+ }
@@ -6,17 +6,25 @@ export interface TFuncionalidadeMap {
6
6
  }
7
7
 
8
8
  export type TSessionUserDataStore = {
9
+ rolesSet: Set<string> | null
10
+ setRolesSet: (roles: Set<string>) => void
9
11
  funcionalidadesSet: Set<string> | null
10
12
  setFuncionalidadesSet: (funcSet: Set<string>) => void
11
13
  funcionalidadesMap: TFuncionalidadeMap | null
12
14
  setFuncionalidesMap: (funcMap: TFuncionalidadeMap) => void
13
15
  checkUserPathAccess: (path: string) => boolean
16
+ checkUserRoleAccess: (role: string) => boolean
14
17
  }
15
18
 
16
19
  export const useSessionUserDataStore = create<TSessionUserDataStore>()(
17
20
  devtools(
18
21
  persist(
19
22
  (set, get) => ({
23
+ rolesSet: null,
24
+ setRolesSet: (roles: Set<string>) =>
25
+ set(() => ({
26
+ rolesSet: roles,
27
+ })),
20
28
  funcionalidadesSet: null,
21
29
  setFuncionalidadesSet: (funcionalidades: Set<string>) =>
22
30
  set(() => ({
@@ -36,22 +44,26 @@ export const useSessionUserDataStore = create<TSessionUserDataStore>()(
36
44
 
37
45
  return funcSet.has(path)
38
46
  },
47
+ checkUserRoleAccess: (role: string): boolean => {
48
+ const rolesSet = get().rolesSet
49
+ if (role.length === 0 || role == null || rolesSet == null) {
50
+ return false
51
+ }
52
+ return rolesSet.has(role)
53
+ },
39
54
  }),
40
55
  {
41
- name: 'sessionUserData', // unique name
56
+ // Serializador customizado para armazenar Set corretamente
57
+ name: 'sessionUserData',
42
58
  storage: createJSONStorage(() => localStorage, {
43
- // Custom serialization and deserialization
44
- // `state` is the entire store object
45
59
  reviver: (key, value) => {
46
- // If the key is 'items' and value is an array (from storage), convert to Set
47
60
  if (key === 'items' && Array.isArray(value)) {
48
61
  return new Set(value)
49
62
  }
50
63
  return value
51
64
  },
52
- // `state` is the entire store object before stringifying
65
+
53
66
  replacer: (key, value) => {
54
- // If the value is a Set, convert it to an Array
55
67
  if (value instanceof Set) {
56
68
  return Array.from(value)
57
69
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orbe-agro/client-core-prod",
3
- "version": "5.5.38",
3
+ "version": "5.5.39",
4
4
  "description": "Biblioteca principal de componentes e utilidades para os microfrontends do Orbe Agro.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",