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"