From f57320fc1fece47bdc5a86eccb6268a70306d947 Mon Sep 17 00:00:00 2001 From: Ting Zuge Date: Thu, 23 Jan 2025 12:10:08 -0700 Subject: [PATCH] fix(directory-service): adjust swagger criteria param definition Also encoding tags link href to handle slashes in resource urn. --- .../directory-service/src/directory/mapper.ts | 2 +- .../src/directory/router/resource.swagger.yml | 24 +++++++++++-------- .../directory-service/src/mongo/repository.ts | 2 +- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/apps/directory-service/src/directory/mapper.ts b/apps/directory-service/src/directory/mapper.ts index 20ba899a0..468129fcc 100644 --- a/apps/directory-service/src/directory/mapper.ts +++ b/apps/directory-service/src/directory/mapper.ts @@ -34,7 +34,7 @@ export function mapResource(apiId: AdspId, resource: Resource) { href: resource.urn.toString(), }, tags: { - href: `${apiId}:/resources/${resource.urn}/tags`, + href: `${apiId}:/resources/${encodeURIComponent(resource.urn.toString())}/tags`, }, }, _embedded: resource.data && { diff --git a/apps/directory-service/src/directory/router/resource.swagger.yml b/apps/directory-service/src/directory/router/resource.swagger.yml index 260940408..6b8cf36a9 100644 --- a/apps/directory-service/src/directory/router/resource.swagger.yml +++ b/apps/directory-service/src/directory/router/resource.swagger.yml @@ -203,11 +203,13 @@ components: description: Criteria for the resources to return. in: query required: false - schema: - type: object - properties: - typeEquals: - type: string + content: + application/json: + schema: + type: object + properties: + typeEquals: + type: string - name: tag description: Value of the tag. in: path @@ -258,11 +260,13 @@ components: description: Criteria for the resources to return. in: query required: false - schema: - type: object - properties: - typeEquals: - type: string + content: + application/json: + schema: + type: object + properties: + typeEquals: + type: string responses: 200: description: Request completed successfully diff --git a/apps/directory-service/src/mongo/repository.ts b/apps/directory-service/src/mongo/repository.ts index 5c3cf96ef..7a4123174 100644 --- a/apps/directory-service/src/mongo/repository.ts +++ b/apps/directory-service/src/mongo/repository.ts @@ -409,7 +409,7 @@ export class MongoDirectoryRepository implements DirectoryRepository { } if (criteria.typeEquals) { - query.type = criteria.typeEquals.toString(); + query.type = criteria.typeEquals; } const docs = await this.resourceModel.find(query).skip(skip).limit(top).exec();