142 lines
4.2 KiB
YAML
142 lines
4.2 KiB
YAML
Cria uma nova função de serviço para um usuário e suas permissões
|
|
---
|
|
tags:
|
|
- User Service Roles
|
|
summary: Cria uma nova função de serviço para um usuário e associa permissões
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- in: body
|
|
name: body
|
|
description: Dados para a criação de uma nova função de serviço para um usuário, incluindo as permissões associadas
|
|
required: true
|
|
schema:
|
|
type: object
|
|
properties:
|
|
user_id:
|
|
type: integer
|
|
description: ID do usuário
|
|
example: 1
|
|
service_instance_id:
|
|
type: integer
|
|
description: ID da instância de serviço
|
|
example: 1
|
|
service_role_id:
|
|
type: integer
|
|
description: ID do papel de serviço
|
|
example: 1
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
description: Data de criação
|
|
example: "2024-12-14T10:00:00Z"
|
|
permissions:
|
|
type: array
|
|
description: Lista de permissões associadas ao papel de serviço
|
|
items:
|
|
type: object
|
|
properties:
|
|
permission_id:
|
|
type: integer
|
|
description: ID da permissão
|
|
example: 1
|
|
permission_type:
|
|
type: string
|
|
description: Tipo de permissão (read, create, update, delete)
|
|
enum:
|
|
- "read"
|
|
- "create"
|
|
- "update"
|
|
- "delete"
|
|
example: "read"
|
|
examples:
|
|
application/json:
|
|
user_id: 1
|
|
service_instance_id: 1
|
|
service_role_id: 1
|
|
created_at: "2024-12-14T10:00:00Z"
|
|
permissions:
|
|
- permission_id: 1
|
|
permission_type: "read"
|
|
- permission_id: 2
|
|
permission_type: "create"
|
|
- permission_id: 3
|
|
permission_type: "update"
|
|
- permission_id: 4
|
|
permission_type: "delete"
|
|
|
|
responses:
|
|
201:
|
|
description: Função de serviço para o usuário criada com sucesso, incluindo permissões
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
description: ID da nova função de serviço
|
|
user_id:
|
|
type: integer
|
|
description: ID do usuário
|
|
service_instance_id:
|
|
type: integer
|
|
description: ID da instância de serviço
|
|
service_role_id:
|
|
type: integer
|
|
description: ID do papel de serviço
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
description: Data de criação
|
|
permissions:
|
|
type: array
|
|
description: Permissões associadas a essa função de serviço
|
|
items:
|
|
type: object
|
|
properties:
|
|
permission_id:
|
|
type: integer
|
|
permission_type:
|
|
type: string
|
|
examples:
|
|
application/json:
|
|
id: 1
|
|
user_id: 1
|
|
service_instance_id: 1
|
|
service_role_id: 1
|
|
created_at: "2024-12-14T10:00:00Z"
|
|
permissions:
|
|
- permission_id: 1
|
|
permission_type: "read"
|
|
- permission_id: 2
|
|
permission_type: "create"
|
|
- permission_id: 3
|
|
permission_type: "update"
|
|
- permission_id: 4
|
|
permission_type: "delete"
|
|
400:
|
|
description: Requisição inválida (dados incorretos ou ausentes)
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
error:
|
|
type: string
|
|
examples:
|
|
application/json:
|
|
error: "Os campos 'user_id', 'service_instance_id' e 'service_role_id' são obrigatórios."
|
|
401:
|
|
description: Token inválido ou ausente
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
error:
|
|
type: string
|
|
examples:
|
|
application/json:
|
|
error: "Token inválido ou ausente"
|