@@ -2,6 +2,7 @@ package auth
22
33import (
44 "context"
5+ "fmt"
56 "net/http"
67 "strings"
78 "time"
@@ -62,34 +63,45 @@ func (s *AuthService) InitOrganization(ctx context.Context) error {
6263 // set DEFAULT_ORGANIZATION
6364 organization .UpdateDefaultOrganization (orgEntity )
6465
65- email := environment_variables .EnvironmentVariables .ORGANIZATION_ADMIN_EMAIL
66- admin , err := s .userService .FindByEmail (ctx , email )
67- if err != nil {
68- return err
66+ emails := environment_variables .EnvironmentVariables .ORGANIZATION_ADMIN_EMAILS
67+ if len (emails ) == 0 {
68+ return fmt .Errorf ("no ORGANIZATION_ADMIN_EMAILS configured" )
6969 }
70- if admin == nil {
71- admin , err = s .RegisterUser (ctx , & user.User {
72- Name : "Admin" ,
73- Email : email ,
74- IsGuest : false ,
75- Enabled : true ,
70+
71+ for _ , rawEmail := range emails {
72+ email := strings .TrimSpace (rawEmail )
73+ if email == "" {
74+ continue
75+ }
76+
77+ admin , err := s .userService .FindByEmail (ctx , email )
78+ if err != nil {
79+ return err
80+ }
81+ if admin == nil {
82+ admin , err = s .RegisterUser (ctx , & user.User {
83+ Name : "Admin" ,
84+ Email : email ,
85+ IsGuest : false ,
86+ Enabled : true ,
87+ })
88+ if err != nil {
89+ return err
90+ }
91+ }
92+
93+ err = s .organizationService .AddMember (ctx , & organization.OrganizationMember {
94+ UserID : admin .ID ,
95+ OrganizationID : orgEntity .ID ,
96+ Role : organization .OrganizationMemberRoleOwner ,
7697 })
7798 if err != nil {
7899 return err
79100 }
80101 }
81- err = s .organizationService .AddMember (ctx , & organization.OrganizationMember {
82- UserID : admin .ID ,
83- OrganizationID : orgEntity .ID ,
84- Role : organization .OrganizationMemberRoleOwner ,
85- })
86- if err != nil {
87- return err
88- }
89102
90103 return nil
91104}
92-
93105func (s * AuthService ) RegisterUser (ctx context.Context , user * user.User ) (* user.User , error ) {
94106 _ , err := s .userService .RegisterUser (ctx , user )
95107 if err != nil {
0 commit comments