Skip to content

Commit d4de743

Browse files
committed
Refactor user role and profile property naming
1 parent b6395db commit d4de743

24 files changed

+95
-76
lines changed

OpenBioCardServer/Controllers/AdminController.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public async Task<IActionResult> CheckPermission()
4949
return Ok(new
5050
{
5151
Success = true,
52-
Type = account.Type.ToString().ToLower()
52+
Type = account.Role.ToString().ToLower()
5353
});
5454
}
5555

@@ -67,11 +67,11 @@ public async Task<ActionResult<UserListResponse>> GetUsers()
6767
}
6868

6969
var users = await _context.Accounts
70-
.Where(a => a.Type != UserType.Root)
70+
.Where(a => a.Role != UserRole.Root)
7171
.Select(a => new UserInfoDto
7272
{
7373
Username = a.UserName,
74-
Type = a.Type.ToString().ToLower()
74+
Type = a.Role.ToString().ToLower()
7575
})
7676
.ToListAsync();
7777

@@ -96,7 +96,7 @@ public async Task<ActionResult<TokenResponse>> CreateUser([FromBody] CreateUserR
9696
return Unauthorized(new { Error = "Invalid token or insufficient permissions" });
9797
}
9898

99-
if (!Enum.TryParse<UserType>(request.Type, true, out var userType) || userType == UserType.Root)
99+
if (!Enum.TryParse<UserRole>(request.Type, true, out var userType) || userType == UserRole.Root)
100100
{
101101
return BadRequest(new { Error = "Invalid user type" });
102102
}
@@ -151,7 +151,7 @@ public async Task<IActionResult> DeleteUser(string username)
151151
return NotFound(new { Error = "User not found" });
152152
}
153153

154-
if (targetAccount.Type == UserType.Root)
154+
if (targetAccount.Role == UserRole.Root)
155155
{
156156
return Forbid("Cannot delete root account");
157157
}

OpenBioCardServer/Controllers/AuthController.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,12 @@ public async Task<ActionResult<TokenResponse>> SignUp([FromBody] SignUpRequest r
4747
return BadRequest(new { Error = "Missing required fields" });
4848
}
4949

50-
if (!Enum.TryParse<UserType>(request.UserType, true, out var userType))
50+
if (!Enum.TryParse<UserRole>(request.UserType, true, out var userType))
5151
{
5252
return BadRequest(new { Error = "Invalid user type" });
5353
}
5454

55-
if (userType == UserType.Root)
55+
if (userType == UserRole.Root)
5656
{
5757
return Forbid("Cannot create root users");
5858
}
@@ -123,7 +123,7 @@ public async Task<IActionResult> DeleteAccount([FromBody] DeleteRequest request)
123123
return Unauthorized(new { Error = "Invalid token or token does not match username" });
124124
}
125125

126-
if (account.Type == UserType.Root)
126+
if (account.Role == UserRole.Root)
127127
{
128128
return Forbid("Cannot delete root account");
129129
}

OpenBioCardServer/Controllers/Classic/ClassicAdminController.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public async Task<IActionResult> CheckPermission([FromBody] ClassicAdminRequest
6262
return Ok(new ClassicCheckPermissionResponse
6363
{
6464
Success = true,
65-
Type = account.Type.ToString().ToLower()
65+
Type = account.Role.ToString().ToLower()
6666
});
6767
}
6868
catch (Exception ex)
@@ -118,11 +118,11 @@ private async Task<IActionResult> GetUsersInternal(string token, string username
118118

119119
// Get all non-root users
120120
var users = await _context.Accounts
121-
.Where(a => a.Type != UserType.Root)
121+
.Where(a => a.Role != UserRole.Root)
122122
.Select(a => new ClassicUserInfo
123123
{
124124
Username = a.UserName,
125-
Type = a.Type.ToString().ToLower()
125+
Type = a.Role.ToString().ToLower()
126126
})
127127
.ToListAsync();
128128

@@ -163,13 +163,13 @@ public async Task<IActionResult> CreateUser([FromBody] ClassicCreateUserRequest
163163
}
164164

165165
// Validate new user type
166-
if (!Enum.TryParse<UserType>(request.Type, true, out var userType))
166+
if (!Enum.TryParse<UserRole>(request.Type, true, out var userType))
167167
{
168168
return BadRequest(new ClassicErrorResponse("Invalid user type"));
169169
}
170170

171171
// Cannot create root users
172-
if (userType == UserType.Root)
172+
if (userType == UserRole.Root)
173173
{
174174
return StatusCode(403, new ClassicErrorResponse("Cannot create root users"));
175175
}
@@ -187,7 +187,7 @@ public async Task<IActionResult> CreateUser([FromBody] ClassicCreateUserRequest
187187
UserName = request.NewUsername,
188188
PasswordHash = hash,
189189
PasswordSalt = salt,
190-
Type = userType
190+
Role = userType
191191
};
192192

193193
_context.Accounts.Add(newAccount);
@@ -197,7 +197,7 @@ public async Task<IActionResult> CreateUser([FromBody] ClassicCreateUserRequest
197197
var profile = new ProfileEntity
198198
{
199199
AccountId = newAccount.Id,
200-
Username = request.NewUsername,
200+
UserName = request.NewUsername,
201201
AvatarType = AssetType.Text,
202202
AvatarText = "👤"
203203
};
@@ -267,7 +267,7 @@ public async Task<IActionResult> DeleteUser(string targetUsername, [FromBody] Cl
267267
}
268268

269269
// Cannot delete root account
270-
if (targetAccount.Type == UserType.Root)
270+
if (targetAccount.Role == UserRole.Root)
271271
{
272272
return StatusCode(403, new ClassicErrorResponse("Cannot delete root account"));
273273
}

OpenBioCardServer/Controllers/Classic/ClassicAuthController.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -58,13 +58,13 @@ public async Task<IActionResult> SignUp([FromBody] ClassicSignUpRequest request)
5858
}
5959

6060
// Validate and parse user type
61-
if (!Enum.TryParse<UserType>(request.Type, true, out var userType))
61+
if (!Enum.TryParse<UserRole>(request.Type, true, out var userType))
6262
{
6363
return BadRequest(new ClassicErrorResponse("Invalid user type"));
6464
}
6565

6666
// Cannot create root users via signup
67-
if (userType == UserType.Root)
67+
if (userType == UserRole.Root)
6868
{
6969
return StatusCode(403, new ClassicErrorResponse("Cannot create root users"));
7070
}
@@ -76,7 +76,7 @@ public async Task<IActionResult> SignUp([FromBody] ClassicSignUpRequest request)
7676
UserName = request.Username,
7777
PasswordHash = hash,
7878
PasswordSalt = salt,
79-
Type = userType
79+
Role = userType
8080
};
8181

8282
_context.Accounts.Add(account);
@@ -86,7 +86,7 @@ public async Task<IActionResult> SignUp([FromBody] ClassicSignUpRequest request)
8686
var profile = new ProfileEntity
8787
{
8888
AccountId = account.Id,
89-
Username = request.Username,
89+
UserName = request.Username,
9090
AvatarType = AssetType.Text,
9191
AvatarText = "👤"
9292
};
@@ -167,14 +167,14 @@ private async Task<IActionResult> HandleSignInAsync(ClassicSignInRequest request
167167
await _context.SaveChangesAsync();
168168

169169
// 记录日志(区分Root和普通用户)
170-
if (account.Type == UserType.Root)
170+
if (account.Role == UserRole.Root)
171171
{
172172
_logger.LogInformation("Root user logged in");
173173
}
174174
else
175175
{
176176
_logger.LogInformation("User logged in: {Username} (Type: {Type})",
177-
request.Username, account.Type);
177+
request.Username, account.Role);
178178
}
179179

180180
return Ok(new ClassicTokenResponse { Token = token });
@@ -207,7 +207,7 @@ public async Task<IActionResult> DeleteAccount([FromBody] ClassicDeleteRequest r
207207
}
208208

209209
// Root account cannot be deleted
210-
if (account.Type == UserType.Root)
210+
if (account.Role == UserRole.Root)
211211
{
212212
return StatusCode(403, new ClassicErrorResponse("Cannot delete root account"));
213213
}

OpenBioCardServer/Data/AppDbContext.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
6464
modelBuilder.Entity<ProfileEntity>(entity =>
6565
{
6666
// Unique index on Username (redundant with Account but useful)
67-
entity.HasIndex(e => e.Username).IsUnique();
67+
entity.HasIndex(e => e.UserName).IsUnique();
6868

6969
// One-to-Many relationships with all child entities
7070
entity.HasMany(e => e.Contacts)

OpenBioCardServer/Models/Asset.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,6 @@ public class Asset
66
{
77
public AssetType Type { get; set; }
88
public string? Text { get; set; } // Text & Emoji & Remote Uri
9+
public string? Tag { get; set; } // MIME Type
910
public byte[]? Data { get; set; } // Embedded Base64
1011
}

OpenBioCardServer/Models/Entities/Account.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ public class Account
2121
[MaxLength(256)]
2222
public string PasswordSalt { get; set; } = string.Empty;
2323

24-
public UserType Type { get; set; } = UserType.User;
24+
public UserRole Role { get; set; } = UserRole.User;
25+
public AccountType Type { get; set; } = AccountType.Personal;
2526

2627
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
2728
public DateTime LastLogin { get; set; } = DateTime.UtcNow;

OpenBioCardServer/Models/Entities/ContactItemEntity.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ public class ContactItemEntity
2020

2121
// Image Asset (optional) - 扁平化存储
2222
public AssetType? ImageType { get; set; }
23-
[MaxLength(512)]
24-
public string? ImageText { get; set; }
23+
[MaxLength(64)] public string? ImageTag { get; set; }
24+
[MaxLength(512)] public string? ImageText { get; set; }
2525
public byte[]? ImageData { get; set; }
2626

2727
// Navigation property

OpenBioCardServer/Models/Entities/GalleryItemEntity.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ public class GalleryItemEntity
1313

1414
// Image Asset (optional but expected)
1515
public AssetType? ImageType { get; set; }
16-
[MaxLength(512)]
17-
public string? ImageText { get; set; }
16+
[MaxLength(64)] public string? ImageTag { get; set; }
17+
[MaxLength(512)] public string? ImageText { get; set; }
1818
public byte[]? ImageData { get; set; }
1919

2020
[MaxLength(500)]

OpenBioCardServer/Models/Entities/ProfileEntity.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,22 +16,22 @@ public class ProfileEntity
1616

1717
[Required]
1818
[MaxLength(64)]
19-
public string Username { get; set; } = string.Empty;
19+
public string UserName { get; set; } = string.Empty;
2020

2121
// Avatar (required Asset) - 扁平化存储
2222
public AssetType AvatarType { get; set; } = AssetType.Text;
23-
[MaxLength(512)]
24-
public string? AvatarText { get; set; }
23+
[MaxLength(512)] public string? AvatarTag { get; set; }
24+
[MaxLength(512)] public string? AvatarText { get; set; }
2525
public byte[]? AvatarData { get; set; }
2626

2727
[MaxLength(128)]
28-
public string? NickName { get; set; }
28+
public string? Nickname { get; set; }
2929

3030
[MaxLength(64)]
3131
public string? Pronouns { get; set; }
3232

3333
[MaxLength(2000)]
34-
public string? Description { get; set; } // Bio
34+
public string? Biography { get; set; } // Bio
3535

3636
[MaxLength(256)]
3737
public string? Location { get; set; }
@@ -41,8 +41,8 @@ public class ProfileEntity
4141

4242
// Background (optional Asset)
4343
public AssetType? BackgroundType { get; set; }
44-
[MaxLength(512)]
45-
public string? BackgroundText { get; set; }
44+
[MaxLength(64)] public string? BackgroundTag { get; set; }
45+
[MaxLength(512)] public string? BackgroundText { get; set; }
4646
public byte[]? BackgroundData { get; set; }
4747

4848
[MaxLength(256)]

0 commit comments

Comments
 (0)