Menyelesaikan object user dan init base

This commit is contained in:
Mr. Rayyan
2026-07-30 22:47:18 +07:00
parent 3efac50f39
commit fdbfb34842
128 changed files with 6785 additions and 3156 deletions
@@ -0,0 +1,52 @@
export class User {
private constructor(
public readonly id: string,
public name: string,
public email: string,
public password: string,
public metadata?: Record<string, any>,
) {}
static create(data: {
name: string;
email: string;
password: string;
metadata?: Record<string, any>;
}): User {
return new User(
crypto.randomUUID(),
data.name,
data.email,
data.password,
data.metadata,
);
}
delete() {
// Business Rule
}
changeEmail(email: string) {
this.email = email;
}
changeName(name: string) {
this.name = name;
}
static restore(data: {
id: string;
name: string;
email: string;
password: string;
metadata?: Record<string, any>;
}): User {
return new User(
data.id,
data.name,
data.email,
data.password,
data.metadata,
);
}
}