@apigames/sdk-core 22.1.25 → 22.1.28

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.
@@ -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 GetHeaders;
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
- GetHeaders(action) {
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':
@@ -0,0 +1,3 @@
1
+ export declare type ResourceHeaderParams = {
2
+ [index: string]: string;
3
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -22,7 +22,6 @@ export default class ResourceObject implements IResourceObject {
22
22
  protected GetUpdatePayload(): any;
23
23
  Delete(): Promise<void>;
24
24
  private GetHeaderValue;
25
- private GetHeaders;
26
25
  private HasHeader;
27
26
  private InsertResource;
28
27
  private UpdateResource;
@@ -183,32 +183,19 @@ class ResourceObject {
183
183
  yield this._container.Delete(this);
184
184
  });
185
185
  }
186
- GetHeaderValue(headers, targetHeader) {
186
+ GetHeaderValue(headers, key) {
187
187
  let value;
188
188
  for (const headerName in headers) {
189
- if (headerName.toLowerCase() === targetHeader.toLowerCase()) {
189
+ if (headerName.toLowerCase() === key.toLowerCase()) {
190
190
  value = headers[headerName];
191
191
  }
192
192
  }
193
193
  return value;
194
194
  }
195
- GetHeaders() {
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() === targetHeader.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.25",
16
+ "version": "22.1.28",
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.5",
37
- "@apigames/rest-client": "22.1.6",
36
+ "@apigames/json": "22.1.7",
37
+ "@apigames/rest-client": "22.1.8",
38
38
  "object-hash": "2.2.0"
39
39
  },
40
40
  "devDependencies": {
41
- "date-and-time": "^2.3.1",
41
+ "date-and-time": "^2.4.0",
42
42
  "@types/date-and-time": "^0.13.0",
43
- "@types/jest": "27.5.1",
44
- "@types/node": "14.18.18",
45
- "@typescript-eslint/eslint-plugin": "5.26.0",
46
- "@typescript-eslint/parser": "5.26.0",
47
- "eslint": "8.16.0",
43
+ "@types/jest": "27.5.2",
44
+ "@types/node": "14.18.21",
45
+ "@typescript-eslint/eslint-plugin": "5.30.5",
46
+ "@typescript-eslint/parser": "5.30.5",
47
+ "eslint": "8.19.0",
48
48
  "eslint-config-airbnb": "19.0.4",
49
49
  "eslint-plugin-import": "2.26.0",
50
- "eslint-plugin-jsx-a11y": "6.5.1",
51
- "eslint-plugin-react": "7.30.0",
52
- "eslint-plugin-react-hooks": "4.5.0",
50
+ "eslint-plugin-jsx-a11y": "6.6.0",
51
+ "eslint-plugin-react": "7.30.1",
52
+ "eslint-plugin-react-hooks": "4.6.0",
53
53
  "jest": "27.5.1",
54
54
  "ts-jest": "27.1.5",
55
- "typescript": "4.7.2"
55
+ "typescript": "4.7.4"
56
56
  },
57
57
  "eslintConfig": {},
58
58
  "repository": {