1
1
mirror of https://github.com/Fabio286/antares.git synced 2025-06-05 21:59:22 +02:00

refactor: remap of procedures, triggers and schedulers data objects

This commit is contained in:
2020-10-14 19:00:13 +02:00
parent 936de04cd3
commit 27d114beef

View File

@ -61,8 +61,9 @@ export class MySQLClient extends AntaresCore {
} }
} }
return databases.map(db => { // TODO: remap all objects, return databases.map(db => {
const tablesRemapped = tables.filter(table => table.TABLE_SCHEMA === db.Database).map(table => { // TABLES
const remappedTables = tables.filter(table => table.TABLE_SCHEMA === db.Database).map(table => {
let tableType; let tableType;
switch (table.TABLE_TYPE) { switch (table.TABLE_TYPE) {
case 'VIEW': case 'VIEW':
@ -87,13 +88,68 @@ export class MySQLClient extends AntaresCore {
}; };
}); });
// PROCEDURES
const remappedProcedures = procedures.filter(procedure => procedure.Db === db.Database).map(procedure => {
return {
name: procedure.Name,
type: procedure.Type,
definer: procedure.Definer,
created: procedure.Created,
updated: procedure.Modified,
comment: procedure.Comment,
charset: procedure.character_set_client,
security: procedure.Security_type
};
});
// SCHEDULERS
const remappedSchedulers = schedulers.filter(scheduler => scheduler.Db === db.Database).map(scheduler => {
return {
name: scheduler.EVENT_NAME,
definition: scheduler.EVENT_DEFINITION,
type: scheduler.EVENT_TYPE,
definer: scheduler.DEFINER,
body: scheduler.EVENT_BODY,
starts: scheduler.STARTS,
ends: scheduler.ENDS,
status: scheduler.STATUS,
executeAt: scheduler.EXECUTE_AT,
intervalField: scheduler.INTERVAL_FIELD,
intervalValue: scheduler.INTERVAL_VALUE,
onCompletion: scheduler.ON_COMPLETION,
originator: scheduler.ORIGINATOR,
sqlMode: scheduler.SQL_MODE,
created: scheduler.CREATED,
updated: scheduler.LAST_ALTERED,
lastExecuted: scheduler.LAST_EXECUTED,
comment: scheduler.EVENT_COMMENT,
charset: scheduler.CHARACTER_SET_CLIENT,
timezone: scheduler.TIME_ZONE
};
});
// TRIGGERS
const remappedTriggers = triggersArr.filter(trigger => trigger.Db === db.Database).map(trigger => {
return {
name: trigger.Trigger,
statement: trigger.Statement,
timing: trigger.Timing,
definer: trigger.Definer,
event: trigger.Event,
table: trigger.Table,
sqlMode: trigger.sql_mode,
created: trigger.Created,
charset: trigger.character_set_client
};
});
return { return {
name: db.Database, name: db.Database,
tables: tablesRemapped, tables: remappedTables,
functions: functions.filter(func => func.Db === db.Database), functions: functions.filter(func => func.Db === db.Database), // TODO: remap functions
procedures: procedures.filter(procedure => procedure.Db === db.Database), procedures: remappedProcedures,
triggers: triggersArr.filter(trigger => trigger.Db === db.Database), triggers: remappedTriggers,
schedulers: schedulers.filter(scheduler => scheduler.Db === db.Database) schedulers: remappedSchedulers
}; };
}); });
} }