@twin.org/api-auth-entity-storage-service 0.0.3-next.27 → 0.0.3-next.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.
|
@@ -67,7 +67,7 @@ export function generateRestRoutesAuthentication(baseRouteName, componentName) {
|
|
|
67
67
|
operationId: "authenticationLogout",
|
|
68
68
|
summary: "Logout from the server",
|
|
69
69
|
tag: tagsAuthentication[0].name,
|
|
70
|
-
method: "
|
|
70
|
+
method: "POST",
|
|
71
71
|
path: `${baseRouteName}/logout`,
|
|
72
72
|
handler: async (httpRequestContext, request) => authenticationLogout(httpRequestContext, componentName, request),
|
|
73
73
|
requestType: {
|
|
@@ -77,7 +77,7 @@ export function generateRestRoutesAuthentication(baseRouteName, componentName) {
|
|
|
77
77
|
id: "logoutRequestExample",
|
|
78
78
|
description: "The request to logout from the server.",
|
|
79
79
|
request: {
|
|
80
|
-
|
|
80
|
+
body: {
|
|
81
81
|
token: "eyJhbGciOiJIU...sw5c"
|
|
82
82
|
}
|
|
83
83
|
}
|
|
@@ -95,7 +95,7 @@ export function generateRestRoutesAuthentication(baseRouteName, componentName) {
|
|
|
95
95
|
operationId: "authenticationRefreshToken",
|
|
96
96
|
summary: "Refresh an authentication token",
|
|
97
97
|
tag: tagsAuthentication[0].name,
|
|
98
|
-
method: "
|
|
98
|
+
method: "POST",
|
|
99
99
|
path: `${baseRouteName}/refresh`,
|
|
100
100
|
handler: async (httpRequestContext, request) => authenticationRefreshToken(httpRequestContext, componentName, request),
|
|
101
101
|
requestType: {
|
|
@@ -105,7 +105,7 @@ export function generateRestRoutesAuthentication(baseRouteName, componentName) {
|
|
|
105
105
|
id: "refreshTokenRequestExample",
|
|
106
106
|
description: "The request to refresh an auth token.",
|
|
107
107
|
request: {
|
|
108
|
-
|
|
108
|
+
body: {
|
|
109
109
|
token: "eyJhbGciOiJIU...sw5c"
|
|
110
110
|
}
|
|
111
111
|
}
|
|
@@ -197,7 +197,7 @@ export async function authenticationLogin(httpRequestContext, componentName, req
|
|
|
197
197
|
export async function authenticationLogout(httpRequestContext, componentName, request) {
|
|
198
198
|
Guards.object(ROUTES_SOURCE, "request", request);
|
|
199
199
|
const component = ComponentFactory.get(componentName);
|
|
200
|
-
await component.logout(request.
|
|
200
|
+
await component.logout(request.body?.token);
|
|
201
201
|
// Need to give a hint to any auth processors about the operation
|
|
202
202
|
// in case they need to manipulate the response
|
|
203
203
|
httpRequestContext.processorState.authOperation = "logout";
|
|
@@ -215,9 +215,9 @@ export async function authenticationLogout(httpRequestContext, componentName, re
|
|
|
215
215
|
export async function authenticationRefreshToken(httpRequestContext, componentName, request) {
|
|
216
216
|
Guards.object(ROUTES_SOURCE, "request", request);
|
|
217
217
|
const component = ComponentFactory.get(componentName);
|
|
218
|
-
// If the token is not in the
|
|
218
|
+
// If the token is not in the body, then maybe an auth processor has extracted it
|
|
219
219
|
// and stored it in the processor state
|
|
220
|
-
const token = request.
|
|
220
|
+
const token = request.body?.token ?? httpRequestContext.processorState.authToken;
|
|
221
221
|
const result = await component.refresh(token);
|
|
222
222
|
// Need to give a hint to any auth processors about the operation
|
|
223
223
|
// in case they need to manipulate the response
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entityStorageAuthenticationRoutes.js","sourceRoot":"","sources":["../../../src/routes/entityStorageAuthenticationRoutes.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type {\n\tIAuthenticationComponent,\n\tILoginRequest,\n\tILoginResponse,\n\tILogoutRequest,\n\tIRefreshTokenRequest,\n\tIRefreshTokenResponse,\n\tIUpdatePasswordRequest\n} from \"@twin.org/api-auth-entity-storage-models\";\nimport type {\n\tIHttpRequestContext,\n\tINoContentResponse,\n\tIRestRoute,\n\tIRestRouteResponseOptions,\n\tITag,\n\tIUnauthorizedResponse\n} from \"@twin.org/api-models\";\nimport { ComponentFactory, Guards } from \"@twin.org/core\";\nimport { nameof } from \"@twin.org/nameof\";\nimport { HttpStatusCode } from \"@twin.org/web\";\n\n/**\n * The source used when communicating about these routes.\n */\nconst ROUTES_SOURCE = \"authenticationRoutes\";\n\n/**\n * The tag to associate with the routes.\n */\nexport const tagsAuthentication: ITag[] = [\n\t{\n\t\tname: \"Authentication\",\n\t\tdescription: \"Authentication endpoints for the REST server.\"\n\t}\n];\n\n/**\n * The REST routes for authentication.\n * @param baseRouteName Prefix to prepend to the paths.\n * @param componentName The name of the component to use in the routes stored in the ComponentFactory.\n * @returns The generated routes.\n */\nexport function generateRestRoutesAuthentication(\n\tbaseRouteName: string,\n\tcomponentName: string\n): IRestRoute[] {\n\tconst loginRoute: IRestRoute<ILoginRequest, ILoginResponse> = {\n\t\toperationId: \"authenticationLogin\",\n\t\tsummary: \"Login to the server\",\n\t\ttag: tagsAuthentication[0].name,\n\t\tmethod: \"POST\",\n\t\tpath: `${baseRouteName}/login`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauthenticationLogin(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<ILoginRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"loginRequestExample\",\n\t\t\t\t\tdescription: \"The request to login to the server.\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\temail: \"user@example.com\",\n\t\t\t\t\t\t\tpassword: \"MyPassword123!\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<ILoginResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"loginResponseExample\",\n\t\t\t\t\t\tdescription: \"The response for the login request.\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\texpiry: 1722514341067\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<IUnauthorizedResponse>()\n\t\t\t}\n\t\t],\n\t\tskipAuth: true\n\t};\n\n\tconst logoutRoute: IRestRoute<ILogoutRequest, INoContentResponse> = {\n\t\toperationId: \"authenticationLogout\",\n\t\tsummary: \"Logout from the server\",\n\t\ttag: tagsAuthentication[0].name,\n\t\tmethod: \"GET\",\n\t\tpath: `${baseRouteName}/logout`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauthenticationLogout(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<ILogoutRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"logoutRequestExample\",\n\t\t\t\t\tdescription: \"The request to logout from the server.\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\ttoken: \"eyJhbGciOiJIU...sw5c\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<INoContentResponse>()\n\t\t\t}\n\t\t],\n\t\tskipAuth: true\n\t};\n\n\tconst refreshTokenRoute: IRestRoute<IRefreshTokenRequest, IRefreshTokenResponse> = {\n\t\toperationId: \"authenticationRefreshToken\",\n\t\tsummary: \"Refresh an authentication token\",\n\t\ttag: tagsAuthentication[0].name,\n\t\tmethod: \"GET\",\n\t\tpath: `${baseRouteName}/refresh`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauthenticationRefreshToken(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IRefreshTokenRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"refreshTokenRequestExample\",\n\t\t\t\t\tdescription: \"The request to refresh an auth token.\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\ttoken: \"eyJhbGciOiJIU...sw5c\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<IRefreshTokenResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"refreshTokenResponseExample\",\n\t\t\t\t\t\tdescription: \"The response for the refresh token request.\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\texpiry: 1722514341067\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<IUnauthorizedResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\tconst updatePasswordRoute: IRestRoute<IUpdatePasswordRequest, INoContentResponse> = {\n\t\toperationId: \"authenticationUpdatePassword\",\n\t\tsummary: \"Update the current user's password\",\n\t\ttag: tagsAuthentication[0].name,\n\t\tmethod: \"PUT\",\n\t\tpath: `${baseRouteName}/password`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauthenticationUpdatePassword(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IUpdatePasswordRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"updatePasswordRequestExample\",\n\t\t\t\t\tdescription: \"The request to update the current user's password.\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\tcurrentPassword: \"MyNewPassword123!\",\n\t\t\t\t\t\t\tnewPassword: \"MyNewPassword123!\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<INoContentResponse>()\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<IUnauthorizedResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\treturn [loginRoute, logoutRoute, refreshTokenRoute, updatePasswordRoute];\n}\n\n/**\n * Login to the server.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function authenticationLogin(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: ILoginRequest\n): Promise<ILoginResponse & IRestRouteResponseOptions> {\n\tGuards.object<ILoginRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<ILoginRequest[\"body\"]>(ROUTES_SOURCE, nameof(request.body), request.body);\n\n\tconst component = ComponentFactory.get<IAuthenticationComponent>(componentName);\n\tconst result = await component.login(request.body.email, request.body.password);\n\n\t// Need to give a hint to any auth processors about the operation\n\t// in case they need to manipulate the response\n\thttpRequestContext.processorState.authOperation = \"login\";\n\thttpRequestContext.processorState.authToken = result.token;\n\n\treturn {\n\t\tbody: {\n\t\t\texpiry: result.expiry\n\t\t}\n\t};\n}\n\n/**\n * Logout from the server.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function authenticationLogout(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: ILogoutRequest\n): Promise<INoContentResponse & IRestRouteResponseOptions> {\n\tGuards.object<ILogoutRequest>(ROUTES_SOURCE, nameof(request), request);\n\n\tconst component = ComponentFactory.get<IAuthenticationComponent>(componentName);\n\tawait component.logout(request.query?.token);\n\n\t// Need to give a hint to any auth processors about the operation\n\t// in case they need to manipulate the response\n\thttpRequestContext.processorState.authOperation = \"logout\";\n\n\treturn {\n\t\tstatusCode: HttpStatusCode.noContent\n\t};\n}\n\n/**\n * Refresh the login token.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function authenticationRefreshToken(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IRefreshTokenRequest\n): Promise<IRefreshTokenResponse & IRestRouteResponseOptions> {\n\tGuards.object<IRefreshTokenRequest>(ROUTES_SOURCE, nameof(request), request);\n\n\tconst component = ComponentFactory.get<IAuthenticationComponent>(componentName);\n\n\t// If the token is not in the query, then maybe an auth processor has extracted it\n\t// and stored it in the processor state\n\tconst token = request.query?.token ?? (httpRequestContext.processorState.authToken as string);\n\tconst result = await component.refresh(token);\n\n\t// Need to give a hint to any auth processors about the operation\n\t// in case they need to manipulate the response\n\thttpRequestContext.processorState.authOperation = \"refresh\";\n\thttpRequestContext.processorState.authToken = result.token;\n\n\treturn {\n\t\tbody: {\n\t\t\texpiry: result.expiry\n\t\t}\n\t};\n}\n\n/**\n * Update the user's password.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function authenticationUpdatePassword(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IUpdatePasswordRequest\n): Promise<INoContentResponse> {\n\tGuards.object<IUpdatePasswordRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IUpdatePasswordRequest[\"body\"]>(ROUTES_SOURCE, nameof(request.body), request.body);\n\n\tconst component = ComponentFactory.get<IAuthenticationComponent>(componentName);\n\n\tawait component.updatePassword(request.body.currentPassword, request.body.newPassword);\n\n\treturn {\n\t\tstatusCode: HttpStatusCode.noContent\n\t};\n}\n"]}
|
|
1
|
+
{"version":3,"file":"entityStorageAuthenticationRoutes.js","sourceRoot":"","sources":["../../../src/routes/entityStorageAuthenticationRoutes.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type {\n\tIAuthenticationComponent,\n\tILoginRequest,\n\tILoginResponse,\n\tILogoutRequest,\n\tIRefreshTokenRequest,\n\tIRefreshTokenResponse,\n\tIUpdatePasswordRequest\n} from \"@twin.org/api-auth-entity-storage-models\";\nimport type {\n\tIHttpRequestContext,\n\tINoContentResponse,\n\tIRestRoute,\n\tIRestRouteResponseOptions,\n\tITag,\n\tIUnauthorizedResponse\n} from \"@twin.org/api-models\";\nimport { ComponentFactory, Guards } from \"@twin.org/core\";\nimport { nameof } from \"@twin.org/nameof\";\nimport { HttpStatusCode } from \"@twin.org/web\";\n\n/**\n * The source used when communicating about these routes.\n */\nconst ROUTES_SOURCE = \"authenticationRoutes\";\n\n/**\n * The tag to associate with the routes.\n */\nexport const tagsAuthentication: ITag[] = [\n\t{\n\t\tname: \"Authentication\",\n\t\tdescription: \"Authentication endpoints for the REST server.\"\n\t}\n];\n\n/**\n * The REST routes for authentication.\n * @param baseRouteName Prefix to prepend to the paths.\n * @param componentName The name of the component to use in the routes stored in the ComponentFactory.\n * @returns The generated routes.\n */\nexport function generateRestRoutesAuthentication(\n\tbaseRouteName: string,\n\tcomponentName: string\n): IRestRoute[] {\n\tconst loginRoute: IRestRoute<ILoginRequest, ILoginResponse> = {\n\t\toperationId: \"authenticationLogin\",\n\t\tsummary: \"Login to the server\",\n\t\ttag: tagsAuthentication[0].name,\n\t\tmethod: \"POST\",\n\t\tpath: `${baseRouteName}/login`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauthenticationLogin(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<ILoginRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"loginRequestExample\",\n\t\t\t\t\tdescription: \"The request to login to the server.\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\temail: \"user@example.com\",\n\t\t\t\t\t\t\tpassword: \"MyPassword123!\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<ILoginResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"loginResponseExample\",\n\t\t\t\t\t\tdescription: \"The response for the login request.\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\texpiry: 1722514341067\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<IUnauthorizedResponse>()\n\t\t\t}\n\t\t],\n\t\tskipAuth: true\n\t};\n\n\tconst logoutRoute: IRestRoute<ILogoutRequest, INoContentResponse> = {\n\t\toperationId: \"authenticationLogout\",\n\t\tsummary: \"Logout from the server\",\n\t\ttag: tagsAuthentication[0].name,\n\t\tmethod: \"POST\",\n\t\tpath: `${baseRouteName}/logout`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauthenticationLogout(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<ILogoutRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"logoutRequestExample\",\n\t\t\t\t\tdescription: \"The request to logout from the server.\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\ttoken: \"eyJhbGciOiJIU...sw5c\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<INoContentResponse>()\n\t\t\t}\n\t\t],\n\t\tskipAuth: true\n\t};\n\n\tconst refreshTokenRoute: IRestRoute<IRefreshTokenRequest, IRefreshTokenResponse> = {\n\t\toperationId: \"authenticationRefreshToken\",\n\t\tsummary: \"Refresh an authentication token\",\n\t\ttag: tagsAuthentication[0].name,\n\t\tmethod: \"POST\",\n\t\tpath: `${baseRouteName}/refresh`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauthenticationRefreshToken(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IRefreshTokenRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"refreshTokenRequestExample\",\n\t\t\t\t\tdescription: \"The request to refresh an auth token.\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\ttoken: \"eyJhbGciOiJIU...sw5c\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<IRefreshTokenResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"refreshTokenResponseExample\",\n\t\t\t\t\t\tdescription: \"The response for the refresh token request.\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\texpiry: 1722514341067\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<IUnauthorizedResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\tconst updatePasswordRoute: IRestRoute<IUpdatePasswordRequest, INoContentResponse> = {\n\t\toperationId: \"authenticationUpdatePassword\",\n\t\tsummary: \"Update the current user's password\",\n\t\ttag: tagsAuthentication[0].name,\n\t\tmethod: \"PUT\",\n\t\tpath: `${baseRouteName}/password`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauthenticationUpdatePassword(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IUpdatePasswordRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"updatePasswordRequestExample\",\n\t\t\t\t\tdescription: \"The request to update the current user's password.\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\tcurrentPassword: \"MyNewPassword123!\",\n\t\t\t\t\t\t\tnewPassword: \"MyNewPassword123!\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<INoContentResponse>()\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<IUnauthorizedResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\treturn [loginRoute, logoutRoute, refreshTokenRoute, updatePasswordRoute];\n}\n\n/**\n * Login to the server.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function authenticationLogin(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: ILoginRequest\n): Promise<ILoginResponse & IRestRouteResponseOptions> {\n\tGuards.object<ILoginRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<ILoginRequest[\"body\"]>(ROUTES_SOURCE, nameof(request.body), request.body);\n\n\tconst component = ComponentFactory.get<IAuthenticationComponent>(componentName);\n\tconst result = await component.login(request.body.email, request.body.password);\n\n\t// Need to give a hint to any auth processors about the operation\n\t// in case they need to manipulate the response\n\thttpRequestContext.processorState.authOperation = \"login\";\n\thttpRequestContext.processorState.authToken = result.token;\n\n\treturn {\n\t\tbody: {\n\t\t\texpiry: result.expiry\n\t\t}\n\t};\n}\n\n/**\n * Logout from the server.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function authenticationLogout(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: ILogoutRequest\n): Promise<INoContentResponse & IRestRouteResponseOptions> {\n\tGuards.object<ILogoutRequest>(ROUTES_SOURCE, nameof(request), request);\n\n\tconst component = ComponentFactory.get<IAuthenticationComponent>(componentName);\n\tawait component.logout(request.body?.token);\n\n\t// Need to give a hint to any auth processors about the operation\n\t// in case they need to manipulate the response\n\thttpRequestContext.processorState.authOperation = \"logout\";\n\n\treturn {\n\t\tstatusCode: HttpStatusCode.noContent\n\t};\n}\n\n/**\n * Refresh the login token.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function authenticationRefreshToken(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IRefreshTokenRequest\n): Promise<IRefreshTokenResponse & IRestRouteResponseOptions> {\n\tGuards.object<IRefreshTokenRequest>(ROUTES_SOURCE, nameof(request), request);\n\n\tconst component = ComponentFactory.get<IAuthenticationComponent>(componentName);\n\n\t// If the token is not in the body, then maybe an auth processor has extracted it\n\t// and stored it in the processor state\n\tconst token = request.body?.token ?? (httpRequestContext.processorState.authToken as string);\n\tconst result = await component.refresh(token);\n\n\t// Need to give a hint to any auth processors about the operation\n\t// in case they need to manipulate the response\n\thttpRequestContext.processorState.authOperation = \"refresh\";\n\thttpRequestContext.processorState.authToken = result.token;\n\n\treturn {\n\t\tbody: {\n\t\t\texpiry: result.expiry\n\t\t}\n\t};\n}\n\n/**\n * Update the user's password.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function authenticationUpdatePassword(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IUpdatePasswordRequest\n): Promise<INoContentResponse> {\n\tGuards.object<IUpdatePasswordRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IUpdatePasswordRequest[\"body\"]>(ROUTES_SOURCE, nameof(request.body), request.body);\n\n\tconst component = ComponentFactory.get<IAuthenticationComponent>(componentName);\n\n\tawait component.updatePassword(request.body.currentPassword, request.body.newPassword);\n\n\treturn {\n\t\tstatusCode: HttpStatusCode.noContent\n\t};\n}\n"]}
|
package/docs/changelog.md
CHANGED
|
@@ -1,11 +1,27 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## [0.0.3-next.
|
|
3
|
+
## [0.0.3-next.28](https://github.com/twinfoundation/twin-api/compare/api-auth-entity-storage-service-v0.0.3-next.27...api-auth-entity-storage-service-v0.0.3-next.28) (2026-04-30)
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
### Bug Fixes
|
|
7
7
|
|
|
8
|
-
*
|
|
8
|
+
* change logout and refresh routes from GET to POST ([#111](https://github.com/twinfoundation/twin-api/issues/111)) ([cb8b64b](https://github.com/twinfoundation/twin-api/commit/cb8b64b6507f9991baa78a663de2e84269695c82))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Dependencies
|
|
12
|
+
|
|
13
|
+
* The following workspace dependencies were updated
|
|
14
|
+
* dependencies
|
|
15
|
+
* @twin.org/api-auth-entity-storage-models bumped from 0.0.3-next.27 to 0.0.3-next.28
|
|
16
|
+
* @twin.org/api-core bumped from 0.0.3-next.27 to 0.0.3-next.28
|
|
17
|
+
* @twin.org/api-models bumped from 0.0.3-next.27 to 0.0.3-next.28
|
|
18
|
+
|
|
19
|
+
## [0.0.3-next.27](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.3-next.26...api-auth-entity-storage-service-v0.0.3-next.27) (2026-04-23)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### Bug Fixes
|
|
23
|
+
|
|
24
|
+
* handling the tid as undefined at refresh when empty ([#104](https://github.com/iotaledger/twin-api/issues/104)) ([d874a4a](https://github.com/iotaledger/twin-api/commit/d874a4a542c5fd45bb1bd56650247f844d056643))
|
|
9
25
|
|
|
10
26
|
|
|
11
27
|
### Dependencies
|
|
@@ -16,7 +32,7 @@
|
|
|
16
32
|
* @twin.org/api-core bumped from 0.0.3-next.26 to 0.0.3-next.27
|
|
17
33
|
* @twin.org/api-models bumped from 0.0.3-next.26 to 0.0.3-next.27
|
|
18
34
|
|
|
19
|
-
## [0.0.3-next.26](https://github.com/
|
|
35
|
+
## [0.0.3-next.26](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.3-next.25...api-auth-entity-storage-service-v0.0.3-next.26) (2026-04-22)
|
|
20
36
|
|
|
21
37
|
|
|
22
38
|
### Miscellaneous Chores
|
|
@@ -32,12 +48,12 @@
|
|
|
32
48
|
* @twin.org/api-core bumped from 0.0.3-next.25 to 0.0.3-next.26
|
|
33
49
|
* @twin.org/api-models bumped from 0.0.3-next.25 to 0.0.3-next.26
|
|
34
50
|
|
|
35
|
-
## [0.0.3-next.25](https://github.com/
|
|
51
|
+
## [0.0.3-next.25](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.3-next.24...api-auth-entity-storage-service-v0.0.3-next.25) (2026-04-14)
|
|
36
52
|
|
|
37
53
|
|
|
38
54
|
### Features
|
|
39
55
|
|
|
40
|
-
* auth header processor use user entity storage directly ([93084cf](https://github.com/
|
|
56
|
+
* auth header processor use user entity storage directly ([93084cf](https://github.com/iotaledger/twin-api/commit/93084cfed8f3ab16c80a1ab1bc90b1d9fc14bd25))
|
|
41
57
|
|
|
42
58
|
|
|
43
59
|
### Dependencies
|
|
@@ -48,12 +64,12 @@
|
|
|
48
64
|
* @twin.org/api-core bumped from 0.0.3-next.24 to 0.0.3-next.25
|
|
49
65
|
* @twin.org/api-models bumped from 0.0.3-next.24 to 0.0.3-next.25
|
|
50
66
|
|
|
51
|
-
## [0.0.3-next.24](https://github.com/
|
|
67
|
+
## [0.0.3-next.24](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.3-next.23...api-auth-entity-storage-service-v0.0.3-next.24) (2026-04-14)
|
|
52
68
|
|
|
53
69
|
|
|
54
70
|
### Features
|
|
55
71
|
|
|
56
|
-
* remove auth service dependency on admin service ([4aeb211](https://github.com/
|
|
72
|
+
* remove auth service dependency on admin service ([4aeb211](https://github.com/iotaledger/twin-api/commit/4aeb211a5ffcf2eaea89a6841faea3ac3069ef89))
|
|
57
73
|
|
|
58
74
|
|
|
59
75
|
### Dependencies
|
|
@@ -64,12 +80,12 @@
|
|
|
64
80
|
* @twin.org/api-core bumped from 0.0.3-next.23 to 0.0.3-next.24
|
|
65
81
|
* @twin.org/api-models bumped from 0.0.3-next.23 to 0.0.3-next.24
|
|
66
82
|
|
|
67
|
-
## [0.0.3-next.23](https://github.com/
|
|
83
|
+
## [0.0.3-next.23](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.3-next.22...api-auth-entity-storage-service-v0.0.3-next.23) (2026-04-14)
|
|
68
84
|
|
|
69
85
|
|
|
70
86
|
### Features
|
|
71
87
|
|
|
72
|
-
* auth enhancements ([#93](https://github.com/
|
|
88
|
+
* auth enhancements ([#93](https://github.com/iotaledger/twin-api/issues/93)) ([921a50c](https://github.com/iotaledger/twin-api/commit/921a50cd89d26e530a6be6174a5a803060fa0eb6))
|
|
73
89
|
|
|
74
90
|
|
|
75
91
|
### Dependencies
|
|
@@ -80,7 +96,7 @@
|
|
|
80
96
|
* @twin.org/api-core bumped from 0.0.3-next.22 to 0.0.3-next.23
|
|
81
97
|
* @twin.org/api-models bumped from 0.0.3-next.22 to 0.0.3-next.23
|
|
82
98
|
|
|
83
|
-
## [0.0.3-next.22](https://github.com/
|
|
99
|
+
## [0.0.3-next.22](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.3-next.21...api-auth-entity-storage-service-v0.0.3-next.22) (2026-03-27)
|
|
84
100
|
|
|
85
101
|
|
|
86
102
|
### Miscellaneous Chores
|
|
@@ -96,7 +112,7 @@
|
|
|
96
112
|
* @twin.org/api-core bumped from 0.0.3-next.21 to 0.0.3-next.22
|
|
97
113
|
* @twin.org/api-models bumped from 0.0.3-next.21 to 0.0.3-next.22
|
|
98
114
|
|
|
99
|
-
## [0.0.3-next.21](https://github.com/
|
|
115
|
+
## [0.0.3-next.21](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.3-next.20...api-auth-entity-storage-service-v0.0.3-next.21) (2026-03-11)
|
|
100
116
|
|
|
101
117
|
|
|
102
118
|
### Miscellaneous Chores
|
|
@@ -112,12 +128,12 @@
|
|
|
112
128
|
* @twin.org/api-core bumped from 0.0.3-next.20 to 0.0.3-next.21
|
|
113
129
|
* @twin.org/api-models bumped from 0.0.3-next.20 to 0.0.3-next.21
|
|
114
130
|
|
|
115
|
-
## [0.0.3-next.20](https://github.com/
|
|
131
|
+
## [0.0.3-next.20](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.3-next.19...api-auth-entity-storage-service-v0.0.3-next.20) (2026-02-09)
|
|
116
132
|
|
|
117
133
|
|
|
118
134
|
### Features
|
|
119
135
|
|
|
120
|
-
* location encoding ([#79](https://github.com/
|
|
136
|
+
* location encoding ([#79](https://github.com/iotaledger/twin-api/issues/79)) ([c684465](https://github.com/iotaledger/twin-api/commit/c684465f2a871376152472bdecb6aa230b1101a1))
|
|
121
137
|
|
|
122
138
|
|
|
123
139
|
### Dependencies
|
|
@@ -128,12 +144,12 @@
|
|
|
128
144
|
* @twin.org/api-core bumped from 0.0.3-next.19 to 0.0.3-next.20
|
|
129
145
|
* @twin.org/api-models bumped from 0.0.3-next.19 to 0.0.3-next.20
|
|
130
146
|
|
|
131
|
-
## [0.0.3-next.19](https://github.com/
|
|
147
|
+
## [0.0.3-next.19](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.3-next.18...api-auth-entity-storage-service-v0.0.3-next.19) (2026-02-06)
|
|
132
148
|
|
|
133
149
|
|
|
134
150
|
### Features
|
|
135
151
|
|
|
136
|
-
* user admin service ([#77](https://github.com/
|
|
152
|
+
* user admin service ([#77](https://github.com/iotaledger/twin-api/issues/77)) ([c8491df](https://github.com/iotaledger/twin-api/commit/c8491df7b07c1f45560c8a78c6adc806d0ececbb))
|
|
137
153
|
|
|
138
154
|
|
|
139
155
|
### Dependencies
|
|
@@ -144,12 +160,12 @@
|
|
|
144
160
|
* @twin.org/api-core bumped from 0.0.3-next.18 to 0.0.3-next.19
|
|
145
161
|
* @twin.org/api-models bumped from 0.0.3-next.18 to 0.0.3-next.19
|
|
146
162
|
|
|
147
|
-
## [0.0.3-next.18](https://github.com/
|
|
163
|
+
## [0.0.3-next.18](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.3-next.17...api-auth-entity-storage-service-v0.0.3-next.18) (2026-02-04)
|
|
148
164
|
|
|
149
165
|
|
|
150
166
|
### Features
|
|
151
167
|
|
|
152
|
-
* tenant api and scopes ([#75](https://github.com/
|
|
168
|
+
* tenant api and scopes ([#75](https://github.com/iotaledger/twin-api/issues/75)) ([c663141](https://github.com/iotaledger/twin-api/commit/c663141091e8974d769f8f9904ecdab009ebd083))
|
|
153
169
|
|
|
154
170
|
|
|
155
171
|
### Dependencies
|
|
@@ -160,7 +176,7 @@
|
|
|
160
176
|
* @twin.org/api-core bumped from 0.0.3-next.17 to 0.0.3-next.18
|
|
161
177
|
* @twin.org/api-models bumped from 0.0.3-next.17 to 0.0.3-next.18
|
|
162
178
|
|
|
163
|
-
## [0.0.3-next.17](https://github.com/
|
|
179
|
+
## [0.0.3-next.17](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.3-next.16...api-auth-entity-storage-service-v0.0.3-next.17) (2026-01-26)
|
|
164
180
|
|
|
165
181
|
|
|
166
182
|
### Miscellaneous Chores
|
|
@@ -176,7 +192,7 @@
|
|
|
176
192
|
* @twin.org/api-core bumped from 0.0.3-next.16 to 0.0.3-next.17
|
|
177
193
|
* @twin.org/api-models bumped from 0.0.3-next.16 to 0.0.3-next.17
|
|
178
194
|
|
|
179
|
-
## [0.0.3-next.16](https://github.com/
|
|
195
|
+
## [0.0.3-next.16](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.3-next.15...api-auth-entity-storage-service-v0.0.3-next.16) (2026-01-26)
|
|
180
196
|
|
|
181
197
|
|
|
182
198
|
### Miscellaneous Chores
|
|
@@ -192,7 +208,7 @@
|
|
|
192
208
|
* @twin.org/api-core bumped from 0.0.3-next.15 to 0.0.3-next.16
|
|
193
209
|
* @twin.org/api-models bumped from 0.0.3-next.15 to 0.0.3-next.16
|
|
194
210
|
|
|
195
|
-
## [0.0.3-next.15](https://github.com/
|
|
211
|
+
## [0.0.3-next.15](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.3-next.14...api-auth-entity-storage-service-v0.0.3-next.15) (2026-01-22)
|
|
196
212
|
|
|
197
213
|
|
|
198
214
|
### Miscellaneous Chores
|
|
@@ -208,7 +224,7 @@
|
|
|
208
224
|
* @twin.org/api-core bumped from 0.0.3-next.14 to 0.0.3-next.15
|
|
209
225
|
* @twin.org/api-models bumped from 0.0.3-next.14 to 0.0.3-next.15
|
|
210
226
|
|
|
211
|
-
## [0.0.3-next.14](https://github.com/
|
|
227
|
+
## [0.0.3-next.14](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.3-next.13...api-auth-entity-storage-service-v0.0.3-next.14) (2026-01-20)
|
|
212
228
|
|
|
213
229
|
|
|
214
230
|
### Miscellaneous Chores
|
|
@@ -224,7 +240,7 @@
|
|
|
224
240
|
* @twin.org/api-core bumped from 0.0.3-next.13 to 0.0.3-next.14
|
|
225
241
|
* @twin.org/api-models bumped from 0.0.3-next.13 to 0.0.3-next.14
|
|
226
242
|
|
|
227
|
-
## [0.0.3-next.13](https://github.com/
|
|
243
|
+
## [0.0.3-next.13](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.3-next.12...api-auth-entity-storage-service-v0.0.3-next.13) (2026-01-19)
|
|
228
244
|
|
|
229
245
|
|
|
230
246
|
### Miscellaneous Chores
|
|
@@ -240,7 +256,7 @@
|
|
|
240
256
|
* @twin.org/api-core bumped from 0.0.3-next.12 to 0.0.3-next.13
|
|
241
257
|
* @twin.org/api-models bumped from 0.0.3-next.12 to 0.0.3-next.13
|
|
242
258
|
|
|
243
|
-
## [0.0.3-next.12](https://github.com/
|
|
259
|
+
## [0.0.3-next.12](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.3-next.11...api-auth-entity-storage-service-v0.0.3-next.12) (2026-01-12)
|
|
244
260
|
|
|
245
261
|
|
|
246
262
|
### Miscellaneous Chores
|
|
@@ -256,7 +272,7 @@
|
|
|
256
272
|
* @twin.org/api-core bumped from 0.0.3-next.11 to 0.0.3-next.12
|
|
257
273
|
* @twin.org/api-models bumped from 0.0.3-next.11 to 0.0.3-next.12
|
|
258
274
|
|
|
259
|
-
## [0.0.3-next.11](https://github.com/
|
|
275
|
+
## [0.0.3-next.11](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.3-next.10...api-auth-entity-storage-service-v0.0.3-next.11) (2026-01-08)
|
|
260
276
|
|
|
261
277
|
|
|
262
278
|
### Miscellaneous Chores
|
|
@@ -272,12 +288,12 @@
|
|
|
272
288
|
* @twin.org/api-core bumped from 0.0.3-next.10 to 0.0.3-next.11
|
|
273
289
|
* @twin.org/api-models bumped from 0.0.3-next.10 to 0.0.3-next.11
|
|
274
290
|
|
|
275
|
-
## [0.0.3-next.10](https://github.com/
|
|
291
|
+
## [0.0.3-next.10](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.3-next.9...api-auth-entity-storage-service-v0.0.3-next.10) (2026-01-05)
|
|
276
292
|
|
|
277
293
|
|
|
278
294
|
### Bug Fixes
|
|
279
295
|
|
|
280
|
-
* remove token from return payload ([eaa4266](https://github.com/
|
|
296
|
+
* remove token from return payload ([eaa4266](https://github.com/iotaledger/twin-api/commit/eaa42661b8540881b0751f5d2513258b3413f3ef))
|
|
281
297
|
|
|
282
298
|
|
|
283
299
|
### Dependencies
|
|
@@ -288,30 +304,30 @@
|
|
|
288
304
|
* @twin.org/api-core bumped from 0.0.3-next.9 to 0.0.3-next.10
|
|
289
305
|
* @twin.org/api-models bumped from 0.0.3-next.9 to 0.0.3-next.10
|
|
290
306
|
|
|
291
|
-
## [0.0.3-next.9](https://github.com/
|
|
307
|
+
## [0.0.3-next.9](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.3-next.8...api-auth-entity-storage-service-v0.0.3-next.9) (2026-01-05)
|
|
292
308
|
|
|
293
309
|
|
|
294
310
|
### Features
|
|
295
311
|
|
|
296
|
-
* add context id features ([#42](https://github.com/
|
|
297
|
-
* add json-ld mime type processor and auth admin component ([8861791](https://github.com/
|
|
298
|
-
* add livez endpoint ([#57](https://github.com/
|
|
299
|
-
* add validate-locales ([cdba610](https://github.com/
|
|
300
|
-
* check tenant id in auth if set ([66f7337](https://github.com/
|
|
301
|
-
* eslint migration to flat config ([0dd5820](https://github.com/
|
|
302
|
-
* modify authHeaderProcessor to retain token in response body ([#53](https://github.com/
|
|
303
|
-
* remove unused namespace ([08478f2](https://github.com/
|
|
304
|
-
* update dependencies ([1171dc4](https://github.com/
|
|
305
|
-
* update framework core ([d8eebf2](https://github.com/
|
|
306
|
-
* update IComponent signatures ([915ce37](https://github.com/
|
|
307
|
-
* use new extractBearer method ([3e0cc54](https://github.com/
|
|
308
|
-
* use new extractBearerToken method ([df654e9](https://github.com/
|
|
309
|
-
* use shared store mechanism ([#19](https://github.com/
|
|
312
|
+
* add context id features ([#42](https://github.com/iotaledger/twin-api/issues/42)) ([0186055](https://github.com/iotaledger/twin-api/commit/0186055c48afde842a4254b4df9ac9249c40fe40))
|
|
313
|
+
* add json-ld mime type processor and auth admin component ([8861791](https://github.com/iotaledger/twin-api/commit/88617916e23bfbca023dbae1976fe421983a02ff))
|
|
314
|
+
* add livez endpoint ([#57](https://github.com/iotaledger/twin-api/issues/57)) ([ef007db](https://github.com/iotaledger/twin-api/commit/ef007db8201736dd3053211f849ffd03baaa485e))
|
|
315
|
+
* add validate-locales ([cdba610](https://github.com/iotaledger/twin-api/commit/cdba610a0acb5022d2e3ce729732e6646a297e5e))
|
|
316
|
+
* check tenant id in auth if set ([66f7337](https://github.com/iotaledger/twin-api/commit/66f73374d3cf4c1c85ea96ec74bb30712fb84dd7))
|
|
317
|
+
* eslint migration to flat config ([0dd5820](https://github.com/iotaledger/twin-api/commit/0dd5820e3af97350fd08b8d226f4a6c1a9246805))
|
|
318
|
+
* modify authHeaderProcessor to retain token in response body ([#53](https://github.com/iotaledger/twin-api/issues/53)) ([5d9ae76](https://github.com/iotaledger/twin-api/commit/5d9ae76b5b52a8e10dac391b2d5784638a186583))
|
|
319
|
+
* remove unused namespace ([08478f2](https://github.com/iotaledger/twin-api/commit/08478f27efda9beb0271fdb22f6972e918361965))
|
|
320
|
+
* update dependencies ([1171dc4](https://github.com/iotaledger/twin-api/commit/1171dc416a9481737f6a640e3cf30145768f37e9))
|
|
321
|
+
* update framework core ([d8eebf2](https://github.com/iotaledger/twin-api/commit/d8eebf267fa2a0abaa84e58590496e9d20490cfa))
|
|
322
|
+
* update IComponent signatures ([915ce37](https://github.com/iotaledger/twin-api/commit/915ce37712326ab4aa6869c350eabaa4622e8430))
|
|
323
|
+
* use new extractBearer method ([3e0cc54](https://github.com/iotaledger/twin-api/commit/3e0cc5462c06f59a6b744386eeff8326e5abbc95))
|
|
324
|
+
* use new extractBearerToken method ([df654e9](https://github.com/iotaledger/twin-api/commit/df654e9caee5bd62f0be36f7be9902c8fab6ead6))
|
|
325
|
+
* use shared store mechanism ([#19](https://github.com/iotaledger/twin-api/issues/19)) ([32116df](https://github.com/iotaledger/twin-api/commit/32116df3b4380a30137f5056f242a5c99afa2df9))
|
|
310
326
|
|
|
311
327
|
|
|
312
328
|
### Bug Fixes
|
|
313
329
|
|
|
314
|
-
* include org in context ids from jwt ([a12cfdd](https://github.com/
|
|
330
|
+
* include org in context ids from jwt ([a12cfdd](https://github.com/iotaledger/twin-api/commit/a12cfdddb05e2ed0300b26f3d7c0cfc033e59bd3))
|
|
315
331
|
|
|
316
332
|
|
|
317
333
|
### Dependencies
|
|
@@ -322,7 +338,7 @@
|
|
|
322
338
|
* @twin.org/api-core bumped from 0.0.3-next.8 to 0.0.3-next.9
|
|
323
339
|
* @twin.org/api-models bumped from 0.0.3-next.8 to 0.0.3-next.9
|
|
324
340
|
|
|
325
|
-
## [0.0.3-next.8](https://github.com/
|
|
341
|
+
## [0.0.3-next.8](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.3-next.7...api-auth-entity-storage-service-v0.0.3-next.8) (2025-12-17)
|
|
326
342
|
|
|
327
343
|
|
|
328
344
|
### Miscellaneous Chores
|
|
@@ -338,7 +354,7 @@
|
|
|
338
354
|
* @twin.org/api-core bumped from 0.0.3-next.7 to 0.0.3-next.8
|
|
339
355
|
* @twin.org/api-models bumped from 0.0.3-next.7 to 0.0.3-next.8
|
|
340
356
|
|
|
341
|
-
## [0.0.3-next.7](https://github.com/
|
|
357
|
+
## [0.0.3-next.7](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.3-next.6...api-auth-entity-storage-service-v0.0.3-next.7) (2025-11-26)
|
|
342
358
|
|
|
343
359
|
|
|
344
360
|
### Miscellaneous Chores
|
|
@@ -354,12 +370,12 @@
|
|
|
354
370
|
* @twin.org/api-core bumped from 0.0.3-next.6 to 0.0.3-next.7
|
|
355
371
|
* @twin.org/api-models bumped from 0.0.3-next.6 to 0.0.3-next.7
|
|
356
372
|
|
|
357
|
-
## [0.0.3-next.6](https://github.com/
|
|
373
|
+
## [0.0.3-next.6](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.3-next.5...api-auth-entity-storage-service-v0.0.3-next.6) (2025-11-20)
|
|
358
374
|
|
|
359
375
|
|
|
360
376
|
### Features
|
|
361
377
|
|
|
362
|
-
* check tenant id in auth if set ([66f7337](https://github.com/
|
|
378
|
+
* check tenant id in auth if set ([66f7337](https://github.com/iotaledger/twin-api/commit/66f73374d3cf4c1c85ea96ec74bb30712fb84dd7))
|
|
363
379
|
|
|
364
380
|
|
|
365
381
|
### Dependencies
|
|
@@ -370,7 +386,7 @@
|
|
|
370
386
|
* @twin.org/api-core bumped from 0.0.3-next.5 to 0.0.3-next.6
|
|
371
387
|
* @twin.org/api-models bumped from 0.0.3-next.5 to 0.0.3-next.6
|
|
372
388
|
|
|
373
|
-
## [0.0.3-next.5](https://github.com/
|
|
389
|
+
## [0.0.3-next.5](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.3-next.4...api-auth-entity-storage-service-v0.0.3-next.5) (2025-11-14)
|
|
374
390
|
|
|
375
391
|
|
|
376
392
|
### Miscellaneous Chores
|
|
@@ -386,27 +402,27 @@
|
|
|
386
402
|
* @twin.org/api-core bumped from 0.0.3-next.4 to 0.0.3-next.5
|
|
387
403
|
* @twin.org/api-models bumped from 0.0.3-next.4 to 0.0.3-next.5
|
|
388
404
|
|
|
389
|
-
## [0.0.3-next.4](https://github.com/
|
|
405
|
+
## [0.0.3-next.4](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.3-next.3...api-auth-entity-storage-service-v0.0.3-next.4) (2025-11-14)
|
|
390
406
|
|
|
391
407
|
|
|
392
408
|
### Features
|
|
393
409
|
|
|
394
|
-
* add context id features ([#42](https://github.com/
|
|
395
|
-
* add json-ld mime type processor and auth admin component ([8861791](https://github.com/
|
|
396
|
-
* add validate-locales ([cdba610](https://github.com/
|
|
397
|
-
* eslint migration to flat config ([0dd5820](https://github.com/
|
|
398
|
-
* remove unused namespace ([08478f2](https://github.com/
|
|
399
|
-
* update dependencies ([1171dc4](https://github.com/
|
|
400
|
-
* update framework core ([d8eebf2](https://github.com/
|
|
401
|
-
* update IComponent signatures ([915ce37](https://github.com/
|
|
402
|
-
* use new extractBearer method ([3e0cc54](https://github.com/
|
|
403
|
-
* use new extractBearerToken method ([df654e9](https://github.com/
|
|
404
|
-
* use shared store mechanism ([#19](https://github.com/
|
|
410
|
+
* add context id features ([#42](https://github.com/iotaledger/twin-api/issues/42)) ([0186055](https://github.com/iotaledger/twin-api/commit/0186055c48afde842a4254b4df9ac9249c40fe40))
|
|
411
|
+
* add json-ld mime type processor and auth admin component ([8861791](https://github.com/iotaledger/twin-api/commit/88617916e23bfbca023dbae1976fe421983a02ff))
|
|
412
|
+
* add validate-locales ([cdba610](https://github.com/iotaledger/twin-api/commit/cdba610a0acb5022d2e3ce729732e6646a297e5e))
|
|
413
|
+
* eslint migration to flat config ([0dd5820](https://github.com/iotaledger/twin-api/commit/0dd5820e3af97350fd08b8d226f4a6c1a9246805))
|
|
414
|
+
* remove unused namespace ([08478f2](https://github.com/iotaledger/twin-api/commit/08478f27efda9beb0271fdb22f6972e918361965))
|
|
415
|
+
* update dependencies ([1171dc4](https://github.com/iotaledger/twin-api/commit/1171dc416a9481737f6a640e3cf30145768f37e9))
|
|
416
|
+
* update framework core ([d8eebf2](https://github.com/iotaledger/twin-api/commit/d8eebf267fa2a0abaa84e58590496e9d20490cfa))
|
|
417
|
+
* update IComponent signatures ([915ce37](https://github.com/iotaledger/twin-api/commit/915ce37712326ab4aa6869c350eabaa4622e8430))
|
|
418
|
+
* use new extractBearer method ([3e0cc54](https://github.com/iotaledger/twin-api/commit/3e0cc5462c06f59a6b744386eeff8326e5abbc95))
|
|
419
|
+
* use new extractBearerToken method ([df654e9](https://github.com/iotaledger/twin-api/commit/df654e9caee5bd62f0be36f7be9902c8fab6ead6))
|
|
420
|
+
* use shared store mechanism ([#19](https://github.com/iotaledger/twin-api/issues/19)) ([32116df](https://github.com/iotaledger/twin-api/commit/32116df3b4380a30137f5056f242a5c99afa2df9))
|
|
405
421
|
|
|
406
422
|
|
|
407
423
|
### Bug Fixes
|
|
408
424
|
|
|
409
|
-
* include org in context ids from jwt ([a12cfdd](https://github.com/
|
|
425
|
+
* include org in context ids from jwt ([a12cfdd](https://github.com/iotaledger/twin-api/commit/a12cfdddb05e2ed0300b26f3d7c0cfc033e59bd3))
|
|
410
426
|
|
|
411
427
|
|
|
412
428
|
### Dependencies
|
|
@@ -417,12 +433,12 @@
|
|
|
417
433
|
* @twin.org/api-core bumped from 0.0.3-next.3 to 0.0.3-next.4
|
|
418
434
|
* @twin.org/api-models bumped from 0.0.3-next.3 to 0.0.3-next.4
|
|
419
435
|
|
|
420
|
-
## [0.0.3-next.3](https://github.com/
|
|
436
|
+
## [0.0.3-next.3](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.3-next.2...api-auth-entity-storage-service-v0.0.3-next.3) (2025-11-14)
|
|
421
437
|
|
|
422
438
|
|
|
423
439
|
### Bug Fixes
|
|
424
440
|
|
|
425
|
-
* include org in context ids from jwt ([a12cfdd](https://github.com/
|
|
441
|
+
* include org in context ids from jwt ([a12cfdd](https://github.com/iotaledger/twin-api/commit/a12cfdddb05e2ed0300b26f3d7c0cfc033e59bd3))
|
|
426
442
|
|
|
427
443
|
|
|
428
444
|
### Dependencies
|
|
@@ -433,7 +449,7 @@
|
|
|
433
449
|
* @twin.org/api-core bumped from 0.0.3-next.2 to 0.0.3-next.3
|
|
434
450
|
* @twin.org/api-models bumped from 0.0.3-next.2 to 0.0.3-next.3
|
|
435
451
|
|
|
436
|
-
## [0.0.3-next.2](https://github.com/
|
|
452
|
+
## [0.0.3-next.2](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.3-next.1...api-auth-entity-storage-service-v0.0.3-next.2) (2025-11-12)
|
|
437
453
|
|
|
438
454
|
|
|
439
455
|
### Miscellaneous Chores
|
|
@@ -449,22 +465,22 @@
|
|
|
449
465
|
* @twin.org/api-core bumped from 0.0.3-next.1 to 0.0.3-next.2
|
|
450
466
|
* @twin.org/api-models bumped from 0.0.3-next.1 to 0.0.3-next.2
|
|
451
467
|
|
|
452
|
-
## [0.0.3-next.1](https://github.com/
|
|
468
|
+
## [0.0.3-next.1](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.3-next.0...api-auth-entity-storage-service-v0.0.3-next.1) (2025-11-10)
|
|
453
469
|
|
|
454
470
|
|
|
455
471
|
### Features
|
|
456
472
|
|
|
457
|
-
* add context id features ([#42](https://github.com/
|
|
458
|
-
* add json-ld mime type processor and auth admin component ([8861791](https://github.com/
|
|
459
|
-
* add validate-locales ([cdba610](https://github.com/
|
|
460
|
-
* eslint migration to flat config ([0dd5820](https://github.com/
|
|
461
|
-
* remove unused namespace ([08478f2](https://github.com/
|
|
462
|
-
* update dependencies ([1171dc4](https://github.com/
|
|
463
|
-
* update framework core ([d8eebf2](https://github.com/
|
|
464
|
-
* update IComponent signatures ([915ce37](https://github.com/
|
|
465
|
-
* use new extractBearer method ([3e0cc54](https://github.com/
|
|
466
|
-
* use new extractBearerToken method ([df654e9](https://github.com/
|
|
467
|
-
* use shared store mechanism ([#19](https://github.com/
|
|
473
|
+
* add context id features ([#42](https://github.com/iotaledger/twin-api/issues/42)) ([0186055](https://github.com/iotaledger/twin-api/commit/0186055c48afde842a4254b4df9ac9249c40fe40))
|
|
474
|
+
* add json-ld mime type processor and auth admin component ([8861791](https://github.com/iotaledger/twin-api/commit/88617916e23bfbca023dbae1976fe421983a02ff))
|
|
475
|
+
* add validate-locales ([cdba610](https://github.com/iotaledger/twin-api/commit/cdba610a0acb5022d2e3ce729732e6646a297e5e))
|
|
476
|
+
* eslint migration to flat config ([0dd5820](https://github.com/iotaledger/twin-api/commit/0dd5820e3af97350fd08b8d226f4a6c1a9246805))
|
|
477
|
+
* remove unused namespace ([08478f2](https://github.com/iotaledger/twin-api/commit/08478f27efda9beb0271fdb22f6972e918361965))
|
|
478
|
+
* update dependencies ([1171dc4](https://github.com/iotaledger/twin-api/commit/1171dc416a9481737f6a640e3cf30145768f37e9))
|
|
479
|
+
* update framework core ([d8eebf2](https://github.com/iotaledger/twin-api/commit/d8eebf267fa2a0abaa84e58590496e9d20490cfa))
|
|
480
|
+
* update IComponent signatures ([915ce37](https://github.com/iotaledger/twin-api/commit/915ce37712326ab4aa6869c350eabaa4622e8430))
|
|
481
|
+
* use new extractBearer method ([3e0cc54](https://github.com/iotaledger/twin-api/commit/3e0cc5462c06f59a6b744386eeff8326e5abbc95))
|
|
482
|
+
* use new extractBearerToken method ([df654e9](https://github.com/iotaledger/twin-api/commit/df654e9caee5bd62f0be36f7be9902c8fab6ead6))
|
|
483
|
+
* use shared store mechanism ([#19](https://github.com/iotaledger/twin-api/issues/19)) ([32116df](https://github.com/iotaledger/twin-api/commit/32116df3b4380a30137f5056f242a5c99afa2df9))
|
|
468
484
|
|
|
469
485
|
|
|
470
486
|
### Dependencies
|
|
@@ -475,7 +491,7 @@
|
|
|
475
491
|
* @twin.org/api-core bumped from 0.0.3-next.0 to 0.0.3-next.1
|
|
476
492
|
* @twin.org/api-models bumped from 0.0.3-next.0 to 0.0.3-next.1
|
|
477
493
|
|
|
478
|
-
## [0.0.2-next.13](https://github.com/
|
|
494
|
+
## [0.0.2-next.13](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.2-next.12...api-auth-entity-storage-service-v0.0.2-next.13) (2025-10-09)
|
|
479
495
|
|
|
480
496
|
|
|
481
497
|
### Miscellaneous Chores
|
|
@@ -491,12 +507,12 @@
|
|
|
491
507
|
* @twin.org/api-core bumped from 0.0.2-next.12 to 0.0.2-next.13
|
|
492
508
|
* @twin.org/api-models bumped from 0.0.2-next.12 to 0.0.2-next.13
|
|
493
509
|
|
|
494
|
-
## [0.0.2-next.12](https://github.com/
|
|
510
|
+
## [0.0.2-next.12](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.2-next.11...api-auth-entity-storage-service-v0.0.2-next.12) (2025-10-09)
|
|
495
511
|
|
|
496
512
|
|
|
497
513
|
### Features
|
|
498
514
|
|
|
499
|
-
* add validate-locales ([cdba610](https://github.com/
|
|
515
|
+
* add validate-locales ([cdba610](https://github.com/iotaledger/twin-api/commit/cdba610a0acb5022d2e3ce729732e6646a297e5e))
|
|
500
516
|
|
|
501
517
|
|
|
502
518
|
### Dependencies
|
|
@@ -507,12 +523,12 @@
|
|
|
507
523
|
* @twin.org/api-core bumped from 0.0.2-next.11 to 0.0.2-next.12
|
|
508
524
|
* @twin.org/api-models bumped from 0.0.2-next.11 to 0.0.2-next.12
|
|
509
525
|
|
|
510
|
-
## [0.0.2-next.11](https://github.com/
|
|
526
|
+
## [0.0.2-next.11](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.2-next.10...api-auth-entity-storage-service-v0.0.2-next.11) (2025-09-29)
|
|
511
527
|
|
|
512
528
|
|
|
513
529
|
### Features
|
|
514
530
|
|
|
515
|
-
* update IComponent signatures ([915ce37](https://github.com/
|
|
531
|
+
* update IComponent signatures ([915ce37](https://github.com/iotaledger/twin-api/commit/915ce37712326ab4aa6869c350eabaa4622e8430))
|
|
516
532
|
|
|
517
533
|
|
|
518
534
|
### Dependencies
|
|
@@ -523,13 +539,13 @@
|
|
|
523
539
|
* @twin.org/api-core bumped from 0.0.2-next.10 to 0.0.2-next.11
|
|
524
540
|
* @twin.org/api-models bumped from 0.0.2-next.10 to 0.0.2-next.11
|
|
525
541
|
|
|
526
|
-
## [0.0.2-next.10](https://github.com/
|
|
542
|
+
## [0.0.2-next.10](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.2-next.9...api-auth-entity-storage-service-v0.0.2-next.10) (2025-09-23)
|
|
527
543
|
|
|
528
544
|
|
|
529
545
|
### Features
|
|
530
546
|
|
|
531
|
-
* use new extractBearer method ([3e0cc54](https://github.com/
|
|
532
|
-
* use new extractBearerToken method ([df654e9](https://github.com/
|
|
547
|
+
* use new extractBearer method ([3e0cc54](https://github.com/iotaledger/twin-api/commit/3e0cc5462c06f59a6b744386eeff8326e5abbc95))
|
|
548
|
+
* use new extractBearerToken method ([df654e9](https://github.com/iotaledger/twin-api/commit/df654e9caee5bd62f0be36f7be9902c8fab6ead6))
|
|
533
549
|
|
|
534
550
|
|
|
535
551
|
### Dependencies
|
|
@@ -540,12 +556,12 @@
|
|
|
540
556
|
* @twin.org/api-core bumped from 0.0.2-next.9 to 0.0.2-next.10
|
|
541
557
|
* @twin.org/api-models bumped from 0.0.2-next.9 to 0.0.2-next.10
|
|
542
558
|
|
|
543
|
-
## [0.0.2-next.9](https://github.com/
|
|
559
|
+
## [0.0.2-next.9](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.2-next.8...api-auth-entity-storage-service-v0.0.2-next.9) (2025-08-29)
|
|
544
560
|
|
|
545
561
|
|
|
546
562
|
### Features
|
|
547
563
|
|
|
548
|
-
* eslint migration to flat config ([0dd5820](https://github.com/
|
|
564
|
+
* eslint migration to flat config ([0dd5820](https://github.com/iotaledger/twin-api/commit/0dd5820e3af97350fd08b8d226f4a6c1a9246805))
|
|
549
565
|
|
|
550
566
|
|
|
551
567
|
### Dependencies
|
|
@@ -556,7 +572,7 @@
|
|
|
556
572
|
* @twin.org/api-core bumped from 0.0.2-next.8 to 0.0.2-next.9
|
|
557
573
|
* @twin.org/api-models bumped from 0.0.2-next.8 to 0.0.2-next.9
|
|
558
574
|
|
|
559
|
-
## [0.0.2-next.8](https://github.com/
|
|
575
|
+
## [0.0.2-next.8](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.2-next.7...api-auth-entity-storage-service-v0.0.2-next.8) (2025-08-21)
|
|
560
576
|
|
|
561
577
|
|
|
562
578
|
### Miscellaneous Chores
|
|
@@ -572,7 +588,7 @@
|
|
|
572
588
|
* @twin.org/api-core bumped from 0.0.2-next.7 to 0.0.2-next.8
|
|
573
589
|
* @twin.org/api-models bumped from 0.0.2-next.7 to 0.0.2-next.8
|
|
574
590
|
|
|
575
|
-
## [0.0.2-next.7](https://github.com/
|
|
591
|
+
## [0.0.2-next.7](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.2-next.6...api-auth-entity-storage-service-v0.0.2-next.7) (2025-08-20)
|
|
576
592
|
|
|
577
593
|
|
|
578
594
|
### Miscellaneous Chores
|
|
@@ -588,12 +604,12 @@
|
|
|
588
604
|
* @twin.org/api-core bumped from 0.0.2-next.6 to 0.0.2-next.7
|
|
589
605
|
* @twin.org/api-models bumped from 0.0.2-next.6 to 0.0.2-next.7
|
|
590
606
|
|
|
591
|
-
## [0.0.2-next.6](https://github.com/
|
|
607
|
+
## [0.0.2-next.6](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.2-next.5...api-auth-entity-storage-service-v0.0.2-next.6) (2025-08-19)
|
|
592
608
|
|
|
593
609
|
|
|
594
610
|
### Features
|
|
595
611
|
|
|
596
|
-
* update framework core ([d8eebf2](https://github.com/
|
|
612
|
+
* update framework core ([d8eebf2](https://github.com/iotaledger/twin-api/commit/d8eebf267fa2a0abaa84e58590496e9d20490cfa))
|
|
597
613
|
|
|
598
614
|
|
|
599
615
|
### Dependencies
|
|
@@ -604,15 +620,15 @@
|
|
|
604
620
|
* @twin.org/api-core bumped from 0.0.2-next.5 to 0.0.2-next.6
|
|
605
621
|
* @twin.org/api-models bumped from 0.0.2-next.5 to 0.0.2-next.6
|
|
606
622
|
|
|
607
|
-
## [0.0.2-next.5](https://github.com/
|
|
623
|
+
## [0.0.2-next.5](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.2-next.4...api-auth-entity-storage-service-v0.0.2-next.5) (2025-07-25)
|
|
608
624
|
|
|
609
625
|
|
|
610
626
|
### Features
|
|
611
627
|
|
|
612
|
-
* add json-ld mime type processor and auth admin component ([8861791](https://github.com/
|
|
613
|
-
* remove unused namespace ([08478f2](https://github.com/
|
|
614
|
-
* update dependencies ([1171dc4](https://github.com/
|
|
615
|
-
* use shared store mechanism ([#19](https://github.com/
|
|
628
|
+
* add json-ld mime type processor and auth admin component ([8861791](https://github.com/iotaledger/twin-api/commit/88617916e23bfbca023dbae1976fe421983a02ff))
|
|
629
|
+
* remove unused namespace ([08478f2](https://github.com/iotaledger/twin-api/commit/08478f27efda9beb0271fdb22f6972e918361965))
|
|
630
|
+
* update dependencies ([1171dc4](https://github.com/iotaledger/twin-api/commit/1171dc416a9481737f6a640e3cf30145768f37e9))
|
|
631
|
+
* use shared store mechanism ([#19](https://github.com/iotaledger/twin-api/issues/19)) ([32116df](https://github.com/iotaledger/twin-api/commit/32116df3b4380a30137f5056f242a5c99afa2df9))
|
|
616
632
|
|
|
617
633
|
|
|
618
634
|
### Dependencies
|
|
@@ -623,7 +639,7 @@
|
|
|
623
639
|
* @twin.org/api-core bumped from 0.0.2-next.4 to 0.0.2-next.5
|
|
624
640
|
* @twin.org/api-models bumped from 0.0.2-next.4 to 0.0.2-next.5
|
|
625
641
|
|
|
626
|
-
## [0.0.2-next.4](https://github.com/
|
|
642
|
+
## [0.0.2-next.4](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.2-next.3...api-auth-entity-storage-service-v0.0.2-next.4) (2025-07-25)
|
|
627
643
|
|
|
628
644
|
|
|
629
645
|
### Miscellaneous Chores
|
|
@@ -639,12 +655,12 @@
|
|
|
639
655
|
* @twin.org/api-core bumped from 0.0.2-next.3 to 0.0.2-next.4
|
|
640
656
|
* @twin.org/api-models bumped from 0.0.2-next.3 to 0.0.2-next.4
|
|
641
657
|
|
|
642
|
-
## [0.0.2-next.3](https://github.com/
|
|
658
|
+
## [0.0.2-next.3](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.2-next.2...api-auth-entity-storage-service-v0.0.2-next.3) (2025-07-24)
|
|
643
659
|
|
|
644
660
|
|
|
645
661
|
### Features
|
|
646
662
|
|
|
647
|
-
* remove unused namespace ([08478f2](https://github.com/
|
|
663
|
+
* remove unused namespace ([08478f2](https://github.com/iotaledger/twin-api/commit/08478f27efda9beb0271fdb22f6972e918361965))
|
|
648
664
|
|
|
649
665
|
|
|
650
666
|
### Dependencies
|
|
@@ -655,7 +671,7 @@
|
|
|
655
671
|
* @twin.org/api-core bumped from 0.0.2-next.2 to 0.0.2-next.3
|
|
656
672
|
* @twin.org/api-models bumped from 0.0.2-next.2 to 0.0.2-next.3
|
|
657
673
|
|
|
658
|
-
## [0.0.2-next.2](https://github.com/
|
|
674
|
+
## [0.0.2-next.2](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.2-next.1...api-auth-entity-storage-service-v0.0.2-next.2) (2025-07-17)
|
|
659
675
|
|
|
660
676
|
|
|
661
677
|
### Miscellaneous Chores
|
|
@@ -671,14 +687,14 @@
|
|
|
671
687
|
* @twin.org/api-core bumped from 0.0.2-next.1 to 0.0.2-next.2
|
|
672
688
|
* @twin.org/api-models bumped from 0.0.2-next.1 to 0.0.2-next.2
|
|
673
689
|
|
|
674
|
-
## [0.0.2-next.1](https://github.com/
|
|
690
|
+
## [0.0.2-next.1](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.2-next.0...api-auth-entity-storage-service-v0.0.2-next.1) (2025-07-08)
|
|
675
691
|
|
|
676
692
|
|
|
677
693
|
### Features
|
|
678
694
|
|
|
679
|
-
* add json-ld mime type processor and auth admin component ([8861791](https://github.com/
|
|
680
|
-
* update dependencies ([1171dc4](https://github.com/
|
|
681
|
-
* use shared store mechanism ([#19](https://github.com/
|
|
695
|
+
* add json-ld mime type processor and auth admin component ([8861791](https://github.com/iotaledger/twin-api/commit/88617916e23bfbca023dbae1976fe421983a02ff))
|
|
696
|
+
* update dependencies ([1171dc4](https://github.com/iotaledger/twin-api/commit/1171dc416a9481737f6a640e3cf30145768f37e9))
|
|
697
|
+
* use shared store mechanism ([#19](https://github.com/iotaledger/twin-api/issues/19)) ([32116df](https://github.com/iotaledger/twin-api/commit/32116df3b4380a30137f5056f242a5c99afa2df9))
|
|
682
698
|
|
|
683
699
|
|
|
684
700
|
### Dependencies
|
|
@@ -694,7 +710,7 @@
|
|
|
694
710
|
|
|
695
711
|
### Features
|
|
696
712
|
|
|
697
|
-
* release to production ([70ee2d5](https://github.com/
|
|
713
|
+
* release to production ([70ee2d5](https://github.com/iotaledger/twin-api/commit/70ee2d56a1dc9537d7c9c154d4cb78a235678a3a))
|
|
698
714
|
|
|
699
715
|
|
|
700
716
|
### Dependencies
|
|
@@ -705,7 +721,7 @@
|
|
|
705
721
|
* @twin.org/api-core bumped from ^0.0.0 to ^0.0.1
|
|
706
722
|
* @twin.org/api-models bumped from ^0.0.0 to ^0.0.1
|
|
707
723
|
|
|
708
|
-
## [0.0.1-next.36](https://github.com/
|
|
724
|
+
## [0.0.1-next.36](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.1-next.35...api-auth-entity-storage-service-v0.0.1-next.36) (2025-06-17)
|
|
709
725
|
|
|
710
726
|
|
|
711
727
|
### Miscellaneous Chores
|
|
@@ -721,12 +737,12 @@
|
|
|
721
737
|
* @twin.org/api-core bumped from 0.0.1-next.35 to 0.0.1-next.36
|
|
722
738
|
* @twin.org/api-models bumped from 0.0.1-next.35 to 0.0.1-next.36
|
|
723
739
|
|
|
724
|
-
## [0.0.1-next.35](https://github.com/
|
|
740
|
+
## [0.0.1-next.35](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.1-next.34...api-auth-entity-storage-service-v0.0.1-next.35) (2025-06-11)
|
|
725
741
|
|
|
726
742
|
|
|
727
743
|
### Features
|
|
728
744
|
|
|
729
|
-
* update dependencies ([1171dc4](https://github.com/
|
|
745
|
+
* update dependencies ([1171dc4](https://github.com/iotaledger/twin-api/commit/1171dc416a9481737f6a640e3cf30145768f37e9))
|
|
730
746
|
|
|
731
747
|
|
|
732
748
|
### Dependencies
|
|
@@ -737,7 +753,7 @@
|
|
|
737
753
|
* @twin.org/api-core bumped from 0.0.1-next.34 to 0.0.1-next.35
|
|
738
754
|
* @twin.org/api-models bumped from 0.0.1-next.34 to 0.0.1-next.35
|
|
739
755
|
|
|
740
|
-
## [0.0.1-next.34](https://github.com/
|
|
756
|
+
## [0.0.1-next.34](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.1-next.33...api-auth-entity-storage-service-v0.0.1-next.34) (2025-05-27)
|
|
741
757
|
|
|
742
758
|
|
|
743
759
|
### Miscellaneous Chores
|
|
@@ -753,12 +769,12 @@
|
|
|
753
769
|
* @twin.org/api-core bumped from 0.0.1-next.33 to 0.0.1-next.34
|
|
754
770
|
* @twin.org/api-models bumped from 0.0.1-next.33 to 0.0.1-next.34
|
|
755
771
|
|
|
756
|
-
## [0.0.1-next.33](https://github.com/
|
|
772
|
+
## [0.0.1-next.33](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.1-next.32...api-auth-entity-storage-service-v0.0.1-next.33) (2025-04-17)
|
|
757
773
|
|
|
758
774
|
|
|
759
775
|
### Features
|
|
760
776
|
|
|
761
|
-
* use shared store mechanism ([#19](https://github.com/
|
|
777
|
+
* use shared store mechanism ([#19](https://github.com/iotaledger/twin-api/issues/19)) ([32116df](https://github.com/iotaledger/twin-api/commit/32116df3b4380a30137f5056f242a5c99afa2df9))
|
|
762
778
|
|
|
763
779
|
|
|
764
780
|
### Dependencies
|
|
@@ -769,7 +785,7 @@
|
|
|
769
785
|
* @twin.org/api-core bumped from 0.0.1-next.32 to 0.0.1-next.33
|
|
770
786
|
* @twin.org/api-models bumped from 0.0.1-next.32 to 0.0.1-next.33
|
|
771
787
|
|
|
772
|
-
## [0.0.1-next.32](https://github.com/
|
|
788
|
+
## [0.0.1-next.32](https://github.com/iotaledger/twin-api/compare/api-auth-entity-storage-service-v0.0.1-next.31...api-auth-entity-storage-service-v0.0.1-next.32) (2025-03-28)
|
|
773
789
|
|
|
774
790
|
|
|
775
791
|
### Miscellaneous Chores
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@twin.org/api-auth-entity-storage-service",
|
|
3
|
-
"version": "0.0.3-next.
|
|
3
|
+
"version": "0.0.3-next.28",
|
|
4
4
|
"description": "Authentication service implementation and REST routes backed by entity storage.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
"node": ">=20.0.0"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@twin.org/api-auth-entity-storage-models": "0.0.3-next.
|
|
18
|
-
"@twin.org/api-core": "0.0.3-next.
|
|
19
|
-
"@twin.org/api-models": "0.0.3-next.
|
|
17
|
+
"@twin.org/api-auth-entity-storage-models": "0.0.3-next.28",
|
|
18
|
+
"@twin.org/api-core": "0.0.3-next.28",
|
|
19
|
+
"@twin.org/api-models": "0.0.3-next.28",
|
|
20
20
|
"@twin.org/background-task-models": "next",
|
|
21
21
|
"@twin.org/context": "next",
|
|
22
22
|
"@twin.org/core": "next",
|