Skip to content

Commit

Permalink
Merge pull request #24 from arati-tekdi/main
Browse files Browse the repository at this point in the history
Handling for Form data
  • Loading branch information
arati-tekdi authored Oct 4, 2024
2 parents bbda434 + f8fa0e8 commit 8bca327
Show file tree
Hide file tree
Showing 2 changed files with 145 additions and 63 deletions.
172 changes: 122 additions & 50 deletions src/common/middleware/apiConfig.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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',
Expand All @@ -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(
{
Expand Down Expand Up @@ -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({
Expand Down
36 changes: 23 additions & 13 deletions src/common/middleware/middleware.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 8bca327

Please sign in to comment.