@archbase/security 4.2.6 → 4.3.1

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.
@@ -1,5 +1,5 @@
1
1
  import { ArchbaseRemoteApiClient } from '@archbase/data';
2
- import { ArchbaseAccessDecision, ArchbaseAccessOverview, ArchbaseOverviewItemPage, ArchbaseOverviewMetric, ArchbaseGroupReport, ArchbaseReachEntry, ArchbaseTreeBranch, ArchbaseTreeNodePage, ArchbaseEffectiveAccessReport, ArchbaseSimulationRequest } from './SecurityDiagnosticsDomain';
2
+ import { ArchbaseSecurityEventPage, ArchbaseSecurityEventType, ArchbaseAccessDecision, ArchbaseAccessOverview, ArchbaseOverviewItemPage, ArchbaseOverviewMetric, ArchbaseGroupReport, ArchbaseReachEntry, ArchbaseTreeBranch, ArchbaseTreeNodePage, ArchbaseEffectiveAccessReport, ArchbaseSimulationRequest } from './SecurityDiagnosticsDomain';
3
3
  /**
4
4
  * Leitura do diagnóstico de acesso — `/api/v1/security/diagnostics/*`.
5
5
  *
@@ -17,6 +17,11 @@ export declare class ArchbaseSecurityDiagnosticsService {
17
17
  constructor(client: ArchbaseRemoteApiClient);
18
18
  protected configureHeaders(): Record<string, string>;
19
19
  protected getEndpoint(): string;
20
+ /**
21
+ * Base própria: a trilha vive fora do diagnóstico porque tem chave própria no backend
22
+ * ({@code archbase.security.audit.enabled}) e some inteira quando ela está desligada.
23
+ */
24
+ protected getAuditEndpoint(): string;
20
25
  /** Retrato do tenant: contagens do catálogo e o estado das proteções configuráveis. */
21
26
  getOverview(): Promise<ArchbaseAccessOverview>;
22
27
  /**
@@ -61,4 +66,21 @@ export declare class ArchbaseSecurityDiagnosticsService {
61
66
  * que precisa mudar para o acesso passar a existir.
62
67
  */
63
68
  simulate(request: ArchbaseSimulationRequest): Promise<ArchbaseAccessDecision>;
69
+ /**
70
+ * Os acontecimentos de segurança, do mais recente para o mais antigo.
71
+ *
72
+ * <p>Sem período informado o servidor assume os últimos trinta dias — a primeira consulta de
73
+ * quem abre a tela não deve varrer a tabela inteira.
74
+ *
75
+ * <p>Devolve 403 para quem não é administrador, e 404 quando a trilha está desligada: os dois
76
+ * casos precisam ser distinguidos na tela, porque significam coisas diferentes.
77
+ */
78
+ getAuditEvents(options?: {
79
+ usuario?: string;
80
+ tipo?: ArchbaseSecurityEventType;
81
+ inicio?: string;
82
+ fim?: string;
83
+ page?: number;
84
+ size?: number;
85
+ }): Promise<ArchbaseSecurityEventPage>;
64
86
  }
@@ -219,3 +219,32 @@ export interface ArchbaseReachEntry {
219
219
  kind: string;
220
220
  situation: string;
221
221
  }
222
+ /**
223
+ * O que a trilha registra além das alterações.
224
+ *
225
+ * <p>Entrar, errar a senha e ter acesso negado não mudam tabela nenhuma — a trilha de alterações,
226
+ * por construção, não os vê. São eles que respondem "quem tentou o quê", enquanto a outra metade
227
+ * responde "quem mudou o quê".
228
+ */
229
+ export type ArchbaseSecurityEventType = 'LOGIN' | 'LOGIN_FALHOU' | 'LOGOUT' | 'ACESSO_NEGADO' | 'SIMULACAO';
230
+ export interface ArchbaseSecurityEvent {
231
+ id: string;
232
+ tipo: ArchbaseSecurityEventType;
233
+ dataHora: string;
234
+ /** Pode não corresponder a ninguém: numa tentativa com e-mail inexistente é esse o dado útil. */
235
+ usuario?: string | null;
236
+ tenantId?: string | null;
237
+ origem?: string | null;
238
+ recurso?: string | null;
239
+ acao?: string | null;
240
+ /** O porquê: o portão que recusou, ou o tipo da falha de autenticação. */
241
+ detalhe?: string | null;
242
+ sucesso: boolean;
243
+ }
244
+ export interface ArchbaseSecurityEventPage {
245
+ content: ArchbaseSecurityEvent[];
246
+ totalElements: number;
247
+ totalPages: number;
248
+ number: number;
249
+ size: number;
250
+ }
@@ -127,6 +127,28 @@ export declare class UserDto extends SecurityDto {
127
127
  email?: string;
128
128
  type: string;
129
129
  isNewUser: boolean;
130
+ /**
131
+ * Matrícula do funcionário na empresa: o número pelo qual o RH e a folha identificam a pessoa,
132
+ * e que costuma ser o elo com ponto, crachá e folha de pagamento.
133
+ *
134
+ * Opcional de propósito — contas de serviço e usuários que não são funcionários não têm uma.
135
+ * Não é única: bases herdadas de sistemas antigos costumam ter matrícula repetida, e quem
136
+ * precisar exigir unicidade cria o índice decidindo o escopo (global ou por tenant).
137
+ *
138
+ * Não confundir com {@link externalId}, que identifica a conta num provedor de identidade
139
+ * (Keycloak, LDAP). Uma é o vínculo empregatício, a outra é a credencial — convivem.
140
+ *
141
+ * Requer archbase-security 3.1.20 ou superior no backend.
142
+ */
143
+ employeeId?: string;
144
+ /**
145
+ * ID da conta num provedor de identidade externo (Keycloak, LDAP e afins).
146
+ *
147
+ * Existe no backend desde antes da matrícula, mas nunca esteve neste DTO — então a tela lia e
148
+ * devolvia o usuário sem ele. Declarado aqui para que o valor sobreviva a uma edição, junto com
149
+ * a correção do lado do servidor que passou a gravá-lo.
150
+ */
151
+ externalId?: string;
130
152
  constructor(data: any);
131
153
  static newInstance: () => UserDto;
132
154
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@archbase/security",
3
- "version": "4.2.6",
3
+ "version": "4.3.1",
4
4
  "description": "Security and authentication components for Archbase React",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -37,10 +37,10 @@
37
37
  "reflect-metadata": "^0.1.13",
38
38
  "rxjs": "^7.8.2",
39
39
  "uuid": "^9.0.1",
40
- "@archbase/components": "4.2.6",
41
- "@archbase/core": "4.2.6",
42
- "@archbase/data": "4.2.6",
43
- "@archbase/layout": "4.2.6"
40
+ "@archbase/components": "4.3.1",
41
+ "@archbase/core": "4.3.1",
42
+ "@archbase/data": "4.3.1",
43
+ "@archbase/layout": "4.3.1"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@types/crypto-js": "^4.1.1",
Binary file