Skip to content

Commit 48db16b

Browse files
committed
Added getExposures function
1 parent 7c98c99 commit 48db16b

File tree

7 files changed

+32
-12
lines changed

7 files changed

+32
-12
lines changed

dist/Client.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ export class Client {
231231
try {
232232
// @todo switch on cookie, "X-Session-Token" or client_credentials
233233
const fetchResponse = await fetch(url, {
234-
credentials: 'include', // @todo only required for cookie based auth,
234+
credentials: 'include',
235235
headers: headers,
236236
});
237237
let json = await fetchResponse.json();

dist/index.js

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1518,15 +1518,13 @@ class BaseService extends RequestBuilder {
15181518
};
15191519
}
15201520
async create(model, params) {
1521-
if (params) {
1522-
}
1521+
if (params) {}
15231522
const jsonApiSerializer = new JsonApiSerializer(this.hydrator.getModelMap());
15241523
const payload = jsonApiSerializer.buildCreatePayload(model);
15251524
return await this.client.makePostRequest(this.endpoint, payload);
15261525
}
15271526
async update(id, model, params) {
1528-
if (params) {
1529-
}
1527+
if (params) {}
15301528
const jsonApiSerializer = new JsonApiSerializer(this.hydrator.getModelMap());
15311529
const payload = jsonApiSerializer.buildUpdatePayload(model);
15321530
return await this.client.makePatchRequest(`${this.endpoint}/${id}`, payload);
@@ -1720,6 +1718,12 @@ class EquipmentService extends BaseService {
17201718
constructor(client) {
17211719
super(client, "/v3/orgs/:orgId/assets/equipment");
17221720
}
1721+
async getExposures(equipmentId) {
1722+
const exposuresEndpoint = `${this.endpoint}/${equipmentId}/exposures`;
1723+
const resp = await this.client.makeGetRequest(exposuresEndpoint);
1724+
resp.data = resp.data.map((equipmentExposure) => new EquipmentExposure(equipmentExposure));
1725+
return resp;
1726+
}
17231727
}
17241728

17251729
// src/services/EquipmentExposureService.ts
@@ -2189,9 +2193,6 @@ class ClientConfig {
21892193
}
21902194
// src/models/Organisation.ts
21912195
class Organisation extends BaseModel {
2192-
constructor() {
2193-
super(...arguments);
2194-
}
21952196
type = "organisations";
21962197
static relationships = [];
21972198
}

dist/services/BaseService.d.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,15 @@ export declare class BaseService<T extends Model> extends RequestBuilder {
1313
constructor(client: Client, endpoint: string);
1414
convertToJsonApi(model: Model): {
1515
data: {
16-
id?: string;
16+
id?: string | undefined;
1717
type: string;
1818
attributes: Record<string, any>;
1919
relationships?: Record<string, {
2020
data: {
2121
type: string;
2222
id: string;
2323
};
24-
}>;
24+
}> | undefined;
2525
};
2626
};
2727
get(): Promise<InternalResponse<T[]>>;

dist/services/EquipmentService.d.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
import { Client } from "../Client";
22
import { BaseService } from "./BaseService";
33
import { Equipment } from "../models/Equipment";
4+
import { EquipmentExposure } from "../models/EquipmentExposure";
5+
import type { InternalResponse } from '../types/Response';
46
export declare class EquipmentService extends BaseService<Equipment> {
57
constructor(client: Client);
8+
getExposures(equipmentId: string): Promise<InternalResponse<EquipmentExposure[]>>;
69
}

dist/services/EquipmentService.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
11
import { Client } from "../Client";
22
import { BaseService } from "./BaseService";
33
import { Equipment } from "../models/Equipment";
4+
import { EquipmentExposure } from "../models/EquipmentExposure";
45
export class EquipmentService extends BaseService {
56
constructor(client) {
67
super(client, "/v3/orgs/:orgId/assets/equipment");
78
}
9+
async getExposures(equipmentId) {
10+
const exposuresEndpoint = `${this.endpoint}/${equipmentId}/exposures`;
11+
const resp = await this.client.makeGetRequest(exposuresEndpoint);
12+
resp.data = resp.data.map((equipmentExposure) => new EquipmentExposure(equipmentExposure));
13+
return resp;
14+
}
815
}

dist/utils/Requests.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ export class Requests {
1212
}
1313
static buildInternalResponse(fetchResponse, json) {
1414
return {
15-
ok: fetchResponse.ok, // @todo convert to own version
15+
ok: fetchResponse.ok,
1616
statusCode: fetchResponse.status,
1717
headers: fetchResponse.headers,
1818
meta: json?.meta || null,
@@ -29,7 +29,7 @@ export class Requests {
2929
static buildInternalErrorResponse(error) {
3030
return {
3131
ok: false,
32-
statusCode: error.statusCode || 0, // If there's no response, status code is 0
32+
statusCode: error.statusCode || 0,
3333
headers: error.headers,
3434
data: null,
3535
errors: {

src/services/EquipmentService.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
11
import {Client} from "Client";
22
import {BaseService} from "./BaseService";
33
import {Equipment} from "../models/Equipment";
4+
import {EquipmentExposure} from "../models/EquipmentExposure";
5+
import type { InternalResponse } from '../types/Response';
46

57
export class EquipmentService extends BaseService<Equipment> {
68
constructor(client: Client) {
79
super(client, "/v3/orgs/:orgId/assets/equipment");
810
}
11+
12+
public async getExposures(equipmentId: string): Promise<InternalResponse<EquipmentExposure[]>> {
13+
const exposuresEndpoint = `${this.endpoint}/${equipmentId}/exposures`;
14+
const resp = await this.client.makeGetRequest(exposuresEndpoint);
15+
resp.data = resp.data.map((equipmentExposure: any) => new EquipmentExposure(equipmentExposure));
16+
return resp;
17+
}
918
}

0 commit comments

Comments
 (0)