add avatar url for user/admin
deploy to danak / build_and_deploy (push) Has been cancelled

This commit is contained in:
2026-07-17 20:19:24 +03:30
parent a55d65e56c
commit 989bbf6254
8 changed files with 44 additions and 3 deletions
@@ -1381,6 +1381,16 @@
"length": 255,
"mappedType": "string"
},
"avatar_url": {
"name": "avatar_url",
"type": "varchar(255)",
"unsigned": false,
"autoincrement": false,
"primary": false,
"nullable": true,
"length": 255,
"mappedType": "string"
},
"role_id": {
"name": "role_id",
"type": "char(26)",
@@ -1672,6 +1682,16 @@
"nullable": true,
"length": 255,
"mappedType": "string"
},
"avatar_url": {
"name": "avatar_url",
"type": "varchar(255)",
"unsigned": false,
"autoincrement": false,
"primary": false,
"nullable": true,
"length": 255,
"mappedType": "string"
}
},
"name": "users",
@@ -18,6 +18,11 @@ export class CreateAdminDto {
@IsString()
lastName?: string;
@ApiProperty({ description: 'Avatar S3 key', required: false })
@IsOptional()
@IsString()
avatarUrl?: string;
@ApiProperty({ description: 'Role id for the admin' })
@IsNotEmpty()
@IsString()
@@ -16,6 +16,9 @@ export class Admin extends BaseEntity {
@Property({ unique: true })
phone: string
@Property({ nullable: true })
avatarUrl?: string;
@ManyToOne(() => Role)
role: Role
}
+6 -2
View File
@@ -21,7 +21,7 @@ export class AdminService {
) { }
async create(dto: CreateAdminDto) {
const { phone, firstName, lastName, roleId } = dto;
const { phone, firstName, lastName, roleId, avatarUrl } = dto;
const currentAdmin = await this.adminRepository.findOne({
@@ -47,6 +47,7 @@ export class AdminService {
phone,
firstName,
lastName,
avatarUrl,
role,
});
await this.em.persistAndFlush(admin);
@@ -81,13 +82,16 @@ export class AdminService {
const { roleId, ...rest } = dto;
// Update scalar fields (firstName, lastName, phone)
// Update scalar fields (firstName, lastName, phone, avatarUrl)
if (rest.firstName !== undefined) {
admin.firstName = rest.firstName;
}
if (rest.lastName !== undefined) {
admin.lastName = rest.lastName;
}
if (rest.avatarUrl !== undefined) {
admin.avatarUrl = rest.avatarUrl;
}
if (rest.phone !== undefined && rest.phone !== admin.phone) {
const exists = await this.adminRepository.findOne({ phone: rest.phone,id: { $ne: adminId } });
+4
View File
@@ -30,6 +30,10 @@ export class CreateUserDto {
@IsBoolean()
gender: boolean;
@ApiProperty({ description: 'Avatar S3 key', required: false, example: 'uploads/avatar.png' })
@IsString()
@IsOptional()
avatarUrl?: string;
}
+3
View File
@@ -42,4 +42,7 @@ export class User extends BaseEntity {
@Property({ type: 'string', nullable: true })
addresse?: string
@Property({ nullable: true })
avatarUrl?: string;
}
+1
View File
@@ -12,4 +12,5 @@ export interface CreateUser {
address?: string;
gender: boolean;
maxCredit: number;
avatarUrl?: string;
}
+2 -1
View File
@@ -100,7 +100,8 @@ export class UserService {
lastName: param.lastName,
gender: param.gender,
maxCredit: param.maxCredit,
addresse:param.address
addresse: param.address,
avatarUrl: param.avatarUrl,
};
const user = this.userRepository.create(createData);