Skip to content

Commit 2e2680c

Browse files
committed
patching should hydrate instead of returning raw response
1 parent 1061925 commit 2e2680c

File tree

4 files changed

+28
-6
lines changed

4 files changed

+28
-6
lines changed

dist/index.js

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1584,16 +1584,23 @@ class BaseService extends RequestBuilder {
15841584
};
15851585
}
15861586
async create(model, params) {
1587-
if (params) {}
1587+
if (params) {
1588+
}
15881589
const jsonApiSerializer = new JsonApiSerializer(this.hydrator.getModelMap());
15891590
const payload = jsonApiSerializer.buildCreatePayload(model);
15901591
return await this.client.makePostRequest(this.endpoint, payload);
15911592
}
15921593
async update(id, model, params) {
1593-
if (params) {}
1594+
if (params) {
1595+
}
15941596
const jsonApiSerializer = new JsonApiSerializer(this.hydrator.getModelMap());
15951597
const payload = jsonApiSerializer.buildUpdatePayload(model);
1596-
return await this.client.makePatchRequest(`${this.endpoint}/${id}`, payload);
1598+
let resp = await this.client.makePatchRequest(`${this.endpoint}/${id}`, payload);
1599+
const hydratedData = this.hydrator.hydrateResponse(resp.data, resp.included || []);
1600+
return {
1601+
...resp,
1602+
data: hydratedData
1603+
};
15971604
}
15981605
async stats(options) {
15991606
const statsEndpoint = `${this.endpoint}/stats`;
@@ -2286,6 +2293,9 @@ class ClientConfig {
22862293
}
22872294
// src/models/Organisation.ts
22882295
class Organisation extends BaseModel {
2296+
constructor() {
2297+
super(...arguments);
2298+
}
22892299
type = "organisations";
22902300
static relationships = [];
22912301
}

dist/services/BaseService.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,12 @@ export class BaseService extends RequestBuilder {
3838
}
3939
const jsonApiSerializer = new JsonApiSerializer(this.hydrator.getModelMap());
4040
const payload = jsonApiSerializer.buildUpdatePayload(model);
41-
return await this.client.makePatchRequest(`${this.endpoint}/${id}`, payload);
41+
let resp = await this.client.makePatchRequest(`${this.endpoint}/${id}`, payload);
42+
const hydratedData = this.hydrator.hydrateResponse(resp.data, resp.included || []);
43+
return {
44+
...resp,
45+
data: hydratedData,
46+
};
4247
}
4348
async stats(options) {
4449
const statsEndpoint = `${this.endpoint}/stats`;

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"type": "git",
55
"url": "https://github.com/ctrl-hub/sdk.ts"
66
},
7-
"version": "0.1.142",
7+
"version": "0.1.143",
88
"main": "dist/index.js",
99
"types": "dist/index.d.ts",
1010
"type": "module",

src/services/BaseService.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,14 @@ export class BaseService<T extends Model> extends RequestBuilder {
5454
}
5555
const jsonApiSerializer = new JsonApiSerializer(this.hydrator.getModelMap());
5656
const payload = jsonApiSerializer.buildUpdatePayload(model);
57-
return await this.client.makePatchRequest(`${this.endpoint}/${id}`, payload);
57+
let resp = await this.client.makePatchRequest(`${this.endpoint}/${id}`, payload);
58+
59+
const hydratedData = this.hydrator.hydrateResponse<T>(resp.data as JsonData | JsonData[], resp.included || []);
60+
61+
return {
62+
...resp,
63+
data: hydratedData,
64+
} as InternalResponse<T>;
5865
}
5966

6067
async stats<R = any>(options?: RequestOptionsType): Promise<InternalResponse<R>> {

0 commit comments

Comments
 (0)