67 lines
1.7 KiB
TypeScript
67 lines
1.7 KiB
TypeScript
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<Return> {
|
|
/**
|
|
* # 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 };
|
|
}
|