ngx-sp-auth 4.3.6 → 4.3.7

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.
@@ -0,0 +1,78 @@
1
+ import { IDBPDatabase } from 'idb';
2
+ import { LibCustomEnvironmentService } from '../custom/lib-custom-environment.service';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Tipo estruturado que deve ser enviado e recebido quando utilizar o armazenamento de valores no IndexedDB
6
+ */
7
+ export type ObjectToStore<T> = {
8
+ /** Valor da chave-única para diferenciar entre outros valores salvos */
9
+ key: string;
10
+ /** Contexto da tela em que a implementação está inserida */
11
+ context: string;
12
+ /**
13
+ * Corpo do que será de fato armazenado, filtros, formulários, etc.
14
+ * O tipo usado é genérico e deve ser informado caso deseje utilizar este tipo no seu componente.
15
+ */
16
+ payload?: T;
17
+ };
18
+ export declare class IndexedDBService {
19
+ private _customEnvironment;
20
+ private _restored?;
21
+ private _dbName;
22
+ protected database?: IDBDatabase;
23
+ protected request?: IDBPDatabase<unknown>;
24
+ constructor(_customEnvironment: LibCustomEnvironmentService);
25
+ /**
26
+ * Cria um registro dentro de um objectStore.
27
+ * O valor a ser inserido precisa ser um objeto com pelo **menos a propriedade `key`**, ela é a nossa *chave-primária* dos registros
28
+ *
29
+ * @param value Valor a ser inserido
30
+ */
31
+ add(value: ObjectToStore<any>): Promise<void>;
32
+ /**
33
+ * Busca um valor na base dentro de um objectStore.
34
+ *
35
+ * @param storeName Nome do objectStore
36
+ * @param key Valor da chave única
37
+ * @returns Promise<> com o valor encontrado ou undefined se não encontrar
38
+ */
39
+ get(key: string): Promise<ObjectToStore<any>>;
40
+ /**
41
+ * Atualiza o valor de um registro dentro de um objectStore.
42
+ *
43
+ * @param value Valor atualizado
44
+ */
45
+ update(value: ObjectToStore<any>): Promise<void>;
46
+ /**
47
+ * Exclui um registro na base dentro de um objectStore.
48
+ *
49
+ * @param key Valor da chave única
50
+ */
51
+ delete(key: string): Promise<void>;
52
+ /**
53
+ * Inicializa as configurações iniciais do IndexedDB e já cria o objectStore que será utilizado caso não exista.
54
+ *
55
+ * O object store que será criado terá sua chave inline na propriedade `key` e o índice será a propriedade `context`, portanto todos os valores que forem inseridos **DEVEM** ser um objeto com pelo menos a propriedade `key` e `context`.
56
+ * Deve ser chamado no constructor do seu componente para garantir inicialização correta pelo componente
57
+ *
58
+ * @param dbName Nome da base de dados que será usada
59
+ */
60
+ initializeDatabase(dbName?: string): Promise<void>;
61
+ /**
62
+ * Exclui uma database do IndexedDB com base no nome.
63
+ *
64
+ * @param name Nome da database
65
+ */
66
+ deleteDatabase(name: string): Promise<void>;
67
+ /**
68
+ * Valida se já existe um valor cadastrado na base com a chave-única que foi informada, se houver retorna ele, caso contrário cria um registro placeholder para poder atualizar depois.
69
+ *
70
+ * @param key Valor da chave única
71
+ * @param value (opcional) Valor placeholder caso não exista um valor previamente criado
72
+ *
73
+ * @returns Estrutura encontrada no objectStore com a chave-única informada
74
+ */
75
+ validate(key: string, value?: ObjectToStore<any> | null): Promise<any>;
76
+ static ɵfac: i0.ɵɵFactoryDeclaration<IndexedDBService, never>;
77
+ static ɵprov: i0.ɵɵInjectableDeclaration<IndexedDBService>;
78
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngx-sp-auth",
3
- "version": "4.3.6",
3
+ "version": "4.3.7",
4
4
  "description": "Biblioteca de utilitários de autenticação.",
5
5
  "author": "P&D",
6
6
  "keywords": [
@@ -22,7 +22,8 @@
22
22
  "peerDependencies": {
23
23
  "@azure/msal-angular": "^4.0.16",
24
24
  "@azure/msal-browser": "^4.18.0",
25
- "ngx-sp-infra": "^6.5.9",
25
+ "idb": "^8.0.3",
26
+ "ngx-sp-infra": "^6.5.10",
26
27
  "ngx-toastr": "^19.0.0"
27
28
  },
28
29
  "sideEffects": false,
package/public-api.d.ts CHANGED
@@ -8,6 +8,7 @@ export * from './lib/custom/lib-custom-login.service';
8
8
  export * from './lib/custom/lib-custom-menu.service';
9
9
  export * from './lib/custom/lib-custom-storage.service';
10
10
  export * from './lib/custom/lib-menu-config.service';
11
+ export * from './lib/services/indexed-db.service';
11
12
  export * from './lib/services/pesquisa-telas-global.service';
12
13
  export * from './lib/storage/auth-storage.service';
13
14
  /** Components */