@apigames/sdk-core 22.1.24 → 22.1.27
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/lib/classes/index.d.ts +1 -0
- package/lib/classes/resource.container.d.ts +4 -2
- package/lib/classes/resource.container.js +13 -1
- package/lib/classes/resource.header.params.d.ts +3 -0
- package/lib/classes/resource.header.params.js +2 -0
- package/lib/classes/resource.object.d.ts +0 -1
- package/lib/classes/resource.object.js +6 -19
- package/lib/interfaces/resource.interfaces.d.ts +2 -1
- package/package.json +11 -11
package/lib/classes/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { default as ResourceContainer, ResourceFilterType } from './resource.container';
|
|
2
2
|
export { default as ResourceObject, ResourceObjectClass, ResourceObjectMode } from './resource.object';
|
|
3
|
+
export { ResourceHeaderParams } from './resource.header.params';
|
|
3
4
|
export { ResourcePathParams } from './resource.path.params';
|
|
4
5
|
export { SDKConfiguration, SDKConfig } from './sdk.config';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IRestClient, RestClientResponse } from '@apigames/rest-client';
|
|
2
|
-
import { IResourceContainer, IResourceObject, ResourceContainerIncludedResourceTypes, ResourcePathParams, ResourceFilterName, ResourceFilterValue, ResourceIncludeOption, ResourceSortOption } from '..';
|
|
2
|
+
import { IResourceContainer, IResourceObject, ResourceContainerIncludedResourceTypes, ResourceHeaderParams, ResourcePathParams, ResourceFilterName, ResourceFilterValue, ResourceIncludeOption, ResourceSortOption } from '..';
|
|
3
3
|
export declare enum ResourceFilterType {
|
|
4
4
|
Equal = "equal",
|
|
5
5
|
NotEqual = "!equal",
|
|
@@ -17,6 +17,7 @@ export default class ResourceContainer implements IResourceContainer {
|
|
|
17
17
|
protected _includes: ResourceContainerIncludedResourceTypes;
|
|
18
18
|
private _queryParams;
|
|
19
19
|
private readonly _restClient;
|
|
20
|
+
protected headerParams: ResourceHeaderParams;
|
|
20
21
|
protected pathParams: ResourcePathParams;
|
|
21
22
|
constructor(restClient?: IRestClient);
|
|
22
23
|
get data(): IResourceObject | IResourceObject[];
|
|
@@ -38,7 +39,8 @@ export default class ResourceContainer implements IResourceContainer {
|
|
|
38
39
|
Find(): Promise<void>;
|
|
39
40
|
Get(id: string): Promise<void>;
|
|
40
41
|
InitParams(): void;
|
|
41
|
-
private
|
|
42
|
+
private InitializeDefaultHeaderParams;
|
|
43
|
+
GetHeaders(action: string): ResourceHeaderParams;
|
|
42
44
|
private GetQueryParams;
|
|
43
45
|
IncludedObject(type: string, id: string): IResourceObject;
|
|
44
46
|
Filter(filter: ResourceFilterName, selector: ResourceFilterType, value: ResourceFilterValue): IResourceContainer;
|
|
@@ -31,6 +31,7 @@ class ResourceContainer {
|
|
|
31
31
|
this._data = undefined;
|
|
32
32
|
this._includes = {};
|
|
33
33
|
this._restClient = (0, json_1.isDefined)(restClient) ? restClient : new rest_client_1.RestClient();
|
|
34
|
+
this.headerParams = {};
|
|
34
35
|
this.pathParams = {};
|
|
35
36
|
this._queryParams = {
|
|
36
37
|
includes: {},
|
|
@@ -227,8 +228,19 @@ class ResourceContainer {
|
|
|
227
228
|
pagination: {},
|
|
228
229
|
};
|
|
229
230
|
}
|
|
230
|
-
|
|
231
|
+
InitializeDefaultHeaderParams() {
|
|
231
232
|
const headers = {};
|
|
233
|
+
if ((0, json_1.isDefined)(this.headerParams)) {
|
|
234
|
+
for (const headerParamName in this.headerParams) {
|
|
235
|
+
if ((0, json_1.hasProperty)(this.headerParams, headerParamName)) {
|
|
236
|
+
headers[headerParamName] = this.headerParams[headerParamName];
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
return headers;
|
|
241
|
+
}
|
|
242
|
+
GetHeaders(action) {
|
|
243
|
+
const headers = this.InitializeDefaultHeaderParams();
|
|
232
244
|
switch (action) {
|
|
233
245
|
case 'GET':
|
|
234
246
|
case 'COUNT':
|
|
@@ -183,32 +183,19 @@ class ResourceObject {
|
|
|
183
183
|
yield this._container.Delete(this);
|
|
184
184
|
});
|
|
185
185
|
}
|
|
186
|
-
GetHeaderValue(headers,
|
|
186
|
+
GetHeaderValue(headers, key) {
|
|
187
187
|
let value;
|
|
188
188
|
for (const headerName in headers) {
|
|
189
|
-
if (headerName.toLowerCase() ===
|
|
189
|
+
if (headerName.toLowerCase() === key.toLowerCase()) {
|
|
190
190
|
value = headers[headerName];
|
|
191
191
|
}
|
|
192
192
|
}
|
|
193
193
|
return value;
|
|
194
194
|
}
|
|
195
|
-
|
|
196
|
-
const headers = {
|
|
197
|
-
Accept: this.EndpointContentType(),
|
|
198
|
-
'Content-Type': this.EndpointContentType(),
|
|
199
|
-
};
|
|
200
|
-
if ((0, json_1.isDefined)((0, __1.SDKConfig)().apiKey)) {
|
|
201
|
-
headers['x-api-key'] = (0, __1.SDKConfig)().apiKey;
|
|
202
|
-
}
|
|
203
|
-
if ((0, json_1.isDefined)((0, __1.SDKConfig)().accessToken)) {
|
|
204
|
-
headers.Authorization = `Bearer ${(0, __1.SDKConfig)().accessToken}`;
|
|
205
|
-
}
|
|
206
|
-
return headers;
|
|
207
|
-
}
|
|
208
|
-
HasHeader(headers, targetHeader) {
|
|
195
|
+
HasHeader(headers, key) {
|
|
209
196
|
let hasHeader = false;
|
|
210
197
|
for (const headerName in headers) {
|
|
211
|
-
if (headerName.toLowerCase() ===
|
|
198
|
+
if (headerName.toLowerCase() === key.toLowerCase()) {
|
|
212
199
|
hasHeader = true;
|
|
213
200
|
}
|
|
214
201
|
}
|
|
@@ -217,7 +204,7 @@ class ResourceObject {
|
|
|
217
204
|
InsertResource() {
|
|
218
205
|
return __awaiter(this, void 0, void 0, function* () {
|
|
219
206
|
const queryUri = this._container.uri;
|
|
220
|
-
const queryHeaders = this.GetHeaders();
|
|
207
|
+
const queryHeaders = this._container.GetHeaders('INSERT');
|
|
221
208
|
const queryOptions = {};
|
|
222
209
|
const payload = this.GetInsertPayload();
|
|
223
210
|
const response = yield this._container.restClient.Post(queryUri, payload, queryHeaders, queryOptions);
|
|
@@ -237,7 +224,7 @@ class ResourceObject {
|
|
|
237
224
|
UpdateResource() {
|
|
238
225
|
return __awaiter(this, void 0, void 0, function* () {
|
|
239
226
|
const queryUri = this.uri;
|
|
240
|
-
const queryHeaders = this.GetHeaders();
|
|
227
|
+
const queryHeaders = this._container.GetHeaders('UPDATE');
|
|
241
228
|
const queryOptions = {};
|
|
242
229
|
const payload = this.GetUpdatePayload();
|
|
243
230
|
yield this._container.restClient.Patch(queryUri, payload, queryHeaders, queryOptions);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IRestClient } from '@apigames/rest-client';
|
|
2
|
-
import { ResourceFilterType } from '../classes';
|
|
2
|
+
import { ResourceFilterType, ResourceHeaderParams } from '../classes';
|
|
3
3
|
export declare type ResourceObjectType = string;
|
|
4
4
|
export declare type ResourceObjectIdentifier = string;
|
|
5
5
|
export declare enum ResourceObjectAttributesLoadType {
|
|
@@ -79,6 +79,7 @@ export interface IResourceContainer {
|
|
|
79
79
|
restClient: IRestClient;
|
|
80
80
|
uri: string;
|
|
81
81
|
Filter(filter: ResourceFilterName, selector: ResourceFilterType, value: ResourceFilterValue): IResourceContainer;
|
|
82
|
+
GetHeaders(action: string): ResourceHeaderParams;
|
|
82
83
|
Sort(option: ResourceSortOption): IResourceContainer;
|
|
83
84
|
Include(include: ResourceIncludeOption): IResourceContainer;
|
|
84
85
|
PageOffset(pageOffset: number, pageSize: number): IResourceContainer;
|
package/package.json
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
],
|
|
14
14
|
"description": "API Games SDK Core",
|
|
15
15
|
"license": "MIT",
|
|
16
|
-
"version": "22.1.
|
|
16
|
+
"version": "22.1.27",
|
|
17
17
|
"main": "lib/index.js",
|
|
18
18
|
"types": "lib/index.d.ts",
|
|
19
19
|
"scripts": {
|
|
@@ -33,26 +33,26 @@
|
|
|
33
33
|
"test:watch": "jest --watch"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@apigames/json": "22.1.
|
|
37
|
-
"@apigames/rest-client": "22.1.
|
|
36
|
+
"@apigames/json": "22.1.6",
|
|
37
|
+
"@apigames/rest-client": "22.1.7",
|
|
38
38
|
"object-hash": "2.2.0"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"date-and-time": "^2.3.1",
|
|
42
42
|
"@types/date-and-time": "^0.13.0",
|
|
43
|
-
"@types/jest": "27.
|
|
44
|
-
"@types/node": "14.18.
|
|
45
|
-
"@typescript-eslint/eslint-plugin": "5.
|
|
46
|
-
"@typescript-eslint/parser": "5.
|
|
47
|
-
"eslint": "8.
|
|
43
|
+
"@types/jest": "27.5.2",
|
|
44
|
+
"@types/node": "14.18.21",
|
|
45
|
+
"@typescript-eslint/eslint-plugin": "5.27.1",
|
|
46
|
+
"@typescript-eslint/parser": "5.27.1",
|
|
47
|
+
"eslint": "8.17.0",
|
|
48
48
|
"eslint-config-airbnb": "19.0.4",
|
|
49
49
|
"eslint-plugin-import": "2.26.0",
|
|
50
50
|
"eslint-plugin-jsx-a11y": "6.5.1",
|
|
51
|
-
"eslint-plugin-react": "7.
|
|
51
|
+
"eslint-plugin-react": "7.30.0",
|
|
52
52
|
"eslint-plugin-react-hooks": "4.5.0",
|
|
53
53
|
"jest": "27.5.1",
|
|
54
|
-
"ts-jest": "27.1.
|
|
55
|
-
"typescript": "4.
|
|
54
|
+
"ts-jest": "27.1.5",
|
|
55
|
+
"typescript": "4.7.3"
|
|
56
56
|
},
|
|
57
57
|
"eslintConfig": {},
|
|
58
58
|
"repository": {
|