소스 검색

feat(go): initialize idp client on sync;

Vishal Dalwadi 5 달 전
부모
커밋
42a1e937d4
1개의 변경된 파일9개의 추가작업 그리고 15개의 파일을 삭제
  1. 9 15
      pro/auth/sync.go

+ 9 - 15
pro/auth/sync.go

@@ -11,13 +11,8 @@ import (
 	"os"
 )
 
-var idpClient idp.Client
-
-func InitializeIDP() error {
-	if idpClient != nil {
-		return nil
-	}
-
+func SyncFromIDP() error {
+	var idpClient idp.Client
 	var err error
 
 	switch os.Getenv("AUTH_PROVIDER") {
@@ -26,20 +21,19 @@ func InitializeIDP() error {
 	case "azure-ad":
 		idpClient, err = azure.NewAzureEntraIDClient()
 	}
+	if err != nil {
+		return err
+	}
 
-	return err
-}
-
-func SyncFromIDP() error {
-	err := SyncUsers()
+	err = SyncUsers(idpClient)
 	if err != nil {
 		return err
 	}
 
-	return SyncGroups()
+	return SyncGroups(idpClient)
 }
 
-func SyncUsers() error {
+func SyncUsers(idpClient idp.Client) error {
 	idpUsers, err := idpClient.GetUsers()
 	if err != nil {
 		return err
@@ -107,7 +101,7 @@ func SyncUsers() error {
 	return nil
 }
 
-func SyncGroups() error {
+func SyncGroups(idpClient idp.Client) error {
 	idpGroups, err := idpClient.GetGroups()
 	if err != nil {
 		return err