diff --git a/src/common/middleware/apiConfig.ts b/src/common/middleware/apiConfig.ts index 2c319b8..9525ab4 100644 --- a/src/common/middleware/apiConfig.ts +++ b/src/common/middleware/apiConfig.ts @@ -114,7 +114,11 @@ export const apiList = { '/user/v1/auth/login': createRouteObject({ post: {}, }), + //user-service + '/user/v1/auth': createRouteObject({ + get: {}, + }), '/user/v1/create': createRouteObject({ post: { PRIVILEGE_CHECK: privilegeGroup.users.create, @@ -524,23 +528,6 @@ export const apiList = { { get: {} }, '/framework/v3/read/:identifier', ), - '/action/composite/v3/search': createRouteObject({ post: {} }, '/v3/search'), - '/action/object/category/definition/v1/read': createRouteObject( - { post: {} }, - '/object/category/definition/v4/read', - ), - '/action/asset/v1/create': createRouteObject( - { post: {} }, - '/asset/v4/create', - ), - '/action/asset/v1/upload/url/:identifier': createRouteObject( - { post: {} }, - '/asset/v4/upload/url/:identifier', - ), - '/action/asset/v1/upload/:identifier': createRouteObject( - { post: {} }, - '/asset/v4/upload/identifier', - ), '/action/question/v2/read/:identifier': createRouteObject( { get: {} }, '/question/v5/read/:identifier', @@ -549,47 +536,14 @@ export const apiList = { { get: {} }, '/asset/v4/read/:identifier', ), - '/action/content/v3/upload/url/:identifier': createRouteObject( - { post: {} }, - '/content/v3/upload/url/:identifier', - ), - '/action/content/v3/create': createRouteObject( - { post: {} }, - '/content/v4/create', - ), - '/action/content/v3/upload/:identifier': createRouteObject( - { post: {} }, - '/content/v4/upload/:identifier', - ), '/action/content/v3/read/:identifier': createRouteObject( { get: {} }, '/content/v4/read/:identifier', ), - '/action/content/v3/update/:identifier': createRouteObject( - { patch: {} }, - '/content/v4/update/:identifier', - ), - '/action/content/v3/review/:identifier': createRouteObject({ post: {} }), '/api/content/v1/read/:identifier': createRouteObject( { get: {} }, '/content/v4/read/:identifier', ), - '/content/content/v1/reject/:identifier': createRouteObject( - { post: {} }, - '/content/v4/reject/:identifier', - ), - '/content/content/v1/publish/:identifier': createRouteObject( - { post: {} }, - 'content/v4/publish/:identifier', - ), - '/action/content/v1/reject/:identifier': createRouteObject( - { post: {} }, - '/content/v4/reject/:identifier', - ), - '/action/content/v1/publish/:identifier': createRouteObject( - { post: {} }, - 'content/v4/publish/:identifier', - ), //secure '/action/questionset/v2/create': createRouteObject( { @@ -655,6 +609,124 @@ export const apiList = { }, '/questionset/v5/comment/update/:identifier', ), + //////////////////////////////////////////////////// + '/action/composite/v3/search': createRouteObject( + { + post: { + PRIVILEGE_CHECK: privilegeGroup.content.read, + ROLE_CHECK: rolesGroup.content_restricted, + }, + }, + '/v3/search', + ), + '/action/object/category/definition/v1/read': createRouteObject( + { + post: { + PRIVILEGE_CHECK: privilegeGroup.content.read, + ROLE_CHECK: rolesGroup.content_restricted, + }, + }, + '/object/category/definition/v4/read', + ), + '/action/asset/v1/create': createRouteObject( + { + post: { + PRIVILEGE_CHECK: privilegeGroup.content.create, + ROLE_CHECK: rolesGroup.content_restricted, + }, + }, + '/asset/v4/create', + ), + '/action/asset/v1/upload/url/:identifier': createRouteObject( + { + post: { + PRIVILEGE_CHECK: privilegeGroup.content.create, + ROLE_CHECK: rolesGroup.content_restricted, + }, + }, + '/asset/v4/upload/url/:identifier', + ), + '/action/asset/v1/upload/:identifier': createRouteObject( + { + post: { + PRIVILEGE_CHECK: privilegeGroup.content.create, + ROLE_CHECK: rolesGroup.content_restricted, + }, + }, + '/asset/v4/upload/:identifier', + ), + '/action/content/v3/upload/url/:identifier': createRouteObject( + { + post: { + PRIVILEGE_CHECK: privilegeGroup.content.create, + ROLE_CHECK: rolesGroup.content_restricted, + }, + }, + '/content/v3/upload/url/:identifier', + ), + '/action/content/v3/create': createRouteObject( + { + post: { + PRIVILEGE_CHECK: privilegeGroup.content.create, + ROLE_CHECK: rolesGroup.content_restricted, + }, + }, + '/content/v4/create', + ), + '/action/content/v3/upload/:identifier': createRouteObject( + { + post: { + PRIVILEGE_CHECK: privilegeGroup.content.create, + ROLE_CHECK: rolesGroup.content_restricted, + }, + }, + '/content/v4/upload/:identifier', + ), + '/action/content/v3/update/:identifier': createRouteObject( + { + patch: { + PRIVILEGE_CHECK: privilegeGroup.content.update, + ROLE_CHECK: rolesGroup.content_restricted, + }, + }, + '/content/v4/update/:identifier', + ), + '/action/content/v3/review/:identifier': createRouteObject( + { + post: { + PRIVILEGE_CHECK: privilegeGroup.content.review, + ROLE_CHECK: rolesGroup.content_restricted, + }, + }, + '/content/v4/review/:identifier', + ), + '/action/content/v3/reject/:identifier': createRouteObject( + { + post: { + PRIVILEGE_CHECK: privilegeGroup.content.review, + ROLE_CHECK: rolesGroup.content_restricted, + }, + }, + '/content/v4/reject/:identifier', + ), + '/action/content/v3/publish/:identifier': createRouteObject( + { + post: { + PRIVILEGE_CHECK: privilegeGroup.content.review, + ROLE_CHECK: rolesGroup.content_restricted, + }, + }, + '/content/v4/publish/:identifier', + ), + '/action/content/v3/retire/:identifier': createRouteObject( + { + delete: { + PRIVILEGE_CHECK: privilegeGroup.content.delete, + ROLE_CHECK: rolesGroup.content_restricted, + }, + }, + '/content/v4/retire/:identifier', + ), //attendance service '/api/v1/attendance': createRouteObject({ diff --git a/src/common/middleware/middleware.service.ts b/src/common/middleware/middleware.service.ts index e6f0eb7..89b46cb 100644 --- a/src/common/middleware/middleware.service.ts +++ b/src/common/middleware/middleware.service.ts @@ -164,23 +164,32 @@ export class MiddlewareServices { ), ); } - resolve(req.files); + const reqObject = { + files: req.files, + data: req.body, + }; + resolve(reqObject); }); }); }; // Await the file upload - const files: any = await uploadFiles(); - - // Check if files are present - if (files && files.length > 0) { - const file = files[0]; // first file - - // Prepare FormData for Axios call - const formData = new FormData(); - formData.append('file', file.buffer, { - filename: file.originalname, - contentType: file.mimetype, - }); + const reqObject: any = await uploadFiles(); + const formData = new FormData(); + // Prepare FormData for Axios call + if (reqObject && Object.keys(reqObject).length > 0) { + // Check if files are present + if (reqObject.files && reqObject.files.length > 0) { + const file = reqObject.files[0]; // first file + formData.append('file', file.buffer, { + filename: file.originalname, + contentType: file.mimetype, + }); + } + if (reqObject.data) { + for (const key in reqObject.data) { + formData.append(key, reqObject.data[key]); + } + } return await this.gatewayService.handleRequestForMultipartData( url, @@ -218,6 +227,7 @@ export class MiddlewareServices { '/action/object': 'TAXONOMY_SERVICE', '/action/asset': 'CONTENT_SERVICE', '/action/content': 'CONTENT_SERVICE', + '/api/content': 'CONTENT_SERVICE', }; // Iterate over the mapping to find the correct service based on the URL prefix