userauth 파일 설정 가능

This commit is contained in:
2024-06-05 10:20:34 +09:00
parent 22b63af7fa
commit b549ad06d5

View File

@ -7,6 +7,8 @@ import (
"sync" "sync"
"sync/atomic" "sync/atomic"
"unsafe" "unsafe"
"repositories.action2quare.com/ayo/gocommon/flagx"
) )
type ApiCaller interface { type ApiCaller interface {
@ -66,7 +68,7 @@ func (a *apiCallerAuths) Update(newAuths map[string]*map[string]bool) error {
a.Lock() a.Lock()
defer a.Unlock() defer a.Unlock()
file, err := os.Create(userAuthsFileName) file, err := os.Create(*userAuthsFileName)
if err != nil { if err != nil {
return err return err
} }
@ -107,22 +109,22 @@ func (a *apiCallerAuths) hasAuthority(email string, authPath string) bool {
return false return false
} }
const userAuthsFileName = "userauths.json" var userAuthsFileName = flagx.String("userauth", "userauths.json", "-userauth=[json file path]")
func NewApiCallerAuths() ApiCallerAuths { func NewApiCallerAuths() ApiCallerAuths {
var out apiCallerAuths var out apiCallerAuths
f, _ := os.Open(userAuthsFileName) f, _ := os.Open(*userAuthsFileName)
if f == nil { if f == nil {
emptyAuths := map[string][]string{ emptyAuths := map[string][]string{
"/admins": {"enter_first_admin_email@action2quare.com"}, "/admins": {"enter_first_admin_email@action2quare.com"},
} }
newf, _ := os.Create(userAuthsFileName) newf, _ := os.Create(*userAuthsFileName)
if newf != nil { if newf != nil {
enc := json.NewEncoder(newf) enc := json.NewEncoder(newf)
enc.Encode(emptyAuths) enc.Encode(emptyAuths)
newf.Close() newf.Close()
f, _ = os.Open(userAuthsFileName) f, _ = os.Open(*userAuthsFileName)
} }
} }