Access Control: adding group field to roles (#41465)

* add group field to roles in AC models

* change to using group_name as the column name

* add a migration for group column
This commit is contained in:
Ieva 2021-11-12 10:42:47 +00:00 committed by GitHub
parent d5fc48028f
commit dcae138379
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 0 deletions

View File

@ -21,6 +21,7 @@ type Role struct {
UID string `xorm:"uid" json:"uid"` UID string `xorm:"uid" json:"uid"`
Name string `json:"name"` Name string `json:"name"`
DisplayName string `json:"displayName"` DisplayName string `json:"displayName"`
Group string `xorm:"group_name" json:"group"`
Description string `json:"description"` Description string `json:"description"`
Updated time.Time `json:"updated"` Updated time.Time `json:"updated"`
@ -61,6 +62,7 @@ type RoleDTO struct {
Name string `json:"name"` Name string `json:"name"`
DisplayName string `json:"displayName"` DisplayName string `json:"displayName"`
Description string `json:"description"` Description string `json:"description"`
Group string `xorm:"group_name" json:"group"`
Permissions []Permission `json:"permissions,omitempty"` Permissions []Permission `json:"permissions,omitempty"`
ID int64 `json:"-" xorm:"pk autoincr 'id'"` ID int64 `json:"-" xorm:"pk autoincr 'id'"`
@ -77,6 +79,7 @@ func (r RoleDTO) Role() Role {
UID: r.UID, UID: r.UID,
Name: r.Name, Name: r.Name,
DisplayName: r.DisplayName, DisplayName: r.DisplayName,
Group: r.Group,
Description: r.Description, Description: r.Description,
Updated: r.Updated, Updated: r.Updated,
Created: r.Created, Created: r.Created,

View File

@ -49,6 +49,10 @@ func AddMigration(mg *migrator.Migrator) {
mg.AddMigration("add column display_name", migrator.NewAddColumnMigration(roleV1, &migrator.Column{ mg.AddMigration("add column display_name", migrator.NewAddColumnMigration(roleV1, &migrator.Column{
Name: "display_name", Type: migrator.DB_NVarchar, Length: 190, Nullable: true, Name: "display_name", Type: migrator.DB_NVarchar, Length: 190, Nullable: true,
})) }))
mg.AddMigration("add column group_name", migrator.NewAddColumnMigration(roleV1, &migrator.Column{
Name: "group_name", Type: migrator.DB_NVarchar, Length: 190, Nullable: true,
}))
//------- indexes ------------------ //------- indexes ------------------
mg.AddMigration("add index role.org_id", migrator.NewAddIndexMigration(roleV1, roleV1.Indices[0])) mg.AddMigration("add index role.org_id", migrator.NewAddIndexMigration(roleV1, roleV1.Indices[0]))
mg.AddMigration("add unique index role_org_id_name", migrator.NewAddIndexMigration(roleV1, roleV1.Indices[1])) mg.AddMigration("add unique index role_org_id_name", migrator.NewAddIndexMigration(roleV1, roleV1.Indices[1]))