feat: [CODE-2573]: add scope in type for usergroupinfo (#3241)

BT-10437
Akhilesh Pandey 2025-01-10 21:20:55 +00:00 committed by Harness
parent e226397585
commit 21bb774275
6 changed files with 41 additions and 33 deletions

View File

@ -0,0 +1,2 @@
ALTER TABLE usergroups
DROP COLUMN usergroup_scope;

View File

@ -0,0 +1,2 @@
ALTER TABLE usergroups
ADD COLUMN usergroup_scope INTEGER DEFAULT 0;

View File

@ -0,0 +1,2 @@
ALTER TABLE usergroups
DROP COLUMN usergroup_scope;

View File

@ -0,0 +1,2 @@
ALTER TABLE usergroups
ADD COLUMN usergroup_scope INTEGER DEFAULT 0;

View File

@ -47,6 +47,7 @@ type UserGroup struct {
Description string `db:"usergroup_description"`
Created int64 `db:"usergroup_created"`
Updated int64 `db:"usergroup_updated"`
Scope int64 `db:"usergroup_scope"`
}
const (
@ -57,23 +58,12 @@ const (
,usergroup_description
,usergroup_space_id
,usergroup_created
,usergroup_updated`
,usergroup_updated
,usergroup_scope`
userGroupSelectBase = `SELECT ` + userGroupColumns + ` FROM usergroups`
)
func mapUserGroup(ug *UserGroup) *types.UserGroup {
return &types.UserGroup{
ID: ug.ID,
Identifier: ug.Identifier,
Name: ug.Name,
Description: ug.Description,
SpaceID: ug.SpaceID,
Created: ug.Created,
Updated: ug.Updated,
}
}
// FindByIdentifier returns a usergroup by its identifier.
func (s *UserGroupStore) FindByIdentifier(
ctx context.Context,
@ -135,7 +125,7 @@ func (s *UserGroupStore) FindManyByIDs(ctx context.Context, ids []int64) ([]*typ
var result = make([]*types.UserGroup, len(dst))
for i, u := range dst {
result[i] = u.toUserGroupType()
result[i] = mapUserGroup(u)
}
return result, nil
@ -178,17 +168,19 @@ func (s *UserGroupStore) Create(
INSERT INTO usergroups (
usergroup_identifier
,usergroup_name
,usergroup_description
,usergroup_space_id
,usergroup_description
,usergroup_space_id
,usergroup_created
,usergroup_updated
) values (
,usergroup_scope
) values (
:usergroup_identifier
,:usergroup_name
,:usergroup_description
,:usergroup_space_id
,:usergroup_space_id
,:usergroup_created
,:usergroup_updated
,:usergroup_scope
) RETURNING usergroup_id`
db := dbtx.GetAccessor(ctx, s.db)
@ -214,17 +206,19 @@ func (s *UserGroupStore) CreateOrUpdate(
INSERT INTO usergroups (
usergroup_identifier
,usergroup_name
,usergroup_description
,usergroup_space_id
,usergroup_description
,usergroup_space_id
,usergroup_created
,usergroup_updated
) values (
,usergroup_scope
) values (
:usergroup_identifier
,:usergroup_name
,:usergroup_description
,:usergroup_space_id
,:usergroup_space_id
,:usergroup_created
,:usergroup_updated
,:usergroup_scope
) ON CONFLICT (usergroup_space_id, LOWER(usergroup_identifier)) DO UPDATE SET
usergroup_name = EXCLUDED.usergroup_name,
usergroup_description = EXCLUDED.usergroup_description,
@ -245,25 +239,28 @@ func (s *UserGroupStore) CreateOrUpdate(
return nil
}
func mapInternalUserGroup(u *types.UserGroup, spaceID int64) *UserGroup {
return &UserGroup{
ID: u.ID,
SpaceID: spaceID,
Identifier: u.Identifier,
Name: u.Name,
Description: u.Description,
Created: u.Created,
Updated: u.Updated,
func mapUserGroup(ug *UserGroup) *types.UserGroup {
return &types.UserGroup{
ID: ug.ID,
Identifier: ug.Identifier,
Name: ug.Name,
Description: ug.Description,
SpaceID: ug.SpaceID,
Created: ug.Created,
Updated: ug.Updated,
Scope: ug.Scope,
}
}
func (u *UserGroup) toUserGroupType() *types.UserGroup {
return &types.UserGroup{
func mapInternalUserGroup(u *types.UserGroup, spaceID int64) *UserGroup {
return &UserGroup{
ID: u.ID,
Identifier: u.Identifier,
Name: u.Name,
Description: u.Description,
SpaceID: spaceID,
Created: u.Created,
Updated: u.Updated,
Scope: u.Scope,
}
}

View File

@ -24,6 +24,7 @@ type UserGroup struct {
Created int64 `json:"created"`
Updated int64 `json:"updated"`
Users []string // Users are used by the code owners code
Scope int64 `json:"scope"`
}
type UserGroupInfo struct {
@ -31,6 +32,7 @@ type UserGroupInfo struct {
Identifier string `json:"identifier"`
Name string `json:"name"`
Description string `json:"description"`
Scope int64 `json:"scope"`
}
func (u *UserGroup) ToUserGroupInfo() *UserGroupInfo {
@ -39,5 +41,6 @@ func (u *UserGroup) ToUserGroupInfo() *UserGroupInfo {
Identifier: u.Identifier,
Name: u.Name,
Description: u.Description,
Scope: u.Scope,
}
}