@twin.org/auditable-item-stream-service 0.9.0 → 0.9.1-next.2
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/dist/es/auditableItemStreamRoutes.js +39 -61
- package/dist/es/auditableItemStreamRoutes.js.map +1 -1
- package/dist/es/auditableItemStreamService.js +12 -17
- package/dist/es/auditableItemStreamService.js.map +1 -1
- package/dist/types/auditableItemStreamRoutes.d.ts +1 -1
- package/dist/types/auditableItemStreamService.d.ts +4 -4
- package/docs/changelog.md +78 -0
- package/docs/open-api/spec.json +5 -5
- package/docs/reference/classes/AuditableItemStreamService.md +3 -3
- package/package.json +16 -16
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
// Copyright 2024 IOTA Stiftung.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0.
|
|
3
|
-
import { HttpContextIdKeys,
|
|
3
|
+
import { HttpContextIdKeys, HttpHeaderHelper, HttpParameterHelper } from "@twin.org/api-models";
|
|
4
4
|
import { AuditableItemStreamContexts, AuditableItemStreamTypes } from "@twin.org/auditable-item-stream-models";
|
|
5
5
|
import { ContextIdStore } from "@twin.org/context";
|
|
6
|
-
import { Coerce, ComponentFactory, Guards
|
|
6
|
+
import { Coerce, ComponentFactory, Guards } from "@twin.org/core";
|
|
7
7
|
import { SchemaOrgContexts, SchemaOrgTypes } from "@twin.org/standards-schema-org";
|
|
8
|
-
import {
|
|
8
|
+
import { HeaderTypes, HttpStatusCode, MimeTypes } from "@twin.org/web";
|
|
9
9
|
/**
|
|
10
10
|
* The source identifier used when communicating errors from these routes.
|
|
11
11
|
*/
|
|
@@ -1036,11 +1036,11 @@ export async function auditableItemStreamCreate(httpRequestContext, componentNam
|
|
|
1036
1036
|
Guards.object(ROUTES_SOURCE, "request.body", request.body);
|
|
1037
1037
|
const component = ComponentFactory.get(componentName);
|
|
1038
1038
|
const id = await component.create(request.body);
|
|
1039
|
+
const headers = {};
|
|
1040
|
+
HttpHeaderHelper.buildId(headers, id);
|
|
1039
1041
|
return {
|
|
1040
1042
|
statusCode: HttpStatusCode.created,
|
|
1041
|
-
headers
|
|
1042
|
-
[HeaderTypes.Location]: id
|
|
1043
|
-
}
|
|
1043
|
+
headers
|
|
1044
1044
|
};
|
|
1045
1045
|
}
|
|
1046
1046
|
/**
|
|
@@ -1061,13 +1061,10 @@ export async function auditableItemStreamGet(httpRequestContext, componentName,
|
|
|
1061
1061
|
verifyStream: Coerce.boolean(request.query?.verifyStream),
|
|
1062
1062
|
verifyEntries: Coerce.boolean(request.query?.verifyEntries)
|
|
1063
1063
|
});
|
|
1064
|
-
const headers = {
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
const contextIds = await ContextIdStore.getContextIds();
|
|
1069
|
-
headers[HeaderTypes.Link] = HeaderHelper.createLinkHeader(HttpUrlHelper.replaceOrigin(httpRequestContext.serverRequest.url, contextIds?.[HttpContextIdKeys.PublicOrigin]), { cursor: result.cursor }, "next");
|
|
1070
|
-
}
|
|
1064
|
+
const headers = {};
|
|
1065
|
+
HttpHeaderHelper.buildJsonContentType(headers, request.headers);
|
|
1066
|
+
const contextIds = await ContextIdStore.getContextIds();
|
|
1067
|
+
HttpHeaderHelper.buildCursor(headers, httpRequestContext.serverRequest.url, contextIds?.[HttpContextIdKeys.PublicOrigin], result.cursor);
|
|
1071
1068
|
return {
|
|
1072
1069
|
headers,
|
|
1073
1070
|
body: result.stream
|
|
@@ -1140,13 +1137,10 @@ export async function auditableItemStreamList(httpRequestContext, componentName,
|
|
|
1140
1137
|
Guards.object(ROUTES_SOURCE, "request.query", request.query);
|
|
1141
1138
|
const component = ComponentFactory.get(componentName);
|
|
1142
1139
|
const result = await component.query(HttpParameterHelper.objectFromString(request.query?.conditions), request.query?.orderBy, request.query?.orderByDirection, HttpParameterHelper.arrayFromString(request.query?.properties), request.query?.cursor, Coerce.integer(request.query?.limit));
|
|
1143
|
-
const headers = {
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
const contextIds = await ContextIdStore.getContextIds();
|
|
1148
|
-
headers[HeaderTypes.Link] = HeaderHelper.createLinkHeader(HttpUrlHelper.replaceOrigin(httpRequestContext.serverRequest.url, contextIds?.[HttpContextIdKeys.PublicOrigin]), { cursor: result.cursor }, "next");
|
|
1149
|
-
}
|
|
1140
|
+
const headers = {};
|
|
1141
|
+
HttpHeaderHelper.buildJsonContentType(headers, request.headers);
|
|
1142
|
+
const contextIds = await ContextIdStore.getContextIds();
|
|
1143
|
+
HttpHeaderHelper.buildCursor(headers, httpRequestContext.serverRequest.url, contextIds?.[HttpContextIdKeys.PublicOrigin], result.cursor);
|
|
1150
1144
|
return {
|
|
1151
1145
|
headers,
|
|
1152
1146
|
body: result.entries
|
|
@@ -1167,11 +1161,11 @@ export async function auditableItemStreamCreateEntry(httpRequestContext, compone
|
|
|
1167
1161
|
Guards.objectValue(ROUTES_SOURCE, "request.body.entryObject", request.body.entryObject);
|
|
1168
1162
|
const component = ComponentFactory.get(componentName);
|
|
1169
1163
|
const id = await component.createEntry(request.pathParams.id, request.body.entryObject);
|
|
1164
|
+
const headers = {};
|
|
1165
|
+
HttpHeaderHelper.buildId(headers, id);
|
|
1170
1166
|
return {
|
|
1171
1167
|
statusCode: HttpStatusCode.created,
|
|
1172
|
-
headers
|
|
1173
|
-
[HeaderTypes.Location]: id
|
|
1174
|
-
}
|
|
1168
|
+
headers
|
|
1175
1169
|
};
|
|
1176
1170
|
}
|
|
1177
1171
|
/**
|
|
@@ -1228,12 +1222,10 @@ export async function auditableItemStreamGetEntry(httpRequestContext, componentN
|
|
|
1228
1222
|
const result = await component.getEntry(request.pathParams.id, request.pathParams.entryId, {
|
|
1229
1223
|
verifyEntry: Coerce.boolean(request.query?.verifyEntry)
|
|
1230
1224
|
});
|
|
1225
|
+
const headers = {};
|
|
1226
|
+
HttpHeaderHelper.buildJsonContentType(headers, request.headers);
|
|
1231
1227
|
return {
|
|
1232
|
-
headers
|
|
1233
|
-
[HeaderTypes.ContentType]: request.headers?.[HeaderTypes.Accept] === MimeTypes.JsonLd
|
|
1234
|
-
? MimeTypes.JsonLd
|
|
1235
|
-
: MimeTypes.Json
|
|
1236
|
-
},
|
|
1228
|
+
headers,
|
|
1237
1229
|
body: result
|
|
1238
1230
|
};
|
|
1239
1231
|
}
|
|
@@ -1251,12 +1243,10 @@ export async function auditableItemStreamGetEntryObject(httpRequestContext, comp
|
|
|
1251
1243
|
Guards.stringValue(ROUTES_SOURCE, "request.pathParams.entryId", request.pathParams.entryId);
|
|
1252
1244
|
const component = ComponentFactory.get(componentName);
|
|
1253
1245
|
const result = await component.getEntryObject(request.pathParams.id, request.pathParams.entryId);
|
|
1246
|
+
const headers = {};
|
|
1247
|
+
HttpHeaderHelper.buildJsonContentType(headers, request.headers);
|
|
1254
1248
|
return {
|
|
1255
|
-
headers
|
|
1256
|
-
[HeaderTypes.ContentType]: request.headers?.[HeaderTypes.Accept] === MimeTypes.JsonLd
|
|
1257
|
-
? MimeTypes.JsonLd
|
|
1258
|
-
: MimeTypes.Json
|
|
1259
|
-
},
|
|
1249
|
+
headers,
|
|
1260
1250
|
body: result
|
|
1261
1251
|
};
|
|
1262
1252
|
}
|
|
@@ -1280,13 +1270,10 @@ export async function auditableItemStreamListEntries(httpRequestContext, compone
|
|
|
1280
1270
|
limit: Coerce.integer(request.query?.limit),
|
|
1281
1271
|
cursor: request.query?.cursor
|
|
1282
1272
|
});
|
|
1283
|
-
const headers = {
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
const contextIds = await ContextIdStore.getContextIds();
|
|
1288
|
-
headers[HeaderTypes.Link] = HeaderHelper.createLinkHeader(HttpUrlHelper.replaceOrigin(httpRequestContext.serverRequest.url, contextIds?.[HttpContextIdKeys.PublicOrigin]), { cursor: result.cursor }, "next");
|
|
1289
|
-
}
|
|
1273
|
+
const headers = {};
|
|
1274
|
+
HttpHeaderHelper.buildJsonContentType(headers, request.headers);
|
|
1275
|
+
const contextIds = await ContextIdStore.getContextIds();
|
|
1276
|
+
HttpHeaderHelper.buildCursor(headers, httpRequestContext.serverRequest.url, contextIds?.[HttpContextIdKeys.PublicOrigin], result.cursor);
|
|
1290
1277
|
return {
|
|
1291
1278
|
headers,
|
|
1292
1279
|
body: result.entries
|
|
@@ -1310,13 +1297,10 @@ export async function auditableItemStreamListEntriesNoStream(httpRequestContext,
|
|
|
1310
1297
|
limit: Coerce.integer(request.query?.limit),
|
|
1311
1298
|
cursor: request.query?.cursor
|
|
1312
1299
|
});
|
|
1313
|
-
const headers = {
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
const contextIds = await ContextIdStore.getContextIds();
|
|
1318
|
-
headers[HeaderTypes.Link] = HeaderHelper.createLinkHeader(HttpUrlHelper.replaceOrigin(httpRequestContext.serverRequest.url, contextIds?.[HttpContextIdKeys.PublicOrigin]), { cursor: result.cursor }, "next");
|
|
1319
|
-
}
|
|
1300
|
+
const headers = {};
|
|
1301
|
+
HttpHeaderHelper.buildJsonContentType(headers, request.headers);
|
|
1302
|
+
const contextIds = await ContextIdStore.getContextIds();
|
|
1303
|
+
HttpHeaderHelper.buildCursor(headers, httpRequestContext.serverRequest.url, contextIds?.[HttpContextIdKeys.PublicOrigin], result.cursor);
|
|
1320
1304
|
return {
|
|
1321
1305
|
headers,
|
|
1322
1306
|
body: result.entries
|
|
@@ -1341,13 +1325,10 @@ export async function auditableItemStreamListEntryObjects(httpRequestContext, co
|
|
|
1341
1325
|
limit: Coerce.integer(request.query?.limit),
|
|
1342
1326
|
cursor: request.query?.cursor
|
|
1343
1327
|
});
|
|
1344
|
-
const headers = {
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
const contextIds = await ContextIdStore.getContextIds();
|
|
1349
|
-
headers[HeaderTypes.Link] = HeaderHelper.createLinkHeader(HttpUrlHelper.replaceOrigin(httpRequestContext.serverRequest.url, contextIds?.[HttpContextIdKeys.PublicOrigin]), { cursor: result.cursor }, "next");
|
|
1350
|
-
}
|
|
1328
|
+
const headers = {};
|
|
1329
|
+
HttpHeaderHelper.buildJsonContentType(headers, request.headers);
|
|
1330
|
+
const contextIds = await ContextIdStore.getContextIds();
|
|
1331
|
+
HttpHeaderHelper.buildCursor(headers, httpRequestContext.serverRequest.url, contextIds?.[HttpContextIdKeys.PublicOrigin], result.cursor);
|
|
1351
1332
|
return {
|
|
1352
1333
|
headers,
|
|
1353
1334
|
body: result.entries
|
|
@@ -1370,13 +1351,10 @@ export async function auditableItemStreamListEntryObjectsNoStream(httpRequestCon
|
|
|
1370
1351
|
limit: Coerce.integer(request.query?.limit),
|
|
1371
1352
|
cursor: request.query?.cursor
|
|
1372
1353
|
});
|
|
1373
|
-
const headers = {
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
const contextIds = await ContextIdStore.getContextIds();
|
|
1378
|
-
headers[HeaderTypes.Link] = HeaderHelper.createLinkHeader(HttpUrlHelper.replaceOrigin(httpRequestContext.serverRequest.url, contextIds?.[HttpContextIdKeys.PublicOrigin]), { cursor: result.cursor }, "next");
|
|
1379
|
-
}
|
|
1354
|
+
const headers = {};
|
|
1355
|
+
HttpHeaderHelper.buildJsonContentType(headers, request.headers);
|
|
1356
|
+
const contextIds = await ContextIdStore.getContextIds();
|
|
1357
|
+
HttpHeaderHelper.buildCursor(headers, httpRequestContext.serverRequest.url, contextIds?.[HttpContextIdKeys.PublicOrigin], result.cursor);
|
|
1380
1358
|
return {
|
|
1381
1359
|
headers,
|
|
1382
1360
|
body: result.entries
|