diff --git a/docs/swagger/docs.go b/docs/swagger/docs.go index 2a09456..b870e14 100644 --- a/docs/swagger/docs.go +++ b/docs/swagger/docs.go @@ -13499,6 +13499,480 @@ const docTemplate = `{ } } }, + "/menu-modules": { + "get": { + "security": [ + { + "Bearer": [] + } + ], + "description": "API for getting all MenuModules", + "tags": [ + "MenuModules" + ], + "summary": "Get all MenuModules", + "parameters": [ + { + "type": "integer", + "description": "Menu ID", + "name": "menu_id", + "in": "query" + }, + { + "type": "integer", + "description": "Module ID", + "name": "module_id", + "in": "query" + }, + { + "type": "integer", + "name": "count", + "in": "query" + }, + { + "type": "integer", + "name": "limit", + "in": "query" + }, + { + "type": "integer", + "name": "nextPage", + "in": "query" + }, + { + "type": "integer", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "name": "previousPage", + "in": "query" + }, + { + "type": "string", + "name": "sort", + "in": "query" + }, + { + "type": "string", + "name": "sortBy", + "in": "query" + }, + { + "type": "integer", + "name": "totalPage", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/response.BadRequestError" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/response.UnauthorizedError" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/response.InternalServerError" + } + } + } + }, + "post": { + "security": [ + { + "Bearer": [] + } + ], + "description": "API for create MenuModule", + "tags": [ + "MenuModules" + ], + "summary": "Create MenuModule", + "parameters": [ + { + "type": "string", + "description": "Insert the X-Csrf-Token", + "name": "X-Csrf-Token", + "in": "header" + }, + { + "description": "Required payload", + "name": "payload", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/request.MenuModulesCreateRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/response.BadRequestError" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/response.UnauthorizedError" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/response.InternalServerError" + } + } + } + } + }, + "/menu-modules/batch": { + "post": { + "security": [ + { + "Bearer": [] + } + ], + "description": "API for creating multiple MenuModules at once for a menu", + "tags": [ + "MenuModules" + ], + "summary": "Create multiple MenuModules", + "parameters": [ + { + "type": "string", + "description": "Insert the X-Csrf-Token", + "name": "X-Csrf-Token", + "in": "header" + }, + { + "description": "Required payload", + "name": "payload", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/request.MenuModulesBatchCreateRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/response.BadRequestError" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/response.UnauthorizedError" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/response.InternalServerError" + } + } + } + } + }, + "/menu-modules/menu/{menu_id}": { + "get": { + "security": [ + { + "Bearer": [] + } + ], + "description": "API for getting MenuModules by Menu ID", + "tags": [ + "MenuModules" + ], + "summary": "Get MenuModules by Menu ID", + "parameters": [ + { + "type": "integer", + "description": "Menu ID", + "name": "menu_id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/response.BadRequestError" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/response.UnauthorizedError" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/response.InternalServerError" + } + } + } + } + }, + "/menu-modules/module/{module_id}": { + "get": { + "security": [ + { + "Bearer": [] + } + ], + "description": "API for getting MenuModules by Module ID", + "tags": [ + "MenuModules" + ], + "summary": "Get MenuModules by Module ID", + "parameters": [ + { + "type": "integer", + "description": "Module ID", + "name": "module_id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/response.BadRequestError" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/response.UnauthorizedError" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/response.InternalServerError" + } + } + } + } + }, + "/menu-modules/{id}": { + "get": { + "security": [ + { + "Bearer": [] + } + ], + "description": "API for getting one MenuModule", + "tags": [ + "MenuModules" + ], + "summary": "Get one MenuModule", + "parameters": [ + { + "type": "integer", + "description": "MenuModule ID", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/response.BadRequestError" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/response.UnauthorizedError" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/response.InternalServerError" + } + } + } + }, + "put": { + "security": [ + { + "Bearer": [] + } + ], + "description": "API for update MenuModule", + "tags": [ + "MenuModules" + ], + "summary": "Update MenuModule", + "parameters": [ + { + "type": "string", + "description": "Insert the X-Csrf-Token", + "name": "X-Csrf-Token", + "in": "header" + }, + { + "description": "Required payload", + "name": "payload", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/request.MenuModulesUpdateRequest" + } + }, + { + "type": "integer", + "description": "MenuModule ID", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "422": { + "description": "Unprocessable Entity", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/response.Response" + } + } + } + }, + "delete": { + "security": [ + { + "Bearer": [] + } + ], + "description": "API for delete MenuModule (soft delete)", + "tags": [ + "MenuModules" + ], + "summary": "Delete MenuModule", + "parameters": [ + { + "type": "string", + "description": "Insert the X-Csrf-Token", + "name": "X-Csrf-Token", + "in": "header" + }, + { + "type": "integer", + "description": "MenuModule ID", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/response.BadRequestError" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/response.UnauthorizedError" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/response.InternalServerError" + } + } + } + } + }, "/provinces": { "get": { "security": [ @@ -14481,6 +14955,537 @@ const docTemplate = `{ } } }, + "/user-level-module-accesses": { + "get": { + "security": [ + { + "Bearer": [] + } + ], + "description": "API for getting all UserLevelModuleAccesses", + "tags": [ + "UserLevelModuleAccesses" + ], + "summary": "Get all UserLevelModuleAccesses", + "parameters": [ + { + "type": "integer", + "description": "User Level ID", + "name": "user_level_id", + "in": "query" + }, + { + "type": "integer", + "description": "Module ID", + "name": "module_id", + "in": "query" + }, + { + "type": "boolean", + "description": "Can Access", + "name": "can_access", + "in": "query" + }, + { + "type": "integer", + "name": "count", + "in": "query" + }, + { + "type": "integer", + "name": "limit", + "in": "query" + }, + { + "type": "integer", + "name": "nextPage", + "in": "query" + }, + { + "type": "integer", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "name": "previousPage", + "in": "query" + }, + { + "type": "string", + "name": "sort", + "in": "query" + }, + { + "type": "string", + "name": "sortBy", + "in": "query" + }, + { + "type": "integer", + "name": "totalPage", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/response.BadRequestError" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/response.UnauthorizedError" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/response.InternalServerError" + } + } + } + }, + "post": { + "security": [ + { + "Bearer": [] + } + ], + "description": "API for create UserLevelModuleAccess", + "tags": [ + "UserLevelModuleAccesses" + ], + "summary": "Create UserLevelModuleAccess", + "parameters": [ + { + "type": "string", + "description": "Insert the X-Csrf-Token", + "name": "X-Csrf-Token", + "in": "header" + }, + { + "description": "Required payload", + "name": "payload", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/request.UserLevelModuleAccessesCreateRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/response.BadRequestError" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/response.UnauthorizedError" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/response.InternalServerError" + } + } + } + } + }, + "/user-level-module-accesses/batch": { + "post": { + "security": [ + { + "Bearer": [] + } + ], + "description": "API for creating multiple UserLevelModuleAccesses at once for a user level", + "tags": [ + "UserLevelModuleAccesses" + ], + "summary": "Create multiple UserLevelModuleAccesses", + "parameters": [ + { + "type": "string", + "description": "Insert the X-Csrf-Token", + "name": "X-Csrf-Token", + "in": "header" + }, + { + "description": "Required payload", + "name": "payload", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/request.UserLevelModuleAccessesBatchCreateRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/response.BadRequestError" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/response.UnauthorizedError" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/response.InternalServerError" + } + } + } + } + }, + "/user-level-module-accesses/check-access": { + "post": { + "security": [ + { + "Bearer": [] + } + ], + "description": "API for checking if user level has access to module", + "tags": [ + "UserLevelModuleAccesses" + ], + "summary": "Check user level module access", + "parameters": [ + { + "description": "Required payload", + "name": "payload", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/request.CheckAccessRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/response.BadRequestError" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/response.UnauthorizedError" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/response.InternalServerError" + } + } + } + } + }, + "/user-level-module-accesses/module/{module_id}": { + "get": { + "security": [ + { + "Bearer": [] + } + ], + "description": "API for getting UserLevelModuleAccesses by Module ID", + "tags": [ + "UserLevelModuleAccesses" + ], + "summary": "Get UserLevelModuleAccesses by Module ID", + "parameters": [ + { + "type": "integer", + "description": "Module ID", + "name": "module_id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/response.BadRequestError" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/response.UnauthorizedError" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/response.InternalServerError" + } + } + } + } + }, + "/user-level-module-accesses/user-level/{user_level_id}": { + "get": { + "security": [ + { + "Bearer": [] + } + ], + "description": "API for getting UserLevelModuleAccesses by User Level ID", + "tags": [ + "UserLevelModuleAccesses" + ], + "summary": "Get UserLevelModuleAccesses by User Level ID", + "parameters": [ + { + "type": "integer", + "description": "User Level ID", + "name": "user_level_id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/response.BadRequestError" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/response.UnauthorizedError" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/response.InternalServerError" + } + } + } + } + }, + "/user-level-module-accesses/{id}": { + "get": { + "security": [ + { + "Bearer": [] + } + ], + "description": "API for getting one UserLevelModuleAccess", + "tags": [ + "UserLevelModuleAccesses" + ], + "summary": "Get one UserLevelModuleAccess", + "parameters": [ + { + "type": "integer", + "description": "UserLevelModuleAccess ID", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/response.BadRequestError" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/response.UnauthorizedError" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/response.InternalServerError" + } + } + } + }, + "put": { + "security": [ + { + "Bearer": [] + } + ], + "description": "API for update UserLevelModuleAccess", + "tags": [ + "UserLevelModuleAccesses" + ], + "summary": "Update UserLevelModuleAccess", + "parameters": [ + { + "type": "string", + "description": "Insert the X-Csrf-Token", + "name": "X-Csrf-Token", + "in": "header" + }, + { + "description": "Required payload", + "name": "payload", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/request.UserLevelModuleAccessesUpdateRequest" + } + }, + { + "type": "integer", + "description": "UserLevelModuleAccess ID", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "422": { + "description": "Unprocessable Entity", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/response.Response" + } + } + } + }, + "delete": { + "security": [ + { + "Bearer": [] + } + ], + "description": "API for delete UserLevelModuleAccess (soft delete)", + "tags": [ + "UserLevelModuleAccesses" + ], + "summary": "Delete UserLevelModuleAccess", + "parameters": [ + { + "type": "string", + "description": "Insert the X-Csrf-Token", + "name": "X-Csrf-Token", + "in": "header" + }, + { + "type": "integer", + "description": "UserLevelModuleAccess ID", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/response.BadRequestError" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/response.UnauthorizedError" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/response.InternalServerError" + } + } + } + } + }, "/user-levels": { "get": { "security": [ @@ -17803,6 +18808,21 @@ const docTemplate = `{ } } }, + "request.CheckAccessRequest": { + "type": "object", + "required": [ + "module_id", + "user_level_id" + ], + "properties": { + "module_id": { + "type": "integer" + }, + "user_level_id": { + "type": "integer" + } + } + }, "request.CitiesCreateRequest": { "type": "object", "required": [ @@ -18447,6 +19467,72 @@ const docTemplate = `{ } } }, + "request.MenuModulesBatchCreateRequest": { + "type": "object", + "required": [ + "menu_id", + "module_ids" + ], + "properties": { + "client_id": { + "type": "string" + }, + "menu_id": { + "type": "integer" + }, + "module_ids": { + "type": "array", + "minItems": 1, + "items": { + "type": "integer" + } + } + } + }, + "request.MenuModulesCreateRequest": { + "type": "object", + "required": [ + "menu_id", + "module_id" + ], + "properties": { + "client_id": { + "type": "string" + }, + "is_active": { + "type": "boolean" + }, + "menu_id": { + "type": "integer" + }, + "module_id": { + "type": "integer" + }, + "position": { + "type": "integer" + } + } + }, + "request.MenuModulesUpdateRequest": { + "type": "object", + "properties": { + "client_id": { + "type": "string" + }, + "is_active": { + "type": "boolean" + }, + "menu_id": { + "type": "integer" + }, + "module_id": { + "type": "integer" + }, + "position": { + "type": "integer" + } + } + }, "request.MoveClientRequest": { "type": "object", "properties": { @@ -18809,6 +19895,75 @@ const docTemplate = `{ } } }, + "request.UserLevelModuleAccessesBatchCreateRequest": { + "type": "object", + "required": [ + "module_ids", + "user_level_id" + ], + "properties": { + "can_access": { + "type": "boolean" + }, + "client_id": { + "type": "string" + }, + "module_ids": { + "type": "array", + "minItems": 1, + "items": { + "type": "integer" + } + }, + "user_level_id": { + "type": "integer" + } + } + }, + "request.UserLevelModuleAccessesCreateRequest": { + "type": "object", + "required": [ + "module_id", + "user_level_id" + ], + "properties": { + "can_access": { + "type": "boolean" + }, + "client_id": { + "type": "string" + }, + "is_active": { + "type": "boolean" + }, + "module_id": { + "type": "integer" + }, + "user_level_id": { + "type": "integer" + } + } + }, + "request.UserLevelModuleAccessesUpdateRequest": { + "type": "object", + "properties": { + "can_access": { + "type": "boolean" + }, + "client_id": { + "type": "string" + }, + "is_active": { + "type": "boolean" + }, + "module_id": { + "type": "integer" + }, + "user_level_id": { + "type": "integer" + } + } + }, "request.UserLevelsApprovalRequest": { "type": "object", "required": [ diff --git a/docs/swagger/swagger.json b/docs/swagger/swagger.json index cd7a72c..32596a2 100644 --- a/docs/swagger/swagger.json +++ b/docs/swagger/swagger.json @@ -13488,6 +13488,480 @@ } } }, + "/menu-modules": { + "get": { + "security": [ + { + "Bearer": [] + } + ], + "description": "API for getting all MenuModules", + "tags": [ + "MenuModules" + ], + "summary": "Get all MenuModules", + "parameters": [ + { + "type": "integer", + "description": "Menu ID", + "name": "menu_id", + "in": "query" + }, + { + "type": "integer", + "description": "Module ID", + "name": "module_id", + "in": "query" + }, + { + "type": "integer", + "name": "count", + "in": "query" + }, + { + "type": "integer", + "name": "limit", + "in": "query" + }, + { + "type": "integer", + "name": "nextPage", + "in": "query" + }, + { + "type": "integer", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "name": "previousPage", + "in": "query" + }, + { + "type": "string", + "name": "sort", + "in": "query" + }, + { + "type": "string", + "name": "sortBy", + "in": "query" + }, + { + "type": "integer", + "name": "totalPage", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/response.BadRequestError" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/response.UnauthorizedError" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/response.InternalServerError" + } + } + } + }, + "post": { + "security": [ + { + "Bearer": [] + } + ], + "description": "API for create MenuModule", + "tags": [ + "MenuModules" + ], + "summary": "Create MenuModule", + "parameters": [ + { + "type": "string", + "description": "Insert the X-Csrf-Token", + "name": "X-Csrf-Token", + "in": "header" + }, + { + "description": "Required payload", + "name": "payload", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/request.MenuModulesCreateRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/response.BadRequestError" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/response.UnauthorizedError" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/response.InternalServerError" + } + } + } + } + }, + "/menu-modules/batch": { + "post": { + "security": [ + { + "Bearer": [] + } + ], + "description": "API for creating multiple MenuModules at once for a menu", + "tags": [ + "MenuModules" + ], + "summary": "Create multiple MenuModules", + "parameters": [ + { + "type": "string", + "description": "Insert the X-Csrf-Token", + "name": "X-Csrf-Token", + "in": "header" + }, + { + "description": "Required payload", + "name": "payload", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/request.MenuModulesBatchCreateRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/response.BadRequestError" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/response.UnauthorizedError" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/response.InternalServerError" + } + } + } + } + }, + "/menu-modules/menu/{menu_id}": { + "get": { + "security": [ + { + "Bearer": [] + } + ], + "description": "API for getting MenuModules by Menu ID", + "tags": [ + "MenuModules" + ], + "summary": "Get MenuModules by Menu ID", + "parameters": [ + { + "type": "integer", + "description": "Menu ID", + "name": "menu_id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/response.BadRequestError" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/response.UnauthorizedError" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/response.InternalServerError" + } + } + } + } + }, + "/menu-modules/module/{module_id}": { + "get": { + "security": [ + { + "Bearer": [] + } + ], + "description": "API for getting MenuModules by Module ID", + "tags": [ + "MenuModules" + ], + "summary": "Get MenuModules by Module ID", + "parameters": [ + { + "type": "integer", + "description": "Module ID", + "name": "module_id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/response.BadRequestError" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/response.UnauthorizedError" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/response.InternalServerError" + } + } + } + } + }, + "/menu-modules/{id}": { + "get": { + "security": [ + { + "Bearer": [] + } + ], + "description": "API for getting one MenuModule", + "tags": [ + "MenuModules" + ], + "summary": "Get one MenuModule", + "parameters": [ + { + "type": "integer", + "description": "MenuModule ID", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/response.BadRequestError" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/response.UnauthorizedError" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/response.InternalServerError" + } + } + } + }, + "put": { + "security": [ + { + "Bearer": [] + } + ], + "description": "API for update MenuModule", + "tags": [ + "MenuModules" + ], + "summary": "Update MenuModule", + "parameters": [ + { + "type": "string", + "description": "Insert the X-Csrf-Token", + "name": "X-Csrf-Token", + "in": "header" + }, + { + "description": "Required payload", + "name": "payload", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/request.MenuModulesUpdateRequest" + } + }, + { + "type": "integer", + "description": "MenuModule ID", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "422": { + "description": "Unprocessable Entity", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/response.Response" + } + } + } + }, + "delete": { + "security": [ + { + "Bearer": [] + } + ], + "description": "API for delete MenuModule (soft delete)", + "tags": [ + "MenuModules" + ], + "summary": "Delete MenuModule", + "parameters": [ + { + "type": "string", + "description": "Insert the X-Csrf-Token", + "name": "X-Csrf-Token", + "in": "header" + }, + { + "type": "integer", + "description": "MenuModule ID", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/response.BadRequestError" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/response.UnauthorizedError" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/response.InternalServerError" + } + } + } + } + }, "/provinces": { "get": { "security": [ @@ -14470,6 +14944,537 @@ } } }, + "/user-level-module-accesses": { + "get": { + "security": [ + { + "Bearer": [] + } + ], + "description": "API for getting all UserLevelModuleAccesses", + "tags": [ + "UserLevelModuleAccesses" + ], + "summary": "Get all UserLevelModuleAccesses", + "parameters": [ + { + "type": "integer", + "description": "User Level ID", + "name": "user_level_id", + "in": "query" + }, + { + "type": "integer", + "description": "Module ID", + "name": "module_id", + "in": "query" + }, + { + "type": "boolean", + "description": "Can Access", + "name": "can_access", + "in": "query" + }, + { + "type": "integer", + "name": "count", + "in": "query" + }, + { + "type": "integer", + "name": "limit", + "in": "query" + }, + { + "type": "integer", + "name": "nextPage", + "in": "query" + }, + { + "type": "integer", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "name": "previousPage", + "in": "query" + }, + { + "type": "string", + "name": "sort", + "in": "query" + }, + { + "type": "string", + "name": "sortBy", + "in": "query" + }, + { + "type": "integer", + "name": "totalPage", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/response.BadRequestError" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/response.UnauthorizedError" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/response.InternalServerError" + } + } + } + }, + "post": { + "security": [ + { + "Bearer": [] + } + ], + "description": "API for create UserLevelModuleAccess", + "tags": [ + "UserLevelModuleAccesses" + ], + "summary": "Create UserLevelModuleAccess", + "parameters": [ + { + "type": "string", + "description": "Insert the X-Csrf-Token", + "name": "X-Csrf-Token", + "in": "header" + }, + { + "description": "Required payload", + "name": "payload", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/request.UserLevelModuleAccessesCreateRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/response.BadRequestError" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/response.UnauthorizedError" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/response.InternalServerError" + } + } + } + } + }, + "/user-level-module-accesses/batch": { + "post": { + "security": [ + { + "Bearer": [] + } + ], + "description": "API for creating multiple UserLevelModuleAccesses at once for a user level", + "tags": [ + "UserLevelModuleAccesses" + ], + "summary": "Create multiple UserLevelModuleAccesses", + "parameters": [ + { + "type": "string", + "description": "Insert the X-Csrf-Token", + "name": "X-Csrf-Token", + "in": "header" + }, + { + "description": "Required payload", + "name": "payload", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/request.UserLevelModuleAccessesBatchCreateRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/response.BadRequestError" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/response.UnauthorizedError" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/response.InternalServerError" + } + } + } + } + }, + "/user-level-module-accesses/check-access": { + "post": { + "security": [ + { + "Bearer": [] + } + ], + "description": "API for checking if user level has access to module", + "tags": [ + "UserLevelModuleAccesses" + ], + "summary": "Check user level module access", + "parameters": [ + { + "description": "Required payload", + "name": "payload", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/request.CheckAccessRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/response.BadRequestError" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/response.UnauthorizedError" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/response.InternalServerError" + } + } + } + } + }, + "/user-level-module-accesses/module/{module_id}": { + "get": { + "security": [ + { + "Bearer": [] + } + ], + "description": "API for getting UserLevelModuleAccesses by Module ID", + "tags": [ + "UserLevelModuleAccesses" + ], + "summary": "Get UserLevelModuleAccesses by Module ID", + "parameters": [ + { + "type": "integer", + "description": "Module ID", + "name": "module_id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/response.BadRequestError" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/response.UnauthorizedError" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/response.InternalServerError" + } + } + } + } + }, + "/user-level-module-accesses/user-level/{user_level_id}": { + "get": { + "security": [ + { + "Bearer": [] + } + ], + "description": "API for getting UserLevelModuleAccesses by User Level ID", + "tags": [ + "UserLevelModuleAccesses" + ], + "summary": "Get UserLevelModuleAccesses by User Level ID", + "parameters": [ + { + "type": "integer", + "description": "User Level ID", + "name": "user_level_id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/response.BadRequestError" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/response.UnauthorizedError" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/response.InternalServerError" + } + } + } + } + }, + "/user-level-module-accesses/{id}": { + "get": { + "security": [ + { + "Bearer": [] + } + ], + "description": "API for getting one UserLevelModuleAccess", + "tags": [ + "UserLevelModuleAccesses" + ], + "summary": "Get one UserLevelModuleAccess", + "parameters": [ + { + "type": "integer", + "description": "UserLevelModuleAccess ID", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/response.BadRequestError" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/response.UnauthorizedError" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/response.InternalServerError" + } + } + } + }, + "put": { + "security": [ + { + "Bearer": [] + } + ], + "description": "API for update UserLevelModuleAccess", + "tags": [ + "UserLevelModuleAccesses" + ], + "summary": "Update UserLevelModuleAccess", + "parameters": [ + { + "type": "string", + "description": "Insert the X-Csrf-Token", + "name": "X-Csrf-Token", + "in": "header" + }, + { + "description": "Required payload", + "name": "payload", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/request.UserLevelModuleAccessesUpdateRequest" + } + }, + { + "type": "integer", + "description": "UserLevelModuleAccess ID", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "422": { + "description": "Unprocessable Entity", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/response.Response" + } + } + } + }, + "delete": { + "security": [ + { + "Bearer": [] + } + ], + "description": "API for delete UserLevelModuleAccess (soft delete)", + "tags": [ + "UserLevelModuleAccesses" + ], + "summary": "Delete UserLevelModuleAccess", + "parameters": [ + { + "type": "string", + "description": "Insert the X-Csrf-Token", + "name": "X-Csrf-Token", + "in": "header" + }, + { + "type": "integer", + "description": "UserLevelModuleAccess ID", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.Response" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/response.BadRequestError" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/response.UnauthorizedError" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/response.InternalServerError" + } + } + } + } + }, "/user-levels": { "get": { "security": [ @@ -17792,6 +18797,21 @@ } } }, + "request.CheckAccessRequest": { + "type": "object", + "required": [ + "module_id", + "user_level_id" + ], + "properties": { + "module_id": { + "type": "integer" + }, + "user_level_id": { + "type": "integer" + } + } + }, "request.CitiesCreateRequest": { "type": "object", "required": [ @@ -18436,6 +19456,72 @@ } } }, + "request.MenuModulesBatchCreateRequest": { + "type": "object", + "required": [ + "menu_id", + "module_ids" + ], + "properties": { + "client_id": { + "type": "string" + }, + "menu_id": { + "type": "integer" + }, + "module_ids": { + "type": "array", + "minItems": 1, + "items": { + "type": "integer" + } + } + } + }, + "request.MenuModulesCreateRequest": { + "type": "object", + "required": [ + "menu_id", + "module_id" + ], + "properties": { + "client_id": { + "type": "string" + }, + "is_active": { + "type": "boolean" + }, + "menu_id": { + "type": "integer" + }, + "module_id": { + "type": "integer" + }, + "position": { + "type": "integer" + } + } + }, + "request.MenuModulesUpdateRequest": { + "type": "object", + "properties": { + "client_id": { + "type": "string" + }, + "is_active": { + "type": "boolean" + }, + "menu_id": { + "type": "integer" + }, + "module_id": { + "type": "integer" + }, + "position": { + "type": "integer" + } + } + }, "request.MoveClientRequest": { "type": "object", "properties": { @@ -18798,6 +19884,75 @@ } } }, + "request.UserLevelModuleAccessesBatchCreateRequest": { + "type": "object", + "required": [ + "module_ids", + "user_level_id" + ], + "properties": { + "can_access": { + "type": "boolean" + }, + "client_id": { + "type": "string" + }, + "module_ids": { + "type": "array", + "minItems": 1, + "items": { + "type": "integer" + } + }, + "user_level_id": { + "type": "integer" + } + } + }, + "request.UserLevelModuleAccessesCreateRequest": { + "type": "object", + "required": [ + "module_id", + "user_level_id" + ], + "properties": { + "can_access": { + "type": "boolean" + }, + "client_id": { + "type": "string" + }, + "is_active": { + "type": "boolean" + }, + "module_id": { + "type": "integer" + }, + "user_level_id": { + "type": "integer" + } + } + }, + "request.UserLevelModuleAccessesUpdateRequest": { + "type": "object", + "properties": { + "can_access": { + "type": "boolean" + }, + "client_id": { + "type": "string" + }, + "is_active": { + "type": "boolean" + }, + "module_id": { + "type": "integer" + }, + "user_level_id": { + "type": "integer" + } + } + }, "request.UserLevelsApprovalRequest": { "type": "object", "required": [ diff --git a/docs/swagger/swagger.yaml b/docs/swagger/swagger.yaml index a5db342..7174e67 100644 --- a/docs/swagger/swagger.yaml +++ b/docs/swagger/swagger.yaml @@ -670,6 +670,16 @@ definitions: - stepLogIds - userId type: object + request.CheckAccessRequest: + properties: + module_id: + type: integer + user_level_id: + type: integer + required: + - module_id + - user_level_id + type: object request.CitiesCreateRequest: properties: city_name: @@ -1111,6 +1121,50 @@ definitions: - pathUrl - statusId type: object + request.MenuModulesBatchCreateRequest: + properties: + client_id: + type: string + menu_id: + type: integer + module_ids: + items: + type: integer + minItems: 1 + type: array + required: + - menu_id + - module_ids + type: object + request.MenuModulesCreateRequest: + properties: + client_id: + type: string + is_active: + type: boolean + menu_id: + type: integer + module_id: + type: integer + position: + type: integer + required: + - menu_id + - module_id + type: object + request.MenuModulesUpdateRequest: + properties: + client_id: + type: string + is_active: + type: boolean + menu_id: + type: integer + module_id: + type: integer + position: + type: integer + type: object request.MoveClientRequest: properties: targetParentId: @@ -1355,6 +1409,52 @@ definitions: username: type: string type: object + request.UserLevelModuleAccessesBatchCreateRequest: + properties: + can_access: + type: boolean + client_id: + type: string + module_ids: + items: + type: integer + minItems: 1 + type: array + user_level_id: + type: integer + required: + - module_ids + - user_level_id + type: object + request.UserLevelModuleAccessesCreateRequest: + properties: + can_access: + type: boolean + client_id: + type: string + is_active: + type: boolean + module_id: + type: integer + user_level_id: + type: integer + required: + - module_id + - user_level_id + type: object + request.UserLevelModuleAccessesUpdateRequest: + properties: + can_access: + type: boolean + client_id: + type: string + is_active: + type: boolean + module_id: + type: integer + user_level_id: + type: integer + type: object request.UserLevelsApprovalRequest: properties: ids: @@ -10305,6 +10405,306 @@ paths: summary: Update MasterStatuses tags: - Untags + /menu-modules: + get: + description: API for getting all MenuModules + parameters: + - description: Menu ID + in: query + name: menu_id + type: integer + - description: Module ID + in: query + name: module_id + type: integer + - in: query + name: count + type: integer + - in: query + name: limit + type: integer + - in: query + name: nextPage + type: integer + - in: query + name: page + type: integer + - in: query + name: previousPage + type: integer + - in: query + name: sort + type: string + - in: query + name: sortBy + type: string + - in: query + name: totalPage + type: integer + responses: + "200": + description: OK + schema: + $ref: '#/definitions/response.Response' + "400": + description: Bad Request + schema: + $ref: '#/definitions/response.BadRequestError' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/response.UnauthorizedError' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/response.InternalServerError' + security: + - Bearer: [] + summary: Get all MenuModules + tags: + - MenuModules + post: + description: API for create MenuModule + parameters: + - description: Insert the X-Csrf-Token + in: header + name: X-Csrf-Token + type: string + - description: Required payload + in: body + name: payload + required: true + schema: + $ref: '#/definitions/request.MenuModulesCreateRequest' + responses: + "200": + description: OK + schema: + $ref: '#/definitions/response.Response' + "400": + description: Bad Request + schema: + $ref: '#/definitions/response.BadRequestError' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/response.UnauthorizedError' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/response.InternalServerError' + security: + - Bearer: [] + summary: Create MenuModule + tags: + - MenuModules + /menu-modules/{id}: + delete: + description: API for delete MenuModule (soft delete) + parameters: + - description: Insert the X-Csrf-Token + in: header + name: X-Csrf-Token + type: string + - description: MenuModule ID + in: path + name: id + required: true + type: integer + responses: + "200": + description: OK + schema: + $ref: '#/definitions/response.Response' + "400": + description: Bad Request + schema: + $ref: '#/definitions/response.BadRequestError' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/response.UnauthorizedError' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/response.InternalServerError' + security: + - Bearer: [] + summary: Delete MenuModule + tags: + - MenuModules + get: + description: API for getting one MenuModule + parameters: + - description: MenuModule ID + in: path + name: id + required: true + type: integer + responses: + "200": + description: OK + schema: + $ref: '#/definitions/response.Response' + "400": + description: Bad Request + schema: + $ref: '#/definitions/response.BadRequestError' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/response.UnauthorizedError' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/response.InternalServerError' + security: + - Bearer: [] + summary: Get one MenuModule + tags: + - MenuModules + put: + description: API for update MenuModule + parameters: + - description: Insert the X-Csrf-Token + in: header + name: X-Csrf-Token + type: string + - description: Required payload + in: body + name: payload + required: true + schema: + $ref: '#/definitions/request.MenuModulesUpdateRequest' + - description: MenuModule ID + in: path + name: id + required: true + type: integer + responses: + "200": + description: OK + schema: + $ref: '#/definitions/response.Response' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/response.Response' + "404": + description: Not Found + schema: + $ref: '#/definitions/response.Response' + "422": + description: Unprocessable Entity + schema: + $ref: '#/definitions/response.Response' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/response.Response' + security: + - Bearer: [] + summary: Update MenuModule + tags: + - MenuModules + /menu-modules/batch: + post: + description: API for creating multiple MenuModules at once for a menu + parameters: + - description: Insert the X-Csrf-Token + in: header + name: X-Csrf-Token + type: string + - description: Required payload + in: body + name: payload + required: true + schema: + $ref: '#/definitions/request.MenuModulesBatchCreateRequest' + responses: + "200": + description: OK + schema: + $ref: '#/definitions/response.Response' + "400": + description: Bad Request + schema: + $ref: '#/definitions/response.BadRequestError' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/response.UnauthorizedError' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/response.InternalServerError' + security: + - Bearer: [] + summary: Create multiple MenuModules + tags: + - MenuModules + /menu-modules/menu/{menu_id}: + get: + description: API for getting MenuModules by Menu ID + parameters: + - description: Menu ID + in: path + name: menu_id + required: true + type: integer + responses: + "200": + description: OK + schema: + $ref: '#/definitions/response.Response' + "400": + description: Bad Request + schema: + $ref: '#/definitions/response.BadRequestError' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/response.UnauthorizedError' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/response.InternalServerError' + security: + - Bearer: [] + summary: Get MenuModules by Menu ID + tags: + - MenuModules + /menu-modules/module/{module_id}: + get: + description: API for getting MenuModules by Module ID + parameters: + - description: Module ID + in: path + name: module_id + required: true + type: integer + responses: + "200": + description: OK + schema: + $ref: '#/definitions/response.Response' + "400": + description: Bad Request + schema: + $ref: '#/definitions/response.BadRequestError' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/response.UnauthorizedError' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/response.InternalServerError' + security: + - Bearer: [] + summary: Get MenuModules by Module ID + tags: + - MenuModules /provinces: get: description: API for getting all Provinces @@ -10928,6 +11328,343 @@ paths: summary: update Subscription tags: - Subscription + /user-level-module-accesses: + get: + description: API for getting all UserLevelModuleAccesses + parameters: + - description: User Level ID + in: query + name: user_level_id + type: integer + - description: Module ID + in: query + name: module_id + type: integer + - description: Can Access + in: query + name: can_access + type: boolean + - in: query + name: count + type: integer + - in: query + name: limit + type: integer + - in: query + name: nextPage + type: integer + - in: query + name: page + type: integer + - in: query + name: previousPage + type: integer + - in: query + name: sort + type: string + - in: query + name: sortBy + type: string + - in: query + name: totalPage + type: integer + responses: + "200": + description: OK + schema: + $ref: '#/definitions/response.Response' + "400": + description: Bad Request + schema: + $ref: '#/definitions/response.BadRequestError' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/response.UnauthorizedError' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/response.InternalServerError' + security: + - Bearer: [] + summary: Get all UserLevelModuleAccesses + tags: + - UserLevelModuleAccesses + post: + description: API for create UserLevelModuleAccess + parameters: + - description: Insert the X-Csrf-Token + in: header + name: X-Csrf-Token + type: string + - description: Required payload + in: body + name: payload + required: true + schema: + $ref: '#/definitions/request.UserLevelModuleAccessesCreateRequest' + responses: + "200": + description: OK + schema: + $ref: '#/definitions/response.Response' + "400": + description: Bad Request + schema: + $ref: '#/definitions/response.BadRequestError' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/response.UnauthorizedError' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/response.InternalServerError' + security: + - Bearer: [] + summary: Create UserLevelModuleAccess + tags: + - UserLevelModuleAccesses + /user-level-module-accesses/{id}: + delete: + description: API for delete UserLevelModuleAccess (soft delete) + parameters: + - description: Insert the X-Csrf-Token + in: header + name: X-Csrf-Token + type: string + - description: UserLevelModuleAccess ID + in: path + name: id + required: true + type: integer + responses: + "200": + description: OK + schema: + $ref: '#/definitions/response.Response' + "400": + description: Bad Request + schema: + $ref: '#/definitions/response.BadRequestError' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/response.UnauthorizedError' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/response.InternalServerError' + security: + - Bearer: [] + summary: Delete UserLevelModuleAccess + tags: + - UserLevelModuleAccesses + get: + description: API for getting one UserLevelModuleAccess + parameters: + - description: UserLevelModuleAccess ID + in: path + name: id + required: true + type: integer + responses: + "200": + description: OK + schema: + $ref: '#/definitions/response.Response' + "400": + description: Bad Request + schema: + $ref: '#/definitions/response.BadRequestError' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/response.UnauthorizedError' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/response.InternalServerError' + security: + - Bearer: [] + summary: Get one UserLevelModuleAccess + tags: + - UserLevelModuleAccesses + put: + description: API for update UserLevelModuleAccess + parameters: + - description: Insert the X-Csrf-Token + in: header + name: X-Csrf-Token + type: string + - description: Required payload + in: body + name: payload + required: true + schema: + $ref: '#/definitions/request.UserLevelModuleAccessesUpdateRequest' + - description: UserLevelModuleAccess ID + in: path + name: id + required: true + type: integer + responses: + "200": + description: OK + schema: + $ref: '#/definitions/response.Response' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/response.Response' + "404": + description: Not Found + schema: + $ref: '#/definitions/response.Response' + "422": + description: Unprocessable Entity + schema: + $ref: '#/definitions/response.Response' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/response.Response' + security: + - Bearer: [] + summary: Update UserLevelModuleAccess + tags: + - UserLevelModuleAccesses + /user-level-module-accesses/batch: + post: + description: API for creating multiple UserLevelModuleAccesses at once for a + user level + parameters: + - description: Insert the X-Csrf-Token + in: header + name: X-Csrf-Token + type: string + - description: Required payload + in: body + name: payload + required: true + schema: + $ref: '#/definitions/request.UserLevelModuleAccessesBatchCreateRequest' + responses: + "200": + description: OK + schema: + $ref: '#/definitions/response.Response' + "400": + description: Bad Request + schema: + $ref: '#/definitions/response.BadRequestError' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/response.UnauthorizedError' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/response.InternalServerError' + security: + - Bearer: [] + summary: Create multiple UserLevelModuleAccesses + tags: + - UserLevelModuleAccesses + /user-level-module-accesses/check-access: + post: + description: API for checking if user level has access to module + parameters: + - description: Required payload + in: body + name: payload + required: true + schema: + $ref: '#/definitions/request.CheckAccessRequest' + responses: + "200": + description: OK + schema: + $ref: '#/definitions/response.Response' + "400": + description: Bad Request + schema: + $ref: '#/definitions/response.BadRequestError' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/response.UnauthorizedError' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/response.InternalServerError' + security: + - Bearer: [] + summary: Check user level module access + tags: + - UserLevelModuleAccesses + /user-level-module-accesses/module/{module_id}: + get: + description: API for getting UserLevelModuleAccesses by Module ID + parameters: + - description: Module ID + in: path + name: module_id + required: true + type: integer + responses: + "200": + description: OK + schema: + $ref: '#/definitions/response.Response' + "400": + description: Bad Request + schema: + $ref: '#/definitions/response.BadRequestError' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/response.UnauthorizedError' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/response.InternalServerError' + security: + - Bearer: [] + summary: Get UserLevelModuleAccesses by Module ID + tags: + - UserLevelModuleAccesses + /user-level-module-accesses/user-level/{user_level_id}: + get: + description: API for getting UserLevelModuleAccesses by User Level ID + parameters: + - description: User Level ID + in: path + name: user_level_id + required: true + type: integer + responses: + "200": + description: OK + schema: + $ref: '#/definitions/response.Response' + "400": + description: Bad Request + schema: + $ref: '#/definitions/response.BadRequestError' + "401": + description: Unauthorized + schema: + $ref: '#/definitions/response.UnauthorizedError' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/response.InternalServerError' + security: + - Bearer: [] + summary: Get UserLevelModuleAccesses by User Level ID + tags: + - UserLevelModuleAccesses /user-levels: get: description: API for getting all UserLevels