diff --git a/src/lib/routes/admin-api/api-token.ts b/src/lib/routes/admin-api/api-token.ts index 92b62aa2f6..799019ddd8 100644 --- a/src/lib/routes/admin-api/api-token.ts +++ b/src/lib/routes/admin-api/api-token.ts @@ -165,6 +165,7 @@ export class ApiTokenController extends Controller { res, apiTokenSchema.$id, serializeDates(token), + { location: `api-tokens` }, ); } diff --git a/src/lib/routes/admin-api/tag-type.ts b/src/lib/routes/admin-api/tag-type.ts index 1dd584e47c..5dc0bfc3c9 100644 --- a/src/lib/routes/admin-api/tag-type.ts +++ b/src/lib/routes/admin-api/tag-type.ts @@ -169,7 +169,9 @@ class TagTypeController extends Controller { req.body, userName, ); - res.status(201).json(tagType); + res.status(201) + .header('location', `tag-types/${tagType.name}`) + .json(tagType); } async updateTagType( diff --git a/src/lib/services/openapi-service.ts b/src/lib/services/openapi-service.ts index f8f3104eed..58a4d48e6c 100644 --- a/src/lib/services/openapi-service.ts +++ b/src/lib/services/openapi-service.ts @@ -69,6 +69,7 @@ export class OpenApiService { res: Response, schema: SchemaId, data: T, + headers: { [header: string]: string } = {}, ): void { const errors = validateSchema(schema, data); @@ -76,6 +77,10 @@ export class OpenApiService { this.logger.debug('Invalid response:', errors); } + Object.entries(headers).forEach(([header, value]) => + res.header(header, value), + ); + res.status(status).json(data); } }