karibu-layer 1.0.42 → 1.0.43
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/api/api.d.ts +3 -1
- package/api/app.service.d.ts +30 -0
- package/api/authentication.service.d.ts +46 -0
- package/api/products.service.d.ts +1 -1
- package/esm2022/api/api.mjs +4 -2
- package/esm2022/api/app.service.mjs +73 -0
- package/esm2022/api/authentication.service.mjs +93 -1
- package/esm2022/api/products.service.mjs +1 -1
- package/esm2022/model/createBoardDto.mjs +1 -1
- package/esm2022/model/createCategoryDto.mjs +1 -1
- package/esm2022/model/createEstablishmentDto.mjs +3 -2
- package/esm2022/model/createProductDto.mjs +1 -1
- package/esm2022/model/establishmentResponseDto.mjs +3 -2
- package/esm2022/model/forgotPasswordRequestDto.mjs +11 -0
- package/esm2022/model/forgotPasswordResponseDto.mjs +11 -0
- package/esm2022/model/models.mjs +5 -1
- package/esm2022/model/orderQueryDto.mjs +1 -1
- package/esm2022/model/passwordResetSuccessDto.mjs +11 -0
- package/esm2022/model/resetPasswordDto.mjs +11 -0
- package/esm2022/model/updateEstablishmentDto.mjs +3 -2
- package/fesm2022/karibu-layer.mjs +205 -5
- package/fesm2022/karibu-layer.mjs.map +1 -1
- package/model/createBoardDto.d.ts +2 -2
- package/model/createCategoryDto.d.ts +1 -1
- package/model/createEstablishmentDto.d.ts +1 -0
- package/model/createProductDto.d.ts +2 -2
- package/model/establishmentResponseDto.d.ts +1 -0
- package/model/forgotPasswordRequestDto.d.ts +12 -0
- package/model/forgotPasswordResponseDto.d.ts +12 -0
- package/model/models.d.ts +4 -0
- package/model/orderQueryDto.d.ts +2 -2
- package/model/passwordResetSuccessDto.d.ts +12 -0
- package/model/resetPasswordDto.d.ts +13 -0
- package/model/updateEstablishmentDto.d.ts +1 -0
- package/package.json +1 -1
package/api/api.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
export * from './app.service';
|
|
2
|
+
import { AppService } from './app.service';
|
|
1
3
|
export * from './authentication.service';
|
|
2
4
|
import { AuthenticationService } from './authentication.service';
|
|
3
5
|
export * from './boards.service';
|
|
@@ -18,4 +20,4 @@ export * from './stockMovements.service';
|
|
|
18
20
|
import { StockMovementsService } from './stockMovements.service';
|
|
19
21
|
export * from './users.service';
|
|
20
22
|
import { UsersService } from './users.service';
|
|
21
|
-
export declare const APIS: (typeof AuthenticationService | typeof BoardsService | typeof CategoriesService | typeof EstablishmentsService | typeof InvoicesService | typeof OrdersService | typeof PaymentsService | typeof ProductsService | typeof StockMovementsService | typeof UsersService)[];
|
|
23
|
+
export declare const APIS: (typeof AppService | typeof AuthenticationService | typeof BoardsService | typeof CategoriesService | typeof EstablishmentsService | typeof InvoicesService | typeof OrdersService | typeof PaymentsService | typeof ProductsService | typeof StockMovementsService | typeof UsersService)[];
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { HttpClient, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { Configuration } from '../configuration';
|
|
4
|
+
import { BaseService } from '../api.base.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class AppService extends BaseService {
|
|
7
|
+
protected httpClient: HttpClient;
|
|
8
|
+
constructor(httpClient: HttpClient, basePath: string | string[], configuration?: Configuration);
|
|
9
|
+
/**
|
|
10
|
+
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
|
|
11
|
+
* @param reportProgress flag to report request and response progress.
|
|
12
|
+
*/
|
|
13
|
+
appControllerGetHello(observe?: 'body', reportProgress?: boolean, options?: {
|
|
14
|
+
httpHeaderAccept?: undefined;
|
|
15
|
+
context?: HttpContext;
|
|
16
|
+
transferCache?: boolean;
|
|
17
|
+
}): Observable<any>;
|
|
18
|
+
appControllerGetHello(observe?: 'response', reportProgress?: boolean, options?: {
|
|
19
|
+
httpHeaderAccept?: undefined;
|
|
20
|
+
context?: HttpContext;
|
|
21
|
+
transferCache?: boolean;
|
|
22
|
+
}): Observable<HttpResponse<any>>;
|
|
23
|
+
appControllerGetHello(observe?: 'events', reportProgress?: boolean, options?: {
|
|
24
|
+
httpHeaderAccept?: undefined;
|
|
25
|
+
context?: HttpContext;
|
|
26
|
+
transferCache?: boolean;
|
|
27
|
+
}): Observable<HttpEvent<any>>;
|
|
28
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AppService, [null, { optional: true; }, { optional: true; }]>;
|
|
29
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AppService>;
|
|
30
|
+
}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { HttpClient, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
import { AuthResponseDto } from '../model/authResponseDto';
|
|
4
|
+
import { ForgotPasswordRequestDto } from '../model/forgotPasswordRequestDto';
|
|
5
|
+
import { ForgotPasswordResponseDto } from '../model/forgotPasswordResponseDto';
|
|
4
6
|
import { LoginDto } from '../model/loginDto';
|
|
7
|
+
import { PasswordResetSuccessDto } from '../model/passwordResetSuccessDto';
|
|
5
8
|
import { RegisterDto } from '../model/registerDto';
|
|
9
|
+
import { ResetPasswordDto } from '../model/resetPasswordDto';
|
|
6
10
|
import { ValidateEstablishmentTokenDto } from '../model/validateEstablishmentTokenDto';
|
|
7
11
|
import { Configuration } from '../configuration';
|
|
8
12
|
import { BaseService } from '../api.base.service';
|
|
@@ -31,6 +35,27 @@ export declare class AuthenticationService extends BaseService {
|
|
|
31
35
|
context?: HttpContext;
|
|
32
36
|
transferCache?: boolean;
|
|
33
37
|
}): Observable<HttpEvent<any>>;
|
|
38
|
+
/**
|
|
39
|
+
* Demande de réinitialisation de mot de passe
|
|
40
|
+
* @param forgotPasswordRequestDto
|
|
41
|
+
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
|
|
42
|
+
* @param reportProgress flag to report request and response progress.
|
|
43
|
+
*/
|
|
44
|
+
authControllerForgotPassword(forgotPasswordRequestDto: ForgotPasswordRequestDto, observe?: 'body', reportProgress?: boolean, options?: {
|
|
45
|
+
httpHeaderAccept?: 'application/json';
|
|
46
|
+
context?: HttpContext;
|
|
47
|
+
transferCache?: boolean;
|
|
48
|
+
}): Observable<ForgotPasswordResponseDto>;
|
|
49
|
+
authControllerForgotPassword(forgotPasswordRequestDto: ForgotPasswordRequestDto, observe?: 'response', reportProgress?: boolean, options?: {
|
|
50
|
+
httpHeaderAccept?: 'application/json';
|
|
51
|
+
context?: HttpContext;
|
|
52
|
+
transferCache?: boolean;
|
|
53
|
+
}): Observable<HttpResponse<ForgotPasswordResponseDto>>;
|
|
54
|
+
authControllerForgotPassword(forgotPasswordRequestDto: ForgotPasswordRequestDto, observe?: 'events', reportProgress?: boolean, options?: {
|
|
55
|
+
httpHeaderAccept?: 'application/json';
|
|
56
|
+
context?: HttpContext;
|
|
57
|
+
transferCache?: boolean;
|
|
58
|
+
}): Observable<HttpEvent<ForgotPasswordResponseDto>>;
|
|
34
59
|
/**
|
|
35
60
|
* Verrouiller un compte utilisateur
|
|
36
61
|
* @param id ID de l\'utilisateur
|
|
@@ -136,6 +161,27 @@ export declare class AuthenticationService extends BaseService {
|
|
|
136
161
|
context?: HttpContext;
|
|
137
162
|
transferCache?: boolean;
|
|
138
163
|
}): Observable<HttpEvent<AuthResponseDto>>;
|
|
164
|
+
/**
|
|
165
|
+
* Réinitialiser le mot de passe via un token
|
|
166
|
+
* @param resetPasswordDto
|
|
167
|
+
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
|
|
168
|
+
* @param reportProgress flag to report request and response progress.
|
|
169
|
+
*/
|
|
170
|
+
authControllerResetPassword(resetPasswordDto: ResetPasswordDto, observe?: 'body', reportProgress?: boolean, options?: {
|
|
171
|
+
httpHeaderAccept?: 'application/json';
|
|
172
|
+
context?: HttpContext;
|
|
173
|
+
transferCache?: boolean;
|
|
174
|
+
}): Observable<PasswordResetSuccessDto>;
|
|
175
|
+
authControllerResetPassword(resetPasswordDto: ResetPasswordDto, observe?: 'response', reportProgress?: boolean, options?: {
|
|
176
|
+
httpHeaderAccept?: 'application/json';
|
|
177
|
+
context?: HttpContext;
|
|
178
|
+
transferCache?: boolean;
|
|
179
|
+
}): Observable<HttpResponse<PasswordResetSuccessDto>>;
|
|
180
|
+
authControllerResetPassword(resetPasswordDto: ResetPasswordDto, observe?: 'events', reportProgress?: boolean, options?: {
|
|
181
|
+
httpHeaderAccept?: 'application/json';
|
|
182
|
+
context?: HttpContext;
|
|
183
|
+
transferCache?: boolean;
|
|
184
|
+
}): Observable<HttpEvent<PasswordResetSuccessDto>>;
|
|
139
185
|
/**
|
|
140
186
|
* Déverrouiller un compte utilisateur
|
|
141
187
|
* @param id ID de l\'utilisateur
|
|
@@ -78,7 +78,7 @@ export declare class ProductsService extends BaseService {
|
|
|
78
78
|
* @param name Nom du produit (recherche)
|
|
79
79
|
* @param minPrice Prix minimum
|
|
80
80
|
* @param maxPrice Prix maximum
|
|
81
|
-
* @param establishment ID de l\'établissement
|
|
81
|
+
* @param establishment ID de l\'établissement (ignoré pour les non-SUPER_ADMIN)
|
|
82
82
|
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
|
|
83
83
|
* @param reportProgress flag to report request and response progress.
|
|
84
84
|
*/
|
package/esm2022/api/api.mjs
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
export * from './app.service';
|
|
2
|
+
import { AppService } from './app.service';
|
|
1
3
|
export * from './authentication.service';
|
|
2
4
|
import { AuthenticationService } from './authentication.service';
|
|
3
5
|
export * from './boards.service';
|
|
@@ -18,5 +20,5 @@ export * from './stockMovements.service';
|
|
|
18
20
|
import { StockMovementsService } from './stockMovements.service';
|
|
19
21
|
export * from './users.service';
|
|
20
22
|
import { UsersService } from './users.service';
|
|
21
|
-
export const APIS = [AuthenticationService, BoardsService, CategoriesService, EstablishmentsService, InvoicesService, OrdersService, PaymentsService, ProductsService, StockMovementsService, UsersService];
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
export const APIS = [AppService, AuthenticationService, BoardsService, CategoriesService, EstablishmentsService, InvoicesService, OrdersService, PaymentsService, ProductsService, StockMovementsService, UsersService];
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vYXBpL2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUM5QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDakUsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2pFLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELGNBQWMsa0JBQWtCLENBQUM7QUFDakMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELGNBQWMsMEJBQTBCLENBQUM7QUFDekMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDakUsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsVUFBVSxFQUFFLHFCQUFxQixFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUscUJBQXFCLEVBQUUsWUFBWSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FwcC5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcFNlcnZpY2UgfSBmcm9tICcuL2FwcC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYXV0aGVudGljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9ib2FyZHMuc2VydmljZSc7XG5pbXBvcnQgeyBCb2FyZHNTZXJ2aWNlIH0gZnJvbSAnLi9ib2FyZHMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NhdGVnb3JpZXMuc2VydmljZSc7XG5pbXBvcnQgeyBDYXRlZ29yaWVzU2VydmljZSB9IGZyb20gJy4vY2F0ZWdvcmllcy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZXN0YWJsaXNobWVudHMuc2VydmljZSc7XG5pbXBvcnQgeyBFc3RhYmxpc2htZW50c1NlcnZpY2UgfSBmcm9tICcuL2VzdGFibGlzaG1lbnRzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnZvaWNlcy5zZXJ2aWNlJztcbmltcG9ydCB7IEludm9pY2VzU2VydmljZSB9IGZyb20gJy4vaW52b2ljZXMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL29yZGVycy5zZXJ2aWNlJztcbmltcG9ydCB7IE9yZGVyc1NlcnZpY2UgfSBmcm9tICcuL29yZGVycy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcGF5bWVudHMuc2VydmljZSc7XG5pbXBvcnQgeyBQYXltZW50c1NlcnZpY2UgfSBmcm9tICcuL3BheW1lbnRzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9kdWN0cy5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2R1Y3RzU2VydmljZSB9IGZyb20gJy4vcHJvZHVjdHMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3N0b2NrTW92ZW1lbnRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RvY2tNb3ZlbWVudHNTZXJ2aWNlIH0gZnJvbSAnLi9zdG9ja01vdmVtZW50cy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdXNlcnMuc2VydmljZSc7XG5pbXBvcnQgeyBVc2Vyc1NlcnZpY2UgfSBmcm9tICcuL3VzZXJzLnNlcnZpY2UnO1xuZXhwb3J0IGNvbnN0IEFQSVMgPSBbQXBwU2VydmljZSwgQXV0aGVudGljYXRpb25TZXJ2aWNlLCBCb2FyZHNTZXJ2aWNlLCBDYXRlZ29yaWVzU2VydmljZSwgRXN0YWJsaXNobWVudHNTZXJ2aWNlLCBJbnZvaWNlc1NlcnZpY2UsIE9yZGVyc1NlcnZpY2UsIFBheW1lbnRzU2VydmljZSwgUHJvZHVjdHNTZXJ2aWNlLCBTdG9ja01vdmVtZW50c1NlcnZpY2UsIFVzZXJzU2VydmljZV07XG4iXX0=
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* karibu
|
|
3
|
+
*
|
|
4
|
+
*
|
|
5
|
+
*
|
|
6
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
7
|
+
* https://openapi-generator.tech
|
|
8
|
+
* Do not edit the class manually.
|
|
9
|
+
*/
|
|
10
|
+
/* tslint:disable:no-unused-variable member-ordering */
|
|
11
|
+
import { Inject, Injectable, Optional } from '@angular/core';
|
|
12
|
+
import { HttpContext } from '@angular/common/http';
|
|
13
|
+
// @ts-ignore
|
|
14
|
+
import { BASE_PATH } from '../variables';
|
|
15
|
+
import { BaseService } from '../api.base.service';
|
|
16
|
+
import * as i0 from "@angular/core";
|
|
17
|
+
import * as i1 from "@angular/common/http";
|
|
18
|
+
import * as i2 from "../configuration";
|
|
19
|
+
export class AppService extends BaseService {
|
|
20
|
+
httpClient;
|
|
21
|
+
constructor(httpClient, basePath, configuration) {
|
|
22
|
+
super(basePath, configuration);
|
|
23
|
+
this.httpClient = httpClient;
|
|
24
|
+
}
|
|
25
|
+
appControllerGetHello(observe = 'body', reportProgress = false, options) {
|
|
26
|
+
let localVarHeaders = this.defaultHeaders;
|
|
27
|
+
const localVarHttpHeaderAcceptSelected = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([]);
|
|
28
|
+
if (localVarHttpHeaderAcceptSelected !== undefined) {
|
|
29
|
+
localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
|
|
30
|
+
}
|
|
31
|
+
const localVarHttpContext = options?.context ?? new HttpContext();
|
|
32
|
+
const localVarTransferCache = options?.transferCache ?? true;
|
|
33
|
+
let responseType_ = 'json';
|
|
34
|
+
if (localVarHttpHeaderAcceptSelected) {
|
|
35
|
+
if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
|
|
36
|
+
responseType_ = 'text';
|
|
37
|
+
}
|
|
38
|
+
else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
|
|
39
|
+
responseType_ = 'json';
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
responseType_ = 'blob';
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
let localVarPath = `/health`;
|
|
46
|
+
const { basePath, withCredentials } = this.configuration;
|
|
47
|
+
return this.httpClient.request('get', `${basePath}${localVarPath}`, {
|
|
48
|
+
context: localVarHttpContext,
|
|
49
|
+
responseType: responseType_,
|
|
50
|
+
...(withCredentials ? { withCredentials } : {}),
|
|
51
|
+
headers: localVarHeaders,
|
|
52
|
+
observe: observe,
|
|
53
|
+
transferCache: localVarTransferCache,
|
|
54
|
+
reportProgress: reportProgress
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AppService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: i2.Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
58
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AppService, providedIn: 'root' });
|
|
59
|
+
}
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AppService, decorators: [{
|
|
61
|
+
type: Injectable,
|
|
62
|
+
args: [{
|
|
63
|
+
providedIn: 'root'
|
|
64
|
+
}]
|
|
65
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
|
66
|
+
type: Optional
|
|
67
|
+
}, {
|
|
68
|
+
type: Inject,
|
|
69
|
+
args: [BASE_PATH]
|
|
70
|
+
}] }, { type: i2.Configuration, decorators: [{
|
|
71
|
+
type: Optional
|
|
72
|
+
}] }] });
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcGkvYXBwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFDSCx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQTJCLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQytDLFdBQVcsRUFDeEQsTUFBWSxzQkFBc0IsQ0FBQztBQUs1QyxhQUFhO0FBQ2IsT0FBTyxFQUFFLFNBQVMsRUFBc0IsTUFBMEIsY0FBYyxDQUFDO0FBRWpGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQU9sRCxNQUFNLE9BQU8sVUFBVyxTQUFRLFdBQVc7SUFFakI7SUFBdEIsWUFBc0IsVUFBc0IsRUFBaUMsUUFBeUIsRUFBYyxhQUE2QjtRQUM3SSxLQUFLLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBRGIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUU1QyxDQUFDO0lBU00scUJBQXFCLENBQUMsVUFBZSxNQUFNLEVBQUUsaUJBQTBCLEtBQUssRUFBRSxPQUF3RjtRQUV6SyxJQUFJLGVBQWUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBRTFDLE1BQU0sZ0NBQWdDLEdBQXVCLE9BQU8sRUFBRSxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLEVBQy9ILENBQUMsQ0FBQztRQUNILElBQUksZ0NBQWdDLEtBQUssU0FBUyxFQUFFO1lBQ2hELGVBQWUsR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxnQ0FBZ0MsQ0FBQyxDQUFDO1NBQ3JGO1FBRUQsTUFBTSxtQkFBbUIsR0FBZ0IsT0FBTyxFQUFFLE9BQU8sSUFBSSxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBRS9FLE1BQU0scUJBQXFCLEdBQVksT0FBTyxFQUFFLGFBQWEsSUFBSSxJQUFJLENBQUM7UUFHdEUsSUFBSSxhQUFhLEdBQTZCLE1BQU0sQ0FBQztRQUNyRCxJQUFJLGdDQUFnQyxFQUFFO1lBQ2xDLElBQUksZ0NBQWdDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNyRCxhQUFhLEdBQUcsTUFBTSxDQUFDO2FBQzFCO2lCQUFNLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsZ0NBQWdDLENBQUMsRUFBRTtnQkFDeEUsYUFBYSxHQUFHLE1BQU0sQ0FBQzthQUMxQjtpQkFBTTtnQkFDSCxhQUFhLEdBQUcsTUFBTSxDQUFDO2FBQzFCO1NBQ0o7UUFFRCxJQUFJLFlBQVksR0FBRyxTQUFTLENBQUM7UUFDN0IsTUFBTSxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3pELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQU0sS0FBSyxFQUFFLEdBQUcsUUFBUSxHQUFHLFlBQVksRUFBRSxFQUNuRTtZQUNJLE9BQU8sRUFBRSxtQkFBbUI7WUFDNUIsWUFBWSxFQUFPLGFBQWE7WUFDaEMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQy9DLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLGFBQWEsRUFBRSxxQkFBcUI7WUFDcEMsY0FBYyxFQUFFLGNBQWM7U0FDakMsQ0FDSixDQUFDO0lBQ04sQ0FBQzt3R0FwRFEsVUFBVSw0Q0FFK0MsU0FBUzs0R0FGbEUsVUFBVSxjQUZULE1BQU07OzRGQUVQLFVBQVU7a0JBSHRCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFHa0QsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxTQUFTOzswQkFBOEIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICoga2FyaWJ1XG4gKlxuICogXG4gKlxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSBPcGVuQVBJIEdlbmVyYXRvciAoaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoKS5cbiAqIGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG4vKiB0c2xpbnQ6ZGlzYWJsZTpuby11bnVzZWQtdmFyaWFibGUgbWVtYmVyLW9yZGVyaW5nICovXG5cbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSAgICAgICAgICAgICAgICAgICAgICBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zLFxuICAgICAgICAgSHR0cFJlc3BvbnNlLCBIdHRwRXZlbnQsIEh0dHBQYXJhbWV0ZXJDb2RlYywgSHR0cENvbnRleHQgXG4gICAgICAgIH0gICAgICAgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ3VzdG9tSHR0cFBhcmFtZXRlckNvZGVjIH0gICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL2VuY29kZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJ3J4anMnO1xuXG5cbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEJBU0VfUEFUSCwgQ09MTEVDVElPTl9GT1JNQVRTIH0gICAgICAgICAgICAgICAgICAgICBmcm9tICcuLi92YXJpYWJsZXMnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbiB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL2NvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgQmFzZVNlcnZpY2UgfSBmcm9tICcuLi9hcGkuYmFzZS5zZXJ2aWNlJztcblxuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFwcFNlcnZpY2UgZXh0ZW5kcyBCYXNlU2VydmljZSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cENsaWVudDogSHR0cENsaWVudCwgQE9wdGlvbmFsKCkgQEluamVjdChCQVNFX1BBVEgpIGJhc2VQYXRoOiBzdHJpbmd8c3RyaW5nW10sIEBPcHRpb25hbCgpIGNvbmZpZ3VyYXRpb24/OiBDb25maWd1cmF0aW9uKSB7XG4gICAgICAgIHN1cGVyKGJhc2VQYXRoLCBjb25maWd1cmF0aW9uKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgYXBwQ29udHJvbGxlckdldEhlbGxvKG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbiwgb3B0aW9ucz86IHtodHRwSGVhZGVyQWNjZXB0PzogdW5kZWZpbmVkLCBjb250ZXh0PzogSHR0cENvbnRleHQsIHRyYW5zZmVyQ2FjaGU/OiBib29sZWFufSk6IE9ic2VydmFibGU8YW55PjtcbiAgICBwdWJsaWMgYXBwQ29udHJvbGxlckdldEhlbGxvKG9ic2VydmU/OiAncmVzcG9uc2UnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4sIG9wdGlvbnM/OiB7aHR0cEhlYWRlckFjY2VwdD86IHVuZGVmaW5lZCwgY29udGV4dD86IEh0dHBDb250ZXh0LCB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbn0pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxhbnk+PjtcbiAgICBwdWJsaWMgYXBwQ29udHJvbGxlckdldEhlbGxvKG9ic2VydmU/OiAnZXZlbnRzJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLCBvcHRpb25zPzoge2h0dHBIZWFkZXJBY2NlcHQ/OiB1bmRlZmluZWQsIGNvbnRleHQ/OiBIdHRwQ29udGV4dCwgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW59KTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj47XG4gICAgcHVibGljIGFwcENvbnRyb2xsZXJHZXRIZWxsbyhvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UsIG9wdGlvbnM/OiB7aHR0cEhlYWRlckFjY2VwdD86IHVuZGVmaW5lZCwgY29udGV4dD86IEh0dHBDb250ZXh0LCB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbn0pOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgICAgIGxldCBsb2NhbFZhckhlYWRlcnMgPSB0aGlzLmRlZmF1bHRIZWFkZXJzO1xuXG4gICAgICAgIGNvbnN0IGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBvcHRpb25zPy5odHRwSGVhZGVyQWNjZXB0ID8/IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoW1xuICAgICAgICBdKTtcbiAgICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGxvY2FsVmFySGVhZGVycyA9IGxvY2FsVmFySGVhZGVycy5zZXQoJ0FjY2VwdCcsIGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGxvY2FsVmFySHR0cENvbnRleHQ6IEh0dHBDb250ZXh0ID0gb3B0aW9ucz8uY29udGV4dCA/PyBuZXcgSHR0cENvbnRleHQoKTtcblxuICAgICAgICBjb25zdCBsb2NhbFZhclRyYW5zZmVyQ2FjaGU6IGJvb2xlYW4gPSBvcHRpb25zPy50cmFuc2ZlckNhY2hlID8/IHRydWU7XG5cblxuICAgICAgICBsZXQgcmVzcG9uc2VUeXBlXzogJ3RleHQnIHwgJ2pzb24nIHwgJ2Jsb2InID0gJ2pzb24nO1xuICAgICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZC5zdGFydHNXaXRoKCd0ZXh0JykpIHtcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGVfID0gJ3RleHQnO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24uaXNKc29uTWltZShsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkpIHtcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGVfID0gJ2pzb24nO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGVfID0gJ2Jsb2InO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGxvY2FsVmFyUGF0aCA9IGAvaGVhbHRoYDtcbiAgICAgICAgY29uc3QgeyBiYXNlUGF0aCwgd2l0aENyZWRlbnRpYWxzIH0gPSB0aGlzLmNvbmZpZ3VyYXRpb247XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucmVxdWVzdDxhbnk+KCdnZXQnLCBgJHtiYXNlUGF0aH0ke2xvY2FsVmFyUGF0aH1gLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbnRleHQ6IGxvY2FsVmFySHR0cENvbnRleHQsXG4gICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiA8YW55PnJlc3BvbnNlVHlwZV8sXG4gICAgICAgICAgICAgICAgLi4uKHdpdGhDcmVkZW50aWFscyA/IHsgd2l0aENyZWRlbnRpYWxzIH0gOiB7fSksXG4gICAgICAgICAgICAgICAgaGVhZGVyczogbG9jYWxWYXJIZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgdHJhbnNmZXJDYWNoZTogbG9jYWxWYXJUcmFuc2ZlckNhY2hlLFxuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzc1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxufVxuIl19
|