feat: Users API, ownership transfer and removal of the legacy role string

This commit is contained in:
Florian Sylvain committed 2026-10-27 03:08:15 +01:00
1 parent 094df63a7f
commit 80f7037d3a
124 files changed
+4644 -824

No files matched your search

+7 -12
View File
@@ -73,11 +73,11 @@ func newRolesAPIWorld(t *testing.T) *rolesAPIWorld {
func (w *rolesAPIWorld) seedBuiltIns() {
w.ids["Owner"], w.ids["Admin"], w.ids["Writer"] = ownerRoleID, adminRoleID, writerRoleID
w.addUser(raOwner, user.RoleOwner, ownerRoleID, true)
w.addUser(raAdmin, user.RoleAdmin, adminRoleID, true)
w.addUser(raLegacyAdmin, user.RoleAdmin, 0, true)
w.addUser(raWriter, "", writerRoleID, true)
w.addUser(raUnverified, user.RoleAdmin, adminRoleID, false)
w.addUser(raOwner, ownerRoleID, true)
w.addUser(raAdmin, adminRoleID, true)
w.addUser(raLegacyAdmin, adminRoleID, true)
w.addUser(raWriter, writerRoleID, true)
w.addUser(raUnverified, adminRoleID, false)
}
func (w *rolesAPIWorld) seedRoles() {
@@ -85,7 +85,7 @@ func (w *rolesAPIWorld) seedRoles() {
created, _ := w.roles.Create(role.Role{Name: spec.name, Version: 1, Grants: grantRows(spec.grants...)})
w.ids[spec.name] = created.ID
for _, member := range spec.members {
w.addUser(member, "", created.ID, true)
w.addUser(member, created.ID, true)
}
}
}
@@ -138,12 +138,7 @@ func (w *rolesAPIWorld) path(name string) string {
}
func (w *rolesAPIWorld) caller(userID uint32) useCases.ContentCaller {
account := w.users.users[userID]
roleID := account.RoleID
if roleID == 0 {
roleID = w.ids[map[user.Role]string{user.RoleOwner: "Owner", user.RoleAdmin: "Admin"}[account.Role]]
}
return useCases.ContentCaller{UserID: userID, Grants: w.roles.roles[roleID].GrantSet()}
return useCases.ContentCaller{UserID: userID, Grants: w.roles.roles[w.users.users[userID].RoleID].GrantSet()}
}
func (w *rolesAPIWorld) members(name string) []uint32 {