- Notifications
You must be signed in to change notification settings - Fork928
feat: use default org for PostUser#12143
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Conversation
Emyrk commentedFeb 14, 2024 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
This stack of pull requests is managed by Graphite.Learn more about stacking. |
01ec5d8
tobdd0956
Compare// If no organization is provided, add the user to the first | ||
// organization. | ||
organizations,err:=api.Database.GetOrganizations(ctx) | ||
// If no organization is provided, add the user to the default | ||
defaultOrg,err:=api.Database.GetDefaultOrganization(ctx) | ||
iferr!=nil { | ||
ifhttpapi.Is404Error(err) { | ||
httpapi.Write(ctx,rw,http.StatusNotFound, | ||
codersdk.Response{ | ||
Message:"Resource not found or you do not have access to this resource", | ||
Detail:"Organization not found", | ||
}, | ||
) | ||
return | ||
} | ||
httpapi.Write(ctx,rw,http.StatusInternalServerError, codersdk.Response{ | ||
Message:"Internal error fetching orgs.", | ||
Detail:err.Error(), | ||
}) | ||
return | ||
} | ||
iflen(organizations)>0 { | ||
// Add the user to the first organization. Once multi-organization | ||
// support is added, we should enable a configuration map of user | ||
// email to organization. | ||
req.OrganizationID=organizations[0].ID | ||
} | ||
req.OrganizationID=defaultOrg.ID |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
This is the change
60775a6
to04c6149
Compare0f27fcc
to5bb0ffc
Compare04c6149
to7059828
Compare7059828
toa25537e
CompareInstead of assuming only 1 org exists, this uses theis_default org to place a user in if not specified.
aeb29f2
to8f61a71
Compare@@ -1016,6 +1016,12 @@ func (q *querier) GetDERPMeshKey(ctx context.Context) (string, error) { | |||
return q.db.GetDERPMeshKey(ctx) | |||
} | |||
func (q *querier) GetDefaultOrganization(ctx context.Context) (database.Organization, error) { | |||
return fetch(q.log, q.auth, func(ctx context.Context, _ any) (database.Organization, error) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
No need for auth here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
That does do auth!fetch
is the helper function that automatically checks the RBAC on the returned object. So if the caller cannot read the default org, this will fail.
Uh oh!
There was an error while loading.Please reload this page.
Closes#11925
What this does
Instead of assuming only 1 org exists, this uses the
is_default
org to place a user in if not specified.