@wertzui/ngx-restworld-client 2.0.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{esm2015/lib/constants/link-names.js → esm2020/lib/constants/link-names.mjs} +0 -0
- package/{esm2015/lib/models/api-url.js → esm2020/lib/models/api-url.mjs} +0 -0
- package/{esm2015/lib/models/client-settings.js → esm2020/lib/models/client-settings.mjs} +0 -0
- package/{esm2015/lib/models/problem-details.js → esm2020/lib/models/problem-details.mjs} +0 -0
- package/{esm2015/lib/models/restworld-options.js → esm2020/lib/models/restworld-options.mjs} +0 -0
- package/{esm2015/lib/pipes/as.pipe.js → esm2020/lib/pipes/as.pipe.mjs} +4 -4
- package/{esm2015/lib/pipes/safe-url.pipe.js → esm2020/lib/pipes/safe-url.pipe.mjs} +4 -4
- package/esm2020/lib/restworld-client.module.mjs +200 -0
- package/{esm2015/lib/services/avatar-generator.js → esm2020/lib/services/avatar-generator.mjs} +4 -4
- package/{esm2015/lib/services/form.service.js → esm2020/lib/services/form.service.mjs} +4 -4
- package/esm2020/lib/services/restworld-client-collection.mjs +39 -0
- package/esm2020/lib/services/restworld-client.mjs +162 -0
- package/esm2020/lib/services/settings.service.mjs +39 -0
- package/esm2020/lib/views/restworld-edit-form/restworld-edit-form.component.mjs +230 -0
- package/esm2020/lib/views/restworld-edit-view/restworld-edit-view.component.mjs +313 -0
- package/esm2020/lib/views/restworld-file-view/restworld-file-view.component.mjs +57 -0
- package/esm2020/lib/views/restworld-image-view/restworld-image-view.component.mjs +100 -0
- package/esm2020/lib/views/restworld-list-view/restworld-list-view.component.mjs +341 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
- package/{esm2015/wertzui-ngx-restworld-client.js → esm2020/wertzui-ngx-restworld-client.mjs} +0 -0
- package/fesm2015/wertzui-ngx-restworld-client.mjs +1706 -0
- package/fesm2015/wertzui-ngx-restworld-client.mjs.map +1 -0
- package/fesm2020/wertzui-ngx-restworld-client.mjs +1646 -0
- package/fesm2020/wertzui-ngx-restworld-client.mjs.map +1 -0
- package/package.json +42 -31
- package/bundles/wertzui-ngx-restworld-client.umd.js +0 -2477
- package/bundles/wertzui-ngx-restworld-client.umd.js.map +0 -1
- package/esm2015/lib/restworld-client.module.js +0 -201
- package/esm2015/lib/services/restworld-client-collection.js +0 -42
- package/esm2015/lib/services/restworld-client.js +0 -183
- package/esm2015/lib/services/settings.service.js +0 -47
- package/esm2015/lib/views/restworld-edit-form/restworld-edit-form.component.js +0 -238
- package/esm2015/lib/views/restworld-edit-view/restworld-edit-view.component.js +0 -335
- package/esm2015/lib/views/restworld-file-view/restworld-file-view.component.js +0 -63
- package/esm2015/lib/views/restworld-image-view/restworld-image-view.component.js +0 -107
- package/esm2015/lib/views/restworld-list-view/restworld-list-view.component.js +0 -353
- package/fesm2015/wertzui-ngx-restworld-client.js +0 -1728
- package/fesm2015/wertzui-ngx-restworld-client.js.map +0 -1
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { APP_INITIALIZER, NgModule } from '@angular/core';
|
|
3
|
-
import { CommonModule } from '@angular/common';
|
|
4
|
-
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
5
|
-
import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
6
|
-
import { RouterModule } from '@angular/router';
|
|
7
|
-
import { TableModule } from 'primeng/table';
|
|
8
|
-
import { TooltipModule } from 'primeng/tooltip';
|
|
9
|
-
import { ReactiveFormsModule, FormsModule } from '@angular/forms';
|
|
10
|
-
import { InputTextModule } from 'primeng/inputtext';
|
|
11
|
-
import { InputNumberModule } from 'primeng/inputnumber';
|
|
12
|
-
import { CalendarModule } from 'primeng/calendar';
|
|
13
|
-
import { CheckboxModule } from 'primeng/checkbox';
|
|
14
|
-
import { ConfirmDialogModule } from 'primeng/confirmdialog';
|
|
15
|
-
import { ConfirmationService, MessageService } from 'primeng/api';
|
|
16
|
-
import { ToastModule } from 'primeng/toast';
|
|
17
|
-
import { MessagesModule } from 'primeng/messages';
|
|
18
|
-
import { PanelModule } from 'primeng/panel';
|
|
19
|
-
import { TabViewModule } from 'primeng/tabview';
|
|
20
|
-
import { SkeletonModule } from 'primeng/skeleton';
|
|
21
|
-
import { ProgressSpinnerModule } from 'primeng/progressspinner';
|
|
22
|
-
import { RippleModule } from 'primeng/ripple';
|
|
23
|
-
import { TriStateCheckboxModule } from 'primeng/tristatecheckbox';
|
|
24
|
-
import { AvatarModule } from 'primeng/avatar';
|
|
25
|
-
import { DropdownModule } from 'primeng/dropdown';
|
|
26
|
-
import { MultiSelectModule } from 'primeng/multiselect';
|
|
27
|
-
import { FileUploadModule } from 'primeng/fileupload';
|
|
28
|
-
import { ValdemortModule } from 'ngx-valdemort';
|
|
29
|
-
import { ImageCropperModule } from 'ngx-image-cropper';
|
|
30
|
-
import { DialogModule } from 'primeng/dialog';
|
|
31
|
-
import { ColorPickerModule } from 'primeng/colorpicker';
|
|
32
|
-
import { RESTworldListViewComponent } from './views/restworld-list-view/restworld-list-view.component';
|
|
33
|
-
import { RESTworldEditViewComponent } from './views/restworld-edit-view/restworld-edit-view.component';
|
|
34
|
-
import { RESTworldClientCollection } from './services/restworld-client-collection';
|
|
35
|
-
import { AvatarGenerator } from './services/avatar-generator';
|
|
36
|
-
import { SettingsService } from './services/settings.service';
|
|
37
|
-
import { RESTWorldImageViewComponent } from './views/restworld-image-view/restworld-image-view.component';
|
|
38
|
-
import { ButtonModule } from 'primeng/button';
|
|
39
|
-
import { RESTWorldFileViewComponent } from './views/restworld-file-view/restworld-file-view.component';
|
|
40
|
-
import { SafeUrlPipe } from './pipes/safe-url.pipe';
|
|
41
|
-
import { RestworldEditFormComponent } from './views/restworld-edit-form/restworld-edit-form.component';
|
|
42
|
-
import { FormService } from './services/form.service';
|
|
43
|
-
import { AsPipe } from './pipes/as.pipe';
|
|
44
|
-
import * as i0 from "@angular/core";
|
|
45
|
-
export function initializeSettings(settingsService) {
|
|
46
|
-
return () => __awaiter(this, void 0, void 0, function* () { return yield settingsService.initialize(); });
|
|
47
|
-
}
|
|
48
|
-
export class RestworldClientModule {
|
|
49
|
-
}
|
|
50
|
-
RestworldClientModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: RestworldClientModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
51
|
-
RestworldClientModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: RestworldClientModule, declarations: [RESTworldListViewComponent,
|
|
52
|
-
RESTworldEditViewComponent,
|
|
53
|
-
RESTWorldImageViewComponent,
|
|
54
|
-
RESTWorldFileViewComponent,
|
|
55
|
-
SafeUrlPipe,
|
|
56
|
-
AsPipe,
|
|
57
|
-
RestworldEditFormComponent], imports: [CommonModule,
|
|
58
|
-
RouterModule,
|
|
59
|
-
FormsModule,
|
|
60
|
-
ReactiveFormsModule,
|
|
61
|
-
TableModule,
|
|
62
|
-
TooltipModule,
|
|
63
|
-
ScrollingModule,
|
|
64
|
-
InputTextModule,
|
|
65
|
-
InputNumberModule,
|
|
66
|
-
CalendarModule,
|
|
67
|
-
CheckboxModule,
|
|
68
|
-
ConfirmDialogModule,
|
|
69
|
-
ToastModule,
|
|
70
|
-
MessagesModule,
|
|
71
|
-
PanelModule,
|
|
72
|
-
TabViewModule,
|
|
73
|
-
SkeletonModule,
|
|
74
|
-
ProgressSpinnerModule,
|
|
75
|
-
RippleModule,
|
|
76
|
-
TriStateCheckboxModule,
|
|
77
|
-
AvatarModule,
|
|
78
|
-
DropdownModule,
|
|
79
|
-
MultiSelectModule,
|
|
80
|
-
FileUploadModule,
|
|
81
|
-
ValdemortModule,
|
|
82
|
-
ImageCropperModule,
|
|
83
|
-
DialogModule,
|
|
84
|
-
ButtonModule,
|
|
85
|
-
ColorPickerModule,
|
|
86
|
-
DragDropModule], exports: [RESTworldListViewComponent,
|
|
87
|
-
RESTworldEditViewComponent,
|
|
88
|
-
RESTWorldImageViewComponent,
|
|
89
|
-
RESTWorldFileViewComponent,
|
|
90
|
-
SafeUrlPipe] });
|
|
91
|
-
RestworldClientModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: RestworldClientModule, providers: [
|
|
92
|
-
RESTworldClientCollection,
|
|
93
|
-
AvatarGenerator,
|
|
94
|
-
ConfirmationService,
|
|
95
|
-
FormService,
|
|
96
|
-
MessageService,
|
|
97
|
-
{
|
|
98
|
-
provide: APP_INITIALIZER,
|
|
99
|
-
useFactory: initializeSettings,
|
|
100
|
-
deps: [SettingsService],
|
|
101
|
-
multi: true,
|
|
102
|
-
}
|
|
103
|
-
], imports: [[
|
|
104
|
-
CommonModule,
|
|
105
|
-
RouterModule,
|
|
106
|
-
FormsModule,
|
|
107
|
-
ReactiveFormsModule,
|
|
108
|
-
TableModule,
|
|
109
|
-
TooltipModule,
|
|
110
|
-
ScrollingModule,
|
|
111
|
-
InputTextModule,
|
|
112
|
-
InputNumberModule,
|
|
113
|
-
CalendarModule,
|
|
114
|
-
CheckboxModule,
|
|
115
|
-
ConfirmDialogModule,
|
|
116
|
-
ToastModule,
|
|
117
|
-
MessagesModule,
|
|
118
|
-
PanelModule,
|
|
119
|
-
TabViewModule,
|
|
120
|
-
SkeletonModule,
|
|
121
|
-
ProgressSpinnerModule,
|
|
122
|
-
RippleModule,
|
|
123
|
-
TriStateCheckboxModule,
|
|
124
|
-
AvatarModule,
|
|
125
|
-
DropdownModule,
|
|
126
|
-
MultiSelectModule,
|
|
127
|
-
FileUploadModule,
|
|
128
|
-
ValdemortModule,
|
|
129
|
-
ImageCropperModule,
|
|
130
|
-
DialogModule,
|
|
131
|
-
ButtonModule,
|
|
132
|
-
ColorPickerModule,
|
|
133
|
-
DragDropModule
|
|
134
|
-
]] });
|
|
135
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: RestworldClientModule, decorators: [{
|
|
136
|
-
type: NgModule,
|
|
137
|
-
args: [{
|
|
138
|
-
declarations: [
|
|
139
|
-
RESTworldListViewComponent,
|
|
140
|
-
RESTworldEditViewComponent,
|
|
141
|
-
RESTWorldImageViewComponent,
|
|
142
|
-
RESTWorldFileViewComponent,
|
|
143
|
-
SafeUrlPipe,
|
|
144
|
-
AsPipe,
|
|
145
|
-
RestworldEditFormComponent
|
|
146
|
-
],
|
|
147
|
-
imports: [
|
|
148
|
-
CommonModule,
|
|
149
|
-
RouterModule,
|
|
150
|
-
FormsModule,
|
|
151
|
-
ReactiveFormsModule,
|
|
152
|
-
TableModule,
|
|
153
|
-
TooltipModule,
|
|
154
|
-
ScrollingModule,
|
|
155
|
-
InputTextModule,
|
|
156
|
-
InputNumberModule,
|
|
157
|
-
CalendarModule,
|
|
158
|
-
CheckboxModule,
|
|
159
|
-
ConfirmDialogModule,
|
|
160
|
-
ToastModule,
|
|
161
|
-
MessagesModule,
|
|
162
|
-
PanelModule,
|
|
163
|
-
TabViewModule,
|
|
164
|
-
SkeletonModule,
|
|
165
|
-
ProgressSpinnerModule,
|
|
166
|
-
RippleModule,
|
|
167
|
-
TriStateCheckboxModule,
|
|
168
|
-
AvatarModule,
|
|
169
|
-
DropdownModule,
|
|
170
|
-
MultiSelectModule,
|
|
171
|
-
FileUploadModule,
|
|
172
|
-
ValdemortModule,
|
|
173
|
-
ImageCropperModule,
|
|
174
|
-
DialogModule,
|
|
175
|
-
ButtonModule,
|
|
176
|
-
ColorPickerModule,
|
|
177
|
-
DragDropModule
|
|
178
|
-
],
|
|
179
|
-
exports: [
|
|
180
|
-
RESTworldListViewComponent,
|
|
181
|
-
RESTworldEditViewComponent,
|
|
182
|
-
RESTWorldImageViewComponent,
|
|
183
|
-
RESTWorldFileViewComponent,
|
|
184
|
-
SafeUrlPipe
|
|
185
|
-
],
|
|
186
|
-
providers: [
|
|
187
|
-
RESTworldClientCollection,
|
|
188
|
-
AvatarGenerator,
|
|
189
|
-
ConfirmationService,
|
|
190
|
-
FormService,
|
|
191
|
-
MessageService,
|
|
192
|
-
{
|
|
193
|
-
provide: APP_INITIALIZER,
|
|
194
|
-
useFactory: initializeSettings,
|
|
195
|
-
deps: [SettingsService],
|
|
196
|
-
multi: true,
|
|
197
|
-
}
|
|
198
|
-
]
|
|
199
|
-
}]
|
|
200
|
-
}] });
|
|
201
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdHdvcmxkLWNsaWVudC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVzdHdvcmxkLWNsaWVudC9zcmMvbGliL3Jlc3R3b3JsZC1jbGllbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFD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c0I7d0JBQ3RCLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLGNBQWM7cUJBQ2Y7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3dCQUMxQiwyQkFBMkI7d0JBQzNCLDBCQUEwQjt3QkFDMUIsV0FBVztxQkFDWjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QseUJBQXlCO3dCQUN6QixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxjQUFjO3dCQUNkOzRCQUNFLE9BQU8sRUFBRSxlQUFlOzRCQUN4QixVQUFVLEVBQUUsa0JBQWtCOzRCQUM5QixJQUFJLEVBQUUsQ0FBQyxlQUFlLENBQUM7NEJBQ3ZCLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcclxuaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7IFRhYmxlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90YWJsZSc7XHJcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Rvb2x0aXAnXHJcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUsIEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBJbnB1dFRleHRNb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0dGV4dCc7XHJcbmltcG9ydCB7IElucHV0TnVtYmVyTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dG51bWJlcic7XHJcbmltcG9ydCB7IENhbGVuZGFyTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jYWxlbmRhcic7XHJcbmltcG9ydCB7IENoZWNrYm94TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jaGVja2JveCc7XHJcbmltcG9ydCB7IENvbmZpcm1EaWFsb2dNb2R1bGUgfSBmcm9tICdwcmltZW5nL2NvbmZpcm1kaWFsb2cnO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlLCBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgVG9hc3RNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RvYXN0JztcclxuaW1wb3J0IHsgTWVzc2FnZXNNb2R1bGUgfSBmcm9tICdwcmltZW5nL21lc3NhZ2VzJztcclxuaW1wb3J0IHsgUGFuZWxNb2R1bGUgfSBmcm9tICdwcmltZW5nL3BhbmVsJztcclxuaW1wb3J0IHsgVGFiVmlld01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdGFidmlldyc7XHJcbmltcG9ydCB7IFNrZWxldG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9za2VsZXRvbic7XHJcbmltcG9ydCB7IFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcHJvZ3Jlc3NzcGlubmVyJztcclxuaW1wb3J0IHsgUmlwcGxlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9yaXBwbGUnO1xyXG5pbXBvcnQgeyBUcmlTdGF0ZUNoZWNrYm94TW9kdWxlIH0gZnJvbSAncHJpbWVuZy90cmlzdGF0ZWNoZWNrYm94JztcclxuaW1wb3J0IHsgQXZhdGFyTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9hdmF0YXInO1xyXG5pbXBvcnQgeyBEcm9wZG93bk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZHJvcGRvd24nO1xyXG5pbXBvcnQgeyBNdWx0aVNlbGVjdE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvbXVsdGlzZWxlY3QnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9maWxldXBsb2FkJztcclxuaW1wb3J0IHsgVmFsZGVtb3J0TW9kdWxlIH0gZnJvbSAnbmd4LXZhbGRlbW9ydCc7XHJcbmltcG9ydCB7IEltYWdlQ3JvcHBlck1vZHVsZSB9IGZyb20gJ25neC1pbWFnZS1jcm9wcGVyJztcclxuaW1wb3J0IHsgRGlhbG9nTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9kaWFsb2cnO1xyXG5pbXBvcnQgeyBDb2xvclBpY2tlck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY29sb3JwaWNrZXInO1xyXG5cclxuaW1wb3J0IHsgUkVTVHdvcmxkTGlzdFZpZXdDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdzL3Jlc3R3b3JsZC1saXN0LXZpZXcvcmVzdHdvcmxkLWxpc3Qtdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSRVNUd29ybGRFZGl0Vmlld0NvbXBvbmVudCB9IGZyb20gJy4vdmlld3MvcmVzdHdvcmxkLWVkaXQtdmlldy9yZXN0d29ybGQtZWRpdC12aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJFU1R3b3JsZENsaWVudENvbGxlY3Rpb24gfSBmcm9tICcuL3NlcnZpY2VzL3Jlc3R3b3JsZC1jbGllbnQtY29sbGVjdGlvbic7XHJcbmltcG9ydCB7IEF2YXRhckdlbmVyYXRvciB9IGZyb20gJy4vc2VydmljZXMvYXZhdGFyLWdlbmVyYXRvcic7XHJcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBSRVNUV29ybGRJbWFnZVZpZXdDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdzL3Jlc3R3b3JsZC1pbWFnZS12aWV3L3Jlc3R3b3JsZC1pbWFnZS12aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcbmltcG9ydCB7IFJFU1RXb3JsZEZpbGVWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi92aWV3cy9yZXN0d29ybGQtZmlsZS12aWV3L3Jlc3R3b3JsZC1maWxlLXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2FmZVVybFBpcGUgfSBmcm9tICcuL3BpcGVzL3NhZmUtdXJsLnBpcGUnO1xuaW1wb3J0IHsgUmVzdHdvcmxkRWRpdEZvcm1Db21wb25lbnQgfSBmcm9tICcuL3ZpZXdzL3Jlc3R3b3JsZC1lZGl0LWZvcm0vcmVzdHdvcmxkLWVkaXQtZm9ybS5jb21wb25lbnQnXHJcbmltcG9ydCB7IEZvcm1TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9mb3JtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBc1BpcGUgfSBmcm9tICcuL3BpcGVzL2FzLnBpcGUnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxpemVTZXR0aW5ncyhzZXR0aW5nc1NlcnZpY2U6IFNldHRpbmdzU2VydmljZSk6ICgpID0+IFByb21pc2U8dm9pZD4ge1xyXG4gIHJldHVybiBhc3luYyAoKSA9PiBhd2FpdCBzZXR0aW5nc1NlcnZpY2UuaW5pdGlhbGl6ZSgpO1xyXG59XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgUkVTVHdvcmxkTGlzdFZpZXdDb21wb25lbnQsXHJcbiAgICBSRVNUd29ybGRFZGl0Vmlld0NvbXBvbmVudCxcclxuICAgIFJFU1RXb3JsZEltYWdlVmlld0NvbXBvbmVudCxcclxuICAgIFJFU1RXb3JsZEZpbGVWaWV3Q29tcG9uZW50LFxyXG4gICAgU2FmZVVybFBpcGUsXHJcbiAgICBBc1BpcGUsXHJcbiAgICBSZXN0d29ybGRFZGl0Rm9ybUNvbXBvbmVudFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgVGFibGVNb2R1bGUsXHJcbiAgICBUb29sdGlwTW9kdWxlLFxyXG4gICAgU2Nyb2xsaW5nTW9kdWxlLFxyXG4gICAgSW5wdXRUZXh0TW9kdWxlLFxyXG4gICAgSW5wdXROdW1iZXJNb2R1bGUsXHJcbiAgICBDYWxlbmRhck1vZHVsZSxcclxuICAgIENoZWNrYm94TW9kdWxlLFxyXG4gICAgQ29uZmlybURpYWxvZ01vZHVsZSxcclxuICAgIFRvYXN0TW9kdWxlLFxyXG4gICAgTWVzc2FnZXNNb2R1bGUsXHJcbiAgICBQYW5lbE1vZHVsZSxcclxuICAgIFRhYlZpZXdNb2R1bGUsXHJcbiAgICBTa2VsZXRvbk1vZHVsZSxcclxuICAgIFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcclxuICAgIFJpcHBsZU1vZHVsZSxcclxuICAgIFRyaVN0YXRlQ2hlY2tib3hNb2R1bGUsXHJcbiAgICBBdmF0YXJNb2R1bGUsXHJcbiAgICBEcm9wZG93bk1vZHVsZSxcclxuICAgIE11bHRpU2VsZWN0TW9kdWxlLFxyXG4gICAgRmlsZVVwbG9hZE1vZHVsZSxcclxuICAgIFZhbGRlbW9ydE1vZHVsZSxcclxuICAgIEltYWdlQ3JvcHBlck1vZHVsZSxcclxuICAgIERpYWxvZ01vZHVsZSxcclxuICAgIEJ1dHRvbk1vZHVsZSxcclxuICAgIENvbG9yUGlja2VyTW9kdWxlLFxyXG4gICAgRHJhZ0Ryb3BNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFJFU1R3b3JsZExpc3RWaWV3Q29tcG9uZW50LFxyXG4gICAgUkVTVHdvcmxkRWRpdFZpZXdDb21wb25lbnQsXHJcbiAgICBSRVNUV29ybGRJbWFnZVZpZXdDb21wb25lbnQsXHJcbiAgICBSRVNUV29ybGRGaWxlVmlld0NvbXBvbmVudCxcclxuICAgIFNhZmVVcmxQaXBlXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIFJFU1R3b3JsZENsaWVudENvbGxlY3Rpb24sXHJcbiAgICBBdmF0YXJHZW5lcmF0b3IsXHJcbiAgICBDb25maXJtYXRpb25TZXJ2aWNlLFxyXG4gICAgRm9ybVNlcnZpY2UsXHJcbiAgICBNZXNzYWdlU2VydmljZSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxyXG4gICAgICB1c2VGYWN0b3J5OiBpbml0aWFsaXplU2V0dGluZ3MsXHJcbiAgICAgIGRlcHM6IFtTZXR0aW5nc1NlcnZpY2VdLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH1cclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZXN0d29ybGRDbGllbnRNb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { Injectable } from "@angular/core";
|
|
3
|
-
import { RESTworldClient } from "./restworld-client";
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@wertzui/ngx-hal-client";
|
|
6
|
-
export class RESTworldClientCollection {
|
|
7
|
-
constructor(_halClient) {
|
|
8
|
-
this._halClient = _halClient;
|
|
9
|
-
this._clients = {};
|
|
10
|
-
}
|
|
11
|
-
containsClient(name) {
|
|
12
|
-
return Object.keys(this._clients).includes(name);
|
|
13
|
-
}
|
|
14
|
-
addOrGetExistingClient(name, options) {
|
|
15
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
16
|
-
if (Object.keys(this._clients).includes(name))
|
|
17
|
-
return this.getClient(name);
|
|
18
|
-
const client = new RESTworldClient(this._halClient, options);
|
|
19
|
-
yield client.ensureHomeResourceIsSet();
|
|
20
|
-
this._clients[name] = client;
|
|
21
|
-
return client;
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
getClient(name) {
|
|
25
|
-
const client = this._clients[name];
|
|
26
|
-
if (!client)
|
|
27
|
-
throw new Error(`No client with the name '${name}' exists.`);
|
|
28
|
-
return client;
|
|
29
|
-
}
|
|
30
|
-
get all() {
|
|
31
|
-
return this._clients;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
RESTworldClientCollection.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: RESTworldClientCollection, deps: [{ token: i1.HalClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
35
|
-
RESTworldClientCollection.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: RESTworldClientCollection, providedIn: 'root' });
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: RESTworldClientCollection, decorators: [{
|
|
37
|
-
type: Injectable,
|
|
38
|
-
args: [{
|
|
39
|
-
providedIn: 'root'
|
|
40
|
-
}]
|
|
41
|
-
}], ctorParameters: function () { return [{ type: i1.HalClient }]; } });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdHdvcmxkLWNsaWVudC1jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlc3R3b3JsZC1jbGllbnQvc3JjL2xpYi9zZXJ2aWNlcy9yZXN0d29ybGQtY2xpZW50LWNvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFLckQsTUFBTSxPQUFPLHlCQUF5QjtJQUlwQyxZQUFvQixVQUFxQjtRQUFyQixlQUFVLEdBQVYsVUFBVSxDQUFXO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxjQUFjLENBQUMsSUFBWTtRQUNoQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRVksc0JBQXNCLENBQUMsSUFBWSxFQUFFLE9BQXlCOztZQUN6RSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBQzNDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUU5QixNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzdELE1BQU0sTUFBTSxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUM7WUFDN0IsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztLQUFBO0lBRU0sU0FBUyxDQUFDLElBQVk7UUFDM0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTTtZQUNULE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLElBQUksV0FBVyxDQUFDLENBQUM7UUFFL0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELElBQVcsR0FBRztRQUNaLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDOzt1SEFoQ1UseUJBQXlCOzJIQUF6Qix5QkFBeUIsY0FGeEIsTUFBTTs0RkFFUCx5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEhhbENsaWVudCB9IGZyb20gXCJAd2VydHp1aS9uZ3gtaGFsLWNsaWVudFwiO1xyXG5pbXBvcnQgeyBSRVNUd29ybGRPcHRpb25zIH0gZnJvbSBcIi4uL21vZGVscy9yZXN0d29ybGQtb3B0aW9uc1wiO1xyXG5pbXBvcnQgeyBSRVNUd29ybGRDbGllbnQgfSBmcm9tIFwiLi9yZXN0d29ybGQtY2xpZW50XCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSRVNUd29ybGRDbGllbnRDb2xsZWN0aW9uIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9jbGllbnRzOiB7XHJcbiAgICBbbmFtZTogc3RyaW5nXTogUkVTVHdvcmxkQ2xpZW50O1xyXG4gIH07XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfaGFsQ2xpZW50OiBIYWxDbGllbnQpIHtcclxuICAgIHRoaXMuX2NsaWVudHMgPSB7fTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjb250YWluc0NsaWVudChuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLl9jbGllbnRzKS5pbmNsdWRlcyhuYW1lKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBhZGRPckdldEV4aXN0aW5nQ2xpZW50KG5hbWU6IHN0cmluZywgb3B0aW9uczogUkVTVHdvcmxkT3B0aW9ucyk6IFByb21pc2U8UkVTVHdvcmxkQ2xpZW50PiB7XHJcbiAgICBpZiAoT2JqZWN0LmtleXModGhpcy5fY2xpZW50cykuaW5jbHVkZXMobmFtZSkpXHJcbiAgICAgIHJldHVybiB0aGlzLmdldENsaWVudChuYW1lKTtcclxuXHJcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgUkVTVHdvcmxkQ2xpZW50KHRoaXMuX2hhbENsaWVudCwgb3B0aW9ucyk7XHJcbiAgICBhd2FpdCBjbGllbnQuZW5zdXJlSG9tZVJlc291cmNlSXNTZXQoKTtcclxuICAgIHRoaXMuX2NsaWVudHNbbmFtZV0gPSBjbGllbnQ7XHJcbiAgICByZXR1cm4gY2xpZW50O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldENsaWVudChuYW1lOiBzdHJpbmcpOiBSRVNUd29ybGRDbGllbnQge1xyXG4gICAgY29uc3QgY2xpZW50ID0gdGhpcy5fY2xpZW50c1tuYW1lXTtcclxuICAgIGlmICghY2xpZW50KVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIGNsaWVudCB3aXRoIHRoZSBuYW1lICcke25hbWV9JyBleGlzdHMuYCk7XHJcblxyXG4gICAgcmV0dXJuIGNsaWVudDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgYWxsKCk6IHsgW25hbWU6IHN0cmluZ106IFJFU1R3b3JsZENsaWVudCB9IHtcclxuICAgIHJldHVybiB0aGlzLl9jbGllbnRzO1xyXG4gIH1cclxufSJdfQ==
|
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { HttpHeaders } from '@angular/common/http';
|
|
3
|
-
import * as _ from "lodash";
|
|
4
|
-
import { FormsResource, Link, PagedListResource, Resource } from "@wertzui/ngx-hal-client";
|
|
5
|
-
import { LinkNames } from "../constants/link-names";
|
|
6
|
-
import { ProblemDetails } from "../models/problem-details";
|
|
7
|
-
export class RESTworldClient {
|
|
8
|
-
constructor(_halClient, _options) {
|
|
9
|
-
this._halClient = _halClient;
|
|
10
|
-
this._options = _options;
|
|
11
|
-
}
|
|
12
|
-
get halClient() {
|
|
13
|
-
return this._halClient;
|
|
14
|
-
}
|
|
15
|
-
ensureHomeResourceIsSet() {
|
|
16
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
17
|
-
if (!this._homeResource) {
|
|
18
|
-
const response = yield this.getHomeForced();
|
|
19
|
-
if (ProblemDetails.isProblemDetails(response.body)) {
|
|
20
|
-
throw new Error(`Cannot get the home resource from ${this._options.BaseUrl} with Version ${this._options.Version}. Response was: ${response}`);
|
|
21
|
-
}
|
|
22
|
-
if (!response.body)
|
|
23
|
-
throw new Error(`Cannot get the home resource from ${this._options.BaseUrl} with Version ${this._options.Version}. Response was empty.`);
|
|
24
|
-
this._homeResource = response.body;
|
|
25
|
-
this.setDefaultCurie();
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
getHomeForced() {
|
|
30
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
-
const header = RESTworldClient.createHeaders('application/hal+json', this._options.Version);
|
|
32
|
-
const response = yield this.halClient.get(this._options.BaseUrl, Resource, ProblemDetails, header);
|
|
33
|
-
return response;
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
setDefaultCurie() {
|
|
37
|
-
var _a, _b;
|
|
38
|
-
const curies = (_b = (_a = this._homeResource) === null || _a === void 0 ? void 0 : _a._links) === null || _b === void 0 ? void 0 : _b.curies;
|
|
39
|
-
if (!curies || curies.length === 0 || !curies[0])
|
|
40
|
-
this._defaultCurie = undefined;
|
|
41
|
-
else
|
|
42
|
-
this._defaultCurie = curies[0].name;
|
|
43
|
-
}
|
|
44
|
-
getList(rel, parameters, headers, curie) {
|
|
45
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
-
const link = this.getLinkFromHome(rel, LinkNames.getList, curie);
|
|
47
|
-
const uri = link.fillTemplate(parameters);
|
|
48
|
-
const response = yield this.halClient.get(uri, PagedListResource, ProblemDetails, headers);
|
|
49
|
-
return response;
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
getListByUri(uri, parameters, headers) {
|
|
53
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
-
const link = new Link();
|
|
55
|
-
link.href = uri;
|
|
56
|
-
const filledUri = link.fillTemplate(parameters);
|
|
57
|
-
const response = yield this.halClient.get(filledUri, PagedListResource, ProblemDetails, headers);
|
|
58
|
-
return response;
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
getSingle(relOrUri, id, headers, curie) {
|
|
62
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
63
|
-
let uri;
|
|
64
|
-
if (relOrUri.startsWith('http')) {
|
|
65
|
-
if (id !== undefined)
|
|
66
|
-
throw new Error('When supplying a URI, an ID cannot be supplied too.');
|
|
67
|
-
if (curie)
|
|
68
|
-
throw new Error('When supplying a URI, a curie cannot be supplied too.');
|
|
69
|
-
uri = relOrUri;
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
if (!_.isNumber(id))
|
|
73
|
-
throw new Error('When supplying a rel, an ID must be supplied too.');
|
|
74
|
-
const link = this.getLinkFromHome(relOrUri, LinkNames.get, curie);
|
|
75
|
-
uri = link.fillTemplate({ id: id.toString() });
|
|
76
|
-
}
|
|
77
|
-
const response = yield this.halClient.get(uri, Resource, ProblemDetails, headers);
|
|
78
|
-
return response;
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
save(resource) {
|
|
82
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
83
|
-
const saveLink = resource.findLink('save');
|
|
84
|
-
if (!saveLink)
|
|
85
|
-
throw new Error(`The resource ${resource} does not have a save link.`);
|
|
86
|
-
if (!saveLink.name)
|
|
87
|
-
throw new Error(`The save link ${saveLink} does not have a save name.`);
|
|
88
|
-
const uri = saveLink.href;
|
|
89
|
-
const method = saveLink.name.toLowerCase();
|
|
90
|
-
const header = RESTworldClient.createHeaders('application/hal+json', this._options.Version);
|
|
91
|
-
let response;
|
|
92
|
-
switch (method) {
|
|
93
|
-
case 'put':
|
|
94
|
-
response = yield this.halClient.put(uri, resource, Resource, ProblemDetails, header);
|
|
95
|
-
break;
|
|
96
|
-
case 'post':
|
|
97
|
-
response = yield this.halClient.post(uri, resource, Resource, ProblemDetails, header);
|
|
98
|
-
break;
|
|
99
|
-
default:
|
|
100
|
-
throw new Error(`'${method}' is not allowed as link name for the save link. Only 'POST' and 'PUT' are allowed.`);
|
|
101
|
-
}
|
|
102
|
-
return response;
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
getAllForms(resource) {
|
|
106
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
107
|
-
const urls = resource.getFormLinkHrefs();
|
|
108
|
-
const header = RESTworldClient.createHeaders('application/prs.hal-forms+json', this._options.Version);
|
|
109
|
-
const formsPromises = urls.map(url => this._halClient.get(url, FormsResource, ProblemDetails, header));
|
|
110
|
-
const formsAndProblems = yield Promise.all(formsPromises);
|
|
111
|
-
return formsAndProblems;
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
submit(template, formValues) {
|
|
115
|
-
var _a;
|
|
116
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
117
|
-
const uri = template.target || '';
|
|
118
|
-
const method = (_a = template.method) === null || _a === void 0 ? void 0 : _a.toLowerCase();
|
|
119
|
-
const header = RESTworldClient.createHeaders('application/prs.hal-forms+json', this._options.Version);
|
|
120
|
-
let response;
|
|
121
|
-
switch (method) {
|
|
122
|
-
case 'put':
|
|
123
|
-
response = yield this.halClient.put(uri, formValues, FormsResource, ProblemDetails, header);
|
|
124
|
-
break;
|
|
125
|
-
case 'post':
|
|
126
|
-
response = yield this.halClient.post(uri, formValues, FormsResource, ProblemDetails, header);
|
|
127
|
-
break;
|
|
128
|
-
default:
|
|
129
|
-
response = yield this.halClient.get(uri, FormsResource, ProblemDetails, header);
|
|
130
|
-
}
|
|
131
|
-
return response;
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
delete(resource) {
|
|
135
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
136
|
-
const deleteLink = resource.findLink('delete');
|
|
137
|
-
if (!deleteLink)
|
|
138
|
-
throw new Error(`The resource ${resource} does not have a delete link.`);
|
|
139
|
-
const uri = deleteLink.href;
|
|
140
|
-
const header = RESTworldClient.createHeaders('application/hal+json', this._options.Version);
|
|
141
|
-
const response = yield this.halClient.delete(uri, ProblemDetails, header);
|
|
142
|
-
return response;
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
getAllLinksFromHome() {
|
|
146
|
-
if (!this._homeResource)
|
|
147
|
-
throw new Error('Home resource is not set. Call ensureHomeResourceIsSet() first.');
|
|
148
|
-
return this._homeResource._links;
|
|
149
|
-
}
|
|
150
|
-
getLinkFromHome(rel, name, curie) {
|
|
151
|
-
const links = this.getLinksFromHome(rel, curie);
|
|
152
|
-
const link = name ? links.find(l => l.name === name) : links[0];
|
|
153
|
-
if (!link)
|
|
154
|
-
throw new Error(`The home resource does not have a link with the rel '${this.getFullRel(rel, curie)}' and the name '${name}'.`);
|
|
155
|
-
return link;
|
|
156
|
-
}
|
|
157
|
-
getLinksFromHome(rel, curie) {
|
|
158
|
-
if (!this._homeResource)
|
|
159
|
-
throw new Error('Home resource is not set. Call ensureHomeResourceIsSet() first.');
|
|
160
|
-
const fullRel = this.getFullRel(rel, curie);
|
|
161
|
-
const links = this._homeResource._links[fullRel];
|
|
162
|
-
if (!links || links.length === 0)
|
|
163
|
-
throw Error(`The home resource does not have a link with the rel '${fullRel}'.`);
|
|
164
|
-
return links;
|
|
165
|
-
}
|
|
166
|
-
getFullRel(rel, curie) {
|
|
167
|
-
// rel already includes a curie => just return it
|
|
168
|
-
if (rel.includes(':'))
|
|
169
|
-
return rel;
|
|
170
|
-
// No curie given => use default curie.
|
|
171
|
-
if (!curie)
|
|
172
|
-
curie = this._defaultCurie;
|
|
173
|
-
// Combine curie and rel
|
|
174
|
-
const fullRel = `${curie}:${rel}`;
|
|
175
|
-
return fullRel;
|
|
176
|
-
}
|
|
177
|
-
static createHeaders(mediaType, version) {
|
|
178
|
-
if (version)
|
|
179
|
-
return new HttpHeaders({ 'Accept': `${mediaType || 'application/hal+json'}; v=${version}` });
|
|
180
|
-
return new HttpHeaders();
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdHdvcmxkLWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXN0d29ybGQtY2xpZW50L3NyYy9saWIvc2VydmljZXMvcmVzdHdvcmxkLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBZ0IsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsYUFBYSxFQUFhLElBQUksRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQVksTUFBTSx5QkFBeUIsQ0FBQTtBQUMvRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRzNELE1BQU0sT0FBTyxlQUFlO0lBUTFCLFlBQ1UsVUFBcUIsRUFDckIsUUFBMEI7UUFEMUIsZUFBVSxHQUFWLFVBQVUsQ0FBVztRQUNyQixhQUFRLEdBQVIsUUFBUSxDQUFrQjtJQUNoQyxDQUFDO0lBUEwsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBT1ksdUJBQXVCOztZQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtnQkFDdkIsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQzVDLElBQUksY0FBYyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDbEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLGlCQUFpQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sbUJBQW1CLFFBQVEsRUFBRSxDQUFDLENBQUM7aUJBQ2hKO2dCQUNELElBQUksQ0FBQyxRQUFRLENBQUMs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Q0FBQyxHQUFHLENBQUM7WUFDbkIsT0FBTyxHQUFHLENBQUM7UUFFYix1Q0FBdUM7UUFDdkMsSUFBSSxDQUFDLEtBQUs7WUFDUixLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUU3Qix3QkFBd0I7UUFDeEIsTUFBTSxPQUFPLEdBQUcsR0FBRyxLQUFLLElBQUksR0FBRyxFQUFFLENBQUM7UUFFbEMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBcUUsRUFBRSxPQUFnQjtRQUNsSCxJQUFJLE9BQU87WUFDVCxPQUFPLElBQUksV0FBVyxDQUFDLEVBQUUsUUFBUSxFQUFFLEdBQUcsU0FBUyxJQUFJLHNCQUFzQixPQUFPLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMvRixPQUFPLElBQUksV0FBVyxFQUFFLENBQUM7SUFDM0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEhlYWRlcnMsIEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0ICogYXMgXyBmcm9tIFwibG9kYXNoXCI7XHJcbmltcG9ydCB7IEZvcm1zUmVzb3VyY2UsIEhhbENsaWVudCwgTGluaywgUGFnZWRMaXN0UmVzb3VyY2UsIFJlc291cmNlLCBUZW1wbGF0ZSB9IGZyb20gXCJAd2VydHp1aS9uZ3gtaGFsLWNsaWVudFwiXHJcbmltcG9ydCB7IExpbmtOYW1lcyB9IGZyb20gXCIuLi9jb25zdGFudHMvbGluay1uYW1lc1wiO1xyXG5pbXBvcnQgeyBQcm9ibGVtRGV0YWlscyB9IGZyb20gXCIuLi9tb2RlbHMvcHJvYmxlbS1kZXRhaWxzXCI7XHJcbmltcG9ydCB7IFJFU1R3b3JsZE9wdGlvbnMgfSBmcm9tIFwiLi4vbW9kZWxzL3Jlc3R3b3JsZC1vcHRpb25zXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgUkVTVHdvcmxkQ2xpZW50IHtcclxuXHJcbiAgcHJpdmF0ZSBfaG9tZVJlc291cmNlPzogUmVzb3VyY2U7XHJcbiAgcHJpdmF0ZSBfZGVmYXVsdEN1cmllPzogc3RyaW5nO1xyXG4gIHB1YmxpYyBnZXQgaGFsQ2xpZW50KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2hhbENsaWVudDtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfaGFsQ2xpZW50OiBIYWxDbGllbnQsXHJcbiAgICBwcml2YXRlIF9vcHRpb25zOiBSRVNUd29ybGRPcHRpb25zXHJcbiAgKSB7IH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGVuc3VyZUhvbWVSZXNvdXJjZUlzU2V0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCF0aGlzLl9ob21lUmVzb3VyY2UpIHtcclxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmdldEhvbWVGb3JjZWQoKTtcclxuICAgICAgaWYgKFByb2JsZW1EZXRhaWxzLmlzUHJvYmxlbURldGFpbHMocmVzcG9uc2UuYm9keSkpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBnZXQgdGhlIGhvbWUgcmVzb3VyY2UgZnJvbSAke3RoaXMuX29wdGlvbnMuQmFzZVVybH0gd2l0aCBWZXJzaW9uICR7dGhpcy5fb3B0aW9ucy5WZXJzaW9ufS4gUmVzcG9uc2Ugd2FzOiAke3Jlc3BvbnNlfWApO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghcmVzcG9uc2UuYm9keSlcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBnZXQgdGhlIGhvbWUgcmVzb3VyY2UgZnJvbSAke3RoaXMuX29wdGlvbnMuQmFzZVVybH0gd2l0aCBWZXJzaW9uICR7dGhpcy5fb3B0aW9ucy5WZXJzaW9ufS4gUmVzcG9uc2Ugd2FzIGVtcHR5LmApXHJcbiAgICAgIHRoaXMuX2hvbWVSZXNvdXJjZSA9IHJlc3BvbnNlLmJvZHk7XHJcbiAgICAgIHRoaXMuc2V0RGVmYXVsdEN1cmllKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGdldEhvbWVGb3JjZWQoKTogUHJvbWlzZTxIdHRwUmVzcG9uc2U8UmVzb3VyY2UgfCBQcm9ibGVtRGV0YWlscz4+IHtcclxuICAgIGNvbnN0IGhlYWRlciA9IFJFU1R3b3JsZENsaWVudC5jcmVhdGVIZWFkZXJzKCdhcHBsaWNhdGlvbi9oYWwranNvbicsIHRoaXMuX29wdGlvbnMuVmVyc2lvbik7XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuaGFsQ2xpZW50LmdldCh0aGlzLl9vcHRpb25zLkJhc2VVcmwsIFJlc291cmNlLCBQcm9ibGVtRGV0YWlscywgaGVhZGVyKTtcclxuICAgIHJldHVybiByZXNwb25zZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0RGVmYXVsdEN1cmllKCk6IHZvaWQge1xyXG4gICAgY29uc3QgY3VyaWVzID0gdGhpcy5faG9tZVJlc291cmNlPy5fbGlua3M/LmN1cmllcztcclxuICAgIGlmICghY3VyaWVzIHx8IGN1cmllcy5sZW5ndGggPT09IDAgfHwgIWN1cmllc1swXSlcclxuICAgICAgdGhpcy5fZGVmYXVsdEN1cmllID0gdW5kZWZpbmVkO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLl9kZWZhdWx0Q3VyaWUgPSBjdXJpZXNbMF0ubmFtZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRMaXN0KHJlbDogc3RyaW5nLCBwYXJhbWV0ZXJzOiB7fSwgaGVhZGVycz86IEh0dHBIZWFkZXJzLCBjdXJpZT86IHN0cmluZyk6IFByb21pc2U8SHR0cFJlc3BvbnNlPFBhZ2VkTGlzdFJlc291cmNlIHwgUHJvYmxlbURldGFpbHM+PntcclxuICAgIGNvbnN0IGxpbmsgPSB0aGlzLmdldExpbmtGcm9tSG9tZShyZWwsIExpbmtOYW1lcy5nZXRMaXN0LCBjdXJpZSk7XHJcbiAgICBjb25zdCB1cmkgPSBsaW5rLmZpbGxUZW1wbGF0ZShwYXJhbWV0ZXJzKTtcclxuXHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuaGFsQ2xpZW50LmdldCh1cmksIFBhZ2VkTGlzdFJlc291cmNlLCBQcm9ibGVtRGV0YWlscywgaGVhZGVycyk7XHJcblxyXG4gICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldExpc3RCeVVyaSh1cmk6IHN0cmluZywgcGFyYW1ldGVyczoge30sIGhlYWRlcnM/OiBIdHRwSGVhZGVycyk6IFByb21pc2U8SHR0cFJlc3BvbnNlPFBhZ2VkTGlzdFJlc291cmNlIHwgUHJvYmxlbURldGFpbHM+PiB7XHJcbiAgICBjb25zdCBsaW5rID0gbmV3IExpbmsoKTtcclxuICAgIGxpbmsuaHJlZiA9IHVyaTtcclxuICAgIGNvbnN0IGZpbGxlZFVyaSA9IGxpbmsuZmlsbFRlbXBsYXRlKHBhcmFtZXRlcnMpO1xyXG5cclxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5oYWxDbGllbnQuZ2V0KGZpbGxlZFVyaSwgUGFnZWRMaXN0UmVzb3VyY2UsIFByb2JsZW1EZXRhaWxzLCBoZWFkZXJzKTtcclxuXHJcbiAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U2luZ2xlKHJlbE9yVXJpOiBzdHJpbmcsIGlkPzogbnVtYmVyLCBoZWFkZXJzPzogSHR0cEhlYWRlcnMsIGN1cmllPzogc3RyaW5nKTogUHJvbWlzZTxIdHRwUmVzcG9uc2U8UmVzb3VyY2UgfCBQcm9ibGVtRGV0YWlscz4+IHtcclxuICAgIGxldCB1cmk7XHJcbiAgICBpZiAocmVsT3JVcmkuc3RhcnRzV2l0aCgnaHR0cCcpKSB7XHJcbiAgICAgIGlmIChpZCAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignV2hlbiBzdXBwbHlpbmcgYSBVUkksIGFuIElEIGNhbm5vdCBiZSBzdXBwbGllZCB0b28uJylcclxuICAgICAgaWYgKGN1cmllKVxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignV2hlbiBzdXBwbHlpbmcgYSBVUkksIGEgY3VyaWUgY2Fubm90IGJlIHN1cHBsaWVkIHRvby4nKVxyXG5cclxuICAgICAgdXJpID0gcmVsT3JVcmk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgaWYgKCFfLmlzTnVtYmVyKGlkKSlcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1doZW4gc3VwcGx5aW5nIGEgcmVsLCBhbiBJRCBtdXN0IGJlIHN1cHBsaWVkIHRvby4nKVxyXG5cclxuICAgICAgY29uc3QgbGluayA9IHRoaXMuZ2V0TGlua0Zyb21Ib21lKHJlbE9yVXJpLCBMaW5rTmFtZXMuZ2V0LCBjdXJpZSk7XHJcbiAgICAgIHVyaSA9IGxpbmsuZmlsbFRlbXBsYXRlKHsgaWQ6IGlkLnRvU3RyaW5nKCkgfSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuaGFsQ2xpZW50LmdldCh1cmksIFJlc291cmNlLCBQcm9ibGVtRGV0YWlscywgaGVhZGVycyk7XHJcblxyXG4gICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHNhdmUocmVzb3VyY2U6IFJlc291cmNlKTogUHJvbWlzZTxIdHRwUmVzcG9uc2U8UmVzb3VyY2UgfCBQcm9ibGVtRGV0YWlscz4+IHtcclxuICAgIGNvbnN0IHNhdmVMaW5rID0gcmVzb3VyY2UuZmluZExpbmsoJ3NhdmUnKTtcclxuICAgIGlmICghc2F2ZUxpbmspXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlIHJlc291cmNlICR7cmVzb3VyY2V9IGRvZXMgbm90IGhhdmUgYSBzYXZlIGxpbmsuYCk7XHJcbiAgICBpZiAoIXNhdmVMaW5rLm5hbWUpXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlIHNhdmUgbGluayAke3NhdmVMaW5rfSBkb2VzIG5vdCBoYXZlIGEgc2F2ZSBuYW1lLmApO1xyXG5cclxuICAgIGNvbnN0IHVyaSA9IHNhdmVMaW5rLmhyZWY7XHJcbiAgICBjb25zdCBtZXRob2QgPSBzYXZlTGluay5uYW1lLnRvTG93ZXJDYXNlKCk7XHJcbiAgICBjb25zdCBoZWFkZXIgPSBSRVNUd29ybGRDbGllbnQuY3JlYXRlSGVhZGVycygnYXBwbGljYXRpb24vaGFsK2pzb24nLCB0aGlzLl9vcHRpb25zLlZlcnNpb24pO1xyXG5cclxuICAgIGxldCByZXNwb25zZTtcclxuICAgIHN3aXRjaCAobWV0aG9kKSB7XHJcbiAgICAgIGNhc2UgJ3B1dCc6XHJcbiAgICAgICAgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmhhbENsaWVudC5wdXQodXJpLCByZXNvdXJjZSwgUmVzb3VyY2UsIFByb2JsZW1EZXRhaWxzLCBoZWFkZXIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdwb3N0JzpcclxuICAgICAgICByZXNwb25zZSA9IGF3YWl0IHRoaXMuaGFsQ2xpZW50LnBvc3QodXJpLCByZXNvdXJjZSwgUmVzb3VyY2UsIFByb2JsZW1EZXRhaWxzLCBoZWFkZXIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJyR7bWV0aG9kfScgaXMgbm90IGFsbG93ZWQgYXMgbGluayBuYW1lIGZvciB0aGUgc2F2ZSBsaW5rLiBPbmx5ICdQT1NUJyBhbmQgJ1BVVCcgYXJlIGFsbG93ZWQuYCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEFsbEZvcm1zKHJlc291cmNlOiBSZXNvdXJjZSk6IFByb21pc2U8SHR0cFJlc3BvbnNlPEZvcm1zUmVzb3VyY2UgfCBQcm9ibGVtRGV0YWlscz5bXT4ge1xyXG4gICAgY29uc3QgdXJscyA9IHJlc291cmNlLmdldEZvcm1MaW5rSHJlZnMoKTtcclxuICAgIGNvbnN0IGhlYWRlciA9IFJFU1R3b3JsZENsaWVudC5jcmVhdGVIZWFkZXJzKCdhcHBsaWNhdGlvbi9wcnMuaGFsLWZvcm1zK2pzb24nLCB0aGlzLl9vcHRpb25zLlZlcnNpb24pO1xyXG4gICAgY29uc3QgZm9ybXNQcm9taXNlcyA9IHVybHMubWFwKHVybCA9PiB0aGlzLl9oYWxDbGllbnQuZ2V0KHVybCwgRm9ybXNSZXNvdXJjZSwgUHJvYmxlbURldGFpbHMsIGhlYWRlcikpO1xyXG4gICAgY29uc3QgZm9ybXNBbmRQcm9ibGVtcyA9IGF3YWl0IFByb21pc2UuYWxsKGZvcm1zUHJvbWlzZXMpO1xyXG4gICAgcmV0dXJuIGZvcm1zQW5kUHJvYmxlbXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgc3VibWl0KHRlbXBsYXRlOiBUZW1wbGF0ZSwgZm9ybVZhbHVlczoge30pOiBQcm9taXNlPEh0dHBSZXNwb25zZTxGb3Jtc1Jlc291cmNlIHwgUHJvYmxlbURldGFpbHM+PiB7XHJcbiAgICBjb25zdCB1cmkgPSB0ZW1wbGF0ZS50YXJnZXQgfHwgJyc7XHJcbiAgICBjb25zdCBtZXRob2QgPSB0ZW1wbGF0ZS5tZXRob2Q/LnRvTG93ZXJDYXNlKCk7XHJcbiAgICBjb25zdCBoZWFkZXIgPSBSRVNUd29ybGRDbGllbnQuY3JlYXRlSGVhZGVycygnYXBwbGljYXRpb24vcHJzLmhhbC1mb3Jtcytqc29uJywgdGhpcy5fb3B0aW9ucy5WZXJzaW9uKTtcclxuXHJcbiAgICBsZXQgcmVzcG9uc2U7XHJcbiAgICBzd2l0Y2ggKG1ldGhvZCkge1xyXG4gICAgICBjYXNlICdwdXQnOlxyXG4gICAgICAgIHJlc3BvbnNlID0gYXdhaXQgdGhpcy5oYWxDbGllbnQucHV0KHVyaSwgZm9ybVZhbHVlcywgRm9ybXNSZXNvdXJjZSwgUHJvYmxlbURldGFpbHMsIGhlYWRlcik7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3Bvc3QnOlxyXG4gICAgICAgIHJlc3BvbnNlID0gYXdhaXQgdGhpcy5oYWxDbGllbnQucG9zdCh1cmksIGZvcm1WYWx1ZXMsIEZvcm1zUmVzb3VyY2UsIFByb2JsZW1EZXRhaWxzLCBoZWFkZXIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJlc3BvbnNlID0gYXdhaXQgdGhpcy5oYWxDbGllbnQuZ2V0KHVyaSwgRm9ybXNSZXNvdXJjZSwgUHJvYmxlbURldGFpbHMsIGhlYWRlcik7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJlc3BvbnNlO1xyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBkZWxldGUocmVzb3VyY2U6IFJlc291cmNlKTogUHJvbWlzZTxIdHRwUmVzcG9uc2U8dm9pZCB8IFByb2JsZW1EZXRhaWxzPj4ge1xyXG4gICAgY29uc3QgZGVsZXRlTGluayA9IHJlc291cmNlLmZpbmRMaW5rKCdkZWxldGUnKTtcclxuICAgIGlmICghZGVsZXRlTGluaylcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgcmVzb3VyY2UgJHtyZXNvdXJjZX0gZG9lcyBub3QgaGF2ZSBhIGRlbGV0ZSBsaW5rLmApO1xyXG4gICAgY29uc3QgdXJpID0gZGVsZXRlTGluay5ocmVmO1xyXG4gICAgY29uc3QgaGVhZGVyID0gUkVTVHdvcmxkQ2xpZW50LmNyZWF0ZUhlYWRlcnMoJ2FwcGxpY2F0aW9uL2hhbCtqc29uJywgdGhpcy5fb3B0aW9ucy5WZXJzaW9uKTtcclxuXHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuaGFsQ2xpZW50LmRlbGV0ZSh1cmksIFByb2JsZW1EZXRhaWxzLCBoZWFkZXIpO1xyXG5cclxuICAgIHJldHVybiByZXNwb25zZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRBbGxMaW5rc0Zyb21Ib21lKCk6IHsgW3JlbDogc3RyaW5nXTogTGlua1tdIHwgdW5kZWZpbmVkIH0ge1xyXG4gICAgaWYgKCF0aGlzLl9ob21lUmVzb3VyY2UpXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignSG9tZSByZXNvdXJjZSBpcyBub3Qgc2V0LiBDYWxsIGVuc3VyZUhvbWVSZXNvdXJjZUlzU2V0KCkgZmlyc3QuJyk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuX2hvbWVSZXNvdXJjZS5fbGlua3M7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0TGlua0Zyb21Ib21lKHJlbDogc3RyaW5nLCBuYW1lPzogc3RyaW5nLCBjdXJpZT86IHN0cmluZyk6IExpbmsge1xyXG4gICAgY29uc3QgbGlua3MgPSB0aGlzLmdldExpbmtzRnJvbUhvbWUocmVsLCBjdXJpZSk7XHJcblxyXG4gICAgY29uc3QgbGluayA9IG5hbWUgPyBsaW5rcy5maW5kKGwgPT4gbC5uYW1lID09PSBuYW1lKSA6IGxpbmtzWzBdO1xyXG5cclxuICAgIGlmICghbGluaylcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgaG9tZSByZXNvdXJjZSBkb2VzIG5vdCBoYXZlIGEgbGluayB3aXRoIHRoZSByZWwgJyR7dGhpcy5nZXRGdWxsUmVsKHJlbCwgY3VyaWUpfScgYW5kIHRoZSBuYW1lICcke25hbWV9Jy5gKVxyXG5cclxuICAgIHJldHVybiBsaW5rO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldExpbmtzRnJvbUhvbWUocmVsOiBzdHJpbmcsIGN1cmllPzogc3RyaW5nKTogTGlua1tdIHtcclxuICAgIGlmICghdGhpcy5faG9tZVJlc291cmNlKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0hvbWUgcmVzb3VyY2UgaXMgbm90IHNldC4gQ2FsbCBlbnN1cmVIb21lUmVzb3VyY2VJc1NldCgpIGZpcnN0LicpO1xyXG5cclxuICAgIGNvbnN0IGZ1bGxSZWwgPSB0aGlzLmdldEZ1bGxSZWwocmVsLCBjdXJpZSk7XHJcbiAgICBjb25zdCBsaW5rcyA9IHRoaXMuX2hvbWVSZXNvdXJjZS5fbGlua3NbZnVsbFJlbF07XHJcbiAgICBpZiAoIWxpbmtzIHx8IGxpbmtzLmxlbmd0aCA9PT0gMClcclxuICAgICAgdGhyb3cgRXJyb3IoYFRoZSBob21lIHJlc291cmNlIGRvZXMgbm90IGhhdmUgYSBsaW5rIHdpdGggdGhlIHJlbCAnJHtmdWxsUmVsfScuYCk7XHJcblxyXG4gICAgcmV0dXJuIGxpbmtzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRGdWxsUmVsKHJlbDogc3RyaW5nLCBjdXJpZT86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAvLyByZWwgYWxyZWFkeSBpbmNsdWRlcyBhIGN1cmllID0+IGp1c3QgcmV0dXJuIGl0XHJcbiAgICBpZiAocmVsLmluY2x1ZGVzKCc6JykpXHJcbiAgICAgIHJldHVybiByZWw7XHJcblxyXG4gICAgLy8gTm8gY3VyaWUgZ2l2ZW4gPT4gdXNlIGRlZmF1bHQgY3VyaWUuXHJcbiAgICBpZiAoIWN1cmllKVxyXG4gICAgICBjdXJpZSA9IHRoaXMuX2RlZmF1bHRDdXJpZTtcclxuXHJcbiAgICAvLyBDb21iaW5lIGN1cmllIGFuZCByZWxcclxuICAgIGNvbnN0IGZ1bGxSZWwgPSBgJHtjdXJpZX06JHtyZWx9YDtcclxuXHJcbiAgICByZXR1cm4gZnVsbFJlbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGNyZWF0ZUhlYWRlcnMobWVkaWFUeXBlPzogJ2FwcGxpY2F0aW9uL2hhbCtqc29uJyB8ICdhcHBsaWNhdGlvbi9wcnMuaGFsLWZvcm1zK2pzb24nLCB2ZXJzaW9uPzogbnVtYmVyKTogSHR0cEhlYWRlcnMge1xyXG4gICAgaWYgKHZlcnNpb24pXHJcbiAgICAgIHJldHVybiBuZXcgSHR0cEhlYWRlcnMoeyAnQWNjZXB0JzogYCR7bWVkaWFUeXBlIHx8ICdhcHBsaWNhdGlvbi9oYWwranNvbid9OyB2PSR7dmVyc2lvbn1gIH0pO1xyXG4gICAgcmV0dXJuIG5ldyBIdHRwSGVhZGVycygpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { HttpClient } from "@angular/common/http";
|
|
3
|
-
import { Injectable } from "@angular/core";
|
|
4
|
-
import { RESTworldOptions } from "../models/restworld-options";
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common/http";
|
|
7
|
-
import * as i2 from "./restworld-client-collection";
|
|
8
|
-
export class SettingsService {
|
|
9
|
-
constructor(backend, _clients) {
|
|
10
|
-
this._clients = _clients;
|
|
11
|
-
this._client = new HttpClient(backend);
|
|
12
|
-
}
|
|
13
|
-
get settings() {
|
|
14
|
-
return this._settings;
|
|
15
|
-
}
|
|
16
|
-
initialize() {
|
|
17
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
18
|
-
yield this.ensureSettingsAreLoaded();
|
|
19
|
-
yield this.populateRESTworldClientCollectionFromSettings();
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
ensureSettingsAreLoaded() {
|
|
23
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
-
this._settings = yield this._client
|
|
25
|
-
.get('/settings')
|
|
26
|
-
.toPromise();
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
populateRESTworldClientCollectionFromSettings() {
|
|
30
|
-
var _a;
|
|
31
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
32
|
-
if (!((_a = this._settings) === null || _a === void 0 ? void 0 : _a.apiUrls))
|
|
33
|
-
return;
|
|
34
|
-
yield Promise.all(this._settings.apiUrls
|
|
35
|
-
.map(api => this._clients.addOrGetExistingClient(api.name, new RESTworldOptions(api.url, api.version))));
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
SettingsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: SettingsService, deps: [{ token: i1.HttpBackend }, { token: i2.RESTworldClientCollection }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
40
|
-
SettingsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: SettingsService, providedIn: 'root' });
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: SettingsService, decorators: [{
|
|
42
|
-
type: Injectable,
|
|
43
|
-
args: [{
|
|
44
|
-
providedIn: 'root'
|
|
45
|
-
}]
|
|
46
|
-
}], ctorParameters: function () { return [{ type: i1.HttpBackend }, { type: i2.RESTworldClientCollection }]; } });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXN0d29ybGQtY2xpZW50L3NyYy9saWIvc2VydmljZXMvc2V0dGluZ3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7QUFNL0QsTUFBTSxPQUFPLGVBQWU7SUFRMUIsWUFBWSxPQUFvQixFQUFVLFFBQW1DO1FBQW5DLGFBQVEsR0FBUixRQUFRLENBQTJCO1FBQzNFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQU5ELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQU1ZLFVBQVU7O1lBQ3JCLE1BQU0sSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDckMsTUFBTSxJQUFJLENBQUMsNkNBQTZDLEVBQUUsQ0FBQztRQUM3RCxDQUFDO0tBQUE7SUFFYSx1QkFBdUI7O1lBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTztpQkFDaEMsR0FBRyxDQUFpQixXQUFXLENBQUM7aUJBQ2hDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLENBQUM7S0FBQTtJQUVhLDZDQUE2Qzs7O1lBQ3pELElBQUksQ0FBQyxDQUFBLE1BQUEsSUFBSSxDQUFDLFNBQVMsMENBQUUsT0FBTyxDQUFBO2dCQUMxQixPQUFPO1lBRVQsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTztpQkFDckMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7O0tBQzdHOzs2R0E3QlUsZUFBZTtpSEFBZixlQUFlLGNBRmQsTUFBTTs0RkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBCYWNrZW5kLCBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDbGllbnRTZXR0aW5ncyB9IGZyb20gXCIuLi9tb2RlbHMvY2xpZW50LXNldHRpbmdzXCI7XHJcbmltcG9ydCB7IFJFU1R3b3JsZE9wdGlvbnMgfSBmcm9tIFwiLi4vbW9kZWxzL3Jlc3R3b3JsZC1vcHRpb25zXCI7XHJcbmltcG9ydCB7IFJFU1R3b3JsZENsaWVudENvbGxlY3Rpb24gfSBmcm9tIFwiLi9yZXN0d29ybGQtY2xpZW50LWNvbGxlY3Rpb25cIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNldHRpbmdzU2VydmljZSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfY2xpZW50OiBIdHRwQ2xpZW50O1xyXG5cclxuICBwcml2YXRlIF9zZXR0aW5nczogQ2xpZW50U2V0dGluZ3MgfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIGdldCBzZXR0aW5ncygpOiBDbGllbnRTZXR0aW5ncyB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2V0dGluZ3M7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihiYWNrZW5kOiBIdHRwQmFja2VuZCwgcHJpdmF0ZSBfY2xpZW50czogUkVTVHdvcmxkQ2xpZW50Q29sbGVjdGlvbikge1xyXG4gICAgdGhpcy5fY2xpZW50ID0gbmV3IEh0dHBDbGllbnQoYmFja2VuZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaW5pdGlhbGl6ZSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGF3YWl0IHRoaXMuZW5zdXJlU2V0dGluZ3NBcmVMb2FkZWQoKTtcclxuICAgIGF3YWl0IHRoaXMucG9wdWxhdGVSRVNUd29ybGRDbGllbnRDb2xsZWN0aW9uRnJvbVNldHRpbmdzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGVuc3VyZVNldHRpbmdzQXJlTG9hZGVkKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5fc2V0dGluZ3MgPSBhd2FpdCB0aGlzLl9jbGllbnRcclxuICAgICAgLmdldDxDbGllbnRTZXR0aW5ncz4oJy9zZXR0aW5ncycpXHJcbiAgICAgIC50b1Byb21pc2UoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgcG9wdWxhdGVSRVNUd29ybGRDbGllbnRDb2xsZWN0aW9uRnJvbVNldHRpbmdzKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCF0aGlzLl9zZXR0aW5ncz8uYXBpVXJscylcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGF3YWl0IFByb21pc2UuYWxsKHRoaXMuX3NldHRpbmdzLmFwaVVybHNcclxuICAgICAgLm1hcChhcGkgPT4gIHRoaXMuX2NsaWVudHMuYWRkT3JHZXRFeGlzdGluZ0NsaWVudChhcGkubmFtZSwgbmV3IFJFU1R3b3JsZE9wdGlvbnMoYXBpLnVybCwgYXBpLnZlcnNpb24pKSkpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|