89 lines
1.8 KiB
TypeScript
89 lines
1.8 KiB
TypeScript
/**
|
|
* Interface principal do retorno contendo metadados do banco:
|
|
* tabelas, views e procedures.
|
|
*/
|
|
export interface LogDatabaseSchemaInterface {
|
|
message?: string;
|
|
data: {
|
|
tables: TableMetadata[];
|
|
views: ViewMetadata[];
|
|
primary_keys: PrimaryKeyMetadata[];
|
|
foreign_keys: ForeignKeyMetadata[];
|
|
indexes: IndexMetadata[];
|
|
procedures: ProcedureMetadata[];
|
|
triggers: TriggerMetadata[];
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Estrutura de cada item dentro de "tables".
|
|
*/
|
|
export interface TableMetadata {
|
|
TABLE_NAME: string;
|
|
FIELD_NAME: string;
|
|
NULLABLE: string; // Vem como string ("NULL ")
|
|
FIELD_TYPE: string;
|
|
DEFAULT_VALUE: string | null;
|
|
DESCRIPTION: string | null;
|
|
}
|
|
|
|
/**
|
|
* Estrutura de cada item dentro de "primary_keys".
|
|
*/
|
|
export interface PrimaryKeyMetadata {
|
|
TABLE_NAME: string;
|
|
FIELD_NAME: string;
|
|
CONSTRAINT_NAME: string;
|
|
}
|
|
|
|
|
|
/**
|
|
* Estrutura de cada item dentro de "indexes".
|
|
*/
|
|
export interface IndexMetadata {
|
|
TABLE_NAME: string;
|
|
INDEX_NAME: string;
|
|
FIELD_NAME: string;
|
|
UNIQUENESS: string;
|
|
SORT_ORDER: string;
|
|
DESCRIPTION: string | null;
|
|
}
|
|
|
|
/**
|
|
* Estrutura de cada item dentro de "foreign_keys".
|
|
*/
|
|
export interface ForeignKeyMetadata {
|
|
TABLE_NAME: string;
|
|
CONSTRAINT_NAME: string;
|
|
FIELD_NAME: string;
|
|
REF_CONSTRAINT_NAME: string;
|
|
REFERENCED_TABLE: string;
|
|
}
|
|
|
|
/**
|
|
* Estrutura de cada item dentro de "views".
|
|
*/
|
|
export interface ViewMetadata {
|
|
VIEW_NAME: string;
|
|
VIEW_DEFINITION: string;
|
|
}
|
|
|
|
/**
|
|
* Estrutura de cada item dentro de "views".
|
|
*/
|
|
export interface TriggerMetadata {
|
|
TRIGGER_NAME: string;
|
|
TABLE_NAME: string | null,
|
|
SEQUENCE: number,
|
|
TYPE: number,
|
|
SOURCE_CODE: string;
|
|
STATUS: string
|
|
}
|
|
|
|
/**
|
|
* Estrutura de cada item dentro de "procedures".
|
|
*/
|
|
export interface ProcedureMetadata {
|
|
PROCEDURE_NAME: string;
|
|
SOURCE_CODE: string;
|
|
}
|