New endpoint that is marking user for deletion

This commit is contained in:
shepilov
2025-04-16 18:38:28 +02:00
committed by Anton Shepilov
parent 8789b91a7a
commit 7580b37671
11 changed files with 75 additions and 5 deletions
@@ -75,6 +75,10 @@ export default class User {
@Column("password", "string")
password: string;
//just mark user as deleted not to be able to login
@Column("marked_to_delete", "tdrive_boolean")
marked_to_delete: boolean;
@Column("deleted", "tdrive_boolean")
deleted: boolean;
@@ -201,6 +201,12 @@ export class UserServiceImpl {
}
}
async markToDeleted(pk: UserPrimaryKey) {
const user = await this.get(pk);
user.marked_to_delete = true;
await this.save(user);
}
async search(
pagination: Pagination,
options?: SearchUserOptions,
@@ -15,6 +15,7 @@ export const userObjectSchema = {
last_name: { type: "string" },
created_at: { type: "number" },
deleted: { type: "boolean" },
marked_to_delete: { type: "boolean" },
delete_process_started_epoch: { type: "number" },
status: { type: "string" },
@@ -56,6 +56,7 @@ export interface UserObject {
full_name: string;
created_at: number;
deleted: boolean;
marked_to_delete: boolean;
status: string; //Single string for the status
last_activity: number;
last_seen?: number;
@@ -82,6 +82,7 @@ export class WorkspaceUsersCrudController
full_name: [user.first_name, user.last_name].join(" "),
created_at: user.creation_date,
deleted: Boolean(user.deleted),
marked_to_delete: Boolean(user.marked_to_delete),
status: user.status_icon,
last_activity: user.last_activity,
cache: {