@@ -1,13 +1,13 @@
|
|||||||
import { RoleData } from "./role.entity";
|
import { RoleData } from "./role.entity";
|
||||||
import { PermissionData } from "./permission.entity";
|
import { PermissionData } from "./permission.entity";
|
||||||
|
import crypto from 'crypto';
|
||||||
|
|
||||||
export class UserData {
|
export class UserData {
|
||||||
private constructor(
|
private constructor(
|
||||||
public readonly id: string,
|
public readonly id: string,
|
||||||
public authentikId: string | null,
|
public authentikId: string | null,
|
||||||
public username: string,
|
public username: string,
|
||||||
public email: string,
|
public email: string,
|
||||||
public password: string | null,
|
|
||||||
public roles: RoleData[],
|
public roles: RoleData[],
|
||||||
public permissions: PermissionData[],
|
public permissions: PermissionData[],
|
||||||
public isActive: boolean,
|
public isActive: boolean,
|
||||||
@@ -20,9 +20,8 @@ export class UserData {
|
|||||||
//#region Create
|
//#region Create
|
||||||
|
|
||||||
static create(data: {
|
static create(data: {
|
||||||
username: string;
|
username: string;
|
||||||
email: string;
|
email: string;
|
||||||
password?: string | null;
|
|
||||||
authentikId?: string | null;
|
authentikId?: string | null;
|
||||||
storageQuota?: number;
|
storageQuota?: number;
|
||||||
storageUsed?: number;
|
storageUsed?: number;
|
||||||
@@ -34,8 +33,7 @@ export class UserData {
|
|||||||
data.authentikId || null,
|
data.authentikId || null,
|
||||||
data.username,
|
data.username,
|
||||||
data.email,
|
data.email,
|
||||||
data.password ?? null,
|
[],
|
||||||
[],
|
|
||||||
[],
|
[],
|
||||||
true,
|
true,
|
||||||
null,
|
null,
|
||||||
@@ -118,8 +116,7 @@ export class UserData {
|
|||||||
id: string;
|
id: string;
|
||||||
authentikId?: string | null;
|
authentikId?: string | null;
|
||||||
username: string;
|
username: string;
|
||||||
email: string;
|
email: string;
|
||||||
password: string | null;
|
|
||||||
roles?: RoleData[];
|
roles?: RoleData[];
|
||||||
permissions?: PermissionData[];
|
permissions?: PermissionData[];
|
||||||
isActive?: boolean;
|
isActive?: boolean;
|
||||||
@@ -133,8 +130,7 @@ export class UserData {
|
|||||||
props.id,
|
props.id,
|
||||||
props.authentikId || null,
|
props.authentikId || null,
|
||||||
props.username,
|
props.username,
|
||||||
props.email,
|
props.email,
|
||||||
props.password,
|
|
||||||
props.roles || [],
|
props.roles || [],
|
||||||
props.permissions || [],
|
props.permissions || [],
|
||||||
props.isActive !== undefined ? props.isActive : true,
|
props.isActive !== undefined ? props.isActive : true,
|
||||||
|
|||||||
@@ -41,8 +41,7 @@ export class PrismaUserMapper {
|
|||||||
id: model.id,
|
id: model.id,
|
||||||
authentikId: model.authentikUserId || model.authentikId || null,
|
authentikId: model.authentikUserId || model.authentikId || null,
|
||||||
username: model.username || model.name || model.username,
|
username: model.username || model.name || model.username,
|
||||||
email: model.email,
|
email: model.email,
|
||||||
password: model.password ?? null,
|
|
||||||
roles,
|
roles,
|
||||||
permissions,
|
permissions,
|
||||||
isActive: model.isActive ?? true,
|
isActive: model.isActive ?? true,
|
||||||
@@ -59,8 +58,7 @@ export class PrismaUserMapper {
|
|||||||
authentikUserId: (userData as any).authentikUserId || userData.authentikId,
|
authentikUserId: (userData as any).authentikUserId || userData.authentikId,
|
||||||
authentikId: userData.authentikId,
|
authentikId: userData.authentikId,
|
||||||
username: userData.username,
|
username: userData.username,
|
||||||
email: userData.email,
|
email: userData.email,
|
||||||
password: userData.password ?? null,
|
|
||||||
isActive: userData.isActive,
|
isActive: userData.isActive,
|
||||||
deletedAt: userData.deletedAt,
|
deletedAt: userData.deletedAt,
|
||||||
lastSeenAt: userData.lastSeenAt,
|
lastSeenAt: userData.lastSeenAt,
|
||||||
|
|||||||
@@ -11,10 +11,7 @@ export class CreateUserDto {
|
|||||||
@IsEmail()
|
@IsEmail()
|
||||||
email!: string;
|
email!: string;
|
||||||
|
|
||||||
@ApiProperty({ example: 'strongpassword' })
|
|
||||||
@IsString()
|
|
||||||
@Length(8, 128)
|
|
||||||
password!: string;
|
|
||||||
|
|
||||||
@ApiPropertyOptional({ example: 10737418240 })
|
@ApiPropertyOptional({ example: 10737418240 })
|
||||||
@IsOptional()
|
@IsOptional()
|
||||||
|
|||||||
@@ -14,10 +14,7 @@ export class UpdateUserDto extends PartialType(CreateUserDto) {
|
|||||||
@IsEmail()
|
@IsEmail()
|
||||||
email?: string;
|
email?: string;
|
||||||
|
|
||||||
@ApiPropertyOptional()
|
|
||||||
@IsOptional()
|
|
||||||
@Length(8, 128)
|
|
||||||
password?: string;
|
|
||||||
|
|
||||||
@ApiPropertyOptional()
|
@ApiPropertyOptional()
|
||||||
@IsOptional()
|
@IsOptional()
|
||||||
|
|||||||
Reference in New Issue
Block a user