forlogic-core 2.4.1 → 2.4.2
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.
|
@@ -38,6 +38,19 @@ export interface CoreProvidersProps {
|
|
|
38
38
|
* @example "performance" | "suppliers" | "occurrences" | "audit"
|
|
39
39
|
*/
|
|
40
40
|
moduleAlias?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Base URL da API do módulo. Quando informada, `useModuleAccess` busca as
|
|
43
|
+
* associações em
|
|
44
|
+
* `{moduleApiUrl}/api/{moduleAlias}/v1/Users/{userId}/associations`
|
|
45
|
+
* em vez de
|
|
46
|
+
* `{QUALIEX_API_URL}/api/common/v1/Users/{userId}/associations`.
|
|
47
|
+
*
|
|
48
|
+
* Exige `moduleAlias` configurado (o alias entra no path). Default: não
|
|
49
|
+
* informado → usa a common (comportamento atual).
|
|
50
|
+
*
|
|
51
|
+
* @example moduleApiUrl={import.meta.env.VITE_MODULE_API_URL}
|
|
52
|
+
*/
|
|
53
|
+
moduleApiUrl?: string;
|
|
41
54
|
/**
|
|
42
55
|
* Props opcionais para o ModuleAccessGuard.
|
|
43
56
|
* Permite configurar módulos contratados, callbacks e URLs.
|
|
@@ -119,4 +132,4 @@ export declare function getSecurityMode(): 'legacy' | 'strict';
|
|
|
119
132
|
* }
|
|
120
133
|
* ```
|
|
121
134
|
*/
|
|
122
|
-
export declare function CoreProviders({ children, queryClient, moduleAlias, moduleAccessGuardProps, appTranslations, clarityProjectId, clarityMode, backend, securityMode, }: CoreProvidersProps): import("react/jsx-runtime").JSX.Element;
|
|
135
|
+
export declare function CoreProviders({ children, queryClient, moduleAlias, moduleApiUrl, moduleAccessGuardProps, appTranslations, clarityProjectId, clarityMode, backend, securityMode, }: CoreProvidersProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -38,13 +38,22 @@ declare class QualiexApiService {
|
|
|
38
38
|
fetchSoftwares(alias: string): Promise<Software[]>;
|
|
39
39
|
/**
|
|
40
40
|
* Busca as associações do usuário (empresas, roles, módulos com acesso).
|
|
41
|
-
*
|
|
41
|
+
*
|
|
42
|
+
* Default: `GET {QUALIEX_API_URL}/api/common/v1/Users/{userId}/associations`
|
|
43
|
+
*
|
|
44
|
+
* Quando `opts.baseUrl` e `opts.moduleSegment` são informados, a chamada vai
|
|
45
|
+
* para a API do próprio módulo:
|
|
46
|
+
* `GET {opts.baseUrl}/api/{opts.moduleSegment}/v1/Users/{userId}/associations`
|
|
42
47
|
*
|
|
43
48
|
* @param userId - ID do usuário no Qualiex (subNewId / user.id)
|
|
44
49
|
* @param alias - Alias da unidade (usado no header un-alias)
|
|
50
|
+
* @param opts - Override opcional para apontar para a API do módulo
|
|
45
51
|
* @returns Array de UserAssociation com softwares[], roleId, roleName, etc.
|
|
46
52
|
*/
|
|
47
|
-
fetchUserAssociations(userId: string, alias: string
|
|
53
|
+
fetchUserAssociations(userId: string, alias: string, opts?: {
|
|
54
|
+
baseUrl?: string;
|
|
55
|
+
moduleSegment?: string;
|
|
56
|
+
}): Promise<UserAssociation[]>;
|
|
48
57
|
}
|
|
49
58
|
/**
|
|
50
59
|
* Singleton do serviço Qualiex (API common-v4) — usuários, grupos e unidades organizacionais.
|
|
@@ -29,12 +29,43 @@
|
|
|
29
29
|
| children | ReactNode | Sim | Componentes filhos |
|
|
30
30
|
| queryClient | QueryClient | Não | Instância customizada (default criado automaticamente) |
|
|
31
31
|
| moduleAlias | string | Não | Alias do módulo para verificação de acesso |
|
|
32
|
+
| moduleApiUrl | string | Não | Base URL da API do módulo para resolver associações. Ver seção "Associações pela API do módulo". |
|
|
32
33
|
| moduleAccessGuardProps | object | Não | Props para o ModuleAccessGuard |
|
|
33
34
|
| appTranslations | Record<string, Record<string, string>> | Não | Traduções por idioma no namespace 'app' |
|
|
34
35
|
| clarityProjectId | string | Não | Project ID do Microsoft Clarity. Sem ele, integração desativada. |
|
|
35
36
|
| clarityMode | 'auto' \| 'disabled' | Não | Opt-out do tracking Clarity. Default `'auto'`. |
|
|
36
37
|
| backend | 'supabase' \| 'dotnet' | Não | Backend ativo. Default `'supabase'`. Ver seção abaixo. |
|
|
37
38
|
|
|
39
|
+
## Associações pela API do módulo
|
|
40
|
+
|
|
41
|
+
Por padrão, `useModuleAccess` (e o `ModuleAccessGuard`) busca as associações do usuário em:
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
{QUALIEX_API_URL}/api/common/v1/Users/{userId}/associations
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Quando o módulo expõe seu próprio endpoint de associações, informe `moduleApiUrl` no `CoreProviders`. A lib troca o segmento `common` pelo `moduleAlias` configurado:
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
{moduleApiUrl}/api/{moduleAlias}/v1/Users/{userId}/associations
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
```tsx
|
|
54
|
+
<CoreProviders
|
|
55
|
+
backend="dotnet"
|
|
56
|
+
moduleAlias="inovacao"
|
|
57
|
+
moduleApiUrl={import.meta.env.VITE_MODULE_API_URL}
|
|
58
|
+
>
|
|
59
|
+
...
|
|
60
|
+
</CoreProviders>
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Requisitos:
|
|
64
|
+
|
|
65
|
+
- `moduleAlias` é obrigatório quando `moduleApiUrl` é informado (entra no path). Sem ele, a lib cai no comportamento default e emite `console.warn`.
|
|
66
|
+
- A API do módulo deve responder no mesmo contrato (`UserAssociation[]`) e aceitar os headers `Authorization: Bearer <token>` e `un-alias: <alias>`.
|
|
67
|
+
- Demais endpoints (`/companiesusers`, `/softwares`) continuam consultando a common.
|
|
68
|
+
|
|
38
69
|
## Backend (Supabase opcional)
|
|
39
70
|
|
|
40
71
|
A prop `backend` controla se a lib usa o stack Supabase ou apenas a API .NET do Qualiex.
|