feat(docs): Update API documentation for menu assignment and removal endpoints

This commit is contained in:
Habib Fatkhul Rohman 2025-11-03 11:42:35 +07:00
parent a07b96f5ce
commit e80b89d2ff
3 changed files with 223 additions and 18 deletions

View File

@ -1376,9 +1376,9 @@ const docTemplate = `{
}
}
},
"/roles/{id}/assign-permissions": {
"/roles/{id}/assign-menus": {
"post": {
"description": "Assign permissions to a role by role ID.",
"description": "Assign menus to a role by role ID.",
"consumes": [
"application/json"
],
@ -1388,7 +1388,7 @@ const docTemplate = `{
"tags": [
"Roles"
],
"summary": "Assign permissions to role",
"summary": "Assign menus to role",
"parameters": [
{
"type": "string",
@ -1398,12 +1398,12 @@ const docTemplate = `{
"required": true
},
{
"description": "Assign permissions payload",
"description": "Assign menus payload",
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/dto.AssignPermissionRequest"
"$ref": "#/definitions/dto.AssignMenuRequest"
}
}
],
@ -1425,7 +1425,7 @@ const docTemplate = `{
}
}
},
"/roles/{id}/remove-permissions": {
"/roles/{id}/permissions": {
"post": {
"description": "Remove permissions from a role by role ID.",
"consumes": [
@ -1474,6 +1474,55 @@ const docTemplate = `{
}
}
},
"/roles/{id}/remove-menus": {
"post": {
"description": "Remove menus from a role by role ID.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Roles"
],
"summary": "Remove menus from role",
"parameters": [
{
"type": "string",
"description": "Role ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "Remove menus payload",
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/dto.RemoveMenuRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "Bad Request",
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
}
},
"/users": {
"get": {
"security": [
@ -1968,6 +2017,20 @@ const docTemplate = `{
}
},
"definitions": {
"dto.AssignMenuRequest": {
"type": "object",
"required": [
"menu_ids"
],
"properties": {
"menu_ids": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"dto.AssignMenusToClientRequest": {
"type": "object",
"required": [
@ -2231,6 +2294,20 @@ const docTemplate = `{
}
}
},
"dto.RemoveMenuRequest": {
"type": "object",
"required": [
"menu_ids"
],
"properties": {
"menu_ids": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"dto.RemoveMenusFromClientRequest": {
"type": "object",
"required": [

View File

@ -1370,9 +1370,9 @@
}
}
},
"/roles/{id}/assign-permissions": {
"/roles/{id}/assign-menus": {
"post": {
"description": "Assign permissions to a role by role ID.",
"description": "Assign menus to a role by role ID.",
"consumes": [
"application/json"
],
@ -1382,7 +1382,7 @@
"tags": [
"Roles"
],
"summary": "Assign permissions to role",
"summary": "Assign menus to role",
"parameters": [
{
"type": "string",
@ -1392,12 +1392,12 @@
"required": true
},
{
"description": "Assign permissions payload",
"description": "Assign menus payload",
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/dto.AssignPermissionRequest"
"$ref": "#/definitions/dto.AssignMenuRequest"
}
}
],
@ -1419,7 +1419,7 @@
}
}
},
"/roles/{id}/remove-permissions": {
"/roles/{id}/permissions": {
"post": {
"description": "Remove permissions from a role by role ID.",
"consumes": [
@ -1468,6 +1468,55 @@
}
}
},
"/roles/{id}/remove-menus": {
"post": {
"description": "Remove menus from a role by role ID.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Roles"
],
"summary": "Remove menus from role",
"parameters": [
{
"type": "string",
"description": "Role ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "Remove menus payload",
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/dto.RemoveMenuRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "Bad Request",
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
}
},
"/users": {
"get": {
"security": [
@ -1962,6 +2011,20 @@
}
},
"definitions": {
"dto.AssignMenuRequest": {
"type": "object",
"required": [
"menu_ids"
],
"properties": {
"menu_ids": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"dto.AssignMenusToClientRequest": {
"type": "object",
"required": [
@ -2225,6 +2288,20 @@
}
}
},
"dto.RemoveMenuRequest": {
"type": "object",
"required": [
"menu_ids"
],
"properties": {
"menu_ids": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"dto.RemoveMenusFromClientRequest": {
"type": "object",
"required": [

View File

@ -1,5 +1,14 @@
basePath: /api/v1
definitions:
dto.AssignMenuRequest:
properties:
menu_ids:
items:
type: string
type: array
required:
- menu_ids
type: object
dto.AssignMenusToClientRequest:
properties:
menu_ids:
@ -183,6 +192,15 @@ definitions:
name:
type: string
type: object
dto.RemoveMenuRequest:
properties:
menu_ids:
items:
type: string
type: array
required:
- menu_ids
type: object
dto.RemoveMenusFromClientRequest:
properties:
menu_ids:
@ -1315,23 +1333,23 @@ paths:
summary: Update a role
tags:
- Roles
/roles/{id}/assign-permissions:
/roles/{id}/assign-menus:
post:
consumes:
- application/json
description: Assign permissions to a role by role ID.
description: Assign menus to a role by role ID.
parameters:
- description: Role ID
in: path
name: id
required: true
type: string
- description: Assign permissions payload
- description: Assign menus payload
in: body
name: body
required: true
schema:
$ref: '#/definitions/dto.AssignPermissionRequest'
$ref: '#/definitions/dto.AssignMenuRequest'
produces:
- application/json
responses:
@ -1345,10 +1363,10 @@ paths:
schema:
additionalProperties: true
type: object
summary: Assign permissions to role
summary: Assign menus to role
tags:
- Roles
/roles/{id}/remove-permissions:
/roles/{id}/permissions:
post:
consumes:
- application/json
@ -1381,6 +1399,39 @@ paths:
summary: Remove permissions from role
tags:
- Roles
/roles/{id}/remove-menus:
post:
consumes:
- application/json
description: Remove menus from a role by role ID.
parameters:
- description: Role ID
in: path
name: id
required: true
type: string
- description: Remove menus payload
in: body
name: body
required: true
schema:
$ref: '#/definitions/dto.RemoveMenuRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
additionalProperties: true
type: object
"400":
description: Bad Request
schema:
additionalProperties: true
type: object
summary: Remove menus from role
tags:
- Roles
/users:
delete:
consumes: