Users: Fix org user always getting org id = 1 on auto assign false (#63708)

* fix org user always getting org id = 1 on auto assign false

* make tests explicit

* use correct cfg in service accounts

* fix api tests

* fix database test of ac

* fix InsertOrgUser returning affected rows as orgID
This commit is contained in:
Jo
2023-02-24 18:08:44 +01:00
committed by GitHub
parent 823aaaeb7c
commit c8db771939
8 changed files with 65 additions and 31 deletions
+9 -4
View File
@@ -25,7 +25,9 @@ const MainOrgName = "Main Org."
type store interface {
Get(context.Context, int64) (*org.Org, error)
// Insert adds a new organization. returns organization id
Insert(context.Context, *org.Org) (int64, error)
// InsertOrgUser adds a new membership record for a user in an organization. returns membership id
InsertOrgUser(context.Context, *org.OrgUser) (int64, error)
DeleteUserFromAll(context.Context, int64) error
Update(ctx context.Context, cmd *org.UpdateOrgCommand) error
@@ -76,9 +78,12 @@ func (ss *sqlStore) Insert(ctx context.Context, org *org.Org) (int64, error) {
var orgID int64
var err error
err = ss.db.WithDbSession(ctx, func(sess *db.Session) error {
if orgID, err = sess.InsertOne(org); err != nil {
if _, err = sess.Insert(org); err != nil {
return err
}
orgID = org.ID
if org.ID != 0 {
// it sets the setval in the sequence
if err := ss.dialect.PostInsertId("org", sess.Session); err != nil {
@@ -98,11 +103,11 @@ func (ss *sqlStore) Insert(ctx context.Context, org *org.Org) (int64, error) {
return orgID, nil
}
// InsertOrgUser adds a new membership record for a user in an organization.
func (ss *sqlStore) InsertOrgUser(ctx context.Context, cmd *org.OrgUser) (int64, error) {
var orgID int64
var err error
err = ss.db.WithDbSession(ctx, func(sess *db.Session) error {
if orgID, err = sess.Insert(cmd); err != nil {
if _, err = sess.Insert(cmd); err != nil {
return err
}
return nil
@@ -110,7 +115,7 @@ func (ss *sqlStore) InsertOrgUser(ctx context.Context, cmd *org.OrgUser) (int64,
if err != nil {
return 0, err
}
return orgID, nil
return cmd.ID, nil
}
func (ss *sqlStore) DeleteUserFromAll(ctx context.Context, userID int64) error {