import { DSQL_DATASQUIREL_MARIADB_USER_DATABASES, DSQL_DATASQUIREL_MARIADB_USER_PRIVILEGES, DSQL_DATASQUIREL_MARIADB_USER_TABLES, DSQL_DATASQUIREL_MARIADB_USERS, DsqlTables, } from "../../../types/dsql"; import { UserType } from "../../../types"; import dsqlCrud from "../../../utils/data-fetching/crud"; import _n from "../../../utils/numberfy"; type Params = { user: UserType; updatedRecord: DSQL_DATASQUIREL_MARIADB_USERS; }; type Return = { msg?: string; success?: boolean; }; export default async function handleMariadbUserGrantsForDatabasesCleanUpRecords({ user, updatedRecord, }: Params): Promise { /** * # Clean up Records */ await dsqlCrud< DSQL_DATASQUIREL_MARIADB_USER_DATABASES, (typeof DsqlTables)[number] >({ action: "delete", table: "mariadb_user_databases", deleteData: { user_id: user.id, mariadb_user_id: updatedRecord.id, }, }); await dsqlCrud< DSQL_DATASQUIREL_MARIADB_USER_PRIVILEGES, (typeof DsqlTables)[number] >({ action: "delete", table: "mariadb_user_privileges", deleteData: { user_id: user.id, mariadb_user_id: updatedRecord.id, }, }); await dsqlCrud< DSQL_DATASQUIREL_MARIADB_USER_TABLES, (typeof DsqlTables)[number] >({ action: "delete", table: "mariadb_user_tables", deleteData: { user_id: user.id, mariadb_user_id: updatedRecord.id, }, }); return { success: true }; }