@po-ui/ng-sync 19.27.0 → 20.1.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.
- package/fesm2022/po-ui-ng-sync.mjs +22 -22
- package/index.d.ts +1053 -3
- package/package.json +6 -6
- package/po-ui-ng-sync-20.1.0.tgz +0 -0
- package/schematics/migrations.json +7 -2
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-update/v14/index.js +1 -1
- package/schematics/ng-update/v15/index.js +1 -1
- package/schematics/ng-update/v16/index.js +1 -1
- package/schematics/ng-update/v17/index.js +1 -1
- package/schematics/ng-update/v18/index.js +1 -1
- package/schematics/ng-update/v19/index.js +1 -1
- package/schematics/ng-update/v2/index.js +1 -1
- package/schematics/ng-update/v20/changes.d.ts +2 -0
- package/schematics/ng-update/v20/changes.js +14 -0
- package/schematics/ng-update/v20/changes.js.map +1 -0
- package/schematics/ng-update/v20/index.d.ts +1 -0
- package/schematics/ng-update/v20/index.js +16 -0
- package/schematics/ng-update/v20/index.js.map +1 -0
- package/schematics/ng-update/v3/index.js +1 -1
- package/schematics/ng-update/v4/index.js +1 -1
- package/schematics/ng-update/v5/index.js +1 -1
- package/schematics/ng-update/v6/index.js +1 -1
- package/lib/index.d.ts +0 -14
- package/lib/models/index.d.ts +0 -5
- package/lib/models/po-data-message.model.d.ts +0 -46
- package/lib/models/po-data-transform.model.d.ts +0 -52
- package/lib/models/po-entity/po-entity.model.d.ts +0 -122
- package/lib/models/po-event-sourcing-error-response.model.d.ts +0 -20
- package/lib/models/po-network-status.model.d.ts +0 -25
- package/lib/models/po-network-type.enum.d.ts +0 -28
- package/lib/models/po-query-builder/po-query-builder.model.d.ts +0 -126
- package/lib/models/po-request-type.enum.d.ts +0 -14
- package/lib/po-sync.module.d.ts +0 -11
- package/lib/services/po-event-sourcing/enums/po-event-sourcing-operation.enum.d.ts +0 -11
- package/lib/services/po-event-sourcing/index.d.ts +0 -3
- package/lib/services/po-event-sourcing/interfaces/po-event-sourcing-item.interface.d.ts +0 -26
- package/lib/services/po-event-sourcing/interfaces/po-event-sourcing-summary-item.interface.d.ts +0 -16
- package/lib/services/po-event-sourcing/po-event-sourcing.service.d.ts +0 -74
- package/lib/services/po-http-client/interfaces/po-http-header-option.interface.d.ts +0 -15
- package/lib/services/po-http-client/interfaces/po-http-request-data.interface.d.ts +0 -24
- package/lib/services/po-http-client/interfaces/po-response-api.interface.d.ts +0 -14
- package/lib/services/po-http-client/po-http-client.service.d.ts +0 -78
- package/lib/services/po-http-client/po-http-request-type.enum.d.ts +0 -23
- package/lib/services/po-network/po-network.service.d.ts +0 -35
- package/lib/services/po-schema/index.d.ts +0 -3
- package/lib/services/po-schema/po-schema-definition/po-schema-definition.service.d.ts +0 -51
- package/lib/services/po-schema/po-schema-util/po-schema-util.model.d.ts +0 -79
- package/lib/services/po-schema/po-schema.service.d.ts +0 -98
- package/lib/services/po-sync/interfaces/po-sync-config.interface.d.ts +0 -24
- package/lib/services/po-sync/interfaces/po-sync-field-options.interface.d.ts +0 -15
- package/lib/services/po-sync/interfaces/po-sync-response.interface.d.ts +0 -20
- package/lib/services/po-sync/interfaces/po-sync-schema.interface.d.ts +0 -37
- package/lib/services/po-sync/po-sync.service.d.ts +0 -162
- package/lib/utils/utils.d.ts +0 -36
- package/po-ui-ng-sync-19.27.0.tgz +0 -0
- package/public-api.d.ts +0 -1
package/index.d.ts
CHANGED
|
@@ -1,5 +1,1055 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { PoStorageService } from '@po-ui/ng-storage';
|
|
3
|
+
import { HttpClient, HttpResponse, HttpErrorResponse } from '@angular/common/http';
|
|
4
|
+
import * as i0 from '@angular/core';
|
|
5
|
+
|
|
1
6
|
/**
|
|
2
|
-
*
|
|
7
|
+
* @description
|
|
8
|
+
*
|
|
9
|
+
* Classe responsável por adaptar dados de APIs que não seguem
|
|
10
|
+
* o padrão de [API do PO UI](https://po-ui.io/guides/api).
|
|
11
|
+
*
|
|
12
|
+
* Essa classe deve ser estendida por uma classe que implemente cada um de seus métodos, adaptando os parâmetros de
|
|
13
|
+
* acordo com a API do *backend* existente que se deseja comunicar.
|
|
3
14
|
*/
|
|
4
|
-
|
|
5
|
-
|
|
15
|
+
declare abstract class PoDataTransform {
|
|
16
|
+
protected data: any;
|
|
17
|
+
/**
|
|
18
|
+
* @docsPrivate
|
|
19
|
+
*
|
|
20
|
+
* Método responsável por receber e armazenar os dados retornados pela API para manipulação na classe `PoDataTransform`.
|
|
21
|
+
*
|
|
22
|
+
* @param {any} data Dados retornados pela API.
|
|
23
|
+
*/
|
|
24
|
+
transform(data: any): void;
|
|
25
|
+
/**
|
|
26
|
+
* Retorna o nome da propriedade responsável por informar a data da última sincronização.
|
|
27
|
+
*
|
|
28
|
+
* @returns {string} Nome do campo que contém a data da última sincronização.
|
|
29
|
+
*/
|
|
30
|
+
abstract getDateFieldName(): string;
|
|
31
|
+
/**
|
|
32
|
+
* Retorna o nome da propriedade responsável por informar a lista de registros vindos da API.
|
|
33
|
+
*
|
|
34
|
+
* @returns {string} Nome da propriedade que contém a lista de registros.
|
|
35
|
+
*/
|
|
36
|
+
abstract getItemsFieldName(): string;
|
|
37
|
+
/**
|
|
38
|
+
* Retorna o nome da propriedade responsável por informar o número da página de registros que a API
|
|
39
|
+
* recebe como parâmetro.
|
|
40
|
+
*
|
|
41
|
+
* @returns {string} Nome da propriedade responsável por informar o número da página de registros.
|
|
42
|
+
*/
|
|
43
|
+
abstract getPageParamName(): string;
|
|
44
|
+
/**
|
|
45
|
+
* Retorna o nome da propriedade responsável pela quantidade de registros que serão exibidos por página
|
|
46
|
+
* que a API recebe como parâmetro.
|
|
47
|
+
*
|
|
48
|
+
* @returns {string} Nome da propriedade responsável pela quantidade de registros por página.
|
|
49
|
+
*/
|
|
50
|
+
abstract getPageSizeParamName(): string;
|
|
51
|
+
/**
|
|
52
|
+
* Retorna um valor `boolean`, responsável por informar se há uma nova página de registros disponível.
|
|
53
|
+
*
|
|
54
|
+
* @returns {boolean} Informa se existe próxima página de registros.
|
|
55
|
+
*/
|
|
56
|
+
abstract hasNext(): boolean;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* @docsPrivate
|
|
61
|
+
*
|
|
62
|
+
* Define as operações realizadas no sync.
|
|
63
|
+
*/
|
|
64
|
+
declare enum PoEventSourcingOperation {
|
|
65
|
+
Delete = "DELETE",
|
|
66
|
+
Http = "HTTP",
|
|
67
|
+
Insert = "INSERT",
|
|
68
|
+
Update = "UPDATE"
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* @docsPrivate
|
|
73
|
+
*
|
|
74
|
+
* @description
|
|
75
|
+
*
|
|
76
|
+
* Define as informações de um evento para um determinado registro.
|
|
77
|
+
*/
|
|
78
|
+
interface PoEventSourcingSummaryItem {
|
|
79
|
+
/** Identificador customizado do registro. */
|
|
80
|
+
customRequestId: string;
|
|
81
|
+
/** Especifica a operação que deverá ser realizada na API. */
|
|
82
|
+
operation: PoEventSourcingOperation;
|
|
83
|
+
/** Objeto *json* com os dados do registro. */
|
|
84
|
+
record: object;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* @docsPrivate
|
|
89
|
+
*
|
|
90
|
+
* @usedBy PoHttpClientService
|
|
91
|
+
*
|
|
92
|
+
* @description
|
|
93
|
+
*
|
|
94
|
+
* Define o cabeçalho da requisição HTTP.
|
|
95
|
+
*/
|
|
96
|
+
interface PoHttpHeaderOption {
|
|
97
|
+
/** Nome do cabeçalho. */
|
|
98
|
+
name: string;
|
|
99
|
+
/** Valor do cabeçalho. */
|
|
100
|
+
value: string;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* @usedBy PoHttpClientService, PoHttpCommandResponse, PoSyncService
|
|
105
|
+
*
|
|
106
|
+
* @description
|
|
107
|
+
*
|
|
108
|
+
* Define o método de requisição HTTP.
|
|
109
|
+
*/
|
|
110
|
+
declare enum PoHttpRequestType {
|
|
111
|
+
/** Método `delete` do protocolo HTTP. */
|
|
112
|
+
DELETE = "DELETE",
|
|
113
|
+
/** Método `get` do protocolo HTTP. */
|
|
114
|
+
GET = "GET",
|
|
115
|
+
/** Método `head` do protocolo HTTP. */
|
|
116
|
+
HEAD = "HEAD",
|
|
117
|
+
/** Método `options` do protocolo HTTP. */
|
|
118
|
+
OPTIONS = "OPTIONS",
|
|
119
|
+
/** Método `patch` do protocolo HTTP. */
|
|
120
|
+
PATCH = "PATCH",
|
|
121
|
+
/** Método `post` do protocolo HTTP. */
|
|
122
|
+
POST = "POST",
|
|
123
|
+
/** Método `put` do protocolo HTTP. */
|
|
124
|
+
PUT = "PUT"
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* @usedBy PoSyncService
|
|
129
|
+
*
|
|
130
|
+
* @description
|
|
131
|
+
*
|
|
132
|
+
* Interface para definição de uma requisição HTTP.
|
|
133
|
+
*/
|
|
134
|
+
interface PoHttpRequestData {
|
|
135
|
+
/** URL que será utilizada na requisição. */
|
|
136
|
+
url: string;
|
|
137
|
+
/** Cabeçalho da requisição. */
|
|
138
|
+
headers?: Array<PoHttpHeaderOption>;
|
|
139
|
+
/** Método HTTP que será utilizado. */
|
|
140
|
+
method: PoHttpRequestType;
|
|
141
|
+
/** Corpo da requisição. */
|
|
142
|
+
body?: any;
|
|
143
|
+
/** Nome da propriedade que conterá o arquivo enviado para o servidor */
|
|
144
|
+
formField?: string;
|
|
145
|
+
bodyType?: string;
|
|
146
|
+
mimeType?: string;
|
|
147
|
+
fileName?: string;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* @docsPrivate
|
|
152
|
+
*
|
|
153
|
+
* @description
|
|
154
|
+
*
|
|
155
|
+
* Serviço para execução de requisições HTTP.
|
|
156
|
+
*/
|
|
157
|
+
declare class PoHttpClientService {
|
|
158
|
+
private httpClient;
|
|
159
|
+
constructor(httpClient: HttpClient);
|
|
160
|
+
/**
|
|
161
|
+
* Constrói uma requisição HTTP personalizada.
|
|
162
|
+
*
|
|
163
|
+
* @param {PoHttpRequestData} poHttpOperationData Parâmetros para a construção
|
|
164
|
+
* da requisição.
|
|
165
|
+
*/
|
|
166
|
+
createRequest(poHttpOperationData: PoHttpRequestData): Observable<HttpResponse<object>>;
|
|
167
|
+
/**
|
|
168
|
+
* Constrói uma requisição com o método `delete`.
|
|
169
|
+
*
|
|
170
|
+
* @param {string} url URL da requisição.
|
|
171
|
+
* @param {Array<PoHeaderOption>} httpHeaders Cabeçalhos da requisição.
|
|
172
|
+
*/
|
|
173
|
+
delete(url: string, httpHeaders?: Array<PoHttpHeaderOption>): Observable<HttpResponse<object>>;
|
|
174
|
+
/**
|
|
175
|
+
* Constrói uma requisição com o método `get`.
|
|
176
|
+
*
|
|
177
|
+
* @param {string} url URL da requisição.
|
|
178
|
+
* @param {Array<PoHeaderOption>} httpHeaders Cabeçalhos da requisição.
|
|
179
|
+
*/
|
|
180
|
+
get(url: string, httpHeaders?: Array<PoHttpHeaderOption>): Observable<HttpResponse<object>>;
|
|
181
|
+
/**
|
|
182
|
+
* Constrói uma requisição com o método `head`.
|
|
183
|
+
*
|
|
184
|
+
* @param {string} url URL da requisição.
|
|
185
|
+
* @param {Array<PoHeaderOption>} httpHeaders Cabeçalhos da requisição.
|
|
186
|
+
*/
|
|
187
|
+
head(url: string, httpHeaders?: Array<PoHttpHeaderOption>): Observable<HttpResponse<object>>;
|
|
188
|
+
/**
|
|
189
|
+
* Constrói uma requisição com o método `options`.
|
|
190
|
+
*
|
|
191
|
+
* @param {string} url URL da requisição.
|
|
192
|
+
* @param {Array<PoHeaderOption>} httpHeaders Cabeçalhos da requisição.
|
|
193
|
+
*/
|
|
194
|
+
options(url: string, httpHeaders?: Array<PoHttpHeaderOption>): Observable<HttpResponse<object>>;
|
|
195
|
+
/**
|
|
196
|
+
* Constrói uma requisição com o método `patch`.
|
|
197
|
+
*
|
|
198
|
+
* @param {string} url URL da requisição.
|
|
199
|
+
* @param {any} body Corpo da requisição.
|
|
200
|
+
* @param {Array<PoHeaderOption>} httpHeaders Cabeçalhos da requisição.
|
|
201
|
+
*/
|
|
202
|
+
patch(url: string, body?: any, httpHeaders?: Array<PoHttpHeaderOption>): Observable<HttpResponse<object>>;
|
|
203
|
+
/**
|
|
204
|
+
* Constrói uma requisição com o método `post`.
|
|
205
|
+
*
|
|
206
|
+
* @param {string} url URL da requisição.
|
|
207
|
+
* @param {any} body Corpo da requisição.
|
|
208
|
+
* @param {Array<PoHeaderOption>} httpHeaders Cabeçalhos da requisição.
|
|
209
|
+
*/
|
|
210
|
+
post(url: string, body?: any, httpHeaders?: Array<PoHttpHeaderOption>): Observable<HttpResponse<object>>;
|
|
211
|
+
/**
|
|
212
|
+
* Constrói uma requisição com o método `put`.
|
|
213
|
+
*
|
|
214
|
+
* @param {string} url URL da requisição.
|
|
215
|
+
* @param {any} body Corpo da requisição.
|
|
216
|
+
* @param {Array<PoHeaderOption>} httpHeaders Cabeçalhos da requisição.
|
|
217
|
+
*/
|
|
218
|
+
put(url: string, body?: any, httpHeaders?: Array<PoHttpHeaderOption>): Observable<HttpResponse<object>>;
|
|
219
|
+
private createHttpHeaders;
|
|
220
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PoHttpClientService, never>;
|
|
221
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<PoHttpClientService>;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* @usedBy PoSyncService
|
|
226
|
+
*
|
|
227
|
+
* @description
|
|
228
|
+
*
|
|
229
|
+
* Interface que irá mapear as configurações dos campos do `PoSyncSchema`.
|
|
230
|
+
*/
|
|
231
|
+
interface PoSyncFieldOptions {
|
|
232
|
+
/** Propriedade que informa o nome do campo. */
|
|
233
|
+
readonly name: string;
|
|
234
|
+
/** Propriedade que informa se o campo será apenas para armazenamento local
|
|
235
|
+
* ou se deve ser enviado para o servidor.
|
|
236
|
+
*/
|
|
237
|
+
readonly local?: boolean;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
/**
|
|
241
|
+
* @usedBy PoSyncService
|
|
242
|
+
*
|
|
243
|
+
* @description
|
|
244
|
+
*
|
|
245
|
+
* Interface que irá mapear as informações dos recursos, principalmente sua origem e as informações que serão retornadas.
|
|
246
|
+
*/
|
|
247
|
+
interface PoSyncSchema {
|
|
248
|
+
/** Nome da propriedade que informa a data de criação do registro. */
|
|
249
|
+
readonly createdAtField?: string;
|
|
250
|
+
/** Nome da propriedade que informa a data de deleção. */
|
|
251
|
+
readonly deletedAtField?: string;
|
|
252
|
+
/** Nome da propriedade que informa se o registro foi excluído. */
|
|
253
|
+
readonly deletedField: string;
|
|
254
|
+
/** Endereço do endpoint para excluir registros. */
|
|
255
|
+
readonly deleteUrlApi?: string;
|
|
256
|
+
/** Endereço do endpoint que proverá apenas dados alterados no servidor. */
|
|
257
|
+
readonly diffUrlApi: string;
|
|
258
|
+
/** Campos que serão retornados pela API. */
|
|
259
|
+
readonly fields: Array<string | PoSyncFieldOptions>;
|
|
260
|
+
/** Endereço do endpoint que utiliza o método GET que proverá os dados. */
|
|
261
|
+
readonly getUrlApi: string;
|
|
262
|
+
/** Nome da propriedade referente ao identificador único para os itens do *schema*. */
|
|
263
|
+
readonly idField: string;
|
|
264
|
+
/** Identifição para representar o *schema*. */
|
|
265
|
+
readonly name: string;
|
|
266
|
+
/** Quantidade de itens por página que será enviado pela API. */
|
|
267
|
+
readonly pageSize: number;
|
|
268
|
+
/** Endereço do endpoint que utiliza o método PUT para atualizar registros. */
|
|
269
|
+
readonly patchUrlApi?: string;
|
|
270
|
+
/** Endereço do endpoint que utiliza o método POST para incluir os registros. */
|
|
271
|
+
readonly postUrlApi?: string;
|
|
272
|
+
/** Nome da propriedade que informa a data de atualização do registro. */
|
|
273
|
+
readonly updatedAtField?: string;
|
|
274
|
+
lastSync?: string;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
/**
|
|
278
|
+
* @docsPrivate
|
|
279
|
+
*
|
|
280
|
+
* @description
|
|
281
|
+
*
|
|
282
|
+
* Serviço que disponibiliza métodos que permite operar sobre as definições dos *schemas*.
|
|
283
|
+
*/
|
|
284
|
+
declare class PoSchemaDefinitionService {
|
|
285
|
+
private poStorage;
|
|
286
|
+
constructor(poStorage: PoStorageService);
|
|
287
|
+
/**
|
|
288
|
+
* Destrói a chave do *storage* que contém as definições dos *schemas*.
|
|
289
|
+
*
|
|
290
|
+
* > Para que não venham ocorrer erros em ações que dependam das definições dos *schemas*,
|
|
291
|
+
* recomenda-se utilizar o método `prepare()` em seguida.
|
|
292
|
+
*
|
|
293
|
+
* @returns {Promise<void>} Promessa que é resolvida quando a chave referente as definições dos *schemas* for destruída.
|
|
294
|
+
*/
|
|
295
|
+
destroy(): Promise<void>;
|
|
296
|
+
/**
|
|
297
|
+
* Busca um *schema* a partir do nome informado.
|
|
298
|
+
*
|
|
299
|
+
* @param {string} schemaName Nome do *schema*.
|
|
300
|
+
* @returns {Promise<PoSyncSchema>} Promessa que é resolvida quando o *schema* for retornado.
|
|
301
|
+
*/
|
|
302
|
+
get(schemaName: string): Promise<PoSyncSchema>;
|
|
303
|
+
/**
|
|
304
|
+
* Retorna uma promessa com a lista dos *schemas* definidos.
|
|
305
|
+
*
|
|
306
|
+
* @returns {Promise<Array<PoSyncSchema>>} Promessa que é resolvida quando a lista dos *schemas* definidos for retornada.
|
|
307
|
+
*/
|
|
308
|
+
getAll(): Promise<Array<PoSyncSchema>>;
|
|
309
|
+
/**
|
|
310
|
+
* Salva uma lista de *schemas*.
|
|
311
|
+
*
|
|
312
|
+
* @param {Array<PoSyncSchema>} schemas Lista de schemas que serão salvos.
|
|
313
|
+
* @returns {Promise<Array<PoSyncSchema>>} Promessa que é resolvida quando a lista de *schemas* for salva.
|
|
314
|
+
*/
|
|
315
|
+
saveAll(schemas: Array<PoSyncSchema>): Promise<Array<PoSyncSchema>>;
|
|
316
|
+
/**
|
|
317
|
+
* Atualiza um *schema* a partir do *schema name*.
|
|
318
|
+
*
|
|
319
|
+
* @param {PoSyncSchema} updatedSchema **Schema* que será atualizado.
|
|
320
|
+
*/
|
|
321
|
+
update(updatedSchema: PoSyncSchema): Promise<PoSyncSchema[]>;
|
|
322
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PoSchemaDefinitionService, never>;
|
|
323
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<PoSchemaDefinitionService>;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
/**
|
|
327
|
+
* @docsPrivate
|
|
328
|
+
*
|
|
329
|
+
* @description
|
|
330
|
+
*
|
|
331
|
+
* Serviço que realiza as operações nos `schemas`.
|
|
332
|
+
*/
|
|
333
|
+
declare class PoSchemaService {
|
|
334
|
+
private poSchemaDefinitionService;
|
|
335
|
+
private poStorage;
|
|
336
|
+
constructor(poSchemaDefinitionService: PoSchemaDefinitionService, poStorage: PoStorageService);
|
|
337
|
+
/**
|
|
338
|
+
* Retorna o id a partir de uma chave de um *schema*.
|
|
339
|
+
*
|
|
340
|
+
* @param {string} schemaKey Chave do *schema* em que será realizada a busca do id.
|
|
341
|
+
*/
|
|
342
|
+
private static getIdByRecordKey;
|
|
343
|
+
/**
|
|
344
|
+
* Retorna a chave do *schema* informado.
|
|
345
|
+
*
|
|
346
|
+
* @param {string} schemaName Nome do *schema*.
|
|
347
|
+
* @param {any} recordId Id do registro.
|
|
348
|
+
* @param {boolean} isLocalKey Indica se é uma chave local.
|
|
349
|
+
*/
|
|
350
|
+
private static getRecordKey;
|
|
351
|
+
/**
|
|
352
|
+
* Verifica se o dado informado é uma chave de um *schema*.
|
|
353
|
+
*
|
|
354
|
+
* @param {string} data Dado que será verificado se é uma chave de um *schema*.
|
|
355
|
+
* @param {string} schemaName Nome do *schema*.
|
|
356
|
+
*/
|
|
357
|
+
private static isSchemaKey;
|
|
358
|
+
/**
|
|
359
|
+
* Cria um novo registro para o *schema* informado.
|
|
360
|
+
*
|
|
361
|
+
* @param {PoSyncSchema} schema **Schema* em que será criado o registro.
|
|
362
|
+
* @param {object} newRecord Registro que será criado.
|
|
363
|
+
*/
|
|
364
|
+
create(schema: PoSyncSchema, newRecord: object): Promise<object>;
|
|
365
|
+
/**
|
|
366
|
+
* Destrói as chaves do *storage* que contém os registros dos *schemas*.
|
|
367
|
+
*
|
|
368
|
+
* @returns {Promise<void>} Promessa que é resolvida quando as chaves referentes aos *schemas* forem destruídas.
|
|
369
|
+
*/
|
|
370
|
+
destroySchemasRecords(): Promise<void>;
|
|
371
|
+
/**
|
|
372
|
+
* Retorna o registro referente ao *schema* informado.
|
|
373
|
+
*
|
|
374
|
+
* @param {string} schemaName Nome do *schema*.
|
|
375
|
+
* @param {any} recordId Id do registro.
|
|
376
|
+
*/
|
|
377
|
+
get(schemaName: string, recordId: any): Promise<object>;
|
|
378
|
+
/**
|
|
379
|
+
* Retorna todos os registros referente ao *schema* informado.
|
|
380
|
+
*
|
|
381
|
+
* @param {string} schemaName Nome do *schema*.
|
|
382
|
+
*/
|
|
383
|
+
getAll(schemaName: string): Promise<Array<object>>;
|
|
384
|
+
/**
|
|
385
|
+
* Aguarda a liberação do recurso limitado, posteriormente o envolve em um comportamento
|
|
386
|
+
* de bloqueio e desbloqueio.
|
|
387
|
+
*
|
|
388
|
+
* @param {Function} limitedResource Função que será envolvida no comportamento de bloqueio e desbloqueio.
|
|
389
|
+
*/
|
|
390
|
+
limitedCallWrap(limitedResource: Function): Promise<any>;
|
|
391
|
+
/**
|
|
392
|
+
* Remove um registro de um *schema* informado.
|
|
393
|
+
*
|
|
394
|
+
* @param {string} schemaName Nome do *schema*.
|
|
395
|
+
* @param {any} recordId Id do registro.
|
|
396
|
+
*/
|
|
397
|
+
remove(schemaName: string, recordId: any): Promise<any>;
|
|
398
|
+
/**
|
|
399
|
+
* Atualiza um registro de um *schema* informado.
|
|
400
|
+
*
|
|
401
|
+
* @param {PoSyncSchema} schema **Schema* referente ao registro que será alterado.
|
|
402
|
+
* @param {object} record Registro que será atualizado.
|
|
403
|
+
* @param {any} recordId Id do registro que deseja ser alterado. Deve ser utilizado em casos em que o id foi alterado.
|
|
404
|
+
*/
|
|
405
|
+
update(schema: PoSyncSchema, record: object, recordId?: any): Promise<object>;
|
|
406
|
+
/**
|
|
407
|
+
* Atualiza todos os registros de um *schema*.
|
|
408
|
+
*
|
|
409
|
+
* @param {PoSyncSchema} schema **Schema* referente aos registros que serão alterados.
|
|
410
|
+
* @param {Array<object>} records Lista de registros que serão alterados.
|
|
411
|
+
*/
|
|
412
|
+
updateAll(schema: PoSyncSchema, records: Array<object>): Promise<void>;
|
|
413
|
+
private getRecord;
|
|
414
|
+
private save;
|
|
415
|
+
private saveLocalFields;
|
|
416
|
+
private updateRecordId;
|
|
417
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PoSchemaService, never>;
|
|
418
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<PoSchemaService>;
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
/**
|
|
422
|
+
* @usedBy PoSyncConfig, PoNetworkStatus
|
|
423
|
+
*
|
|
424
|
+
* @description
|
|
425
|
+
*
|
|
426
|
+
* Tipos de rede existentes no dispositivo.
|
|
427
|
+
*/
|
|
428
|
+
declare enum PoNetworkType {
|
|
429
|
+
/** Define o tipo de rede como desconhecido (`unknown`). */
|
|
430
|
+
unknown = 0,
|
|
431
|
+
/** Define o tipo de rede como `Ethernet`. */
|
|
432
|
+
ethernet = 1,
|
|
433
|
+
/** Define o tipo de rede como `WiFi`. */
|
|
434
|
+
wifi = 2,
|
|
435
|
+
/** Define o tipo de rede como `2G`. */
|
|
436
|
+
_2g = 3,
|
|
437
|
+
/** Define o tipo de rede como `3G`. */
|
|
438
|
+
_3g = 4,
|
|
439
|
+
/** Define o tipo de rede como `4G`. */
|
|
440
|
+
_4g = 5,
|
|
441
|
+
/**
|
|
442
|
+
* Define o tipo de rede como `cellular`. Isso acontece na utilização dos navegadores
|
|
443
|
+
* dentro do dispositvo móvel, com exceção do *web view*.
|
|
444
|
+
*/
|
|
445
|
+
cellular = 6,
|
|
446
|
+
/** Define o tipo de rede como `none`. */
|
|
447
|
+
none = 7
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
/**
|
|
451
|
+
* @usedBy PoSyncService
|
|
452
|
+
*
|
|
453
|
+
* @description
|
|
454
|
+
*
|
|
455
|
+
* Interface para a definição das configurações do sincronismo.
|
|
456
|
+
*/
|
|
457
|
+
interface PoSyncConfig {
|
|
458
|
+
/**
|
|
459
|
+
* Classe usada para a trasformação dos dados nas requisições.
|
|
460
|
+
*
|
|
461
|
+
* > Veja mais detalhes em [Fundamentos do PO Sync - Adaptando a resposta da API para o padrão do PO UI](/guides/sync-fundamentals).
|
|
462
|
+
*/
|
|
463
|
+
dataTransform?: PoDataTransform;
|
|
464
|
+
/**
|
|
465
|
+
* Tempo em segundos do sicronismo periódico.
|
|
466
|
+
* Caso não seja definido, o sincronismo periódico estará desabilitado.
|
|
467
|
+
*/
|
|
468
|
+
period?: number;
|
|
469
|
+
/** Tipos de conexões permitidas para o sincronismo. */
|
|
470
|
+
type: PoNetworkType | Array<PoNetworkType>;
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
/**
|
|
474
|
+
* @description
|
|
475
|
+
*
|
|
476
|
+
* Classe que define a resposta de erro para um item da fila de eventos que não foi enviado ao servidor por
|
|
477
|
+
* alguma inconsistência.
|
|
478
|
+
*
|
|
479
|
+
* > Pode ser utilizada em casos onde um item da fila é enviado ao servidor com inconsistência nos dados, por exemplo
|
|
480
|
+
* uma operação de *delete* ou *update* sem o `id` do objeto.
|
|
481
|
+
*/
|
|
482
|
+
declare class PoEventSourcingErrorResponse {
|
|
483
|
+
/** Mensagem de erro. */
|
|
484
|
+
message: string;
|
|
485
|
+
/** Operação que havia sido requisitada. */
|
|
486
|
+
operation: PoEventSourcingOperation;
|
|
487
|
+
constructor({ message, operation }: {
|
|
488
|
+
message: any;
|
|
489
|
+
operation: any;
|
|
490
|
+
});
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
/**
|
|
494
|
+
* @usedBy PoSyncService
|
|
495
|
+
*
|
|
496
|
+
* @description
|
|
497
|
+
*
|
|
498
|
+
* Define a resposta dos eventos enviados ao servidor.
|
|
499
|
+
*/
|
|
500
|
+
interface PoSyncResponse {
|
|
501
|
+
/** Identificador do evento na fila. */
|
|
502
|
+
id: number;
|
|
503
|
+
/** Identificador customizado do registro. */
|
|
504
|
+
customRequestId?: string;
|
|
505
|
+
/** Dados da requisição. */
|
|
506
|
+
request: PoHttpRequestData;
|
|
507
|
+
/** Resposta retornada após a tentativa de envio para o servidor. */
|
|
508
|
+
response: HttpResponse<object> | HttpErrorResponse | PoEventSourcingErrorResponse;
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
declare class PoEventSourcingService {
|
|
512
|
+
private poSchemaDefinition;
|
|
513
|
+
private poSchemaService;
|
|
514
|
+
private poStorage;
|
|
515
|
+
private poHttpClient;
|
|
516
|
+
static readonly event_sourcing_name: string;
|
|
517
|
+
private static readonly VALID_HTTP_STATUS_CODES;
|
|
518
|
+
config: PoSyncConfig;
|
|
519
|
+
stoppedQueueEventSourcing: boolean;
|
|
520
|
+
private emitter;
|
|
521
|
+
private eventSub;
|
|
522
|
+
private responseSubject;
|
|
523
|
+
private schemasSyncConfig;
|
|
524
|
+
constructor(poSchemaDefinition: PoSchemaDefinitionService, poSchemaService: PoSchemaService, poStorage: PoStorageService, poHttpClient: PoHttpClientService);
|
|
525
|
+
private static getUrl;
|
|
526
|
+
create(schemaName: string, newItem: any, customRequestId?: string): Promise<any>;
|
|
527
|
+
createBatchEvents(schemaName: string, eventList: Array<PoEventSourcingSummaryItem>): Promise<void>;
|
|
528
|
+
/**
|
|
529
|
+
* Destrói a chave do *storage* que contém a fila de dados que estão esperando para serem enviados ao
|
|
530
|
+
* servidor *(EventSourcing)*.
|
|
531
|
+
*
|
|
532
|
+
* @returns {Promise<void>} Promessa que é resolvida quando a chave referente a fila de *EventSourcing* for destruída.
|
|
533
|
+
*/
|
|
534
|
+
destroyEventSourcingQueue(): Promise<void>;
|
|
535
|
+
httpCommand(httpOperationData: PoHttpRequestData, customRequestId?: string): Promise<number>;
|
|
536
|
+
responsesSubject(): Observable<PoSyncResponse>;
|
|
537
|
+
onSaveData(): Observable<null>;
|
|
538
|
+
remove(schemaName: string, itemToDelete: any, customRequestId?: string): Promise<any>;
|
|
539
|
+
removeEventSourcingItem(idEventSourcingItem: any): Promise<any>;
|
|
540
|
+
syncGet(): Promise<any>;
|
|
541
|
+
syncSend(): Promise<any>;
|
|
542
|
+
update(schemaName: string, itemUpdated: any, customRequestId?: string): Promise<any>;
|
|
543
|
+
private serializeBody;
|
|
544
|
+
private buildUrlParams;
|
|
545
|
+
private checkRecordIdExists;
|
|
546
|
+
private concatPageItems;
|
|
547
|
+
private createEventSourcingItem;
|
|
548
|
+
private createEventSourcingList;
|
|
549
|
+
private createSchemaSyncConfig;
|
|
550
|
+
private deleteOperation;
|
|
551
|
+
private diffServerItems;
|
|
552
|
+
private getBodyAndDate;
|
|
553
|
+
private getServerDiffRecords;
|
|
554
|
+
private httpOperation;
|
|
555
|
+
private insertEventSourcingQueue;
|
|
556
|
+
private insertOperation;
|
|
557
|
+
private isValidStatus;
|
|
558
|
+
private notifyEventCreation;
|
|
559
|
+
private paginateSchemaData;
|
|
560
|
+
private removeEventSourcingValidItem;
|
|
561
|
+
private selectOperation;
|
|
562
|
+
private sendResponseSubject;
|
|
563
|
+
private sendServerItem;
|
|
564
|
+
private createPoHttpRequestData;
|
|
565
|
+
private createFormData;
|
|
566
|
+
private updateOperation;
|
|
567
|
+
private updatePendingEventSourcing;
|
|
568
|
+
private updateRecords;
|
|
569
|
+
private updateRecordByServerRecord;
|
|
570
|
+
private updateStorageBySchema;
|
|
571
|
+
private updateStorageSchemas;
|
|
572
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PoEventSourcingService, never>;
|
|
573
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<PoEventSourcingService>;
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
/**
|
|
577
|
+
* @usedBy PoQueryBuilder
|
|
578
|
+
*
|
|
579
|
+
* @description
|
|
580
|
+
*
|
|
581
|
+
* Interface que representa a estrutura de resposta de uma coleção de itens.
|
|
582
|
+
*
|
|
583
|
+
*/
|
|
584
|
+
interface PoResponseApi {
|
|
585
|
+
/** Lista de itens retornados. */
|
|
586
|
+
items: Array<object>;
|
|
587
|
+
/** Indica se existe uma próxima página com mais registros para aquela coleção de itens. */
|
|
588
|
+
hasNext: boolean;
|
|
589
|
+
}
|
|
590
|
+
|
|
591
|
+
/**
|
|
592
|
+
* @description
|
|
593
|
+
*
|
|
594
|
+
* Classe utilitária para construir consultas sobre os registros de um *schema*.
|
|
595
|
+
*
|
|
596
|
+
* A utilização dos métodos desta classe é feita a partir do retorno do método `PoEntity.find()`. Por exemplo,
|
|
597
|
+
* para utilizar o método `PoQueryBuilder.page()`, é necessário:
|
|
598
|
+
*
|
|
599
|
+
* ``` typescript
|
|
600
|
+
* PoSyncService.getModel('schema name').find().page(2).exec();
|
|
601
|
+
* ```
|
|
602
|
+
*
|
|
603
|
+
* O `PoQueryBuilder` foi projetado para que os seus métodos sejam
|
|
604
|
+
* chamados em cascata e ao final desse encadeamento invocar o método
|
|
605
|
+
* `PoQueryBuilder.exec()` para que a busca seja concluída. Por exemplo:
|
|
606
|
+
*
|
|
607
|
+
* ``` typescript
|
|
608
|
+
* PoSyncService
|
|
609
|
+
* .getModel('schema name')
|
|
610
|
+
* .find()
|
|
611
|
+
* .page(2)
|
|
612
|
+
* .pageSize(5)
|
|
613
|
+
* .sort()
|
|
614
|
+
* .exec();
|
|
615
|
+
* ```
|
|
616
|
+
*/
|
|
617
|
+
declare class PoQueryBuilder {
|
|
618
|
+
private poSchemaService;
|
|
619
|
+
private schema;
|
|
620
|
+
private fields;
|
|
621
|
+
private filters;
|
|
622
|
+
private _limit;
|
|
623
|
+
private _page;
|
|
624
|
+
private _pageSize;
|
|
625
|
+
private _sort;
|
|
626
|
+
constructor(poSchemaService: PoSchemaService, schema: PoSyncSchema);
|
|
627
|
+
/**
|
|
628
|
+
* Ao final da chamada dos métodos do `PoQueryBuilder` utilizados, este método deve ser chamado para que a busca seja concluída.
|
|
629
|
+
*
|
|
630
|
+
* @return {Promise<PoResponseApi | object>} Registros do *schema* na qual foi aplicado a consulta.
|
|
631
|
+
*/
|
|
632
|
+
exec(): Promise<PoResponseApi | object>;
|
|
633
|
+
/**
|
|
634
|
+
* Aplica filtros sobre os registros, baseados nos campos e valores definidos como filtro. Por exemplo:
|
|
635
|
+
*
|
|
636
|
+
* ```
|
|
637
|
+
* PoQueryBuilder.filter({ name: 'Marie', age: 24 });
|
|
638
|
+
* ```
|
|
639
|
+
* Retorna todos os registros que contenham a propriedade `name` igual a Marie e `age` igual a 24.
|
|
640
|
+
*
|
|
641
|
+
* @param {object} filter Objeto que contém os campos e valores a serem filtrados no *schema*.
|
|
642
|
+
*
|
|
643
|
+
* @returns {PoQueryBuilder} Objeto que possibilita encadear um novo método do `PoQueryBuilder`.
|
|
644
|
+
*/
|
|
645
|
+
filter(filter?: object): PoQueryBuilder;
|
|
646
|
+
/**
|
|
647
|
+
* Limita o número de registros que serão retornados.
|
|
648
|
+
*
|
|
649
|
+
* @param {number} limit Número de registros retornados.
|
|
650
|
+
* @returns {PoQueryBuilder} Objeto que possibilita encadear um novo método do `PoQueryBuilder`.
|
|
651
|
+
*/
|
|
652
|
+
limit(limit: number): PoQueryBuilder;
|
|
653
|
+
/**
|
|
654
|
+
* Especifica a página de registros que se deseja retornar.
|
|
655
|
+
*
|
|
656
|
+
* @param {number} page Número da página.
|
|
657
|
+
* @returns {PoQueryBuilder} Objeto que possibilita encadear um novo método do `PoQueryBuilder`.
|
|
658
|
+
*/
|
|
659
|
+
page(page: number): PoQueryBuilder;
|
|
660
|
+
/**
|
|
661
|
+
* Define quantos elementos serão retornados por página.
|
|
662
|
+
*
|
|
663
|
+
* @param {number} pageSize Número de registros por página.
|
|
664
|
+
* @returns {PoQueryBuilder} Objeto que possibilita encadear um novo método do `PoQueryBuilder`.
|
|
665
|
+
*/
|
|
666
|
+
pageSize(pageSize: number): PoQueryBuilder;
|
|
667
|
+
/**
|
|
668
|
+
* Utilizado para definir quais campos do *schema* serão retornados na consulta.
|
|
669
|
+
*
|
|
670
|
+
* @param {string} fields Campos que serão retornados nos registros. Este campos devem estar dentro de
|
|
671
|
+
* uma *string* separados por espaço podendo usar o caractere `-` para excluir campos.
|
|
672
|
+
* Por exemplo, a definição abaixo:
|
|
673
|
+
*
|
|
674
|
+
* ```
|
|
675
|
+
* PoQueryBuilder.select('name age address');
|
|
676
|
+
* ```
|
|
677
|
+
* Irá retornar apenas os campos `name`, `age` e `address`. Para não retornar um campo ou mais basta fazer:
|
|
678
|
+
*
|
|
679
|
+
* ```
|
|
680
|
+
* PoQueryBuilder.select('-name -age');
|
|
681
|
+
* ```
|
|
682
|
+
*
|
|
683
|
+
* @returns {PoQueryBuilder} Objeto que possibilita encadear um novo método do `PoQueryBuilder`.
|
|
684
|
+
*/
|
|
685
|
+
select(fields: string): PoQueryBuilder;
|
|
686
|
+
/**
|
|
687
|
+
* Ordena os registros por um campo.
|
|
688
|
+
*
|
|
689
|
+
* @param {string} field Campo a ser ordenado. Para ordenar de forma decrescente basta colocar o caractere `-`
|
|
690
|
+
* na frente do campo. Por exemplo:
|
|
691
|
+
* ```
|
|
692
|
+
* PoQueryBuilder.sort('-name');
|
|
693
|
+
* ```
|
|
694
|
+
*
|
|
695
|
+
* @returns {PoQueryBuilder} Objeto que possibilita encadear um novo método do `PoQueryBuilder`.
|
|
696
|
+
*/
|
|
697
|
+
sort(field: string): PoQueryBuilder;
|
|
698
|
+
/**
|
|
699
|
+
* Essa função serve como alias para o `PoQueryBuilder.filter()`. É utilizada somente para dar maior legibilidade ao código.
|
|
700
|
+
*
|
|
701
|
+
* @param {object} filter Objeto que contém os campos e valores a serem filtrados no *schema*.
|
|
702
|
+
* @returns {PoQueryBuilder} Objeto que possibilita encadear um novo método do `PoQueryBuilder`.
|
|
703
|
+
*/
|
|
704
|
+
where(filter: object): PoQueryBuilder;
|
|
705
|
+
private applyFields;
|
|
706
|
+
private applyFilters;
|
|
707
|
+
private groupFields;
|
|
708
|
+
private paginate;
|
|
709
|
+
private order;
|
|
710
|
+
private removeDuplicate;
|
|
711
|
+
private removeFieldsData;
|
|
712
|
+
private removeRestrictedFields;
|
|
713
|
+
}
|
|
714
|
+
|
|
715
|
+
/**
|
|
716
|
+
* @description
|
|
717
|
+
*
|
|
718
|
+
* Uma instância `PoEntity` representa um *schema* e ela contém métodos que possibilitam manipular seus registros,
|
|
719
|
+
* como por exemplo: buscar, criar e remover.
|
|
720
|
+
*
|
|
721
|
+
* Esta instância pode ser obtida a partir do retorno do método `PoSyncService.getModel('schema name')`.
|
|
722
|
+
*/
|
|
723
|
+
declare class PoEntity {
|
|
724
|
+
private eventSourcing;
|
|
725
|
+
private schema;
|
|
726
|
+
private poSchemaService;
|
|
727
|
+
constructor(eventSourcing: PoEventSourcingService, schema: PoSyncSchema, poSchemaService: PoSchemaService);
|
|
728
|
+
/**
|
|
729
|
+
* Busca os registros do *schema*, podendo filtrar o resultado a partir do filtro passado e retornando apenas
|
|
730
|
+
* os campos definidos.
|
|
731
|
+
*
|
|
732
|
+
* Para que esta busca seja concluída é necessário utilizar o método `PoQueryBuilder.exec()`.
|
|
733
|
+
* Veja mais em: [PoQueryBuilder](/documentation/po-query-builder).
|
|
734
|
+
*
|
|
735
|
+
* @param {object} filter Objeto que contém os campos e valores a serem filtrados no *schema*.
|
|
736
|
+
* @param {string} fields Campos que serão retornados nos registros. Este campos devem estar dentro de
|
|
737
|
+
* uma *string* separados por espaço podendo usar o caractere `-` para excluir campos.
|
|
738
|
+
* Por exemplo, a definição abaixo:
|
|
739
|
+
*
|
|
740
|
+
* ```
|
|
741
|
+
* PoQueryBuilder.select('name age address');
|
|
742
|
+
* ```
|
|
743
|
+
* Irá retornar apenas os campos `name`, `age` e `address`. E para não mostrar um campo ou mais basta fazer:
|
|
744
|
+
*
|
|
745
|
+
* ```
|
|
746
|
+
* PoQueryBuilder.select('-name -age');
|
|
747
|
+
* ```
|
|
748
|
+
* @returns {PoQueryBuilder} Objeto que possibilita encadear um método do `PoQueryBuilder`.
|
|
749
|
+
*/
|
|
750
|
+
find(filter?: object, fields?: string): PoQueryBuilder;
|
|
751
|
+
/**
|
|
752
|
+
* Busca um registro pelo seu *id*.
|
|
753
|
+
*
|
|
754
|
+
* Para que esta busca seja concluída é necessário utilizar o método `PoQueryBuilder.exec()`.
|
|
755
|
+
* Veja mais em: [PoQueryBuilder](/documentation/po-query-builder).
|
|
756
|
+
*
|
|
757
|
+
* @param {any} id Identificador do registro.
|
|
758
|
+
* @param {string} fields Campos que serão retornados nos registros. Este campos devem estar dentro de
|
|
759
|
+
* uma *string* separados por espaço podendo usar o caractere `-` para excluir campos.
|
|
760
|
+
* Por exemplo, a definição abaixo:
|
|
761
|
+
*
|
|
762
|
+
* ```
|
|
763
|
+
* PoQueryBuilder.select('name age address');
|
|
764
|
+
* ```
|
|
765
|
+
* Irá retornar apenas os campos `name`, `age` e `address`. E para não mostrar um campo ou mais basta fazer:
|
|
766
|
+
*
|
|
767
|
+
* ```
|
|
768
|
+
* PoQueryBuilder.select('-name -age');
|
|
769
|
+
* ```
|
|
770
|
+
* @returns {PoQueryBuilder} Objeto que possibilita encadear um método do `PoQueryBuilder`.
|
|
771
|
+
*/
|
|
772
|
+
findById(id: any, fields?: string): PoQueryBuilder;
|
|
773
|
+
/**
|
|
774
|
+
* Semelhante ao método `PoEntity.find()`, porém retorna apenas o primeiro registro encontrado na busca.
|
|
775
|
+
*
|
|
776
|
+
* Para que esta busca seja concluída é necessário utilizar o método `PoQueryBuilder.exec()`.
|
|
777
|
+
* Veja mais em: [PoQueryBuilder](/documentation/po-query-builder).
|
|
778
|
+
*
|
|
779
|
+
* @param {any} filter Objeto que contém os campos e valores a serem filtrados no *schema*.
|
|
780
|
+
* @param {string} fields Campos que serão retornados nos registros. Este campos devem estar dentro de
|
|
781
|
+
* uma *string* separados por espaço podendo usar o caractere `-` para excluir campos.
|
|
782
|
+
* Por exemplo, a definição abaixo:
|
|
783
|
+
*
|
|
784
|
+
* ```
|
|
785
|
+
* PoQueryBuilder.select('name age address');
|
|
786
|
+
* ```
|
|
787
|
+
* Irá retornar apenas os campos `name`, `age` e `address`. E para não mostrar um campo ou mais basta fazer:
|
|
788
|
+
*
|
|
789
|
+
* ```
|
|
790
|
+
* PoQueryBuilder.select('-name -age');
|
|
791
|
+
* ```
|
|
792
|
+
* @returns {PoQueryBuilder} Objeto que possibilita encadear um método do `PoQueryBuilder`.
|
|
793
|
+
*/
|
|
794
|
+
findOne(filter?: any, fields?: string): PoQueryBuilder;
|
|
795
|
+
/**
|
|
796
|
+
* Remove um registro.
|
|
797
|
+
*
|
|
798
|
+
* @param {object} record Registro que será removido.
|
|
799
|
+
* @param {string} customRequestId Identificador customizado do comando.
|
|
800
|
+
* @returns {Promise} Promessa que é concluída após o registro ser removido.
|
|
801
|
+
*/
|
|
802
|
+
remove(record: object, customRequestId?: string): Promise<any>;
|
|
803
|
+
/**
|
|
804
|
+
* Altera ou inclui um registro.
|
|
805
|
+
*
|
|
806
|
+
* > O registro será alterado se ele possuir um *id*, caso contrário um novo registro será criado.
|
|
807
|
+
*
|
|
808
|
+
* @param {object} record Registro que será persistido.
|
|
809
|
+
* @param {string} customRequestId Identificador customizado do comando.
|
|
810
|
+
* @returns {Promise} Promessa que é concluída após o registro ser alterado ou incluído.
|
|
811
|
+
*/
|
|
812
|
+
save(record: object, customRequestId?: string): Promise<any>;
|
|
813
|
+
/**
|
|
814
|
+
* Salva uma lista de registros em lote.
|
|
815
|
+
*
|
|
816
|
+
* > Para cada registro da lista, será inserido um novo registro se o mesmo não tiver *id*, caso contrário
|
|
817
|
+
* será contado como uma atualização de um registro existente.
|
|
818
|
+
*
|
|
819
|
+
* @param {Array<object>} records Lista de registros que serão persistidos.
|
|
820
|
+
* @param {Array<string> | string} customRequestIds Identificador customizado do comando.
|
|
821
|
+
*
|
|
822
|
+
* Ao passar uma lista de identificadores, cada índice da lista de identificadores deverá
|
|
823
|
+
* corresponder ao índice do registro na lista de registros.
|
|
824
|
+
* @returns {Promise<any>} Promessa que é concluída após os registros serem alterados ou incluídos.
|
|
825
|
+
*/
|
|
826
|
+
saveAll(records: Array<object>, customRequestIds?: Array<string> | string): Promise<any>;
|
|
827
|
+
private create;
|
|
828
|
+
private createEventOperation;
|
|
829
|
+
private isNonLocalRecordChanged;
|
|
830
|
+
private selectSaveType;
|
|
831
|
+
private update;
|
|
832
|
+
}
|
|
833
|
+
|
|
834
|
+
/**
|
|
835
|
+
* @description
|
|
836
|
+
*
|
|
837
|
+
* Classe responsável por identificar a conexão de rede disponível no dispositivo.
|
|
838
|
+
*/
|
|
839
|
+
declare class PoNetworkStatus {
|
|
840
|
+
private _type;
|
|
841
|
+
constructor(networtkType: any);
|
|
842
|
+
/**
|
|
843
|
+
* Retorna se o dispositivo está conectado na rede.
|
|
844
|
+
*
|
|
845
|
+
* @returns {boolean} Status da conexão com a rede.
|
|
846
|
+
*/
|
|
847
|
+
get status(): boolean;
|
|
848
|
+
/**
|
|
849
|
+
* Retorna o tipo de conexão do dispositivo.
|
|
850
|
+
*
|
|
851
|
+
* @returns {PoNetworkType} Tipo da conexão com a rede.
|
|
852
|
+
*/
|
|
853
|
+
get type(): PoNetworkType;
|
|
854
|
+
set type(type: PoNetworkType);
|
|
855
|
+
private setDefaultTypeNavigation;
|
|
856
|
+
private setNetworkConnection;
|
|
857
|
+
}
|
|
858
|
+
|
|
859
|
+
/**
|
|
860
|
+
* @description
|
|
861
|
+
*
|
|
862
|
+
* O `PoNetworkService` é utilizado para verificar o status e o tipo da conexão de rede do dispositivo.
|
|
863
|
+
*/
|
|
864
|
+
declare class PoNetworkService {
|
|
865
|
+
private networkType;
|
|
866
|
+
private networkTypeNow;
|
|
867
|
+
private poNetworkStatus;
|
|
868
|
+
constructor();
|
|
869
|
+
/**
|
|
870
|
+
* Retorna as propriedades tipo e status da conexão do dispositivo no momento da chamada.
|
|
871
|
+
*
|
|
872
|
+
* @returns {PoNetworkStatus} Instância de [PoNetworkStatus](/documentation/po-network-status) com as
|
|
873
|
+
* propriedades da conexão.
|
|
874
|
+
*/
|
|
875
|
+
getConnectionStatus(): PoNetworkStatus;
|
|
876
|
+
/**
|
|
877
|
+
* Notifica as mudanças no tipo de conexão de rede do dispositivo.
|
|
878
|
+
*
|
|
879
|
+
* @returns {Observable<{ status: boolean, type: string }>} Observable com as propriedades da conexão.
|
|
880
|
+
*/
|
|
881
|
+
onChange(): Observable<{
|
|
882
|
+
status: boolean;
|
|
883
|
+
type: string;
|
|
884
|
+
}>;
|
|
885
|
+
private initNetwork;
|
|
886
|
+
private getStatus;
|
|
887
|
+
private initSubscriber;
|
|
888
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PoNetworkService, never>;
|
|
889
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<PoNetworkService>;
|
|
890
|
+
}
|
|
891
|
+
|
|
892
|
+
/**
|
|
893
|
+
* @description
|
|
894
|
+
*
|
|
895
|
+
* O `PoSyncService` é utilizado para configurar toda a base de dados que receberá as informações que serão
|
|
896
|
+
* armazenadas *offline* vindas do servidor. Nele ocorre toda a preparação dos modelos de dados retornados por
|
|
897
|
+
* cada consulta.
|
|
898
|
+
*/
|
|
899
|
+
declare class PoSyncService {
|
|
900
|
+
private poEventSourcingService;
|
|
901
|
+
private poHttpClient;
|
|
902
|
+
private poNetworkService;
|
|
903
|
+
private poSchemaDefinitionService;
|
|
904
|
+
private poSchemaService;
|
|
905
|
+
models: Array<PoEntity>;
|
|
906
|
+
private config;
|
|
907
|
+
private emitter;
|
|
908
|
+
private eventSub;
|
|
909
|
+
private finishSyncSubject;
|
|
910
|
+
private isSyncEnabled;
|
|
911
|
+
private schemas;
|
|
912
|
+
private subscription;
|
|
913
|
+
private syncing;
|
|
914
|
+
private timer;
|
|
915
|
+
constructor(poEventSourcingService: PoEventSourcingService, poHttpClient: PoHttpClientService, poNetworkService: PoNetworkService, poSchemaDefinitionService: PoSchemaDefinitionService, poSchemaService: PoSchemaService);
|
|
916
|
+
/**
|
|
917
|
+
* Destrói todas as chaves do *storage* referentes ao `po-sync`, ou seja,
|
|
918
|
+
* as definições dos *schemas*, os registros de cada *schema* e a fila
|
|
919
|
+
* de eventos que estão para ser enviados ao servidor *(EventSourcing)*.
|
|
920
|
+
*
|
|
921
|
+
* > Para que não venham ocorrer erros em ações que dependam das definições dos *schemas*,
|
|
922
|
+
* recomenda-se utilizar o método `prepare()` em seguida.
|
|
923
|
+
*
|
|
924
|
+
* > Veja mais detalhes em [Fundamentos do PO Sync - Alterando as definições dos schemas](/guides/sync-fundamentals).
|
|
925
|
+
*
|
|
926
|
+
* @returns {Promise<any>} Promessa que é resolvida quando as chaves referentes ao `po-sync` forem destruídas.
|
|
927
|
+
*/
|
|
928
|
+
destroy(): Promise<any>;
|
|
929
|
+
/**
|
|
930
|
+
* Desabilita todos os tipos de sincronização de dados (periódica, reativa e manual).
|
|
931
|
+
*
|
|
932
|
+
* > Para habilitar novamente a sincronização utilize o método [`PoSyncService.enableSync()`](documentation/po-sync#enable-sync).
|
|
933
|
+
*/
|
|
934
|
+
disableSync(): void;
|
|
935
|
+
/**
|
|
936
|
+
* <a id="enable-sync"></a>
|
|
937
|
+
* Habilita todos os tipos de sincronização de dados (periódica, reativa e manual).
|
|
938
|
+
*
|
|
939
|
+
* Por padrão, sempre que se inicializa uma aplicação com PO Sync as sincronizações já estão habilitadas.
|
|
940
|
+
*/
|
|
941
|
+
enableSync(): void;
|
|
942
|
+
/**
|
|
943
|
+
* Método que disponibiliza a partir de sua inscrição o evento de retorno das operações da fila de eventos que
|
|
944
|
+
* foram enviadas ao servidor. A cada operação enviada para o servidor, será disparado um evento para a inscrição
|
|
945
|
+
* deste método.
|
|
946
|
+
*
|
|
947
|
+
* > Veja mais detalhes em [Fundamentos do PO Sync - Capturando respostas da sincronização](/guides/sync-fundamentals).
|
|
948
|
+
*
|
|
949
|
+
* @returns {Observable<PoSyncResponse>} Observable com um objeto do tipo `PoSyncResponse`.
|
|
950
|
+
*/
|
|
951
|
+
getResponses(): Observable<PoSyncResponse>;
|
|
952
|
+
/**
|
|
953
|
+
* Retorna uma instância de `PoEntity` para um determinado *schema*.
|
|
954
|
+
*
|
|
955
|
+
* > Veja mais detalhes em [Fundamentos do PO Sync - Manipulando os registros de um schema](/guides/sync-fundamentals).
|
|
956
|
+
*
|
|
957
|
+
* @param {string} schemaName Nome do *schema*.
|
|
958
|
+
* @returns {PoEntity} Objeto para efetuar consultas e alterações nos dados.
|
|
959
|
+
*/
|
|
960
|
+
getModel(schemaName: string): PoEntity;
|
|
961
|
+
/**
|
|
962
|
+
* Insere uma requisição HTTP na fila de eventos do `po-sync`.
|
|
963
|
+
*
|
|
964
|
+
* > Veja mais detalhes em [Fundamentos do PO Sync - Inserindo requisições HTTP na fila de eventos](/guides/sync-fundamentals).
|
|
965
|
+
*
|
|
966
|
+
* @param {PoHttpRequestData} poHttpRequestData Dados da requisição HTTP.
|
|
967
|
+
* @param {string} customRequestId Identificador customizado da requisição HTTP.
|
|
968
|
+
* @returns {Promise<number>} Promessa com o identificador da requisição HTTP criada.
|
|
969
|
+
*/
|
|
970
|
+
insertHttpCommand(requestData: PoHttpRequestData, customRequestId?: string): Promise<number>;
|
|
971
|
+
/**
|
|
972
|
+
* Efetua uma chamada na API do servidor para realizar a carga inicial dos dados. Deve ser chamado apenas uma vez
|
|
973
|
+
* na aplicação, após a preparação dos *schemas* realizada através do método `PoSyncService.prepare()`.
|
|
974
|
+
*
|
|
975
|
+
* > Veja mais detalhes em [Fundamentos do PO Sync - Carga inicial dos dados](/guides/sync-fundamentals).
|
|
976
|
+
*
|
|
977
|
+
* @returns {Observable<Array<{ entity: string, data: Array<any> }>>} Observable que notificará quando a
|
|
978
|
+
* carga inicial for concluída.
|
|
979
|
+
*/
|
|
980
|
+
loadData(): Observable<Array<{
|
|
981
|
+
entity: string;
|
|
982
|
+
data: Array<any>;
|
|
983
|
+
}>>;
|
|
984
|
+
/**
|
|
985
|
+
* Responsável por notificar sempre que houver sincronismo.
|
|
986
|
+
*
|
|
987
|
+
* > Veja mais detalhes em [Fundamentos do PO Sync - Notificação pós-sincronização](/guides/sync-fundamentals).
|
|
988
|
+
*
|
|
989
|
+
* @returns {Observable<any>} Observable que é disparado a cada sincronismo realizado.
|
|
990
|
+
*/
|
|
991
|
+
onSync(): Observable<any>;
|
|
992
|
+
/**
|
|
993
|
+
* Prepara a aplicação criando os schemas e aplica as configurações.
|
|
994
|
+
*
|
|
995
|
+
* > Veja mais detalhes em [Fundamentos do PO Sync - Preparando a aplicação](/guides/sync-fundamentals).
|
|
996
|
+
*
|
|
997
|
+
* @param {Array<PoSyncSchema>} schemas Lista de *schemas* a serem preparados.
|
|
998
|
+
* @param {PoSyncConfig} config Configurações adicionais.
|
|
999
|
+
* @returns {Promise<any>} Promessa que é resolvida quando a aplicação estiver preparada para a utilização do `po-sync`.
|
|
1000
|
+
*/
|
|
1001
|
+
prepare(schemas: Array<PoSyncSchema>, config?: PoSyncConfig): Promise<any>;
|
|
1002
|
+
/**
|
|
1003
|
+
* Remove um item da fila de eventos que espera a sincronização.
|
|
1004
|
+
*
|
|
1005
|
+
* > Veja mais detalhes em [Fundamentos do PO Sync - Capturando respostas da sincronização](/guides/sync-fundamentals).
|
|
1006
|
+
*
|
|
1007
|
+
* @param {any} idEventSourcing Identificador do item da fila de eventos.
|
|
1008
|
+
* @returns {Promise<any>} Promessa que é resolvida quando o item da fila de eventos é removido.
|
|
1009
|
+
*/
|
|
1010
|
+
removeItemOfSync(idEventSourcing: any): Promise<any>;
|
|
1011
|
+
/**
|
|
1012
|
+
* Reenvia os comandos pendentes na fila (inclusão, alteração e exclusão) e busca novos dados do servidor.
|
|
1013
|
+
*
|
|
1014
|
+
* > Veja mais detalhes em [Fundamentos do PO Sync - Capturando respostas da sincronização](/guides/sync-fundamentals).
|
|
1015
|
+
*
|
|
1016
|
+
* @returns {Promise<any>} Promessa que resolve o sincronismo disparado.
|
|
1017
|
+
*/
|
|
1018
|
+
resumeSync(): Promise<any>;
|
|
1019
|
+
/**
|
|
1020
|
+
* Dispara o sincronismo enviando os eventos pendentes (inclusão, alteração e exclusão) e buscando novos dados do servidor.
|
|
1021
|
+
*
|
|
1022
|
+
* O sincronismo somente será executado depois que o acesso a base de dados local do dispositivo for liberada.
|
|
1023
|
+
*
|
|
1024
|
+
* > Veja mais detalhes em [Fundamentos do PO Sync - Sincronização manual](/guides/sync-fundamentals).
|
|
1025
|
+
*
|
|
1026
|
+
* @returns {Promise<any>} Promessa que é resolvida quando o sincronismo for finalizado.
|
|
1027
|
+
*/
|
|
1028
|
+
sync(): Promise<any>;
|
|
1029
|
+
private canSync;
|
|
1030
|
+
private createSubscribe;
|
|
1031
|
+
private finishSync;
|
|
1032
|
+
private getOnePage;
|
|
1033
|
+
private loadEntityData;
|
|
1034
|
+
private reactiveSync;
|
|
1035
|
+
private saveSchemas;
|
|
1036
|
+
private startSync;
|
|
1037
|
+
private startTimer;
|
|
1038
|
+
private syncError;
|
|
1039
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PoSyncService, never>;
|
|
1040
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<PoSyncService>;
|
|
1041
|
+
}
|
|
1042
|
+
|
|
1043
|
+
/**
|
|
1044
|
+
* @description
|
|
1045
|
+
*
|
|
1046
|
+
* Módulo do componente PoSync responsável pela sincronia de dados com backends
|
|
1047
|
+
*/
|
|
1048
|
+
declare class PoSyncModule {
|
|
1049
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PoSyncModule, never>;
|
|
1050
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<PoSyncModule, never, never, never>;
|
|
1051
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<PoSyncModule>;
|
|
1052
|
+
}
|
|
1053
|
+
|
|
1054
|
+
export { PoDataTransform, PoEntity, PoEventSourcingErrorResponse, PoEventSourcingService, PoHttpClientService, PoHttpRequestType, PoNetworkService, PoNetworkType, PoSyncModule, PoSyncService };
|
|
1055
|
+
export type { PoHttpRequestData, PoResponseApi, PoSyncConfig, PoSyncSchema };
|