@po-ui/ng-sync 19.26.0 → 20.0.0

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 (57) hide show
  1. package/fesm2022/po-ui-ng-sync.mjs +22 -22
  2. package/index.d.ts +1053 -3
  3. package/package.json +6 -6
  4. package/po-ui-ng-sync-20.0.0.tgz +0 -0
  5. package/schematics/migrations.json +7 -2
  6. package/schematics/ng-add/index.js +1 -1
  7. package/schematics/ng-update/v14/index.js +1 -1
  8. package/schematics/ng-update/v15/index.js +1 -1
  9. package/schematics/ng-update/v16/index.js +1 -1
  10. package/schematics/ng-update/v17/index.js +1 -1
  11. package/schematics/ng-update/v18/index.js +1 -1
  12. package/schematics/ng-update/v19/index.js +1 -1
  13. package/schematics/ng-update/v2/index.js +1 -1
  14. package/schematics/ng-update/v20/changes.d.ts +2 -0
  15. package/schematics/ng-update/v20/changes.js +14 -0
  16. package/schematics/ng-update/v20/changes.js.map +1 -0
  17. package/schematics/ng-update/v20/index.d.ts +1 -0
  18. package/schematics/ng-update/v20/index.js +16 -0
  19. package/schematics/ng-update/v20/index.js.map +1 -0
  20. package/schematics/ng-update/v3/index.js +1 -1
  21. package/schematics/ng-update/v4/index.js +1 -1
  22. package/schematics/ng-update/v5/index.js +1 -1
  23. package/schematics/ng-update/v6/index.js +1 -1
  24. package/lib/index.d.ts +0 -14
  25. package/lib/models/index.d.ts +0 -5
  26. package/lib/models/po-data-message.model.d.ts +0 -46
  27. package/lib/models/po-data-transform.model.d.ts +0 -52
  28. package/lib/models/po-entity/po-entity.model.d.ts +0 -122
  29. package/lib/models/po-event-sourcing-error-response.model.d.ts +0 -20
  30. package/lib/models/po-network-status.model.d.ts +0 -25
  31. package/lib/models/po-network-type.enum.d.ts +0 -28
  32. package/lib/models/po-query-builder/po-query-builder.model.d.ts +0 -126
  33. package/lib/models/po-request-type.enum.d.ts +0 -14
  34. package/lib/po-sync.module.d.ts +0 -11
  35. package/lib/services/po-event-sourcing/enums/po-event-sourcing-operation.enum.d.ts +0 -11
  36. package/lib/services/po-event-sourcing/index.d.ts +0 -3
  37. package/lib/services/po-event-sourcing/interfaces/po-event-sourcing-item.interface.d.ts +0 -26
  38. package/lib/services/po-event-sourcing/interfaces/po-event-sourcing-summary-item.interface.d.ts +0 -16
  39. package/lib/services/po-event-sourcing/po-event-sourcing.service.d.ts +0 -74
  40. package/lib/services/po-http-client/interfaces/po-http-header-option.interface.d.ts +0 -15
  41. package/lib/services/po-http-client/interfaces/po-http-request-data.interface.d.ts +0 -24
  42. package/lib/services/po-http-client/interfaces/po-response-api.interface.d.ts +0 -14
  43. package/lib/services/po-http-client/po-http-client.service.d.ts +0 -78
  44. package/lib/services/po-http-client/po-http-request-type.enum.d.ts +0 -23
  45. package/lib/services/po-network/po-network.service.d.ts +0 -35
  46. package/lib/services/po-schema/index.d.ts +0 -3
  47. package/lib/services/po-schema/po-schema-definition/po-schema-definition.service.d.ts +0 -51
  48. package/lib/services/po-schema/po-schema-util/po-schema-util.model.d.ts +0 -79
  49. package/lib/services/po-schema/po-schema.service.d.ts +0 -98
  50. package/lib/services/po-sync/interfaces/po-sync-config.interface.d.ts +0 -24
  51. package/lib/services/po-sync/interfaces/po-sync-field-options.interface.d.ts +0 -15
  52. package/lib/services/po-sync/interfaces/po-sync-response.interface.d.ts +0 -20
  53. package/lib/services/po-sync/interfaces/po-sync-schema.interface.d.ts +0 -37
  54. package/lib/services/po-sync/po-sync.service.d.ts +0 -162
  55. package/lib/utils/utils.d.ts +0 -36
  56. package/po-ui-ng-sync-19.26.0.tgz +0 -0
  57. package/public-api.d.ts +0 -1
@@ -1,98 +0,0 @@
1
- import { PoStorageService } from '@po-ui/ng-storage';
2
- import { PoSchemaDefinitionService } from './po-schema-definition/po-schema-definition.service';
3
- import { PoSyncSchema } from '../po-sync/interfaces/po-sync-schema.interface';
4
- import * as i0 from "@angular/core";
5
- /**
6
- * @docsPrivate
7
- *
8
- * @description
9
- *
10
- * Serviço que realiza as operações nos `schemas`.
11
- */
12
- export declare class PoSchemaService {
13
- private poSchemaDefinitionService;
14
- private poStorage;
15
- constructor(poSchemaDefinitionService: PoSchemaDefinitionService, poStorage: PoStorageService);
16
- /**
17
- * Retorna o id a partir de uma chave de um *schema*.
18
- *
19
- * @param {string} schemaKey Chave do *schema* em que será realizada a busca do id.
20
- */
21
- private static getIdByRecordKey;
22
- /**
23
- * Retorna a chave do *schema* informado.
24
- *
25
- * @param {string} schemaName Nome do *schema*.
26
- * @param {any} recordId Id do registro.
27
- * @param {boolean} isLocalKey Indica se é uma chave local.
28
- */
29
- private static getRecordKey;
30
- /**
31
- * Verifica se o dado informado é uma chave de um *schema*.
32
- *
33
- * @param {string} data Dado que será verificado se é uma chave de um *schema*.
34
- * @param {string} schemaName Nome do *schema*.
35
- */
36
- private static isSchemaKey;
37
- /**
38
- * Cria um novo registro para o *schema* informado.
39
- *
40
- * @param {PoSyncSchema} schema **Schema* em que será criado o registro.
41
- * @param {object} newRecord Registro que será criado.
42
- */
43
- create(schema: PoSyncSchema, newRecord: object): Promise<object>;
44
- /**
45
- * Destrói as chaves do *storage* que contém os registros dos *schemas*.
46
- *
47
- * @returns {Promise<void>} Promessa que é resolvida quando as chaves referentes aos *schemas* forem destruídas.
48
- */
49
- destroySchemasRecords(): Promise<void>;
50
- /**
51
- * Retorna o registro referente ao *schema* informado.
52
- *
53
- * @param {string} schemaName Nome do *schema*.
54
- * @param {any} recordId Id do registro.
55
- */
56
- get(schemaName: string, recordId: any): Promise<object>;
57
- /**
58
- * Retorna todos os registros referente ao *schema* informado.
59
- *
60
- * @param {string} schemaName Nome do *schema*.
61
- */
62
- getAll(schemaName: string): Promise<Array<object>>;
63
- /**
64
- * Aguarda a liberação do recurso limitado, posteriormente o envolve em um comportamento
65
- * de bloqueio e desbloqueio.
66
- *
67
- * @param {Function} limitedResource Função que será envolvida no comportamento de bloqueio e desbloqueio.
68
- */
69
- limitedCallWrap(limitedResource: Function): Promise<any>;
70
- /**
71
- * Remove um registro de um *schema* informado.
72
- *
73
- * @param {string} schemaName Nome do *schema*.
74
- * @param {any} recordId Id do registro.
75
- */
76
- remove(schemaName: string, recordId: any): Promise<any>;
77
- /**
78
- * Atualiza um registro de um *schema* informado.
79
- *
80
- * @param {PoSyncSchema} schema **Schema* referente ao registro que será alterado.
81
- * @param {object} record Registro que será atualizado.
82
- * @param {any} recordId Id do registro que deseja ser alterado. Deve ser utilizado em casos em que o id foi alterado.
83
- */
84
- update(schema: PoSyncSchema, record: object, recordId?: any): Promise<object>;
85
- /**
86
- * Atualiza todos os registros de um *schema*.
87
- *
88
- * @param {PoSyncSchema} schema **Schema* referente aos registros que serão alterados.
89
- * @param {Array<object>} records Lista de registros que serão alterados.
90
- */
91
- updateAll(schema: PoSyncSchema, records: Array<object>): Promise<void>;
92
- private getRecord;
93
- private save;
94
- private saveLocalFields;
95
- private updateRecordId;
96
- static ɵfac: i0.ɵɵFactoryDeclaration<PoSchemaService, never>;
97
- static ɵprov: i0.ɵɵInjectableDeclaration<PoSchemaService>;
98
- }
@@ -1,24 +0,0 @@
1
- import { PoDataTransform } from './../../../models/po-data-transform.model';
2
- import { PoNetworkType } from './../../../models/po-network-type.enum';
3
- /**
4
- * @usedBy PoSyncService
5
- *
6
- * @description
7
- *
8
- * Interface para a definição das configurações do sincronismo.
9
- */
10
- export interface PoSyncConfig {
11
- /**
12
- * Classe usada para a trasformação dos dados nas requisições.
13
- *
14
- * > Veja mais detalhes em [Fundamentos do PO Sync - Adaptando a resposta da API para o padrão do PO UI](/guides/sync-fundamentals).
15
- */
16
- dataTransform?: PoDataTransform;
17
- /**
18
- * Tempo em segundos do sicronismo periódico.
19
- * Caso não seja definido, o sincronismo periódico estará desabilitado.
20
- */
21
- period?: number;
22
- /** Tipos de conexões permitidas para o sincronismo. */
23
- type: PoNetworkType | Array<PoNetworkType>;
24
- }
@@ -1,15 +0,0 @@
1
- /**
2
- * @usedBy PoSyncService
3
- *
4
- * @description
5
- *
6
- * Interface que irá mapear as configurações dos campos do `PoSyncSchema`.
7
- */
8
- export interface PoSyncFieldOptions {
9
- /** Propriedade que informa o nome do campo. */
10
- readonly name: string;
11
- /** Propriedade que informa se o campo será apenas para armazenamento local
12
- * ou se deve ser enviado para o servidor.
13
- */
14
- readonly local?: boolean;
15
- }
@@ -1,20 +0,0 @@
1
- import { HttpErrorResponse, HttpResponse } from '@angular/common/http';
2
- import { PoEventSourcingErrorResponse } from '../../../models/po-event-sourcing-error-response.model';
3
- import { PoHttpRequestData } from '../../po-http-client/interfaces/po-http-request-data.interface';
4
- /**
5
- * @usedBy PoSyncService
6
- *
7
- * @description
8
- *
9
- * Define a resposta dos eventos enviados ao servidor.
10
- */
11
- export interface PoSyncResponse {
12
- /** Identificador do evento na fila. */
13
- id: number;
14
- /** Identificador customizado do registro. */
15
- customRequestId?: string;
16
- /** Dados da requisição. */
17
- request: PoHttpRequestData;
18
- /** Resposta retornada após a tentativa de envio para o servidor. */
19
- response: HttpResponse<object> | HttpErrorResponse | PoEventSourcingErrorResponse;
20
- }
@@ -1,37 +0,0 @@
1
- import { PoSyncFieldOptions } from './po-sync-field-options.interface';
2
- /**
3
- * @usedBy PoSyncService
4
- *
5
- * @description
6
- *
7
- * Interface que irá mapear as informações dos recursos, principalmente sua origem e as informações que serão retornadas.
8
- */
9
- export interface PoSyncSchema {
10
- /** Nome da propriedade que informa a data de criação do registro. */
11
- readonly createdAtField?: string;
12
- /** Nome da propriedade que informa a data de deleção. */
13
- readonly deletedAtField?: string;
14
- /** Nome da propriedade que informa se o registro foi excluído. */
15
- readonly deletedField: string;
16
- /** Endereço do endpoint para excluir registros. */
17
- readonly deleteUrlApi?: string;
18
- /** Endereço do endpoint que proverá apenas dados alterados no servidor. */
19
- readonly diffUrlApi: string;
20
- /** Campos que serão retornados pela API. */
21
- readonly fields: Array<string | PoSyncFieldOptions>;
22
- /** Endereço do endpoint que utiliza o método GET que proverá os dados. */
23
- readonly getUrlApi: string;
24
- /** Nome da propriedade referente ao identificador único para os itens do *schema*. */
25
- readonly idField: string;
26
- /** Identifição para representar o *schema*. */
27
- readonly name: string;
28
- /** Quantidade de itens por página que será enviado pela API. */
29
- readonly pageSize: number;
30
- /** Endereço do endpoint que utiliza o método PUT para atualizar registros. */
31
- readonly patchUrlApi?: string;
32
- /** Endereço do endpoint que utiliza o método POST para incluir os registros. */
33
- readonly postUrlApi?: string;
34
- /** Nome da propriedade que informa a data de atualização do registro. */
35
- readonly updatedAtField?: string;
36
- lastSync?: string;
37
- }
@@ -1,162 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { PoEntity } from '../../models';
3
- import { PoEventSourcingService } from '../po-event-sourcing/po-event-sourcing.service';
4
- import { PoHttpClientService } from '../po-http-client/po-http-client.service';
5
- import { PoHttpRequestData } from '../po-http-client/interfaces/po-http-request-data.interface';
6
- import { PoNetworkService } from '../po-network/po-network.service';
7
- import { PoSchemaDefinitionService } from './../po-schema/po-schema-definition/po-schema-definition.service';
8
- import { PoSchemaService } from './../po-schema/po-schema.service';
9
- import { PoSyncConfig } from './interfaces/po-sync-config.interface';
10
- import { PoSyncResponse } from '../po-sync/interfaces/po-sync-response.interface';
11
- import { PoSyncSchema } from './interfaces/po-sync-schema.interface';
12
- import * as i0 from "@angular/core";
13
- /**
14
- * @description
15
- *
16
- * O `PoSyncService` é utilizado para configurar toda a base de dados que receberá as informações que serão
17
- * armazenadas *offline* vindas do servidor. Nele ocorre toda a preparação dos modelos de dados retornados por
18
- * cada consulta.
19
- */
20
- export declare class PoSyncService {
21
- private poEventSourcingService;
22
- private poHttpClient;
23
- private poNetworkService;
24
- private poSchemaDefinitionService;
25
- private poSchemaService;
26
- models: Array<PoEntity>;
27
- private config;
28
- private emitter;
29
- private eventSub;
30
- private finishSyncSubject;
31
- private isSyncEnabled;
32
- private schemas;
33
- private subscription;
34
- private syncing;
35
- private timer;
36
- constructor(poEventSourcingService: PoEventSourcingService, poHttpClient: PoHttpClientService, poNetworkService: PoNetworkService, poSchemaDefinitionService: PoSchemaDefinitionService, poSchemaService: PoSchemaService);
37
- /**
38
- * Destrói todas as chaves do *storage* referentes ao `po-sync`, ou seja,
39
- * as definições dos *schemas*, os registros de cada *schema* e a fila
40
- * de eventos que estão para ser enviados ao servidor *(EventSourcing)*.
41
- *
42
- * > Para que não venham ocorrer erros em ações que dependam das definições dos *schemas*,
43
- * recomenda-se utilizar o método `prepare()` em seguida.
44
- *
45
- * > Veja mais detalhes em [Fundamentos do PO Sync - Alterando as definições dos schemas](/guides/sync-fundamentals).
46
- *
47
- * @returns {Promise<any>} Promessa que é resolvida quando as chaves referentes ao `po-sync` forem destruídas.
48
- */
49
- destroy(): Promise<any>;
50
- /**
51
- * Desabilita todos os tipos de sincronização de dados (periódica, reativa e manual).
52
- *
53
- * > Para habilitar novamente a sincronização utilize o método [`PoSyncService.enableSync()`](documentation/po-sync#enable-sync).
54
- */
55
- disableSync(): void;
56
- /**
57
- * <a id="enable-sync"></a>
58
- * Habilita todos os tipos de sincronização de dados (periódica, reativa e manual).
59
- *
60
- * Por padrão, sempre que se inicializa uma aplicação com PO Sync as sincronizações já estão habilitadas.
61
- */
62
- enableSync(): void;
63
- /**
64
- * Método que disponibiliza a partir de sua inscrição o evento de retorno das operações da fila de eventos que
65
- * foram enviadas ao servidor. A cada operação enviada para o servidor, será disparado um evento para a inscrição
66
- * deste método.
67
- *
68
- * > Veja mais detalhes em [Fundamentos do PO Sync - Capturando respostas da sincronização](/guides/sync-fundamentals).
69
- *
70
- * @returns {Observable<PoSyncResponse>} Observable com um objeto do tipo `PoSyncResponse`.
71
- */
72
- getResponses(): Observable<PoSyncResponse>;
73
- /**
74
- * Retorna uma instância de `PoEntity` para um determinado *schema*.
75
- *
76
- * > Veja mais detalhes em [Fundamentos do PO Sync - Manipulando os registros de um schema](/guides/sync-fundamentals).
77
- *
78
- * @param {string} schemaName Nome do *schema*.
79
- * @returns {PoEntity} Objeto para efetuar consultas e alterações nos dados.
80
- */
81
- getModel(schemaName: string): PoEntity;
82
- /**
83
- * Insere uma requisição HTTP na fila de eventos do `po-sync`.
84
- *
85
- * > Veja mais detalhes em [Fundamentos do PO Sync - Inserindo requisições HTTP na fila de eventos](/guides/sync-fundamentals).
86
- *
87
- * @param {PoHttpRequestData} poHttpRequestData Dados da requisição HTTP.
88
- * @param {string} customRequestId Identificador customizado da requisição HTTP.
89
- * @returns {Promise<number>} Promessa com o identificador da requisição HTTP criada.
90
- */
91
- insertHttpCommand(requestData: PoHttpRequestData, customRequestId?: string): Promise<number>;
92
- /**
93
- * Efetua uma chamada na API do servidor para realizar a carga inicial dos dados. Deve ser chamado apenas uma vez
94
- * na aplicação, após a preparação dos *schemas* realizada através do método `PoSyncService.prepare()`.
95
- *
96
- * > Veja mais detalhes em [Fundamentos do PO Sync - Carga inicial dos dados](/guides/sync-fundamentals).
97
- *
98
- * @returns {Observable<Array<{ entity: string, data: Array<any> }>>} Observable que notificará quando a
99
- * carga inicial for concluída.
100
- */
101
- loadData(): Observable<Array<{
102
- entity: string;
103
- data: Array<any>;
104
- }>>;
105
- /**
106
- * Responsável por notificar sempre que houver sincronismo.
107
- *
108
- * > Veja mais detalhes em [Fundamentos do PO Sync - Notificação pós-sincronização](/guides/sync-fundamentals).
109
- *
110
- * @returns {Observable<any>} Observable que é disparado a cada sincronismo realizado.
111
- */
112
- onSync(): Observable<any>;
113
- /**
114
- * Prepara a aplicação criando os schemas e aplica as configurações.
115
- *
116
- * > Veja mais detalhes em [Fundamentos do PO Sync - Preparando a aplicação](/guides/sync-fundamentals).
117
- *
118
- * @param {Array<PoSyncSchema>} schemas Lista de *schemas* a serem preparados.
119
- * @param {PoSyncConfig} config Configurações adicionais.
120
- * @returns {Promise<any>} Promessa que é resolvida quando a aplicação estiver preparada para a utilização do `po-sync`.
121
- */
122
- prepare(schemas: Array<PoSyncSchema>, config?: PoSyncConfig): Promise<any>;
123
- /**
124
- * Remove um item da fila de eventos que espera a sincronização.
125
- *
126
- * > Veja mais detalhes em [Fundamentos do PO Sync - Capturando respostas da sincronização](/guides/sync-fundamentals).
127
- *
128
- * @param {any} idEventSourcing Identificador do item da fila de eventos.
129
- * @returns {Promise<any>} Promessa que é resolvida quando o item da fila de eventos é removido.
130
- */
131
- removeItemOfSync(idEventSourcing: any): Promise<any>;
132
- /**
133
- * Reenvia os comandos pendentes na fila (inclusão, alteração e exclusão) e busca novos dados do servidor.
134
- *
135
- * > Veja mais detalhes em [Fundamentos do PO Sync - Capturando respostas da sincronização](/guides/sync-fundamentals).
136
- *
137
- * @returns {Promise<any>} Promessa que resolve o sincronismo disparado.
138
- */
139
- resumeSync(): Promise<any>;
140
- /**
141
- * Dispara o sincronismo enviando os eventos pendentes (inclusão, alteração e exclusão) e buscando novos dados do servidor.
142
- *
143
- * O sincronismo somente será executado depois que o acesso a base de dados local do dispositivo for liberada.
144
- *
145
- * > Veja mais detalhes em [Fundamentos do PO Sync - Sincronização manual](/guides/sync-fundamentals).
146
- *
147
- * @returns {Promise<any>} Promessa que é resolvida quando o sincronismo for finalizado.
148
- */
149
- sync(): Promise<any>;
150
- private canSync;
151
- private createSubscribe;
152
- private finishSync;
153
- private getOnePage;
154
- private loadEntityData;
155
- private reactiveSync;
156
- private saveSchemas;
157
- private startSync;
158
- private startTimer;
159
- private syncError;
160
- static ɵfac: i0.ɵɵFactoryDeclaration<PoSyncService, never>;
161
- static ɵprov: i0.ɵɵInjectableDeclaration<PoSyncService>;
162
- }
@@ -1,36 +0,0 @@
1
- /**
2
- * Retorna um *array* contendo os pares `[chave, valor]` do objeto.
3
- *
4
- * Semelhante ao método `Object.entries()` nativo do javascript.
5
- *
6
- * > Veja mais em: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Object/entries
7
- *
8
- * @param object Objeto que será extraído os pares [chave, valor].
9
- */
10
- export declare const getObjectEntries: (object: object) => any[];
11
- /**
12
- * Recebe um objeto e valida se o seu valor é diferente de *undefined* ou *null*.
13
- *
14
- * @param {object} parameter Objeto contento o nome do parâmetro que está sendo validado
15
- * e o seu valor.
16
- */
17
- export declare const validateParameter: (parameter: object) => void;
18
- /**
19
- * Recebe um objeto e valida se o seu valor é uma instância de *Array* e se não
20
- * está vazio.
21
- *
22
- * @param value Objeto contento o nome da propriedade que está sendo validada e o seu valor.
23
- */
24
- export declare const validateArray: (value: object) => void;
25
- /**
26
- * Recebe um arquivo e converte para uma string base64
27
- *
28
- * @param Objeto do tipo file.
29
- */
30
- export declare const toBase64: (file: File) => Promise<string>;
31
- /**
32
- * Recebe uma string base64 e converte para um arquivo
33
- *
34
- * @param string base64.
35
- */
36
- export declare const toFile: (url: string, fileName: string, mimeType: string) => Promise<File>;
Binary file
package/public-api.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from './lib/index';