front_ponto_eletronico/docs/dinamic_table/create.yml
2025-03-17 15:00:51 -03:00

130 lines
4.1 KiB
YAML

tags:
- Database
summary: Cria uma nova tabela no sistema
description: >
Este endpoint permite criar uma nova tabela no banco de dados, com a definição de colunas e tipos de dados fornecidos pelo usuário.
É necessário especificar o nome da tabela e uma lista de colunas, incluindo suas propriedades.
security:
- bearerAuth: []
parameters:
- in: body
name: body
required: true
description: Dados para criar a nova tabela.
schema:
type: object
required:
- table_name
- columns
properties:
table_name:
type: string
description: Nome da nova tabela a ser criada.
description:
type: string
description: Descrição da tabela (opcional).
columns:
type: array
description: Lista de colunas que a tabela irá conter.
items:
type: object
required:
- column_name
- column_type
properties:
column_name:
type: string
description: Nome da coluna.
column_type:
type: string
description: Tipo de dado da coluna (ex. Integer, String, Date).
is_nullable:
type: boolean
description: Indica se a coluna permite valores nulos.
is_foreign_key:
type: boolean
description: Indica se a coluna é uma chave estrangeira (opcional).
related_table:
type: string
description: Nome da tabela relacionada, se a coluna for uma chave estrangeira (opcional).
responses:
201:
description: Tabela criada com sucesso.
content:
application/json:
schema:
type: object
properties:
message:
type: string
description: Mensagem de sucesso.
table_name:
type: string
description: Nome da tabela criada.
columns:
type: array
description: Lista das colunas criadas na tabela.
items:
type: object
properties:
column_name:
type: string
description: Nome da coluna.
column_type:
type: string
description: Tipo de dado da coluna.
is_nullable:
type: boolean
description: Indica se a coluna permite valores nulos.
is_foreign_key:
type: boolean
description: Indica se a coluna é uma chave estrangeira.
related_table:
type: string
description: Nome da tabela relacionada (se aplicável).
examples:
application/json:
value:
message: "Tabela criada com sucesso"
table_name: "student_frequencies"
columns:
- column_name: "student_id"
column_type: "Integer"
is_nullable: false
is_foreign_key: true
related_table: "students"
- column_name: "date"
column_type: "Date"
is_nullable: false
- column_name: "status"
column_type: "String"
is_nullable: false
400:
description: Dados inválidos ou tabela já existe.
content:
application/json:
schema:
type: object
properties:
error:
type: string
description: Mensagem de erro.
examples:
application/json:
value:
error: "Tabela já existe ou dados inválidos"
422:
description: Dados ausentes ou inválidos.
content:
application/json:
schema:
type: object
properties:
error:
type: string
description: Mensagem de erro.
examples:
application/json:
value:
error: "Dados ausentes ou inválidos"