mirror of https://github.com/coder/coder.git
chore: move default everyone group to a migration (#12435)
This commit is contained in:
parent
f3083226ab
commit
e11d3ca0ee
|
@ -78,7 +78,7 @@ func New() database.Store {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
// Always start with a default org. Matching migration 198.
|
// Always start with a default org. Matching migration 198.
|
||||||
_, err := q.InsertOrganization(context.Background(), database.InsertOrganizationParams{
|
defaultOrg, err := q.InsertOrganization(context.Background(), database.InsertOrganizationParams{
|
||||||
ID: uuid.New(),
|
ID: uuid.New(),
|
||||||
Name: "first-organization",
|
Name: "first-organization",
|
||||||
Description: "Builtin default organization.",
|
Description: "Builtin default organization.",
|
||||||
|
@ -88,6 +88,12 @@ func New() database.Store {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(xerrors.Errorf("failed to create default organization: %w", err))
|
panic(xerrors.Errorf("failed to create default organization: %w", err))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_, err = q.InsertAllUsersGroup(context.Background(), defaultOrg.ID)
|
||||||
|
if err != nil {
|
||||||
|
panic(fmt.Errorf("failed to create default group: %w", err))
|
||||||
|
}
|
||||||
|
|
||||||
q.defaultProxyDisplayName = "Default"
|
q.defaultProxyDisplayName = "Default"
|
||||||
q.defaultProxyIconURL = "/emojis/1f3e1.png"
|
q.defaultProxyIconURL = "/emojis/1f3e1.png"
|
||||||
return q
|
return q
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
-- Nothing to do. If the group exists, this is ok.
|
|
@ -0,0 +1,11 @@
|
||||||
|
-- This ensures a default everyone group exists for default org.
|
||||||
|
INSERT INTO
|
||||||
|
groups(name, id, organization_id)
|
||||||
|
SELECT
|
||||||
|
-- This is a special keyword that must be exactly this.
|
||||||
|
'Everyone',
|
||||||
|
-- Org ID and group ID must match.
|
||||||
|
(SELECT id FROM organizations WHERE is_default = true LIMIT 1),
|
||||||
|
(SELECT id FROM organizations WHERE is_default = true LIMIT 1)
|
||||||
|
-- It might already exist
|
||||||
|
ON CONFLICT DO NOTHING;
|
|
@ -181,18 +181,6 @@ func (api *API) postFirstUser(rw http.ResponseWriter, r *http.Request) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
//nolint:gocritic // ensure everyone group
|
|
||||||
_, err = api.Database.InsertAllUsersGroup(dbauthz.AsSystemRestricted(ctx), defaultOrg.ID)
|
|
||||||
// A unique constraint violation just means the group already exists.
|
|
||||||
// This should not happen, but is ok if it does.
|
|
||||||
if err != nil && !database.IsUniqueViolation(err) {
|
|
||||||
httpapi.Write(ctx, rw, http.StatusInternalServerError, codersdk.Response{
|
|
||||||
Message: "Internal error creating all users group.",
|
|
||||||
Detail: err.Error(),
|
|
||||||
})
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
//nolint:gocritic // needed to create first user
|
//nolint:gocritic // needed to create first user
|
||||||
user, organizationID, err := api.CreateUser(dbauthz.AsSystemRestricted(ctx), api.Database, CreateUserRequest{
|
user, organizationID, err := api.CreateUser(dbauthz.AsSystemRestricted(ctx), api.Database, CreateUserRequest{
|
||||||
CreateUserRequest: codersdk.CreateUserRequest{
|
CreateUserRequest: codersdk.CreateUserRequest{
|
||||||
|
|
Loading…
Reference in New Issue