@g2-common/quotation-repository 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,24 @@
1
+ # QuotationRepository
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.3.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project quotation-repository` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project quotation-repository`.
8
+ > Note: Don't forget to add `--project quotation-repository` or else it will be added to the default project in your `angular.json` file.
9
+
10
+ ## Build
11
+
12
+ Run `ng build quotation-repository` to build the project. The build artifacts will be stored in the `dist/` directory.
13
+
14
+ ## Publishing
15
+
16
+ After building your library with `ng build quotation-repository`, go to the dist folder `cd dist/quotation-repository` and run `npm publish`.
17
+
18
+ ## Running unit tests
19
+
20
+ Run `ng test quotation-repository` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
+
22
+ ## Further help
23
+
24
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZzItY29tbW9uLXF1b3RhdGlvbi1yZXBvc2l0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvcXVvdGF0aW9uLXJlcG9zaXRvcnkvc3JjL2cyLWNvbW1vbi1xdW90YXRpb24tcmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -0,0 +1,75 @@
1
+ import { HttpClient, HttpErrorResponse, } from '@angular/common/http';
2
+ import { Inject, Injectable, InjectionToken } from '@angular/core';
3
+ import { catchError } from 'rxjs';
4
+ import { QUOTATION_MODULE_CONFIG, } from './quotation.module';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common/http";
7
+ import * as i2 from "@angular/router";
8
+ class QuotationHttpInterceptorHandler {
9
+ constructor(next, interceptor) {
10
+ this.next = next;
11
+ this.interceptor = interceptor;
12
+ }
13
+ handle(req) {
14
+ return this.interceptor.intercept(req, this.next);
15
+ }
16
+ }
17
+ class QuotationHandlerService {
18
+ constructor(backend, injector, interceptors) {
19
+ this.backend = backend;
20
+ this.injector = injector;
21
+ this.interceptors = interceptors;
22
+ this.chain = null;
23
+ }
24
+ handle(req) {
25
+ if (this.chain === null) {
26
+ const interceptors = this.injector.get(this.interceptors, []);
27
+ this.chain = interceptors.reduceRight((next, interceptor) => new QuotationHttpInterceptorHandler(next, interceptor), this.backend);
28
+ }
29
+ return this.chain.handle(req);
30
+ }
31
+ }
32
+ export const QUOTATION_HTTP_INTERCEPTORS = new InjectionToken('QUOTATION_HTTP_INTERCEPTORS');
33
+ export class QuotationHttpService extends HttpClient {
34
+ constructor(backend, injector) {
35
+ super(new QuotationHandlerService(backend, injector, QUOTATION_HTTP_INTERCEPTORS));
36
+ this.injector = injector;
37
+ }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: QuotationHttpService, deps: [{ token: i1.HttpBackend }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
39
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: QuotationHttpService }); }
40
+ }
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: QuotationHttpService, decorators: [{
42
+ type: Injectable
43
+ }], ctorParameters: () => [{ type: i1.HttpBackend }, { type: i0.Injector }] });
44
+ export class QuotationAuthInterceptor {
45
+ constructor(moduleConfig, router) {
46
+ this.moduleConfig = moduleConfig;
47
+ this.router = router;
48
+ }
49
+ intercept(req, next) {
50
+ const authToken = localStorage.getItem('tokenGlobal');
51
+ const { baseUrl } = this.moduleConfig;
52
+ const update = {
53
+ url: `${baseUrl}/${req.url}`,
54
+ };
55
+ if (authToken) {
56
+ update.headers = req.headers.set('Authorization', `Bearer ${authToken}`);
57
+ }
58
+ const authReq = req.clone(update);
59
+ return next.handle(authReq).pipe(catchError((error) => {
60
+ if (error instanceof HttpErrorResponse && error.status === 401) {
61
+ this.router.navigate(['auth', 'login']);
62
+ }
63
+ throw error;
64
+ }));
65
+ }
66
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: QuotationAuthInterceptor, deps: [{ token: QUOTATION_MODULE_CONFIG }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
67
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: QuotationAuthInterceptor }); }
68
+ }
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: QuotationAuthInterceptor, decorators: [{
70
+ type: Injectable
71
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
72
+ type: Inject,
73
+ args: [QUOTATION_MODULE_CONFIG]
74
+ }] }, { type: i2.Router }] });
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcXVvdGF0aW9uLXJlcG9zaXRvcnkvc3JjL2xpYi9odHRwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFVBQVUsRUFDVixpQkFBaUIsR0FLbEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBRUwsdUJBQXVCLEdBQ3hCLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFHNUIsTUFBTSwrQkFBK0I7SUFDbkMsWUFDVSxJQUFpQixFQUNqQixXQUE0QjtRQUQ1QixTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2pCLGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtJQUNuQyxDQUFDO0lBRUosTUFBTSxDQUFDLEdBQXFCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwRCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLHVCQUF1QjtJQUczQixZQUNVLE9BQW9CLEVBQ3BCLFFBQWtCLEVBQ2xCLFlBQStDO1FBRi9DLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFDcEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixpQkFBWSxHQUFaLFlBQVksQ0FBbUM7UUFMakQsVUFBSyxHQUF1QixJQUFJLENBQUM7SUFNdEMsQ0FBQztJQUVKLE1BQU0sQ0FBQyxHQUFxQjtRQUMxQixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDeEIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUU5RCxJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQyxXQUFXLENBQ25DLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxFQUFFLENBQ3BCLElBQUksK0JBQStCLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxFQUN4RCxJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoQyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxJQUFJLGNBQWMsQ0FFM0QsNkJBQTZCLENBQUMsQ0FBQztBQUdqQyxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsVUFBVTtJQUNsRCxZQUNFLE9BQW9CLEVBQ1osUUFBa0I7UUFFMUIsS0FBSyxDQUNILElBQUksdUJBQXVCLENBQ3pCLE9BQU8sRUFDUCxRQUFRLEVBQ1IsMkJBQTJCLENBQzVCLENBQ0YsQ0FBQztRQVJNLGFBQVEsR0FBUixRQUFRLENBQVU7SUFTNUIsQ0FBQzs4R0FaVSxvQkFBb0I7a0hBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVTs7QUFpQlgsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxZQUVVLFlBQXVDLEVBQ3ZDLE1BQWM7UUFEZCxpQkFBWSxHQUFaLFlBQVksQ0FBMkI7UUFDdkMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUNyQixDQUFDO0lBRUosU0FBUyxDQUNQLEdBQXFCLEVBQ3JCLElBQWlCO1FBRWpCLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdEQsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFFdEMsTUFBTSxNQUFNLEdBQW9DO1lBQzlDLEdBQUcsRUFBRSxHQUFHLE9BQU8sSUFBSSxHQUFHLENBQUMsR0FBRyxFQUFFO1NBQzdCLENBQUM7UUFFRixJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsTUFBTSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsVUFBVSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQzNFLENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWxDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQzlCLFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25CLElBQUksS0FBSyxZQUFZLGlCQUFpQixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQy9ELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDMUMsQ0FBQztZQUVELE1BQU0sS0FBSyxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7OEdBakNVLHdCQUF3QixrQkFFekIsdUJBQXVCO2tIQUZ0Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVU7OzBCQUdOLE1BQU07MkJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSHR0cEJhY2tlbmQsXG4gIEh0dHBDbGllbnQsXG4gIEh0dHBFcnJvclJlc3BvbnNlLFxuICBIdHRwRXZlbnQsXG4gIEh0dHBIYW5kbGVyLFxuICBIdHRwSW50ZXJjZXB0b3IsXG4gIEh0dHBSZXF1ZXN0LFxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgSUNibVF1b3RhdGlvbk1vZHVsZUNvbmZpZyxcbiAgUVVPVEFUSU9OX01PRFVMRV9DT05GSUcsXG59IGZyb20gJy4vcXVvdGF0aW9uLm1vZHVsZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5jbGFzcyBRdW90YXRpb25IdHRwSW50ZXJjZXB0b3JIYW5kbGVyIGltcGxlbWVudHMgSHR0cEhhbmRsZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG5leHQ6IEh0dHBIYW5kbGVyLFxuICAgIHByaXZhdGUgaW50ZXJjZXB0b3I6IEh0dHBJbnRlcmNlcHRvcixcbiAgKSB7fVxuXG4gIGhhbmRsZShyZXE6IEh0dHBSZXF1ZXN0PGFueT4pOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XG4gICAgcmV0dXJuIHRoaXMuaW50ZXJjZXB0b3IuaW50ZXJjZXB0KHJlcSwgdGhpcy5uZXh0KTtcbiAgfVxufVxuXG5jbGFzcyBRdW90YXRpb25IYW5kbGVyU2VydmljZSBpbXBsZW1lbnRzIEh0dHBIYW5kbGVyIHtcbiAgcHJpdmF0ZSBjaGFpbjogSHR0cEhhbmRsZXIgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGJhY2tlbmQ6IEh0dHBCYWNrZW5kLFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgaW50ZXJjZXB0b3JzOiBJbmplY3Rpb25Ub2tlbjxIdHRwSW50ZXJjZXB0b3JbXT4sXG4gICkge31cblxuICBoYW5kbGUocmVxOiBIdHRwUmVxdWVzdDxhbnk+KTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgIGlmICh0aGlzLmNoYWluID09PSBudWxsKSB7XG4gICAgICBjb25zdCBpbnRlcmNlcHRvcnMgPSB0aGlzLmluamVjdG9yLmdldCh0aGlzLmludGVyY2VwdG9ycywgW10pO1xuXG4gICAgICB0aGlzLmNoYWluID0gaW50ZXJjZXB0b3JzLnJlZHVjZVJpZ2h0KFxuICAgICAgICAobmV4dCwgaW50ZXJjZXB0b3IpID0+XG4gICAgICAgICAgbmV3IFF1b3RhdGlvbkh0dHBJbnRlcmNlcHRvckhhbmRsZXIobmV4dCwgaW50ZXJjZXB0b3IpLFxuICAgICAgICB0aGlzLmJhY2tlbmQsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNoYWluLmhhbmRsZShyZXEpO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBRVU9UQVRJT05fSFRUUF9JTlRFUkNFUFRPUlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48XG4gIEh0dHBJbnRlcmNlcHRvcltdXG4+KCdRVU9UQVRJT05fSFRUUF9JTlRFUkNFUFRPUlMnKTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFF1b3RhdGlvbkh0dHBTZXJ2aWNlIGV4dGVuZHMgSHR0cENsaWVudCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIGJhY2tlbmQ6IEh0dHBCYWNrZW5kLFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICApIHtcbiAgICBzdXBlcihcbiAgICAgIG5ldyBRdW90YXRpb25IYW5kbGVyU2VydmljZShcbiAgICAgICAgYmFja2VuZCxcbiAgICAgICAgaW5qZWN0b3IsXG4gICAgICAgIFFVT1RBVElPTl9IVFRQX0lOVEVSQ0VQVE9SUyxcbiAgICAgICksXG4gICAgKTtcbiAgfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUXVvdGF0aW9uQXV0aEludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChRVU9UQVRJT05fTU9EVUxFX0NPTkZJRylcbiAgICBwcml2YXRlIG1vZHVsZUNvbmZpZzogSUNibVF1b3RhdGlvbk1vZHVsZUNvbmZpZyxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICApIHt9XG5cbiAgaW50ZXJjZXB0KFxuICAgIHJlcTogSHR0cFJlcXVlc3Q8YW55PixcbiAgICBuZXh0OiBIdHRwSGFuZGxlcixcbiAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgIGNvbnN0IGF1dGhUb2tlbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd0b2tlbkdsb2JhbCcpO1xuICAgIGNvbnN0IHsgYmFzZVVybCB9ID0gdGhpcy5tb2R1bGVDb25maWc7XG5cbiAgICBjb25zdCB1cGRhdGU6IFBhcmFtZXRlcnM8dHlwZW9mIHJlcS5jbG9uZT5bMF0gPSB7XG4gICAgICB1cmw6IGAke2Jhc2VVcmx9LyR7cmVxLnVybH1gLFxuICAgIH07XG5cbiAgICBpZiAoYXV0aFRva2VuKSB7XG4gICAgICB1cGRhdGUuaGVhZGVycyA9IHJlcS5oZWFkZXJzLnNldCgnQXV0aG9yaXphdGlvbicsIGBCZWFyZXIgJHthdXRoVG9rZW59YCk7XG4gICAgfVxuXG4gICAgY29uc3QgYXV0aFJlcSA9IHJlcS5jbG9uZSh1cGRhdGUpO1xuXG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKGF1dGhSZXEpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSAmJiBlcnJvci5zdGF0dXMgPT09IDQwMSkge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnYXV0aCcsICdsb2dpbiddKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,5 @@
1
+ export * from './quotation.model';
2
+ export * from './quotation.module';
3
+ export * from './quotation.repository';
4
+ export * from './quotation.service';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9xdW90YXRpb24tcmVwb3NpdG9yeS9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3F1b3RhdGlvbi5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3F1b3RhdGlvbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9xdW90YXRpb24ucmVwb3NpdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL3F1b3RhdGlvbi5zZXJ2aWNlJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVvdGF0aW9uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcXVvdGF0aW9uLXJlcG9zaXRvcnkvc3JjL2xpYi9xdW90YXRpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENibVNhbGVQcmljZU1vZGVsIH0gZnJvbSAnQGcyLWNvbW1vbi9zYWxlLXByaWNlLXJlcG9zaXRvcnknO1xuXG5leHBvcnQgbmFtZXNwYWNlIENibVF1b3RhdGlvbk1vZGVsIHtcbiAgLy8gI3JlZ2lvbiBjb21tb25cbiAgZXhwb3J0IHR5cGUgRGV0YWlsVHlwZSA9ICdpdGVtJyB8ICdzZXJ2aWNlJyB8ICdraXQnO1xuXG4gIC8vICNyZWdpb24gbGlzdFxuICBleHBvcnQgaW50ZXJmYWNlIExpc3RQYXJhbXMge1xuICAgIHBhZ2U6IG51bWJlcjtcbiAgICBzaXplOiBudW1iZXI7XG4gICAgZW5hYmxlZD86IGJvb2xlYW47XG4gICAgZG9jdW1lbnRfbnVtYmVyPzogc3RyaW5nO1xuICAgIHN0YXRlPzogc3RyaW5nO1xuICAgIGNsaWVudF9icmFuY2hfaWQ/OiBzdHJpbmc7XG4gICAgY2xpZW50X2lkPzogc3RyaW5nO1xuICAgIGZyb21fZGF0ZT86IG51bWJlcjtcbiAgICB0b19kYXRlPzogbnVtYmVyO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBMaXN0UmVzcG9uc2Uge1xuICAgIHN1Y2Nlc3M6IGJvb2xlYW47XG4gICAgcGFnZU51bTogbnVtYmVyO1xuICAgIHBhZ2VTaXplOiBudW1iZXI7XG4gICAgcGFnZXM6IG51bWJlcjtcbiAgICB0b3RhbDogbnVtYmVyO1xuICAgIGl0ZW1zOiBMaXN0UmVzcG9uc2UuSXRlbVtdO1xuICB9XG5cbiAgZXhwb3J0IG5hbWVzcGFjZSBMaXN0UmVzcG9uc2Uge1xuICAgIGV4cG9ydCBpbnRlcmZhY2UgSXRlbSB7XG4gICAgICBfaWQ6IHN0cmluZztcbiAgICAgIGNvbXBhbnlfaWQ/OiBzdHJpbmc7XG4gICAgICBjb21wYW55X2JyYW5jaF9pZD86IHN0cmluZztcbiAgICAgIGNsaWVudF9pZD86IHN0cmluZztcbiAgICAgIGNvbnRhY3RfaWQ/OiBzdHJpbmc7XG4gICAgICBzZWxsZXJfaWQ/OiBzdHJpbmc7XG4gICAgICBkYXRlX2RvY3VtZW50PzogbnVtYmVyO1xuICAgICAgc3RhdGU/OiBzdHJpbmc7XG4gICAgICBleHBpcmVkX2F0PzogbnVtYmVyO1xuICAgICAgZG9jdW1lbnRfbm9tZW5jbGF0dXJlPzogc3RyaW5nO1xuICAgICAgZG9jdW1lbnRfbnVtYmVyPzogc3RyaW5nO1xuICAgICAgdGF4X2Jhc2U/OiBudW1iZXI7XG4gICAgICBkaXNjb3VudD86IG51bWJlcjtcbiAgICAgIHNlcnZpY2U/OiBudW1iZXI7XG4gICAgICBjb21lbnRhcnk/OiBzdHJpbmc7XG4gICAgICBjbGllbnRfZG9jdW1lbnRfbnVtYmVyPzogc3RyaW5nO1xuICAgICAgY2xpZW50X3RyYWRlX25hbWU/OiBzdHJpbmc7XG4gICAgICBjbGllbnRfYnVzaW5lc3NfbmFtZT86IHN0cmluZztcbiAgICAgIGNsaWVudF9waG9uZV9jb2RlPzogc3RyaW5nO1xuICAgICAgY2xpZW50X2FkZHJlc3M/OiBzdHJpbmc7XG4gICAgICBjbGllbnRfY2VsbHBob25lPzogc3RyaW5nO1xuICAgICAgY2xpZW50X2VtYWlsPzogc3RyaW5nO1xuICAgICAgc2VsbGVyX2Z1bGxfbmFtZT86IHN0cmluZztcbiAgICAgIHNlbGxlcl9kb2N1bWVudF9udW1iZXI/OiBzdHJpbmc7XG4gICAgICBjb21wYW55X05JRj86IHN0cmluZztcbiAgICAgIGNvbXBhbnlfYWRkcmVzcz86IHN0cmluZztcbiAgICAgIGNvbXBhbnlfdHJhZGVfbmFtZT86IHN0cmluZztcbiAgICAgIGNvbXBhbnlfYnVzaW5lc3NfbmFtZT86IHN0cmluZztcbiAgICAgIGNvbXBhbnlfYnJhbmNoX2lkZW50aWZpY2F0aW9uX251bWJlcj86IHN0cmluZztcbiAgICAgIGNvbXBhbnlfYnJhbmNoX3RyYWRlX25hbWU/OiBzdHJpbmc7XG4gICAgICBjb21wYW55X2JyYW5jaF9sb2dvPzogc3RyaW5nO1xuICAgICAgY29tcGFueV9icmFuY2hfYWRkcmVzcz86IHN0cmluZztcbiAgICAgIGNvbXBhbnlfYnJhbmNoX2VtYWlsPzogc3RyaW5nO1xuICAgICAgY29tcGFueV9icmFuY2hfY2VsbHBob25lPzogc3RyaW5nO1xuICAgICAgY29tcGFueV9icmFuY2hfcGhvbmU/OiBzdHJpbmc7XG4gICAgICBkZWZhdWx0X3ByaWNlX2xpc3RfaWQ/OiBzdHJpbmc7XG4gICAgICBkZWZhdWx0X3dhcmVob3VzZV9pZD86IHN0cmluZztcbiAgICAgIGRlZmF1bHRfY29zdF9jZW50ZXJfaWQ/OiBzdHJpbmc7XG4gICAgICBkZWZhdWx0X2Rpc2NvdW50X3JhdGU/OiBudW1iZXI7XG4gICAgICBlbmFibGVkPzogYm9vbGVhbjtcbiAgICAgIGRpc2FibGVkX3JlYXNvbj86IHN0cmluZztcbiAgICAgIGNyZWF0ZWRfYXQ/OiBudW1iZXI7XG4gICAgICBjcmVhdGVkX3VzZXI/OiBzdHJpbmc7XG4gICAgICB1cGRhdGVkX2F0PzogbnVtYmVyO1xuICAgICAgdXBkYXRlZF91c2VyPzogc3RyaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vICNyZWdpb24gZ2V0IG9uZVxuICBleHBvcnQgaW50ZXJmYWNlIEdldE9uZVJlc3BvbnNlIHtcbiAgICBzdWNjZXNzOiBib29sZWFuO1xuICAgIGRhdGE6IEdldE9uZVJlc3BvbnNlLkRhdGE7XG4gIH1cblxuICBleHBvcnQgbmFtZXNwYWNlIEdldE9uZVJlc3BvbnNlIHtcbiAgICBleHBvcnQgaW50ZXJmYWNlIERhdGEge1xuICAgICAgX2lkOiBzdHJpbmc7XG4gICAgICBjb21wYW55X2lkPzogc3RyaW5nO1xuICAgICAgY29tcGFueV9icmFuY2hfaWQ/OiBzdHJpbmc7XG4gICAgICBjbGllbnRfaWQ/OiBzdHJpbmc7XG4gICAgICBjbGllbnRfYnJhbmNoX2lkPzogc3RyaW5nO1xuICAgICAgY29udGFjdF9pZD86IHN0cmluZztcbiAgICAgIHNlbGxlcl9pZD86IHN0cmluZztcbiAgICAgIGRhdGVfZG9jdW1lbnQ/OiBudW1iZXI7XG4gICAgICBzdGF0ZT86IHN0cmluZztcbiAgICAgIGV4cGlyZWRfYXQ/OiBudW1iZXI7XG4gICAgICBkb2N1bWVudF9ub21lbmNsYXR1cmU/OiBzdHJpbmc7XG4gICAgICBkb2N1bWVudF9udW1iZXI/OiBzdHJpbmc7XG4gICAgICB0YXhfYmFzZT86IG51bWJlcjtcbiAgICAgIGRpc2NvdW50PzogbnVtYmVyO1xuICAgICAgc2VydmljZT86IG51bWJlcjtcbiAgICAgIGNvbW1lbnRhcnk/OiBzdHJpbmc7XG4gICAgICBjbGllbnRfZG9jdW1lbnRfbnVtYmVyPzogc3RyaW5nO1xuICAgICAgY2xpZW50X3RyYWRlX25hbWU/OiBzdHJpbmc7XG4gICAgICBjbGllbnRfYnVzaW5lc3NfbmFtZT86IHN0cmluZztcbiAgICAgIGNsaWVudF9waG9uZV9jb2RlPzogc3RyaW5nO1xuICAgICAgY2xpZW50X2FkZHJlc3M/OiBzdHJpbmc7XG4gICAgICBjbGllbnRfY2VsbHBob25lPzogc3RyaW5nO1xuICAgICAgY2xpZW50X2VtYWlsPzogc3RyaW5nO1xuICAgICAgY2xpZW50X2JyYW5jaF9jb2RlPzogc3RyaW5nO1xuICAgICAgY2xpZW50X2JyYW5jaF9uYW1lPzogc3RyaW5nO1xuICAgICAgY2xpZW50X2JyYW5jaF9hZGRyZXNzPzogc3RyaW5nO1xuICAgICAgY2xpZW50X2JyYW5jaF9lbWFpbD86IHN0cmluZztcbiAgICAgIGNsaWVudF9icmFuY2hfY2VsbHBob25lPzogc3RyaW5nO1xuICAgICAgY2xpZW50X2JyYW5jaF9waG9uZT86IHN0cmluZztcbiAgICAgIGNsaWVudF9icmFuY2hfcGhvbmVfY29kZT86IHN0cmluZztcbiAgICAgIGNvbnRhY3RfaWRlbnRpZmljYXRpb25fbnVtYmVyPzogc3RyaW5nO1xuICAgICAgY29udGFjdF9mdWxsX25hbWU/OiBzdHJpbmc7XG4gICAgICBjb250YWN0X3Bob25lX2NvZGU/OiBzdHJpbmc7XG4gICAgICBjb250YWN0X2NlbGxwaG9uZT86IHN0cmluZztcbiAgICAgIGNvbnRhY3RfZW1haWw/OiBzdHJpbmc7XG4gICAgICBzZWxsZXJfZnVsbF9uYW1lPzogc3RyaW5nO1xuICAgICAgc2VsbGVyX2lkZW50aWZpY2F0aW9uX251bWJlcj86IHN0cmluZztcbiAgICAgIGNvbXBhbnlfTklGPzogc3RyaW5nO1xuICAgICAgY29tcGFueV9hZGRyZXNzPzogc3RyaW5nO1xuICAgICAgY29tcGFueV90cmFkZV9uYW1lPzogc3RyaW5nO1xuICAgICAgY29tcGFueV9idXNpbmVzc19uYW1lPzogc3RyaW5nO1xuICAgICAgY29tcGFueV9icmFuY2hfaWRlbnRpZmljYXRpb25fbnVtYmVyPzogc3RyaW5nO1xuICAgICAgY29tcGFueV9icmFuY2hfdHJhZGVfbmFtZT86IHN0cmluZztcbiAgICAgIGNvbXBhbnlfYnJhbmNoX2xvZ28/OiBzdHJpbmc7XG4gICAgICBjb21wYW55X2JyYW5jaF9hZGRyZXNzPzogc3RyaW5nO1xuICAgICAgY29tcGFueV9icmFuY2hfZW1haWw/OiBzdHJpbmc7XG4gICAgICBjb21wYW55X2JyYW5jaF9jZWxscGhvbmU/OiBzdHJpbmc7XG4gICAgICBjb21wYW55X2JyYW5jaF9waG9uZT86IHN0cmluZztcbiAgICAgIGRlZmF1bHRfcHJpY2VfbGlzdF9pZD86IHN0cmluZztcbiAgICAgIGRlZmF1bHRfd2FyZWhvdXNlX2lkPzogc3RyaW5nO1xuICAgICAgZGVmYXVsdF9jb3N0X2NlbnRlcl9pZD86IHN0cmluZztcbiAgICAgIGRlZmF1bHRfZGlzY291bnRfcmF0ZT86IG51bWJlcjtcbiAgICAgIGVuYWJsZWQ/OiBib29sZWFuO1xuICAgICAgZGVsZXRlZD86IGJvb2xlYW47XG4gICAgICBjcmVhdGVkX2F0PzogbnVtYmVyO1xuICAgICAgY3JlYXRlZF91c2VyPzogc3RyaW5nO1xuICAgICAgcXVvdGF0aW9uX2RldGFpbD86IERhdGEuRGV0YWlsW107XG4gICAgICBxdW90YXRpb25fdGF4PzogRGF0YS5UYXhbXTtcbiAgICB9XG5cbiAgICBleHBvcnQgbmFtZXNwYWNlIERhdGEge1xuICAgICAgZXhwb3J0IGludGVyZmFjZSBEZXRhaWwge1xuICAgICAgICBfaWQ6IHN0cmluZztcbiAgICAgICAgcXVvdGF0aW9uX2lkPzogc3RyaW5nO1xuICAgICAgICBpdGVtX2lkPzogc3RyaW5nO1xuICAgICAgICBjYXRlZ29yeV9pZD86IHN0cmluZztcbiAgICAgICAgd2FyZWhvdXNlX2lkPzogc3RyaW5nO1xuICAgICAgICBjb3N0X2NlbnRlcl9pZD86IHN0cmluZztcbiAgICAgICAgcHJpY2VfbGlzdF9pZD86IHN0cmluZztcbiAgICAgICAgdGF4X2l2YV9pZD86IHN0cmluZztcbiAgICAgICAgdW5pdF9tZWFzdXJlX2lkPzogc3RyaW5nO1xuICAgICAgICBhbW91bnQ/OiBudW1iZXI7XG4gICAgICAgIHByaWNlX2Jhc2U/OiBudW1iZXI7XG4gICAgICAgIHRvdGFsX3ByaWNlPzogbnVtYmVyO1xuICAgICAgICBkaXNjb3VudF9yYXRlPzogbnVtYmVyO1xuICAgICAgICB1bml0X2Rpc2NvdW50PzogbnVtYmVyO1xuICAgICAgICB0b3RhbF9kaXNjb3VudD86IG51bWJlcjtcbiAgICAgICAgcmVwbGFjZV9pdGVtX25hbWU/OiBzdHJpbmc7XG4gICAgICAgIGNvbW1lbnRhcnlfaXRlbT86IHN0cmluZztcbiAgICAgICAgdGF4X2l2YV9yYXRlPzogbnVtYmVyO1xuICAgICAgICBpbl9zdG9jaz86IG51bWJlcjtcbiAgICAgICAgd2FyZWhvdXNlX2NvZGU/OiBzdHJpbmc7XG4gICAgICAgIHdhcmVob3VzZV9uYW1lPzogc3RyaW5nO1xuICAgICAgICB3YXJlaG91c2VfYWRkcmVzcz86IHN0cmluZztcbiAgICAgICAgaXRlbV9jb2RlPzogc3RyaW5nO1xuICAgICAgICBpdGVtX2JhcmNvZGU/OiBzdHJpbmc7XG4gICAgICAgIGl0ZW1fbmFtZT86IHN0cmluZztcbiAgICAgICAgdW5pdF9tZWFzdXJlX25hbWU/OiBzdHJpbmc7XG4gICAgICAgIGNhdGVnb3J5X25hbWU/OiBzdHJpbmc7XG4gICAgICAgIGNvc3RfY2VudGVyX2NvZGU/OiBzdHJpbmc7XG4gICAgICAgIGNvc3RfY2VudGVyX25hbWU/OiBzdHJpbmc7XG4gICAgICAgIHByaWNlX2xpc3RfbmFtZT86IHN0cmluZztcbiAgICAgICAgdHlwZT86IERldGFpbFR5cGU7XG4gICAgICAgIHByaWNlX3R5cGU/OiBDYm1TYWxlUHJpY2VNb2RlbC5UTmFtZTtcbiAgICAgICAgcHJpY2VfdHlwZV9pZD86IHN0cmluZztcbiAgICAgICAgZGVsZXRlZD86IGJvb2xlYW47XG4gICAgICAgIGNyZWF0ZWRfYXQ/OiBudW1iZXI7XG4gICAgICAgIGNyZWF0ZWRfdXNlcj86IHN0cmluZztcbiAgICAgICAgcXVvdGF0aW9uX2RldGFpbF90YXg/OiBEZXRhaWwuVGF4W107XG4gICAgICB9XG5cbiAgICAgIGV4cG9ydCBuYW1lc3BhY2UgRGV0YWlsIHtcbiAgICAgICAgZXhwb3J0IGludGVyZmFjZSBUYXgge1xuICAgICAgICAgIF9pZDogc3RyaW5nO1xuICAgICAgICAgIHF1b3RhdGlvbl9kZXRhaWxfaWQ/OiBzdHJpbmc7XG4gICAgICAgICAgdHlwZT86IHN0cmluZztcbiAgICAgICAgICB0YXhfY29kZT86IHN0cmluZztcbiAgICAgICAgICB0YXhfcmF0ZT86IG51bWJlcjtcbiAgICAgICAgICB0YXhfYmFzZT86IG51bWJlcjtcbiAgICAgICAgICB0YXhfdmFsdWU/OiBudW1iZXI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZXhwb3J0IGludGVyZmFjZSBUYXgge1xuICAgICAgICBfaWQ6IHN0cmluZztcbiAgICAgICAgcXVvdGF0aW9uX2lkOiBzdHJpbmc7XG4gICAgICAgIHR5cGU6IHN0cmluZztcbiAgICAgICAgdGF4X2NvZGU6IHN0cmluZztcbiAgICAgICAgdGF4X3JhdGU6IG51bWJlcjtcbiAgICAgICAgdGF4X2Jhc2U6IG51bWJlcjtcbiAgICAgICAgdGF4X3ZhbHVlOiBudW1iZXI7XG4gICAgICAgIGNyZWF0ZWRfYXQ6IG51bWJlcjtcbiAgICAgICAgY3JlYXRlZF91c2VyOiBzdHJpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gI3JlZ2lvbiBzYXZlXG4gIGV4cG9ydCBpbnRlcmZhY2UgU2F2ZUJvZHkge1xuICAgIGNsaWVudF9pZDogc3RyaW5nO1xuICAgIGNsaWVudF9icmFuY2hfaWQ/OiBzdHJpbmc7XG4gICAgY29udGFjdF9pZD86IHN0cmluZztcbiAgICBzZWxsZXJfaWQ6IHN0cmluZztcbiAgICBkYXRlX2RvY3VtZW50OiBudW1iZXI7XG4gICAgZXhwaXJlZF9hdDogbnVtYmVyO1xuICAgIHRheF9iYXNlOiBudW1iZXI7XG4gICAgZGlzY291bnQ6IG51bWJlcjtcbiAgICBzZXJ2aWNlOiBudW1iZXI7XG4gICAgY29tbWVudGFyeTogc3RyaW5nO1xuICAgIGNsaWVudF9kb2N1bWVudF9udW1iZXI6IHN0cmluZztcbiAgICBjbGllbnRfdHJhZGVfbmFtZTogc3RyaW5nO1xuICAgIGNsaWVudF9idXNpbmVzc19uYW1lOiBzdHJpbmc7XG4gICAgY2xpZW50X3Bob25lX2NvZGU6IHN0cmluZztcbiAgICBjbGllbnRfYWRkcmVzczogc3RyaW5nO1xuICAgIGNsaWVudF9jZWxscGhvbmU6IHN0cmluZztcbiAgICBjbGllbnRfZW1haWw6IHN0cmluZztcbiAgICBjbGllbnRfY2F0ZWdvcnlfbmFtZTogc3RyaW5nO1xuICAgIGNsaWVudF9icmFuY2hfY29kZT86IHN0cmluZztcbiAgICBjbGllbnRfYnJhbmNoX25hbWU/OiBzdHJpbmc7XG4gICAgY2xpZW50X2JyYW5jaF9hZGRyZXNzPzogc3RyaW5nO1xuICAgIGNsaWVudF9icmFuY2hfZW1haWw/OiBzdHJpbmc7XG4gICAgY2xpZW50X2JyYW5jaF9jZWxscGhvbmU/OiBzdHJpbmc7XG4gICAgY2xpZW50X2JyYW5jaF9waG9uZT86IHN0cmluZztcbiAgICBjbGllbnRfYnJhbmNoX3Bob25lX2NvZGU/OiBzdHJpbmc7XG4gICAgY29udGFjdF9pZGVudGlmaWNhdGlvbl9udW1iZXI/OiBzdHJpbmc7XG4gICAgY29udGFjdF9mdWxsX25hbWU/OiBzdHJpbmc7XG4gICAgY29udGFjdF9waG9uZV9jb2RlPzogc3RyaW5nO1xuICAgIGNvbnRhY3RfY2VsbHBob25lPzogc3RyaW5nO1xuICAgIGNvbnRhY3RfZW1haWw/OiBzdHJpbmc7XG4gICAgc2VsbGVyX2Z1bGxfbmFtZTogc3RyaW5nO1xuICAgIHNlbGxlcl9pZGVudGlmaWNhdGlvbl9udW1iZXI6IHN0cmluZztcbiAgICBjb21wYW55X05JRjogc3RyaW5nO1xuICAgIGNvbXBhbnlfYWRkcmVzczogc3RyaW5nO1xuICAgIGNvbXBhbnlfdHJhZGVfbmFtZTogc3RyaW5nO1xuICAgIGNvbXBhbnlfYnVzaW5lc3NfbmFtZTogc3RyaW5nO1xuICAgIGNvbXBhbnlfYnJhbmNoX2lkZW50aWZpY2F0aW9uX251bWJlcjogc3RyaW5nO1xuICAgIGNvbXBhbnlfYnJhbmNoX3RyYWRlX25hbWU6IHN0cmluZztcbiAgICBjb21wYW55X2JyYW5jaF9sb2dvOiBzdHJpbmc7XG4gICAgY29tcGFueV9icmFuY2hfYWRkcmVzczogc3RyaW5nO1xuICAgIGNvbXBhbnlfYnJhbmNoX2VtYWlsOiBzdHJpbmc7XG4gICAgY29tcGFueV9icmFuY2hfY2VsbHBob25lOiBzdHJpbmc7XG4gICAgY29tcGFueV9icmFuY2hfcGhvbmU6IHN0cmluZztcbiAgICBkZWZhdWx0X3ByaWNlX2xpc3RfaWQ/OiBzdHJpbmc7XG4gICAgZGVmYXVsdF93YXJlaG91c2VfaWQ/OiBzdHJpbmc7XG4gICAgZGVmYXVsdF9jb3N0X2NlbnRlcl9pZD86IHN0cmluZztcbiAgICBkZWZhdWx0X2Rpc2NvdW50X3JhdGU/OiBudW1iZXI7XG4gICAgdGF4X2Jhc2VfaXZhOiBudW1iZXI7XG4gICAgdGF4X2Jhc2VfaXZhX3JhdGVfMDogbnVtYmVyO1xuICAgIHRheF9iYXNlX2l2YV9leGVtcHQ6IG51bWJlcjtcbiAgICB0YXhfYmFzZV9pdmFfbm90X3N1YmplY3Q6IG51bWJlcjtcbiAgICB0YXhfYmFzZV9pcmJwbnI6IG51bWJlcjtcbiAgICB0YXhfYmFzZV9pY2U6IG51bWJlcjtcbiAgICByYXRlX2l2YTogbnVtYmVyO1xuICAgIGNvZGVfaXZhOiBzdHJpbmc7XG4gICAgdGF4X2l2YTogbnVtYmVyO1xuICAgIHRheF9pcmJwbnI6IG51bWJlcjtcbiAgICB0YXhfaWNlOiBudW1iZXI7XG4gICAgdG90YWw6IG51bWJlcjtcbiAgICBxdW90YXRpb25fZGV0YWlsOiBTYXZlQm9keS5EZXRhaWxbXTtcbiAgICBxdW90YXRpb25fdGF4OiBTYXZlQm9keS5UYXhbXTtcbiAgfVxuXG4gIGV4cG9ydCBuYW1lc3BhY2UgU2F2ZUJvZHkge1xuICAgIGV4cG9ydCBpbnRlcmZhY2UgRGV0YWlsIHtcbiAgICAgIGl0ZW1faWQ6IHN0cmluZztcbiAgICAgIGNhdGVnb3J5X2lkOiBzdHJpbmc7XG4gICAgICB3YXJlaG91c2VfaWQ/OiBzdHJpbmc7XG4gICAgICBjb3N0X2NlbnRlcl9pZD86IHN0cmluZztcbiAgICAgIHByaWNlX2xpc3RfaWQ6IHN0cmluZztcbiAgICAgIHRheF9pdmFfaWQ6IHN0cmluZztcbiAgICAgIHRheF9pcmJwbl9pZD86IHN0cmluZztcbiAgICAgIHRheF9pY2VfaWQ/OiBzdHJpbmc7XG4gICAgICB1bml0X21lYXN1cmVfaWQ/OiBzdHJpbmc7XG4gICAgICBhbW91bnQ6IG51bWJlcjtcbiAgICAgIGZyZWVfYW1vdW50PzogbnVtYmVyO1xuICAgICAgcHJpY2VfYmFzZTogbnVtYmVyO1xuICAgICAgdG90YWxfcHJpY2U6IG51bWJlcjtcbiAgICAgIGRpc2NvdW50X3JhdGU6IG51bWJlcjtcbiAgICAgIHVuaXRfZGlzY291bnQ6IG51bWJlcjtcbiAgICAgIHRvdGFsX2Rpc2NvdW50OiBudW1iZXI7XG4gICAgICBjb21tZW50YXJ5X2l0ZW0/OiBzdHJpbmcgfCBudWxsO1xuICAgICAgcmVwbGFjZV9pdGVtX25hbWU/OiBzdHJpbmcgfCBudWxsO1xuICAgICAgdGF4X2l2YV9yYXRlOiBudW1iZXI7XG4gICAgICBpbl9zdG9jaz86IG51bWJlcjtcbiAgICAgIHdhcmVob3VzZV9jb2RlPzogc3RyaW5nO1xuICAgICAgd2FyZWhvdXNlX25hbWU/OiBzdHJpbmc7XG4gICAgICB3YXJlaG91c2VfYWRkcmVzcz86IHN0cmluZztcbiAgICAgIGl0ZW1fY29kZTogc3RyaW5nO1xuICAgICAgaXRlbV9iYXJjb2RlPzogc3RyaW5nO1xuICAgICAgaXRlbV9uYW1lOiBzdHJpbmc7XG4gICAgICB1bml0X21lYXN1cmVfbmFtZT86IHN0cmluZztcbiAgICAgIGNhdGVnb3J5X25hbWU6IHN0cmluZztcbiAgICAgIGNvc3RfY2VudGVyX2NvZGU/OiBzdHJpbmc7XG4gICAgICBjb3N0X2NlbnRlcl9uYW1lPzogc3RyaW5nO1xuICAgICAgcHJpY2VfbGlzdF9uYW1lOiBzdHJpbmc7XG4gICAgICB0eXBlOiBEZXRhaWxUeXBlO1xuICAgICAgcHJpY2VfdHlwZT86IENibVNhbGVQcmljZU1vZGVsLlROYW1lO1xuICAgICAgcHJpY2VfdHlwZV9pZD86IHN0cmluZztcbiAgICAgIHF1b3RhdGlvbl9kZXRhaWxfdGF4OiBEZXRhaWwuVGF4W107XG4gICAgfVxuXG4gICAgZXhwb3J0IG5hbWVzcGFjZSBEZXRhaWwge1xuICAgICAgZXhwb3J0IGludGVyZmFjZSBUYXgge1xuICAgICAgICB0eXBlOiBzdHJpbmc7XG4gICAgICAgIHRheF9jb2RlOiBzdHJpbmc7XG4gICAgICAgIHRheF9yYXRlOiBudW1iZXI7XG4gICAgICAgIHRheF9iYXNlOiBudW1iZXI7XG4gICAgICAgIHRheF92YWx1ZTogbnVtYmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgVGF4IHtcbiAgICAgIHR5cGU6IHN0cmluZztcbiAgICAgIHRheF9jb2RlOiBzdHJpbmc7XG4gICAgICB0YXhfcmF0ZTogbnVtYmVyO1xuICAgICAgdGF4X2Jhc2U6IG51bWJlcjtcbiAgICAgIHRheF92YWx1ZTogbnVtYmVyO1xuICAgIH1cbiAgfVxuXG4gIC8vICNyZWdpb24gdXBkYXRlXG4gIGV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlQm9keSB7XG4gICAgY2xpZW50X2lkPzogc3RyaW5nO1xuICAgIGNsaWVudF9icmFuY2hfaWQ/OiBzdHJpbmc7XG4gICAgY29udGFjdF9pZD86IHN0cmluZztcbiAgICBzZWxsZXJfaWQ/OiBzdHJpbmc7XG4gICAgZGF0ZV9kb2N1bWVudD86IG51bWJlcjtcbiAgICBleHBpcmVkX2F0PzogbnVtYmVyO1xuICAgIHRheF9iYXNlPzogbnVtYmVyO1xuICAgIGRpc2NvdW50PzogbnVtYmVyO1xuICAgIHNlcnZpY2U/OiBudW1iZXI7XG4gICAgY29tbWVudGFyeT86IHN0cmluZztcbiAgICBjbGllbnRfZG9jdW1lbnRfbnVtYmVyPzogc3RyaW5nO1xuICAgIGNsaWVudF90cmFkZV9uYW1lPzogc3RyaW5nO1xuICAgIGNsaWVudF9idXNpbmVzc19uYW1lPzogc3RyaW5nO1xuICAgIGNsaWVudF9waG9uZV9jb2RlPzogc3RyaW5nO1xuICAgIGNsaWVudF9hZGRyZXNzPzogc3RyaW5nO1xuICAgIGNsaWVudF9jZWxscGhvbmU/OiBzdHJpbmc7XG4gICAgY2xpZW50X2VtYWlsPzogc3RyaW5nO1xuICAgIGNsaWVudF9jYXRlZ29yeV9uYW1lPzogc3RyaW5nO1xuICAgIGNsaWVudF9icmFuY2hfY29kZT86IHN0cmluZztcbiAgICBjbGllbnRfYnJhbmNoX25hbWU/OiBzdHJpbmc7XG4gICAgY2xpZW50X2JyYW5jaF9hZGRyZXNzPzogc3RyaW5nO1xuICAgIGNsaWVudF9icmFuY2hfZW1haWw/OiBzdHJpbmc7XG4gICAgY2xpZW50X2JyYW5jaF9jZWxscGhvbmU/OiBzdHJpbmc7XG4gICAgY2xpZW50X2JyYW5jaF9waG9uZT86IHN0cmluZztcbiAgICBjbGllbnRfYnJhbmNoX3Bob25lX2NvZGU/OiBzdHJpbmc7XG4gICAgY29udGFjdF9pZGVudGlmaWNhdGlvbl9udW1iZXI/OiBzdHJpbmc7XG4gICAgY29udGFjdF9mdWxsX25hbWU/OiBzdHJpbmc7XG4gICAgY29udGFjdF9waG9uZV9jb2RlPzogc3RyaW5nO1xuICAgIGNvbnRhY3RfY2VsbHBob25lPzogc3RyaW5nO1xuICAgIGNvbnRhY3RfZW1haWw/OiBzdHJpbmc7XG4gICAgc2VsbGVyX2Z1bGxfbmFtZT86IHN0cmluZztcbiAgICBzZWxsZXJfaWRlbnRpZmljYXRpb25fbnVtYmVyPzogc3RyaW5nO1xuICAgIGNvbXBhbnlfTklGPzogc3RyaW5nO1xuICAgIGNvbXBhbnlfYWRkcmVzcz86IHN0cmluZztcbiAgICBjb21wYW55X3RyYWRlX25hbWU/OiBzdHJpbmc7XG4gICAgY29tcGFueV9idXNpbmVzc19uYW1lPzogc3RyaW5nO1xuICAgIGNvbXBhbnlfYnJhbmNoX2lkZW50aWZpY2F0aW9uX251bWJlcj86IHN0cmluZztcbiAgICBjb21wYW55X2JyYW5jaF90cmFkZV9uYW1lPzogc3RyaW5nO1xuICAgIGNvbXBhbnlfYnJhbmNoX2xvZ28/OiBzdHJpbmc7XG4gICAgY29tcGFueV9icmFuY2hfYWRkcmVzcz86IHN0cmluZztcbiAgICBjb21wYW55X2JyYW5jaF9lbWFpbD86IHN0cmluZztcbiAgICBjb21wYW55X2JyYW5jaF9jZWxscGhvbmU/OiBzdHJpbmc7XG4gICAgY29tcGFueV9icmFuY2hfcGhvbmU/OiBzdHJpbmc7XG4gICAgZGVmYXVsdF9wcmljZV9saXN0X2lkPzogc3RyaW5nO1xuICAgIGRlZmF1bHRfd2FyZWhvdXNlX2lkPzogc3RyaW5nO1xuICAgIGRlZmF1bHRfY29zdF9jZW50ZXJfaWQ/OiBzdHJpbmc7XG4gICAgZGVmYXVsdF9kaXNjb3VudF9yYXRlPzogbnVtYmVyO1xuICAgIHRheF9iYXNlX2l2YT86IG51bWJlcjtcbiAgICB0YXhfYmFzZV9pdmFfcmF0ZV8wPzogbnVtYmVyO1xuICAgIHRheF9iYXNlX2l2YV9leGVtcHQ/OiBudW1iZXI7XG4gICAgdGF4X2Jhc2VfaXZhX25vdF9zdWJqZWN0PzogbnVtYmVyO1xuICAgIHRheF9iYXNlX2lyYnBucj86IG51bWJlcjtcbiAgICB0YXhfYmFzZV9pY2U/OiBudW1iZXI7XG4gICAgcmF0ZV9pdmE/OiBudW1iZXI7XG4gICAgY29kZV9pdmE/OiBzdHJpbmc7XG4gICAgdGF4X2l2YT86IG51bWJlcjtcbiAgICB0YXhfaXJicG5yPzogbnVtYmVyO1xuICAgIHRheF9pY2U/OiBudW1iZXI7XG4gICAgdG90YWw/OiBudW1iZXI7XG4gICAgdHlwZT86IERldGFpbFR5cGU7XG4gICAgcXVvdGF0aW9uX2RldGFpbD86IFVwZGF0ZUJvZHkuRGV0YWlsW107XG4gICAgcXVvdGF0aW9uX3RheD86IFVwZGF0ZUJvZHkuVGF4O1xuICB9XG5cbiAgZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVCb2R5IHtcbiAgICBleHBvcnQgaW50ZXJmYWNlIERldGFpbCB7XG4gICAgICBfaWQ/OiBzdHJpbmc7XG4gICAgICBpdGVtX2lkPzogc3RyaW5nO1xuICAgICAgY2F0ZWdvcnlfaWQ/OiBzdHJpbmc7XG4gICAgICB3YXJlaG91c2VfaWQ/OiBzdHJpbmc7XG4gICAgICBjb3N0X2NlbnRlcl9pZD86IHN0cmluZztcbiAgICAgIHByaWNlX2xpc3RfaWQ/OiBzdHJpbmc7XG4gICAgICB0YXhfaXZhX2lkPzogc3RyaW5nO1xuICAgICAgdGF4X2lyYnBuX2lkPzogc3RyaW5nO1xuICAgICAgdGF4X2ljZV9pZD86IHN0cmluZztcbiAgICAgIHVuaXRfbWVhc3VyZV9pZD86IHN0cmluZztcbiAgICAgIGFtb3VudD86IG51bWJlcjtcbiAgICAgIGZyZWVfYW1vdW50PzogbnVtYmVyO1xuICAgICAgcHJpY2VfYmFzZT86IG51bWJlcjtcbiAgICAgIHRvdGFsX3ByaWNlPzogbnVtYmVyO1xuICAgICAgZGlzY291bnRfcmF0ZT86IG51bWJlcjtcbiAgICAgIHVuaXRfZGlzY291bnQ/OiBudW1iZXI7XG4gICAgICB0b3RhbF9kaXNjb3VudD86IG51bWJlcjtcbiAgICAgIGNvbW1lbnRhcnlfaXRlbT86IHN0cmluZyB8IG51bGw7XG4gICAgICByZXBsYWNlX2l0ZW1fbmFtZT86IHN0cmluZyB8IG51bGw7XG4gICAgICB0YXhfaXZhX3JhdGU/OiBudW1iZXI7XG4gICAgICBpbl9zdG9jaz86IG51bWJlcjtcbiAgICAgIHdhcmVob3VzZV9jb2RlPzogc3RyaW5nO1xuICAgICAgd2FyZWhvdXNlX25hbWU/OiBzdHJpbmc7XG4gICAgICB3YXJlaG91c2VfYWRkcmVzcz86IHN0cmluZztcbiAgICAgIGl0ZW1fY29kZT86IHN0cmluZztcbiAgICAgIGl0ZW1fYmFyY29kZT86IHN0cmluZztcbiAgICAgIGl0ZW1fbmFtZT86IHN0cmluZztcbiAgICAgIHVuaXRfbWVhc3VyZV9uYW1lPzogc3RyaW5nO1xuICAgICAgY2F0ZWdvcnlfbmFtZT86IHN0cmluZztcbiAgICAgIGNvc3RfY2VudGVyX2NvZGU/OiBzdHJpbmc7XG4gICAgICBjb3N0X2NlbnRlcl9uYW1lPzogc3RyaW5nO1xuICAgICAgcHJpY2VfbGlzdF9uYW1lPzogc3RyaW5nO1xuICAgICAgdHlwZT86IERldGFpbFR5cGU7XG4gICAgICBwcmljZV90eXBlPzogQ2JtU2FsZVByaWNlTW9kZWwuVE5hbWU7XG4gICAgICBwcmljZV90eXBlX2lkPzogc3RyaW5nO1xuICAgICAgcXVvdGF0aW9uX2RldGFpbF90YXg/OiBEZXRhaWwuVGF4W107XG4gICAgfVxuXG4gICAgZXhwb3J0IG5hbWVzcGFjZSBEZXRhaWwge1xuICAgICAgZXhwb3J0IGludGVyZmFjZSBUYXgge1xuICAgICAgICBfaWQ/OiBzdHJpbmc7XG4gICAgICAgIHR5cGU6IHN0cmluZztcbiAgICAgICAgdGF4X2NvZGU6IHN0cmluZztcbiAgICAgICAgdGF4X3JhdGU6IG51bWJlcjtcbiAgICAgICAgdGF4X2Jhc2U6IG51bWJlcjtcbiAgICAgICAgdGF4X3ZhbHVlOiBudW1iZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZXhwb3J0IGludGVyZmFjZSBUYXgge1xuICAgICAgZGVsZXRlZF9yZWNvcmRzOiBzdHJpbmdbXTtcbiAgICAgIGRhdGE6IFRheC5EYXRhW107XG4gICAgfVxuXG4gICAgZXhwb3J0IG5hbWVzcGFjZSBUYXgge1xuICAgICAgZXhwb3J0IGludGVyZmFjZSBEYXRhIHtcbiAgICAgICAgdHlwZTogc3RyaW5nO1xuICAgICAgICB0YXhfY29kZTogc3RyaW5nO1xuICAgICAgICB0YXhfcmF0ZTogbnVtYmVyO1xuICAgICAgICB0YXhfYmFzZTogbnVtYmVyO1xuICAgICAgICB0YXhfdmFsdWU6IG51bWJlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAjcmVnaW9uIGRvd25sb2FkIGV4Y2VsXG4gIGV4cG9ydCBpbnRlcmZhY2UgRG93bmxvYWRFeGNlbFBhcmFtcyB7XG4gICAgdG9fZGF0ZT86IG51bWJlcjtcbiAgICBmcm9tX2RhdGU/OiBudW1iZXI7XG4gICAgZW5hYmxlZD86IGJvb2xlYW47XG4gICAgZG9jdW1lbnRfbnVtYmVyPzogc3RyaW5nO1xuICAgIHN0YXRlPzogc3RyaW5nO1xuICAgIGNsaWVudF9icmFuY2hfaWQ/OiBzdHJpbmc7XG4gICAgY2xpZW50X2lkPzogc3RyaW5nO1xuICB9XG5cbiAgLy8gI3JlZ2lvbiBjaGFuZ2Ugc3RhdHVzXG4gIGV4cG9ydCBpbnRlcmZhY2UgQ2hhbmdlU3RhdHVzQm9keSB7XG4gICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICBkaXNhYmxlZF9yZWFzb24/OiBzdHJpbmc7XG4gIH1cblxuICAvLyAjcmVnaW9uIGNvbmZpcm1cbiAgZXhwb3J0IGludGVyZmFjZSBDb25maXJtUmVzcG9uc2Uge1xuICAgIHN1Y2Nlc3M6IGJvb2xlYW47XG4gICAgbWVzc2FnZTogc3RyaW5nO1xuICAgIGRhdGE/OiBhbnk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,39 @@
1
+ import { HttpClientModule } from '@angular/common/http';
2
+ import { InjectionToken, NgModule } from '@angular/core';
3
+ import { QUOTATION_HTTP_INTERCEPTORS, QuotationAuthInterceptor, QuotationHttpService, } from './http.service';
4
+ import { CbmQuotationService } from './quotation.service';
5
+ import { CbmQuotationRepository } from './quotation.repository';
6
+ import * as i0 from "@angular/core";
7
+ export const QUOTATION_MODULE_CONFIG = new InjectionToken('QUOTATION_MODULE_CONFIG');
8
+ export class CbmQuotationModule {
9
+ static forRoot(config) {
10
+ return {
11
+ ngModule: CbmQuotationModule,
12
+ providers: [
13
+ QuotationAuthInterceptor,
14
+ {
15
+ provide: QUOTATION_MODULE_CONFIG,
16
+ useValue: config,
17
+ },
18
+ {
19
+ provide: QUOTATION_HTTP_INTERCEPTORS,
20
+ useClass: QuotationAuthInterceptor,
21
+ multi: true,
22
+ },
23
+ QuotationHttpService,
24
+ CbmQuotationService,
25
+ CbmQuotationRepository,
26
+ ],
27
+ };
28
+ }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CbmQuotationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
30
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.7", ngImport: i0, type: CbmQuotationModule, imports: [HttpClientModule] }); }
31
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CbmQuotationModule, imports: [HttpClientModule] }); }
32
+ }
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CbmQuotationModule, decorators: [{
34
+ type: NgModule,
35
+ args: [{
36
+ imports: [HttpClientModule],
37
+ }]
38
+ }] });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVvdGF0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3F1b3RhdGlvbi1yZXBvc2l0b3J5L3NyYy9saWIvcXVvdGF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxFQUNMLDJCQUEyQixFQUMzQix3QkFBd0IsRUFDeEIsb0JBQW9CLEdBQ3JCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBTWhFLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUNsQyxJQUFJLGNBQWMsQ0FBNEIseUJBQXlCLENBQUMsQ0FBQztBQUszRSxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLE1BQU0sQ0FBQyxPQUFPLENBQ1osTUFBaUM7UUFFakMsT0FBTztZQUNMLFFBQVEsRUFBRSxrQkFBa0I7WUFDNUIsU0FBUyxFQUFFO2dCQUNULHdCQUF3QjtnQkFDeEI7b0JBQ0UsT0FBTyxFQUFFLHVCQUF1QjtvQkFDaEMsUUFBUSxFQUFFLE1BQU07aUJBQ2pCO2dCQUNEO29CQUNFLE9BQU8sRUFBRSwyQkFBMkI7b0JBQ3BDLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLEtBQUssRUFBRSxJQUFJO2lCQUNaO2dCQUNELG9CQUFvQjtnQkFDcEIsbUJBQW1CO2dCQUNuQixzQkFBc0I7YUFDdkI7U0FDRixDQUFDO0lBQ0osQ0FBQzs4R0F0QlUsa0JBQWtCOytHQUFsQixrQkFBa0IsWUFGbkIsZ0JBQWdCOytHQUVmLGtCQUFrQixZQUZuQixnQkFBZ0I7OzJGQUVmLGtCQUFrQjtrQkFIOUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBRVU9UQVRJT05fSFRUUF9JTlRFUkNFUFRPUlMsXG4gIFF1b3RhdGlvbkF1dGhJbnRlcmNlcHRvcixcbiAgUXVvdGF0aW9uSHR0cFNlcnZpY2UsXG59IGZyb20gJy4vaHR0cC5zZXJ2aWNlJztcbmltcG9ydCB7IENibVF1b3RhdGlvblNlcnZpY2UgfSBmcm9tICcuL3F1b3RhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IENibVF1b3RhdGlvblJlcG9zaXRvcnkgfSBmcm9tICcuL3F1b3RhdGlvbi5yZXBvc2l0b3J5JztcblxuZXhwb3J0IGludGVyZmFjZSBJQ2JtUXVvdGF0aW9uTW9kdWxlQ29uZmlnIHtcbiAgYmFzZVVybDogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgUVVPVEFUSU9OX01PRFVMRV9DT05GSUcgPVxuICBuZXcgSW5qZWN0aW9uVG9rZW48SUNibVF1b3RhdGlvbk1vZHVsZUNvbmZpZz4oJ1FVT1RBVElPTl9NT0RVTEVfQ09ORklHJyk7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtIdHRwQ2xpZW50TW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2JtUXVvdGF0aW9uTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoXG4gICAgY29uZmlnOiBJQ2JtUXVvdGF0aW9uTW9kdWxlQ29uZmlnLFxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPENibVF1b3RhdGlvbk1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQ2JtUXVvdGF0aW9uTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFF1b3RhdGlvbkF1dGhJbnRlcmNlcHRvcixcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IFFVT1RBVElPTl9NT0RVTEVfQ09ORklHLFxuICAgICAgICAgIHVzZVZhbHVlOiBjb25maWcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBRVU9UQVRJT05fSFRUUF9JTlRFUkNFUFRPUlMsXG4gICAgICAgICAgdXNlQ2xhc3M6IFF1b3RhdGlvbkF1dGhJbnRlcmNlcHRvcixcbiAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgUXVvdGF0aW9uSHR0cFNlcnZpY2UsXG4gICAgICAgIENibVF1b3RhdGlvblNlcnZpY2UsXG4gICAgICAgIENibVF1b3RhdGlvblJlcG9zaXRvcnksXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,38 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./quotation.service";
4
+ export class CbmQuotationRepository {
5
+ constructor(service) {
6
+ this.service = service;
7
+ }
8
+ list(params) {
9
+ return this.service.list(params);
10
+ }
11
+ getOne(id) {
12
+ return this.service.getOne(id);
13
+ }
14
+ save(data) {
15
+ return this.service.save(data);
16
+ }
17
+ update(id, data) {
18
+ return this.service.update(id, data);
19
+ }
20
+ changeStatus(id, data) {
21
+ return this.service.changeStatus(id, data);
22
+ }
23
+ downloadExcel(params) {
24
+ return this.service.downloadExcel(params);
25
+ }
26
+ downloadIndividualPdf(id) {
27
+ return this.service.downloadIndividualPdf(id);
28
+ }
29
+ downloadIndividualExcel(id) {
30
+ return this.service.downloadIndividualExcel(id);
31
+ }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CbmQuotationRepository, deps: [{ token: i1.CbmQuotationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
33
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CbmQuotationRepository }); }
34
+ }
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CbmQuotationRepository, decorators: [{
36
+ type: Injectable
37
+ }], ctorParameters: () => [{ type: i1.CbmQuotationService }] });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVvdGF0aW9uLnJlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9xdW90YXRpb24tcmVwb3NpdG9yeS9zcmMvbGliL3F1b3RhdGlvbi5yZXBvc2l0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQWtDM0MsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxZQUFvQixPQUE0QjtRQUE1QixZQUFPLEdBQVAsT0FBTyxDQUFxQjtJQUFHLENBQUM7SUFFcEQsSUFBSSxDQUNGLE1BQW9DO1FBRXBDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELE1BQU0sQ0FBQyxFQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxDQUNGLElBQWdDO1FBRWhDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELE1BQU0sQ0FDSixFQUFVLEVBQ1YsSUFBa0M7UUFFbEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELFlBQVksQ0FDVixFQUFVLEVBQ1YsSUFBd0M7UUFFeEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELGFBQWEsQ0FDWCxNQUE2QztRQUU3QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxFQUFVO1FBQzlCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsdUJBQXVCLENBQUMsRUFBVTtRQUNoQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQzs4R0E3Q1Usc0JBQXNCO2tIQUF0QixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDYm1RdW90YXRpb25Nb2RlbCB9IGZyb20gJy4vcXVvdGF0aW9uLm1vZGVsJztcbmltcG9ydCB7IEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENibVF1b3RhdGlvblNlcnZpY2UgfSBmcm9tICcuL3F1b3RhdGlvbi5zZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBJQ2JtUXVvdGF0aW9uUmVwb3NpdG9yeSB7XG4gIGxpc3QoXG4gICAgcGFyYW1zOiBDYm1RdW90YXRpb25Nb2RlbC5MaXN0UGFyYW1zLFxuICApOiBPYnNlcnZhYmxlPENibVF1b3RhdGlvbk1vZGVsLkxpc3RSZXNwb25zZT47XG5cbiAgZ2V0T25lKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPENibVF1b3RhdGlvbk1vZGVsLkdldE9uZVJlc3BvbnNlPjtcblxuICBzYXZlKFxuICAgIGRhdGE6IENibVF1b3RhdGlvbk1vZGVsLlNhdmVCb2R5LFxuICApOiBPYnNlcnZhYmxlPENibVF1b3RhdGlvbk1vZGVsLkNvbmZpcm1SZXNwb25zZT47XG5cbiAgdXBkYXRlKFxuICAgIGlkOiBzdHJpbmcsXG4gICAgZGF0YTogQ2JtUXVvdGF0aW9uTW9kZWwuVXBkYXRlQm9keSxcbiAgKTogT2JzZXJ2YWJsZTxDYm1RdW90YXRpb25Nb2RlbC5Db25maXJtUmVzcG9uc2U+O1xuXG4gIGNoYW5nZVN0YXR1cyhcbiAgICBpZDogc3RyaW5nLFxuICAgIGRhdGE6IENibVF1b3RhdGlvbk1vZGVsLkNoYW5nZVN0YXR1c0JvZHksXG4gICk6IE9ic2VydmFibGU8Q2JtUXVvdGF0aW9uTW9kZWwuQ29uZmlybVJlc3BvbnNlPjtcblxuICBkb3dubG9hZEV4Y2VsKFxuICAgIHBhcmFtczogQ2JtUXVvdGF0aW9uTW9kZWwuRG93bmxvYWRFeGNlbFBhcmFtcyxcbiAgKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8QmxvYj4+O1xuXG4gIGRvd25sb2FkSW5kaXZpZHVhbFBkZihpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8QmxvYj4+O1xuXG4gIGRvd25sb2FkSW5kaXZpZHVhbEV4Y2VsKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxCbG9iPj47XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDYm1RdW90YXRpb25SZXBvc2l0b3J5IGltcGxlbWVudHMgSUNibVF1b3RhdGlvblJlcG9zaXRvcnkge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlcnZpY2U6IENibVF1b3RhdGlvblNlcnZpY2UpIHt9XG5cbiAgbGlzdChcbiAgICBwYXJhbXM6IENibVF1b3RhdGlvbk1vZGVsLkxpc3RQYXJhbXMsXG4gICk6IE9ic2VydmFibGU8Q2JtUXVvdGF0aW9uTW9kZWwuTGlzdFJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuc2VydmljZS5saXN0KHBhcmFtcyk7XG4gIH1cblxuICBnZXRPbmUoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8Q2JtUXVvdGF0aW9uTW9kZWwuR2V0T25lUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlLmdldE9uZShpZCk7XG4gIH1cblxuICBzYXZlKFxuICAgIGRhdGE6IENibVF1b3RhdGlvbk1vZGVsLlNhdmVCb2R5LFxuICApOiBPYnNlcnZhYmxlPENibVF1b3RhdGlvbk1vZGVsLkNvbmZpcm1SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLnNlcnZpY2Uuc2F2ZShkYXRhKTtcbiAgfVxuXG4gIHVwZGF0ZShcbiAgICBpZDogc3RyaW5nLFxuICAgIGRhdGE6IENibVF1b3RhdGlvbk1vZGVsLlVwZGF0ZUJvZHksXG4gICk6IE9ic2VydmFibGU8Q2JtUXVvdGF0aW9uTW9kZWwuQ29uZmlybVJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuc2VydmljZS51cGRhdGUoaWQsIGRhdGEpO1xuICB9XG5cbiAgY2hhbmdlU3RhdHVzKFxuICAgIGlkOiBzdHJpbmcsXG4gICAgZGF0YTogQ2JtUXVvdGF0aW9uTW9kZWwuQ2hhbmdlU3RhdHVzQm9keSxcbiAgKTogT2JzZXJ2YWJsZTxDYm1RdW90YXRpb25Nb2RlbC5Db25maXJtUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlLmNoYW5nZVN0YXR1cyhpZCwgZGF0YSk7XG4gIH1cblxuICBkb3dubG9hZEV4Y2VsKFxuICAgIHBhcmFtczogQ2JtUXVvdGF0aW9uTW9kZWwuRG93bmxvYWRFeGNlbFBhcmFtcyxcbiAgKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8QmxvYj4+IHtcbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlLmRvd25sb2FkRXhjZWwocGFyYW1zKTtcbiAgfVxuXG4gIGRvd25sb2FkSW5kaXZpZHVhbFBkZihpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8QmxvYj4+IHtcbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlLmRvd25sb2FkSW5kaXZpZHVhbFBkZihpZCk7XG4gIH1cblxuICBkb3dubG9hZEluZGl2aWR1YWxFeGNlbChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8QmxvYj4+IHtcbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlLmRvd25sb2FkSW5kaXZpZHVhbEV4Y2VsKGlkKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,50 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./http.service";
4
+ export class CbmQuotationService {
5
+ constructor(http) {
6
+ this.http = http;
7
+ }
8
+ list(params) {
9
+ return this.http.get('', {
10
+ params: params,
11
+ });
12
+ }
13
+ getOne(id) {
14
+ return this.http.get(id);
15
+ }
16
+ save(data) {
17
+ return this.http.post('', data);
18
+ }
19
+ update(id, data) {
20
+ return this.http.put(id, data);
21
+ }
22
+ changeStatus(id, data) {
23
+ return this.http.put(`change-status/${id}`, data);
24
+ }
25
+ downloadExcel(params) {
26
+ return this.http.get('download/excel', {
27
+ params: params,
28
+ observe: 'response',
29
+ responseType: 'blob',
30
+ });
31
+ }
32
+ downloadIndividualPdf(id) {
33
+ return this.http.get(`download/pdf/individual/${id}`, {
34
+ observe: 'response',
35
+ responseType: 'blob',
36
+ });
37
+ }
38
+ downloadIndividualExcel(id) {
39
+ return this.http.get(`download/excel/individual/${id}`, {
40
+ observe: 'response',
41
+ responseType: 'blob',
42
+ });
43
+ }
44
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CbmQuotationService, deps: [{ token: i1.QuotationHttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
45
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CbmQuotationService }); }
46
+ }
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CbmQuotationService, decorators: [{
48
+ type: Injectable
49
+ }], ctorParameters: () => [{ type: i1.QuotationHttpService }] });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVvdGF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9xdW90YXRpb24tcmVwb3NpdG9yeS9zcmMvbGliL3F1b3RhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU8zQyxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQW9CLElBQTBCO1FBQTFCLFNBQUksR0FBSixJQUFJLENBQXNCO0lBQUcsQ0FBQztJQUVsRCxJQUFJLENBQ0YsTUFBb0M7UUFFcEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBaUMsRUFBRSxFQUFFO1lBQ3ZELE1BQU0sRUFBRSxNQUFhO1NBQ3RCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsRUFBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQW1DLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxJQUFJLENBQ0YsSUFBZ0M7UUFFaEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBb0MsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxNQUFNLENBQ0osRUFBVSxFQUNWLElBQWtDO1FBRWxDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQW9DLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsWUFBWSxDQUNWLEVBQVUsRUFDVixJQUF3QztRQUV4QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixpQkFBaUIsRUFBRSxFQUFFLEVBQ3JCLElBQUksQ0FDTCxDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWEsQ0FDWCxNQUE2QztRQUU3QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFPLGdCQUFnQixFQUFFO1lBQzNDLE1BQU0sRUFBRSxNQUFhO1lBQ3JCLE9BQU8sRUFBRSxVQUFVO1lBQ25CLFlBQVksRUFBRSxNQUFnQjtTQUMvQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQscUJBQXFCLENBQUMsRUFBVTtRQUM5QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFPLDJCQUEyQixFQUFFLEVBQUUsRUFBRTtZQUMxRCxPQUFPLEVBQUUsVUFBVTtZQUNuQixZQUFZLEVBQUUsTUFBZ0I7U0FDL0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHVCQUF1QixDQUFDLEVBQVU7UUFDaEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBTyw2QkFBNkIsRUFBRSxFQUFFLEVBQUU7WUFDNUQsT0FBTyxFQUFFLFVBQVU7WUFDbkIsWUFBWSxFQUFFLE1BQWdCO1NBQy9CLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBNURVLG1CQUFtQjtrSEFBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUXVvdGF0aW9uSHR0cFNlcnZpY2UgfSBmcm9tICcuL2h0dHAuc2VydmljZSc7XG5pbXBvcnQgeyBDYm1RdW90YXRpb25Nb2RlbCB9IGZyb20gJy4vcXVvdGF0aW9uLm1vZGVsJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENibVF1b3RhdGlvblNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IFF1b3RhdGlvbkh0dHBTZXJ2aWNlKSB7fVxuXG4gIGxpc3QoXG4gICAgcGFyYW1zOiBDYm1RdW90YXRpb25Nb2RlbC5MaXN0UGFyYW1zLFxuICApOiBPYnNlcnZhYmxlPENibVF1b3RhdGlvbk1vZGVsLkxpc3RSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PENibVF1b3RhdGlvbk1vZGVsLkxpc3RSZXNwb25zZT4oJycsIHtcbiAgICAgIHBhcmFtczogcGFyYW1zIGFzIGFueSxcbiAgICB9KTtcbiAgfVxuXG4gIGdldE9uZShpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxDYm1RdW90YXRpb25Nb2RlbC5HZXRPbmVSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PENibVF1b3RhdGlvbk1vZGVsLkdldE9uZVJlc3BvbnNlPihpZCk7XG4gIH1cblxuICBzYXZlKFxuICAgIGRhdGE6IENibVF1b3RhdGlvbk1vZGVsLlNhdmVCb2R5LFxuICApOiBPYnNlcnZhYmxlPENibVF1b3RhdGlvbk1vZGVsLkNvbmZpcm1SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDYm1RdW90YXRpb25Nb2RlbC5Db25maXJtUmVzcG9uc2U+KCcnLCBkYXRhKTtcbiAgfVxuXG4gIHVwZGF0ZShcbiAgICBpZDogc3RyaW5nLFxuICAgIGRhdGE6IENibVF1b3RhdGlvbk1vZGVsLlVwZGF0ZUJvZHksXG4gICk6IE9ic2VydmFibGU8Q2JtUXVvdGF0aW9uTW9kZWwuQ29uZmlybVJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8Q2JtUXVvdGF0aW9uTW9kZWwuQ29uZmlybVJlc3BvbnNlPihpZCwgZGF0YSk7XG4gIH1cblxuICBjaGFuZ2VTdGF0dXMoXG4gICAgaWQ6IHN0cmluZyxcbiAgICBkYXRhOiBDYm1RdW90YXRpb25Nb2RlbC5DaGFuZ2VTdGF0dXNCb2R5LFxuICApOiBPYnNlcnZhYmxlPENibVF1b3RhdGlvbk1vZGVsLkNvbmZpcm1SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PENibVF1b3RhdGlvbk1vZGVsLkNvbmZpcm1SZXNwb25zZT4oXG4gICAgICBgY2hhbmdlLXN0YXR1cy8ke2lkfWAsXG4gICAgICBkYXRhLFxuICAgICk7XG4gIH1cblxuICBkb3dubG9hZEV4Y2VsKFxuICAgIHBhcmFtczogQ2JtUXVvdGF0aW9uTW9kZWwuRG93bmxvYWRFeGNlbFBhcmFtcyxcbiAgKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8QmxvYj4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxCbG9iPignZG93bmxvYWQvZXhjZWwnLCB7XG4gICAgICBwYXJhbXM6IHBhcmFtcyBhcyBhbnksXG4gICAgICBvYnNlcnZlOiAncmVzcG9uc2UnLFxuICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYicgYXMgJ2pzb24nLFxuICAgIH0pO1xuICB9XG5cbiAgZG93bmxvYWRJbmRpdmlkdWFsUGRmKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxCbG9iPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEJsb2I+KGBkb3dubG9hZC9wZGYvaW5kaXZpZHVhbC8ke2lkfWAsIHtcbiAgICAgIG9ic2VydmU6ICdyZXNwb25zZScsXG4gICAgICByZXNwb25zZVR5cGU6ICdibG9iJyBhcyAnanNvbicsXG4gICAgfSk7XG4gIH1cblxuICBkb3dubG9hZEluZGl2aWR1YWxFeGNlbChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8QmxvYj4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxCbG9iPihgZG93bmxvYWQvZXhjZWwvaW5kaXZpZHVhbC8ke2lkfWAsIHtcbiAgICAgIG9ic2VydmU6ICdyZXNwb25zZScsXG4gICAgICByZXNwb25zZVR5cGU6ICdibG9iJyBhcyAnanNvbicsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /*
2
+ * Public API Surface of quotation-repository
3
+ */
4
+ export * from './lib/index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3F1b3RhdGlvbi1yZXBvc2l0b3J5L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHF1b3RhdGlvbi1yZXBvc2l0b3J5XG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvaW5kZXgnO1xuIl19
@@ -0,0 +1,200 @@
1
+ import * as i1 from '@angular/common/http';
2
+ import { HttpClient, HttpErrorResponse, HttpClientModule } from '@angular/common/http';
3
+ import * as i0 from '@angular/core';
4
+ import { InjectionToken, Injectable, Inject, NgModule } from '@angular/core';
5
+ import { catchError } from 'rxjs';
6
+ import * as i2 from '@angular/router';
7
+
8
+ class QuotationHttpInterceptorHandler {
9
+ constructor(next, interceptor) {
10
+ this.next = next;
11
+ this.interceptor = interceptor;
12
+ }
13
+ handle(req) {
14
+ return this.interceptor.intercept(req, this.next);
15
+ }
16
+ }
17
+ class QuotationHandlerService {
18
+ constructor(backend, injector, interceptors) {
19
+ this.backend = backend;
20
+ this.injector = injector;
21
+ this.interceptors = interceptors;
22
+ this.chain = null;
23
+ }
24
+ handle(req) {
25
+ if (this.chain === null) {
26
+ const interceptors = this.injector.get(this.interceptors, []);
27
+ this.chain = interceptors.reduceRight((next, interceptor) => new QuotationHttpInterceptorHandler(next, interceptor), this.backend);
28
+ }
29
+ return this.chain.handle(req);
30
+ }
31
+ }
32
+ const QUOTATION_HTTP_INTERCEPTORS = new InjectionToken('QUOTATION_HTTP_INTERCEPTORS');
33
+ class QuotationHttpService extends HttpClient {
34
+ constructor(backend, injector) {
35
+ super(new QuotationHandlerService(backend, injector, QUOTATION_HTTP_INTERCEPTORS));
36
+ this.injector = injector;
37
+ }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: QuotationHttpService, deps: [{ token: i1.HttpBackend }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
39
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: QuotationHttpService }); }
40
+ }
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: QuotationHttpService, decorators: [{
42
+ type: Injectable
43
+ }], ctorParameters: () => [{ type: i1.HttpBackend }, { type: i0.Injector }] });
44
+ class QuotationAuthInterceptor {
45
+ constructor(moduleConfig, router) {
46
+ this.moduleConfig = moduleConfig;
47
+ this.router = router;
48
+ }
49
+ intercept(req, next) {
50
+ const authToken = localStorage.getItem('tokenGlobal');
51
+ const { baseUrl } = this.moduleConfig;
52
+ const update = {
53
+ url: `${baseUrl}/${req.url}`,
54
+ };
55
+ if (authToken) {
56
+ update.headers = req.headers.set('Authorization', `Bearer ${authToken}`);
57
+ }
58
+ const authReq = req.clone(update);
59
+ return next.handle(authReq).pipe(catchError((error) => {
60
+ if (error instanceof HttpErrorResponse && error.status === 401) {
61
+ this.router.navigate(['auth', 'login']);
62
+ }
63
+ throw error;
64
+ }));
65
+ }
66
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: QuotationAuthInterceptor, deps: [{ token: QUOTATION_MODULE_CONFIG }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
67
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: QuotationAuthInterceptor }); }
68
+ }
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: QuotationAuthInterceptor, decorators: [{
70
+ type: Injectable
71
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
72
+ type: Inject,
73
+ args: [QUOTATION_MODULE_CONFIG]
74
+ }] }, { type: i2.Router }] });
75
+
76
+ class CbmQuotationService {
77
+ constructor(http) {
78
+ this.http = http;
79
+ }
80
+ list(params) {
81
+ return this.http.get('', {
82
+ params: params,
83
+ });
84
+ }
85
+ getOne(id) {
86
+ return this.http.get(id);
87
+ }
88
+ save(data) {
89
+ return this.http.post('', data);
90
+ }
91
+ update(id, data) {
92
+ return this.http.put(id, data);
93
+ }
94
+ changeStatus(id, data) {
95
+ return this.http.put(`change-status/${id}`, data);
96
+ }
97
+ downloadExcel(params) {
98
+ return this.http.get('download/excel', {
99
+ params: params,
100
+ observe: 'response',
101
+ responseType: 'blob',
102
+ });
103
+ }
104
+ downloadIndividualPdf(id) {
105
+ return this.http.get(`download/pdf/individual/${id}`, {
106
+ observe: 'response',
107
+ responseType: 'blob',
108
+ });
109
+ }
110
+ downloadIndividualExcel(id) {
111
+ return this.http.get(`download/excel/individual/${id}`, {
112
+ observe: 'response',
113
+ responseType: 'blob',
114
+ });
115
+ }
116
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CbmQuotationService, deps: [{ token: QuotationHttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
117
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CbmQuotationService }); }
118
+ }
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CbmQuotationService, decorators: [{
120
+ type: Injectable
121
+ }], ctorParameters: () => [{ type: QuotationHttpService }] });
122
+
123
+ class CbmQuotationRepository {
124
+ constructor(service) {
125
+ this.service = service;
126
+ }
127
+ list(params) {
128
+ return this.service.list(params);
129
+ }
130
+ getOne(id) {
131
+ return this.service.getOne(id);
132
+ }
133
+ save(data) {
134
+ return this.service.save(data);
135
+ }
136
+ update(id, data) {
137
+ return this.service.update(id, data);
138
+ }
139
+ changeStatus(id, data) {
140
+ return this.service.changeStatus(id, data);
141
+ }
142
+ downloadExcel(params) {
143
+ return this.service.downloadExcel(params);
144
+ }
145
+ downloadIndividualPdf(id) {
146
+ return this.service.downloadIndividualPdf(id);
147
+ }
148
+ downloadIndividualExcel(id) {
149
+ return this.service.downloadIndividualExcel(id);
150
+ }
151
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CbmQuotationRepository, deps: [{ token: CbmQuotationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
152
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CbmQuotationRepository }); }
153
+ }
154
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CbmQuotationRepository, decorators: [{
155
+ type: Injectable
156
+ }], ctorParameters: () => [{ type: CbmQuotationService }] });
157
+
158
+ const QUOTATION_MODULE_CONFIG = new InjectionToken('QUOTATION_MODULE_CONFIG');
159
+ class CbmQuotationModule {
160
+ static forRoot(config) {
161
+ return {
162
+ ngModule: CbmQuotationModule,
163
+ providers: [
164
+ QuotationAuthInterceptor,
165
+ {
166
+ provide: QUOTATION_MODULE_CONFIG,
167
+ useValue: config,
168
+ },
169
+ {
170
+ provide: QUOTATION_HTTP_INTERCEPTORS,
171
+ useClass: QuotationAuthInterceptor,
172
+ multi: true,
173
+ },
174
+ QuotationHttpService,
175
+ CbmQuotationService,
176
+ CbmQuotationRepository,
177
+ ],
178
+ };
179
+ }
180
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CbmQuotationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
181
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.7", ngImport: i0, type: CbmQuotationModule, imports: [HttpClientModule] }); }
182
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CbmQuotationModule, imports: [HttpClientModule] }); }
183
+ }
184
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CbmQuotationModule, decorators: [{
185
+ type: NgModule,
186
+ args: [{
187
+ imports: [HttpClientModule],
188
+ }]
189
+ }] });
190
+
191
+ /*
192
+ * Public API Surface of quotation-repository
193
+ */
194
+
195
+ /**
196
+ * Generated bundle index. Do not edit.
197
+ */
198
+
199
+ export { CbmQuotationModule, CbmQuotationRepository, CbmQuotationService, QUOTATION_MODULE_CONFIG };
200
+ //# sourceMappingURL=g2-common-quotation-repository.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"g2-common-quotation-repository.mjs","sources":["../../../projects/quotation-repository/src/lib/http.service.ts","../../../projects/quotation-repository/src/lib/quotation.service.ts","../../../projects/quotation-repository/src/lib/quotation.repository.ts","../../../projects/quotation-repository/src/lib/quotation.module.ts","../../../projects/quotation-repository/src/public-api.ts","../../../projects/quotation-repository/src/g2-common-quotation-repository.ts"],"sourcesContent":["import {\n HttpBackend,\n HttpClient,\n HttpErrorResponse,\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n} from '@angular/common/http';\nimport { Inject, Injectable, InjectionToken, Injector } from '@angular/core';\nimport { Observable, catchError } from 'rxjs';\nimport {\n ICbmQuotationModuleConfig,\n QUOTATION_MODULE_CONFIG,\n} from './quotation.module';\nimport { Router } from '@angular/router';\n\nclass QuotationHttpInterceptorHandler implements HttpHandler {\n constructor(\n private next: HttpHandler,\n private interceptor: HttpInterceptor,\n ) {}\n\n handle(req: HttpRequest<any>): Observable<HttpEvent<any>> {\n return this.interceptor.intercept(req, this.next);\n }\n}\n\nclass QuotationHandlerService implements HttpHandler {\n private chain: HttpHandler | null = null;\n\n constructor(\n private backend: HttpBackend,\n private injector: Injector,\n private interceptors: InjectionToken<HttpInterceptor[]>,\n ) {}\n\n handle(req: HttpRequest<any>): Observable<HttpEvent<any>> {\n if (this.chain === null) {\n const interceptors = this.injector.get(this.interceptors, []);\n\n this.chain = interceptors.reduceRight(\n (next, interceptor) =>\n new QuotationHttpInterceptorHandler(next, interceptor),\n this.backend,\n );\n }\n\n return this.chain.handle(req);\n }\n}\n\nexport const QUOTATION_HTTP_INTERCEPTORS = new InjectionToken<\n HttpInterceptor[]\n>('QUOTATION_HTTP_INTERCEPTORS');\n\n@Injectable()\nexport class QuotationHttpService extends HttpClient {\n constructor(\n backend: HttpBackend,\n private injector: Injector,\n ) {\n super(\n new QuotationHandlerService(\n backend,\n injector,\n QUOTATION_HTTP_INTERCEPTORS,\n ),\n );\n }\n}\n\n@Injectable()\nexport class QuotationAuthInterceptor implements HttpInterceptor {\n constructor(\n @Inject(QUOTATION_MODULE_CONFIG)\n private moduleConfig: ICbmQuotationModuleConfig,\n private router: Router,\n ) {}\n\n intercept(\n req: HttpRequest<any>,\n next: HttpHandler,\n ): Observable<HttpEvent<any>> {\n const authToken = localStorage.getItem('tokenGlobal');\n const { baseUrl } = this.moduleConfig;\n\n const update: Parameters<typeof req.clone>[0] = {\n url: `${baseUrl}/${req.url}`,\n };\n\n if (authToken) {\n update.headers = req.headers.set('Authorization', `Bearer ${authToken}`);\n }\n\n const authReq = req.clone(update);\n\n return next.handle(authReq).pipe(\n catchError((error) => {\n if (error instanceof HttpErrorResponse && error.status === 401) {\n this.router.navigate(['auth', 'login']);\n }\n\n throw error;\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { QuotationHttpService } from './http.service';\nimport { CbmQuotationModel } from './quotation.model';\nimport { Observable } from 'rxjs';\nimport { HttpResponse } from '@angular/common/http';\n\n@Injectable()\nexport class CbmQuotationService {\n constructor(private http: QuotationHttpService) {}\n\n list(\n params: CbmQuotationModel.ListParams,\n ): Observable<CbmQuotationModel.ListResponse> {\n return this.http.get<CbmQuotationModel.ListResponse>('', {\n params: params as any,\n });\n }\n\n getOne(id: string): Observable<CbmQuotationModel.GetOneResponse> {\n return this.http.get<CbmQuotationModel.GetOneResponse>(id);\n }\n\n save(\n data: CbmQuotationModel.SaveBody,\n ): Observable<CbmQuotationModel.ConfirmResponse> {\n return this.http.post<CbmQuotationModel.ConfirmResponse>('', data);\n }\n\n update(\n id: string,\n data: CbmQuotationModel.UpdateBody,\n ): Observable<CbmQuotationModel.ConfirmResponse> {\n return this.http.put<CbmQuotationModel.ConfirmResponse>(id, data);\n }\n\n changeStatus(\n id: string,\n data: CbmQuotationModel.ChangeStatusBody,\n ): Observable<CbmQuotationModel.ConfirmResponse> {\n return this.http.put<CbmQuotationModel.ConfirmResponse>(\n `change-status/${id}`,\n data,\n );\n }\n\n downloadExcel(\n params: CbmQuotationModel.DownloadExcelParams,\n ): Observable<HttpResponse<Blob>> {\n return this.http.get<Blob>('download/excel', {\n params: params as any,\n observe: 'response',\n responseType: 'blob' as 'json',\n });\n }\n\n downloadIndividualPdf(id: string): Observable<HttpResponse<Blob>> {\n return this.http.get<Blob>(`download/pdf/individual/${id}`, {\n observe: 'response',\n responseType: 'blob' as 'json',\n });\n }\n\n downloadIndividualExcel(id: string): Observable<HttpResponse<Blob>> {\n return this.http.get<Blob>(`download/excel/individual/${id}`, {\n observe: 'response',\n responseType: 'blob' as 'json',\n });\n }\n}\n","import { Observable } from 'rxjs';\nimport { CbmQuotationModel } from './quotation.model';\nimport { HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { CbmQuotationService } from './quotation.service';\n\nexport interface ICbmQuotationRepository {\n list(\n params: CbmQuotationModel.ListParams,\n ): Observable<CbmQuotationModel.ListResponse>;\n\n getOne(id: string): Observable<CbmQuotationModel.GetOneResponse>;\n\n save(\n data: CbmQuotationModel.SaveBody,\n ): Observable<CbmQuotationModel.ConfirmResponse>;\n\n update(\n id: string,\n data: CbmQuotationModel.UpdateBody,\n ): Observable<CbmQuotationModel.ConfirmResponse>;\n\n changeStatus(\n id: string,\n data: CbmQuotationModel.ChangeStatusBody,\n ): Observable<CbmQuotationModel.ConfirmResponse>;\n\n downloadExcel(\n params: CbmQuotationModel.DownloadExcelParams,\n ): Observable<HttpResponse<Blob>>;\n\n downloadIndividualPdf(id: string): Observable<HttpResponse<Blob>>;\n\n downloadIndividualExcel(id: string): Observable<HttpResponse<Blob>>;\n}\n\n@Injectable()\nexport class CbmQuotationRepository implements ICbmQuotationRepository {\n constructor(private service: CbmQuotationService) {}\n\n list(\n params: CbmQuotationModel.ListParams,\n ): Observable<CbmQuotationModel.ListResponse> {\n return this.service.list(params);\n }\n\n getOne(id: string): Observable<CbmQuotationModel.GetOneResponse> {\n return this.service.getOne(id);\n }\n\n save(\n data: CbmQuotationModel.SaveBody,\n ): Observable<CbmQuotationModel.ConfirmResponse> {\n return this.service.save(data);\n }\n\n update(\n id: string,\n data: CbmQuotationModel.UpdateBody,\n ): Observable<CbmQuotationModel.ConfirmResponse> {\n return this.service.update(id, data);\n }\n\n changeStatus(\n id: string,\n data: CbmQuotationModel.ChangeStatusBody,\n ): Observable<CbmQuotationModel.ConfirmResponse> {\n return this.service.changeStatus(id, data);\n }\n\n downloadExcel(\n params: CbmQuotationModel.DownloadExcelParams,\n ): Observable<HttpResponse<Blob>> {\n return this.service.downloadExcel(params);\n }\n\n downloadIndividualPdf(id: string): Observable<HttpResponse<Blob>> {\n return this.service.downloadIndividualPdf(id);\n }\n\n downloadIndividualExcel(id: string): Observable<HttpResponse<Blob>> {\n return this.service.downloadIndividualExcel(id);\n }\n}\n","import { HttpClientModule } from '@angular/common/http';\nimport { InjectionToken, ModuleWithProviders, NgModule } from '@angular/core';\nimport {\n QUOTATION_HTTP_INTERCEPTORS,\n QuotationAuthInterceptor,\n QuotationHttpService,\n} from './http.service';\nimport { CbmQuotationService } from './quotation.service';\nimport { CbmQuotationRepository } from './quotation.repository';\n\nexport interface ICbmQuotationModuleConfig {\n baseUrl: string;\n}\n\nexport const QUOTATION_MODULE_CONFIG =\n new InjectionToken<ICbmQuotationModuleConfig>('QUOTATION_MODULE_CONFIG');\n\n@NgModule({\n imports: [HttpClientModule],\n})\nexport class CbmQuotationModule {\n static forRoot(\n config: ICbmQuotationModuleConfig,\n ): ModuleWithProviders<CbmQuotationModule> {\n return {\n ngModule: CbmQuotationModule,\n providers: [\n QuotationAuthInterceptor,\n {\n provide: QUOTATION_MODULE_CONFIG,\n useValue: config,\n },\n {\n provide: QUOTATION_HTTP_INTERCEPTORS,\n useClass: QuotationAuthInterceptor,\n multi: true,\n },\n QuotationHttpService,\n CbmQuotationService,\n CbmQuotationRepository,\n ],\n };\n }\n}\n","/*\n * Public API Surface of quotation-repository\n */\n\nexport * from './lib/index';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.QuotationHttpService","i1.CbmQuotationService"],"mappings":"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"}
package/index.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@g2-common/quotation-repository" />
5
+ export * from './public-api';
@@ -0,0 +1,21 @@
1
+ import { HttpBackend, HttpClient, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';
2
+ import { InjectionToken, Injector } from '@angular/core';
3
+ import { Observable } from 'rxjs';
4
+ import { ICbmQuotationModuleConfig } from './quotation.module';
5
+ import { Router } from '@angular/router';
6
+ import * as i0 from "@angular/core";
7
+ export declare const QUOTATION_HTTP_INTERCEPTORS: InjectionToken<HttpInterceptor[]>;
8
+ export declare class QuotationHttpService extends HttpClient {
9
+ private injector;
10
+ constructor(backend: HttpBackend, injector: Injector);
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<QuotationHttpService, never>;
12
+ static ɵprov: i0.ɵɵInjectableDeclaration<QuotationHttpService>;
13
+ }
14
+ export declare class QuotationAuthInterceptor implements HttpInterceptor {
15
+ private moduleConfig;
16
+ private router;
17
+ constructor(moduleConfig: ICbmQuotationModuleConfig, router: Router);
18
+ intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>;
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<QuotationAuthInterceptor, never>;
20
+ static ɵprov: i0.ɵɵInjectableDeclaration<QuotationAuthInterceptor>;
21
+ }
package/lib/index.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ export * from './quotation.model';
2
+ export * from './quotation.module';
3
+ export * from './quotation.repository';
4
+ export * from './quotation.service';
@@ -0,0 +1,464 @@
1
+ import { CbmSalePriceModel } from '@g2-common/sale-price-repository';
2
+ export declare namespace CbmQuotationModel {
3
+ type DetailType = 'item' | 'service' | 'kit';
4
+ interface ListParams {
5
+ page: number;
6
+ size: number;
7
+ enabled?: boolean;
8
+ document_number?: string;
9
+ state?: string;
10
+ client_branch_id?: string;
11
+ client_id?: string;
12
+ from_date?: number;
13
+ to_date?: number;
14
+ }
15
+ interface ListResponse {
16
+ success: boolean;
17
+ pageNum: number;
18
+ pageSize: number;
19
+ pages: number;
20
+ total: number;
21
+ items: ListResponse.Item[];
22
+ }
23
+ namespace ListResponse {
24
+ interface Item {
25
+ _id: string;
26
+ company_id?: string;
27
+ company_branch_id?: string;
28
+ client_id?: string;
29
+ contact_id?: string;
30
+ seller_id?: string;
31
+ date_document?: number;
32
+ state?: string;
33
+ expired_at?: number;
34
+ document_nomenclature?: string;
35
+ document_number?: string;
36
+ tax_base?: number;
37
+ discount?: number;
38
+ service?: number;
39
+ comentary?: string;
40
+ client_document_number?: string;
41
+ client_trade_name?: string;
42
+ client_business_name?: string;
43
+ client_phone_code?: string;
44
+ client_address?: string;
45
+ client_cellphone?: string;
46
+ client_email?: string;
47
+ seller_full_name?: string;
48
+ seller_document_number?: string;
49
+ company_NIF?: string;
50
+ company_address?: string;
51
+ company_trade_name?: string;
52
+ company_business_name?: string;
53
+ company_branch_identification_number?: string;
54
+ company_branch_trade_name?: string;
55
+ company_branch_logo?: string;
56
+ company_branch_address?: string;
57
+ company_branch_email?: string;
58
+ company_branch_cellphone?: string;
59
+ company_branch_phone?: string;
60
+ default_price_list_id?: string;
61
+ default_warehouse_id?: string;
62
+ default_cost_center_id?: string;
63
+ default_discount_rate?: number;
64
+ enabled?: boolean;
65
+ disabled_reason?: string;
66
+ created_at?: number;
67
+ created_user?: string;
68
+ updated_at?: number;
69
+ updated_user?: string;
70
+ }
71
+ }
72
+ interface GetOneResponse {
73
+ success: boolean;
74
+ data: GetOneResponse.Data;
75
+ }
76
+ namespace GetOneResponse {
77
+ interface Data {
78
+ _id: string;
79
+ company_id?: string;
80
+ company_branch_id?: string;
81
+ client_id?: string;
82
+ client_branch_id?: string;
83
+ contact_id?: string;
84
+ seller_id?: string;
85
+ date_document?: number;
86
+ state?: string;
87
+ expired_at?: number;
88
+ document_nomenclature?: string;
89
+ document_number?: string;
90
+ tax_base?: number;
91
+ discount?: number;
92
+ service?: number;
93
+ commentary?: string;
94
+ client_document_number?: string;
95
+ client_trade_name?: string;
96
+ client_business_name?: string;
97
+ client_phone_code?: string;
98
+ client_address?: string;
99
+ client_cellphone?: string;
100
+ client_email?: string;
101
+ client_branch_code?: string;
102
+ client_branch_name?: string;
103
+ client_branch_address?: string;
104
+ client_branch_email?: string;
105
+ client_branch_cellphone?: string;
106
+ client_branch_phone?: string;
107
+ client_branch_phone_code?: string;
108
+ contact_identification_number?: string;
109
+ contact_full_name?: string;
110
+ contact_phone_code?: string;
111
+ contact_cellphone?: string;
112
+ contact_email?: string;
113
+ seller_full_name?: string;
114
+ seller_identification_number?: string;
115
+ company_NIF?: string;
116
+ company_address?: string;
117
+ company_trade_name?: string;
118
+ company_business_name?: string;
119
+ company_branch_identification_number?: string;
120
+ company_branch_trade_name?: string;
121
+ company_branch_logo?: string;
122
+ company_branch_address?: string;
123
+ company_branch_email?: string;
124
+ company_branch_cellphone?: string;
125
+ company_branch_phone?: string;
126
+ default_price_list_id?: string;
127
+ default_warehouse_id?: string;
128
+ default_cost_center_id?: string;
129
+ default_discount_rate?: number;
130
+ enabled?: boolean;
131
+ deleted?: boolean;
132
+ created_at?: number;
133
+ created_user?: string;
134
+ quotation_detail?: Data.Detail[];
135
+ quotation_tax?: Data.Tax[];
136
+ }
137
+ namespace Data {
138
+ interface Detail {
139
+ _id: string;
140
+ quotation_id?: string;
141
+ item_id?: string;
142
+ category_id?: string;
143
+ warehouse_id?: string;
144
+ cost_center_id?: string;
145
+ price_list_id?: string;
146
+ tax_iva_id?: string;
147
+ unit_measure_id?: string;
148
+ amount?: number;
149
+ price_base?: number;
150
+ total_price?: number;
151
+ discount_rate?: number;
152
+ unit_discount?: number;
153
+ total_discount?: number;
154
+ replace_item_name?: string;
155
+ commentary_item?: string;
156
+ tax_iva_rate?: number;
157
+ in_stock?: number;
158
+ warehouse_code?: string;
159
+ warehouse_name?: string;
160
+ warehouse_address?: string;
161
+ item_code?: string;
162
+ item_barcode?: string;
163
+ item_name?: string;
164
+ unit_measure_name?: string;
165
+ category_name?: string;
166
+ cost_center_code?: string;
167
+ cost_center_name?: string;
168
+ price_list_name?: string;
169
+ type?: DetailType;
170
+ price_type?: CbmSalePriceModel.TName;
171
+ price_type_id?: string;
172
+ deleted?: boolean;
173
+ created_at?: number;
174
+ created_user?: string;
175
+ quotation_detail_tax?: Detail.Tax[];
176
+ }
177
+ namespace Detail {
178
+ interface Tax {
179
+ _id: string;
180
+ quotation_detail_id?: string;
181
+ type?: string;
182
+ tax_code?: string;
183
+ tax_rate?: number;
184
+ tax_base?: number;
185
+ tax_value?: number;
186
+ }
187
+ }
188
+ interface Tax {
189
+ _id: string;
190
+ quotation_id: string;
191
+ type: string;
192
+ tax_code: string;
193
+ tax_rate: number;
194
+ tax_base: number;
195
+ tax_value: number;
196
+ created_at: number;
197
+ created_user: string;
198
+ }
199
+ }
200
+ }
201
+ interface SaveBody {
202
+ client_id: string;
203
+ client_branch_id?: string;
204
+ contact_id?: string;
205
+ seller_id: string;
206
+ date_document: number;
207
+ expired_at: number;
208
+ tax_base: number;
209
+ discount: number;
210
+ service: number;
211
+ commentary: string;
212
+ client_document_number: string;
213
+ client_trade_name: string;
214
+ client_business_name: string;
215
+ client_phone_code: string;
216
+ client_address: string;
217
+ client_cellphone: string;
218
+ client_email: string;
219
+ client_category_name: string;
220
+ client_branch_code?: string;
221
+ client_branch_name?: string;
222
+ client_branch_address?: string;
223
+ client_branch_email?: string;
224
+ client_branch_cellphone?: string;
225
+ client_branch_phone?: string;
226
+ client_branch_phone_code?: string;
227
+ contact_identification_number?: string;
228
+ contact_full_name?: string;
229
+ contact_phone_code?: string;
230
+ contact_cellphone?: string;
231
+ contact_email?: string;
232
+ seller_full_name: string;
233
+ seller_identification_number: string;
234
+ company_NIF: string;
235
+ company_address: string;
236
+ company_trade_name: string;
237
+ company_business_name: string;
238
+ company_branch_identification_number: string;
239
+ company_branch_trade_name: string;
240
+ company_branch_logo: string;
241
+ company_branch_address: string;
242
+ company_branch_email: string;
243
+ company_branch_cellphone: string;
244
+ company_branch_phone: string;
245
+ default_price_list_id?: string;
246
+ default_warehouse_id?: string;
247
+ default_cost_center_id?: string;
248
+ default_discount_rate?: number;
249
+ tax_base_iva: number;
250
+ tax_base_iva_rate_0: number;
251
+ tax_base_iva_exempt: number;
252
+ tax_base_iva_not_subject: number;
253
+ tax_base_irbpnr: number;
254
+ tax_base_ice: number;
255
+ rate_iva: number;
256
+ code_iva: string;
257
+ tax_iva: number;
258
+ tax_irbpnr: number;
259
+ tax_ice: number;
260
+ total: number;
261
+ quotation_detail: SaveBody.Detail[];
262
+ quotation_tax: SaveBody.Tax[];
263
+ }
264
+ namespace SaveBody {
265
+ interface Detail {
266
+ item_id: string;
267
+ category_id: string;
268
+ warehouse_id?: string;
269
+ cost_center_id?: string;
270
+ price_list_id: string;
271
+ tax_iva_id: string;
272
+ tax_irbpn_id?: string;
273
+ tax_ice_id?: string;
274
+ unit_measure_id?: string;
275
+ amount: number;
276
+ free_amount?: number;
277
+ price_base: number;
278
+ total_price: number;
279
+ discount_rate: number;
280
+ unit_discount: number;
281
+ total_discount: number;
282
+ commentary_item?: string | null;
283
+ replace_item_name?: string | null;
284
+ tax_iva_rate: number;
285
+ in_stock?: number;
286
+ warehouse_code?: string;
287
+ warehouse_name?: string;
288
+ warehouse_address?: string;
289
+ item_code: string;
290
+ item_barcode?: string;
291
+ item_name: string;
292
+ unit_measure_name?: string;
293
+ category_name: string;
294
+ cost_center_code?: string;
295
+ cost_center_name?: string;
296
+ price_list_name: string;
297
+ type: DetailType;
298
+ price_type?: CbmSalePriceModel.TName;
299
+ price_type_id?: string;
300
+ quotation_detail_tax: Detail.Tax[];
301
+ }
302
+ namespace Detail {
303
+ interface Tax {
304
+ type: string;
305
+ tax_code: string;
306
+ tax_rate: number;
307
+ tax_base: number;
308
+ tax_value: number;
309
+ }
310
+ }
311
+ interface Tax {
312
+ type: string;
313
+ tax_code: string;
314
+ tax_rate: number;
315
+ tax_base: number;
316
+ tax_value: number;
317
+ }
318
+ }
319
+ interface UpdateBody {
320
+ client_id?: string;
321
+ client_branch_id?: string;
322
+ contact_id?: string;
323
+ seller_id?: string;
324
+ date_document?: number;
325
+ expired_at?: number;
326
+ tax_base?: number;
327
+ discount?: number;
328
+ service?: number;
329
+ commentary?: string;
330
+ client_document_number?: string;
331
+ client_trade_name?: string;
332
+ client_business_name?: string;
333
+ client_phone_code?: string;
334
+ client_address?: string;
335
+ client_cellphone?: string;
336
+ client_email?: string;
337
+ client_category_name?: string;
338
+ client_branch_code?: string;
339
+ client_branch_name?: string;
340
+ client_branch_address?: string;
341
+ client_branch_email?: string;
342
+ client_branch_cellphone?: string;
343
+ client_branch_phone?: string;
344
+ client_branch_phone_code?: string;
345
+ contact_identification_number?: string;
346
+ contact_full_name?: string;
347
+ contact_phone_code?: string;
348
+ contact_cellphone?: string;
349
+ contact_email?: string;
350
+ seller_full_name?: string;
351
+ seller_identification_number?: string;
352
+ company_NIF?: string;
353
+ company_address?: string;
354
+ company_trade_name?: string;
355
+ company_business_name?: string;
356
+ company_branch_identification_number?: string;
357
+ company_branch_trade_name?: string;
358
+ company_branch_logo?: string;
359
+ company_branch_address?: string;
360
+ company_branch_email?: string;
361
+ company_branch_cellphone?: string;
362
+ company_branch_phone?: string;
363
+ default_price_list_id?: string;
364
+ default_warehouse_id?: string;
365
+ default_cost_center_id?: string;
366
+ default_discount_rate?: number;
367
+ tax_base_iva?: number;
368
+ tax_base_iva_rate_0?: number;
369
+ tax_base_iva_exempt?: number;
370
+ tax_base_iva_not_subject?: number;
371
+ tax_base_irbpnr?: number;
372
+ tax_base_ice?: number;
373
+ rate_iva?: number;
374
+ code_iva?: string;
375
+ tax_iva?: number;
376
+ tax_irbpnr?: number;
377
+ tax_ice?: number;
378
+ total?: number;
379
+ type?: DetailType;
380
+ quotation_detail?: UpdateBody.Detail[];
381
+ quotation_tax?: UpdateBody.Tax;
382
+ }
383
+ namespace UpdateBody {
384
+ interface Detail {
385
+ _id?: string;
386
+ item_id?: string;
387
+ category_id?: string;
388
+ warehouse_id?: string;
389
+ cost_center_id?: string;
390
+ price_list_id?: string;
391
+ tax_iva_id?: string;
392
+ tax_irbpn_id?: string;
393
+ tax_ice_id?: string;
394
+ unit_measure_id?: string;
395
+ amount?: number;
396
+ free_amount?: number;
397
+ price_base?: number;
398
+ total_price?: number;
399
+ discount_rate?: number;
400
+ unit_discount?: number;
401
+ total_discount?: number;
402
+ commentary_item?: string | null;
403
+ replace_item_name?: string | null;
404
+ tax_iva_rate?: number;
405
+ in_stock?: number;
406
+ warehouse_code?: string;
407
+ warehouse_name?: string;
408
+ warehouse_address?: string;
409
+ item_code?: string;
410
+ item_barcode?: string;
411
+ item_name?: string;
412
+ unit_measure_name?: string;
413
+ category_name?: string;
414
+ cost_center_code?: string;
415
+ cost_center_name?: string;
416
+ price_list_name?: string;
417
+ type?: DetailType;
418
+ price_type?: CbmSalePriceModel.TName;
419
+ price_type_id?: string;
420
+ quotation_detail_tax?: Detail.Tax[];
421
+ }
422
+ namespace Detail {
423
+ interface Tax {
424
+ _id?: string;
425
+ type: string;
426
+ tax_code: string;
427
+ tax_rate: number;
428
+ tax_base: number;
429
+ tax_value: number;
430
+ }
431
+ }
432
+ interface Tax {
433
+ deleted_records: string[];
434
+ data: Tax.Data[];
435
+ }
436
+ namespace Tax {
437
+ interface Data {
438
+ type: string;
439
+ tax_code: string;
440
+ tax_rate: number;
441
+ tax_base: number;
442
+ tax_value: number;
443
+ }
444
+ }
445
+ }
446
+ interface DownloadExcelParams {
447
+ to_date?: number;
448
+ from_date?: number;
449
+ enabled?: boolean;
450
+ document_number?: string;
451
+ state?: string;
452
+ client_branch_id?: string;
453
+ client_id?: string;
454
+ }
455
+ interface ChangeStatusBody {
456
+ enabled: boolean;
457
+ disabled_reason?: string;
458
+ }
459
+ interface ConfirmResponse {
460
+ success: boolean;
461
+ message: string;
462
+ data?: any;
463
+ }
464
+ }
@@ -0,0 +1,13 @@
1
+ import { InjectionToken, ModuleWithProviders } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common/http";
4
+ export interface ICbmQuotationModuleConfig {
5
+ baseUrl: string;
6
+ }
7
+ export declare const QUOTATION_MODULE_CONFIG: InjectionToken<ICbmQuotationModuleConfig>;
8
+ export declare class CbmQuotationModule {
9
+ static forRoot(config: ICbmQuotationModuleConfig): ModuleWithProviders<CbmQuotationModule>;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<CbmQuotationModule, never>;
11
+ static ɵmod: i0.ɵɵNgModuleDeclaration<CbmQuotationModule, never, [typeof i1.HttpClientModule], never>;
12
+ static ɵinj: i0.ɵɵInjectorDeclaration<CbmQuotationModule>;
13
+ }
@@ -0,0 +1,29 @@
1
+ import { Observable } from 'rxjs';
2
+ import { CbmQuotationModel } from './quotation.model';
3
+ import { HttpResponse } from '@angular/common/http';
4
+ import { CbmQuotationService } from './quotation.service';
5
+ import * as i0 from "@angular/core";
6
+ export interface ICbmQuotationRepository {
7
+ list(params: CbmQuotationModel.ListParams): Observable<CbmQuotationModel.ListResponse>;
8
+ getOne(id: string): Observable<CbmQuotationModel.GetOneResponse>;
9
+ save(data: CbmQuotationModel.SaveBody): Observable<CbmQuotationModel.ConfirmResponse>;
10
+ update(id: string, data: CbmQuotationModel.UpdateBody): Observable<CbmQuotationModel.ConfirmResponse>;
11
+ changeStatus(id: string, data: CbmQuotationModel.ChangeStatusBody): Observable<CbmQuotationModel.ConfirmResponse>;
12
+ downloadExcel(params: CbmQuotationModel.DownloadExcelParams): Observable<HttpResponse<Blob>>;
13
+ downloadIndividualPdf(id: string): Observable<HttpResponse<Blob>>;
14
+ downloadIndividualExcel(id: string): Observable<HttpResponse<Blob>>;
15
+ }
16
+ export declare class CbmQuotationRepository implements ICbmQuotationRepository {
17
+ private service;
18
+ constructor(service: CbmQuotationService);
19
+ list(params: CbmQuotationModel.ListParams): Observable<CbmQuotationModel.ListResponse>;
20
+ getOne(id: string): Observable<CbmQuotationModel.GetOneResponse>;
21
+ save(data: CbmQuotationModel.SaveBody): Observable<CbmQuotationModel.ConfirmResponse>;
22
+ update(id: string, data: CbmQuotationModel.UpdateBody): Observable<CbmQuotationModel.ConfirmResponse>;
23
+ changeStatus(id: string, data: CbmQuotationModel.ChangeStatusBody): Observable<CbmQuotationModel.ConfirmResponse>;
24
+ downloadExcel(params: CbmQuotationModel.DownloadExcelParams): Observable<HttpResponse<Blob>>;
25
+ downloadIndividualPdf(id: string): Observable<HttpResponse<Blob>>;
26
+ downloadIndividualExcel(id: string): Observable<HttpResponse<Blob>>;
27
+ static ɵfac: i0.ɵɵFactoryDeclaration<CbmQuotationRepository, never>;
28
+ static ɵprov: i0.ɵɵInjectableDeclaration<CbmQuotationRepository>;
29
+ }
@@ -0,0 +1,19 @@
1
+ import { QuotationHttpService } from './http.service';
2
+ import { CbmQuotationModel } from './quotation.model';
3
+ import { Observable } from 'rxjs';
4
+ import { HttpResponse } from '@angular/common/http';
5
+ import * as i0 from "@angular/core";
6
+ export declare class CbmQuotationService {
7
+ private http;
8
+ constructor(http: QuotationHttpService);
9
+ list(params: CbmQuotationModel.ListParams): Observable<CbmQuotationModel.ListResponse>;
10
+ getOne(id: string): Observable<CbmQuotationModel.GetOneResponse>;
11
+ save(data: CbmQuotationModel.SaveBody): Observable<CbmQuotationModel.ConfirmResponse>;
12
+ update(id: string, data: CbmQuotationModel.UpdateBody): Observable<CbmQuotationModel.ConfirmResponse>;
13
+ changeStatus(id: string, data: CbmQuotationModel.ChangeStatusBody): Observable<CbmQuotationModel.ConfirmResponse>;
14
+ downloadExcel(params: CbmQuotationModel.DownloadExcelParams): Observable<HttpResponse<Blob>>;
15
+ downloadIndividualPdf(id: string): Observable<HttpResponse<Blob>>;
16
+ downloadIndividualExcel(id: string): Observable<HttpResponse<Blob>>;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<CbmQuotationService, never>;
18
+ static ɵprov: i0.ɵɵInjectableDeclaration<CbmQuotationService>;
19
+ }
package/package.json ADDED
@@ -0,0 +1,26 @@
1
+ {
2
+ "name": "@g2-common/quotation-repository",
3
+ "version": "0.0.1",
4
+ "peerDependencies": {
5
+ "@angular/common": "^17.3.0",
6
+ "@angular/core": "^17.3.0",
7
+ "@g2-common/sale-price-repository": "^0.0.1"
8
+ },
9
+ "dependencies": {
10
+ "tslib": "^2.3.0"
11
+ },
12
+ "sideEffects": false,
13
+ "module": "fesm2022/g2-common-quotation-repository.mjs",
14
+ "typings": "index.d.ts",
15
+ "exports": {
16
+ "./package.json": {
17
+ "default": "./package.json"
18
+ },
19
+ ".": {
20
+ "types": "./index.d.ts",
21
+ "esm2022": "./esm2022/g2-common-quotation-repository.mjs",
22
+ "esm": "./esm2022/g2-common-quotation-repository.mjs",
23
+ "default": "./fesm2022/g2-common-quotation-repository.mjs"
24
+ }
25
+ }
26
+ }
@@ -0,0 +1 @@
1
+ export * from './lib/index';