fix(server): rename config -> env
This commit is contained in:
parent
e07448f670
commit
c15b65b473
|
@ -20,6 +20,7 @@ require (
|
|||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
||||
github.com/modern-go/reflect2 v1.0.1 // indirect
|
||||
github.com/robertkrimen/otto v0.0.0-20211024170158-b87d35c0b86f
|
||||
github.com/stretchr/testify v1.7.0
|
||||
github.com/ugorji/go v1.2.6 // indirect
|
||||
github.com/vektah/gqlparser/v2 v2.2.0
|
||||
go.mongodb.org/mongo-driver v1.8.1
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -17,7 +17,11 @@ type AuthResponse struct {
|
|||
User *User `json:"user"`
|
||||
}
|
||||
|
||||
type Config struct {
|
||||
type DeleteUserInput struct {
|
||||
Email string `json:"email"`
|
||||
}
|
||||
|
||||
type Env struct {
|
||||
AdminSecret *string `json:"ADMIN_SECRET"`
|
||||
DatabaseType *string `json:"DATABASE_TYPE"`
|
||||
DatabaseURL *string `json:"DATABASE_URL"`
|
||||
|
@ -53,10 +57,6 @@ type Config struct {
|
|||
OrganizationLogo *string `json:"ORGANIZATION_LOGO"`
|
||||
}
|
||||
|
||||
type DeleteUserInput struct {
|
||||
Email string `json:"email"`
|
||||
}
|
||||
|
||||
type Error struct {
|
||||
Message string `json:"message"`
|
||||
Reason string `json:"reason"`
|
||||
|
@ -117,8 +117,9 @@ type SignUpInput struct {
|
|||
Roles []string `json:"roles"`
|
||||
}
|
||||
|
||||
type UpdateConfigInput struct {
|
||||
type UpdateEnvInput struct {
|
||||
AdminSecret *string `json:"ADMIN_SECRET"`
|
||||
ConfirmAdminSecret *string `json:"CONFIRM_ADMIN_SECRET"`
|
||||
DatabaseType *string `json:"DATABASE_TYPE"`
|
||||
DatabaseURL *string `json:"DATABASE_URL"`
|
||||
DatabaseName *string `json:"DATABASE_NAME"`
|
||||
|
|
|
@ -62,7 +62,7 @@ type Response {
|
|||
message: String!
|
||||
}
|
||||
|
||||
type Config {
|
||||
type Env {
|
||||
ADMIN_SECRET: String
|
||||
DATABASE_TYPE: String
|
||||
DATABASE_URL: String
|
||||
|
@ -98,8 +98,9 @@ type Config {
|
|||
ORGANIZATION_LOGO: String
|
||||
}
|
||||
|
||||
input UpdateConfigInput {
|
||||
input UpdateEnvInput {
|
||||
ADMIN_SECRET: String
|
||||
CONFIRM_ADMIN_SECRET: String
|
||||
DATABASE_TYPE: String
|
||||
DATABASE_URL: String
|
||||
DATABASE_NAME: String
|
||||
|
@ -236,7 +237,7 @@ type Mutation {
|
|||
_admin_signup(params: AdminSignupInput!): Response!
|
||||
_admin_login(params: AdminLoginInput!): Response!
|
||||
_admin_logout: Response!
|
||||
_update_config(params: UpdateConfigInput!): Response!
|
||||
_update_env(params: UpdateEnvInput!): Response!
|
||||
}
|
||||
|
||||
type Query {
|
||||
|
@ -247,5 +248,5 @@ type Query {
|
|||
_users: [User!]!
|
||||
_verification_requests: [VerificationRequest!]!
|
||||
_admin_session: Response!
|
||||
_config: Config!
|
||||
_env: Env!
|
||||
}
|
||||
|
|
|
@ -67,8 +67,8 @@ func (r *mutationResolver) AdminLogout(ctx context.Context) (*model.Response, er
|
|||
return resolvers.AdminLogoutResolver(ctx)
|
||||
}
|
||||
|
||||
func (r *mutationResolver) UpdateConfig(ctx context.Context, params model.UpdateConfigInput) (*model.Response, error) {
|
||||
return resolvers.UpdateConfigResolver(ctx, params)
|
||||
func (r *mutationResolver) UpdateEnv(ctx context.Context, params model.UpdateEnvInput) (*model.Response, error) {
|
||||
return resolvers.UpdateEnvResolver(ctx, params)
|
||||
}
|
||||
|
||||
func (r *queryResolver) Meta(ctx context.Context) (*model.Meta, error) {
|
||||
|
@ -95,8 +95,8 @@ func (r *queryResolver) AdminSession(ctx context.Context) (*model.Response, erro
|
|||
return resolvers.AdminSessionResolver(ctx)
|
||||
}
|
||||
|
||||
func (r *queryResolver) Config(ctx context.Context) (*model.Config, error) {
|
||||
return resolvers.ConfigResolver(ctx)
|
||||
func (r *queryResolver) Env(ctx context.Context) (*model.Env, error) {
|
||||
return resolvers.EnvResolver(ctx)
|
||||
}
|
||||
|
||||
// Mutation returns generated.MutationResolver implementation.
|
||||
|
|
|
@ -10,13 +10,11 @@ import (
|
|||
"github.com/authorizerdev/authorizer/server/utils"
|
||||
)
|
||||
|
||||
// TODO rename to env_data
|
||||
|
||||
// ConfigResolver is a resolver for config query
|
||||
// EnvResolver is a resolver for config query
|
||||
// This is admin only query
|
||||
func ConfigResolver(ctx context.Context) (*model.Config, error) {
|
||||
func EnvResolver(ctx context.Context) (*model.Env, error) {
|
||||
gc, err := utils.GinContextFromContext(ctx)
|
||||
var res *model.Config
|
||||
var res *model.Env
|
||||
|
||||
if err != nil {
|
||||
return res, err
|
||||
|
@ -62,7 +60,7 @@ func ConfigResolver(ctx context.Context) (*model.Config, error) {
|
|||
organizationName := store[constants.EnvKeyOrganizationName].(string)
|
||||
organizationLogo := store[constants.EnvKeyOrganizationLogo].(string)
|
||||
|
||||
res = &model.Config{
|
||||
res = &model.Env{
|
||||
AdminSecret: &adminSecret,
|
||||
DatabaseType: &databaseType,
|
||||
DatabaseURL: &databaseURL,
|
|
@ -14,11 +14,9 @@ import (
|
|||
"github.com/authorizerdev/authorizer/server/utils"
|
||||
)
|
||||
|
||||
// TODO rename to UpdateEnvDataResolver
|
||||
|
||||
// UpdateConfigResolver is a resolver for update config mutation
|
||||
// UpdateEnvResolver is a resolver for update config mutation
|
||||
// This is admin only mutation
|
||||
func UpdateConfigResolver(ctx context.Context, params model.UpdateConfigInput) (*model.Response, error) {
|
||||
func UpdateEnvResolver(ctx context.Context, params model.UpdateEnvInput) (*model.Response, error) {
|
||||
gc, err := utils.GinContextFromContext(ctx)
|
||||
var res *model.Response
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
package test
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"testing"
|
||||
|
||||
"github.com/authorizerdev/authorizer/server/constants"
|
||||
"github.com/authorizerdev/authorizer/server/envstore"
|
||||
"github.com/authorizerdev/authorizer/server/resolvers"
|
||||
"github.com/authorizerdev/authorizer/server/utils"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func configTests(t *testing.T, s TestSetup) {
|
||||
t.Helper()
|
||||
t.Run(`should get config`, func(t *testing.T) {
|
||||
req, ctx := createContext(s)
|
||||
_, err := resolvers.ConfigResolver(ctx)
|
||||
log.Println("error:", err)
|
||||
assert.NotNil(t, err)
|
||||
|
||||
h, err := utils.EncryptPassword(envstore.EnvInMemoryStoreObj.GetEnvVariable(constants.EnvKeyAdminSecret).(string))
|
||||
assert.Nil(t, err)
|
||||
req.Header.Set("Cookie", fmt.Sprintf("%s=%s", envstore.EnvInMemoryStoreObj.GetEnvVariable(constants.EnvKeyAdminCookieName).(string), h))
|
||||
res, err := resolvers.ConfigResolver(ctx)
|
||||
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, *res.AdminSecret, envstore.EnvInMemoryStoreObj.GetEnvVariable(constants.EnvKeyAdminSecret).(string))
|
||||
})
|
||||
}
|
29
server/test/env_file_test.go
Normal file
29
server/test/env_file_test.go
Normal file
|
@ -0,0 +1,29 @@
|
|||
package test
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/authorizerdev/authorizer/server/constants"
|
||||
"github.com/authorizerdev/authorizer/server/env"
|
||||
"github.com/authorizerdev/authorizer/server/envstore"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestEnvs(t *testing.T) {
|
||||
envstore.EnvInMemoryStoreObj.UpdateEnvVariable(constants.EnvKeyEnvPath, "../../.env.sample")
|
||||
env.InitEnv()
|
||||
store := envstore.EnvInMemoryStoreObj.GetEnvStoreClone()
|
||||
|
||||
assert.Equal(t, store[constants.EnvKeyAdminSecret].(string), "admin")
|
||||
assert.Equal(t, store[constants.EnvKeyEnv].(string), "production")
|
||||
assert.False(t, store[constants.EnvKeyDisableEmailVerification].(bool))
|
||||
assert.False(t, store[constants.EnvKeyDisableMagicLinkLogin].(bool))
|
||||
assert.False(t, store[constants.EnvKeyDisableBasicAuthentication].(bool))
|
||||
assert.Equal(t, store[constants.EnvKeyJwtType].(string), "HS256")
|
||||
assert.Equal(t, store[constants.EnvKeyJwtSecret].(string), "random_string")
|
||||
assert.Equal(t, store[constants.EnvKeyJwtRoleClaim].(string), "role")
|
||||
assert.EqualValues(t, store[constants.EnvKeyRoles].([]string), []string{"user"})
|
||||
assert.EqualValues(t, store[constants.EnvKeyDefaultRoles].([]string), []string{"user"})
|
||||
assert.EqualValues(t, store[constants.EnvKeyProtectedRoles].([]string), []string{"admin"})
|
||||
assert.EqualValues(t, store[constants.EnvKeyAllowedOrigins].([]string), []string{"*"})
|
||||
}
|
|
@ -1,29 +1,31 @@
|
|||
package test
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"testing"
|
||||
|
||||
"github.com/authorizerdev/authorizer/server/constants"
|
||||
"github.com/authorizerdev/authorizer/server/env"
|
||||
"github.com/authorizerdev/authorizer/server/envstore"
|
||||
"github.com/authorizerdev/authorizer/server/resolvers"
|
||||
"github.com/authorizerdev/authorizer/server/utils"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestEnvs(t *testing.T) {
|
||||
envstore.EnvInMemoryStoreObj.UpdateEnvVariable(constants.EnvKeyEnvPath, "../../.env.sample")
|
||||
env.InitEnv()
|
||||
store := envstore.EnvInMemoryStoreObj.GetEnvStoreClone()
|
||||
func configTests(t *testing.T, s TestSetup) {
|
||||
t.Helper()
|
||||
t.Run(`should get config`, func(t *testing.T) {
|
||||
req, ctx := createContext(s)
|
||||
_, err := resolvers.EnvResolver(ctx)
|
||||
log.Println("error:", err)
|
||||
assert.NotNil(t, err)
|
||||
|
||||
assert.Equal(t, store[constants.EnvKeyAdminSecret].(string), "admin")
|
||||
assert.Equal(t, store[constants.EnvKeyEnv].(string), "production")
|
||||
assert.False(t, store[constants.EnvKeyDisableEmailVerification].(bool))
|
||||
assert.False(t, store[constants.EnvKeyDisableMagicLinkLogin].(bool))
|
||||
assert.False(t, store[constants.EnvKeyDisableBasicAuthentication].(bool))
|
||||
assert.Equal(t, store[constants.EnvKeyJwtType].(string), "HS256")
|
||||
assert.Equal(t, store[constants.EnvKeyJwtSecret].(string), "random_string")
|
||||
assert.Equal(t, store[constants.EnvKeyJwtRoleClaim].(string), "role")
|
||||
assert.EqualValues(t, store[constants.EnvKeyRoles].([]string), []string{"user"})
|
||||
assert.EqualValues(t, store[constants.EnvKeyDefaultRoles].([]string), []string{"user"})
|
||||
assert.EqualValues(t, store[constants.EnvKeyProtectedRoles].([]string), []string{"admin"})
|
||||
assert.EqualValues(t, store[constants.EnvKeyAllowedOrigins].([]string), []string{"*"})
|
||||
h, err := utils.EncryptPassword(envstore.EnvInMemoryStoreObj.GetEnvVariable(constants.EnvKeyAdminSecret).(string))
|
||||
assert.Nil(t, err)
|
||||
req.Header.Set("Cookie", fmt.Sprintf("%s=%s", envstore.EnvInMemoryStoreObj.GetEnvVariable(constants.EnvKeyAdminCookieName).(string), h))
|
||||
res, err := resolvers.EnvResolver(ctx)
|
||||
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, *res.AdminSecret, envstore.EnvInMemoryStoreObj.GetEnvVariable(constants.EnvKeyAdminSecret).(string))
|
||||
})
|
||||
}
|
||||
|
|
|
@ -19,8 +19,8 @@ func updateConfigTests(t *testing.T, s TestSetup) {
|
|||
req, ctx := createContext(s)
|
||||
originalAppURL := envstore.EnvInMemoryStoreObj.GetEnvVariable(constants.EnvKeyAppURL).(string)
|
||||
|
||||
data := model.UpdateConfigInput{}
|
||||
_, err := resolvers.UpdateConfigResolver(ctx, data)
|
||||
data := model.UpdateEnvInput{}
|
||||
_, err := resolvers.UpdateEnvResolver(ctx, data)
|
||||
log.Println("error:", err)
|
||||
assert.NotNil(t, err)
|
||||
|
||||
|
@ -28,17 +28,17 @@ func updateConfigTests(t *testing.T, s TestSetup) {
|
|||
assert.Nil(t, err)
|
||||
req.Header.Set("Cookie", fmt.Sprintf("%s=%s", envstore.EnvInMemoryStoreObj.GetEnvVariable(constants.EnvKeyAdminCookieName).(string), h))
|
||||
newURL := "https://test.com"
|
||||
data = model.UpdateConfigInput{
|
||||
data = model.UpdateEnvInput{
|
||||
AppURL: &newURL,
|
||||
}
|
||||
_, err = resolvers.UpdateConfigResolver(ctx, data)
|
||||
_, err = resolvers.UpdateEnvResolver(ctx, data)
|
||||
log.Println("error:", err)
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, envstore.EnvInMemoryStoreObj.GetEnvVariable(constants.EnvKeyAppURL).(string), newURL)
|
||||
data = model.UpdateConfigInput{
|
||||
data = model.UpdateEnvInput{
|
||||
AppURL: &originalAppURL,
|
||||
}
|
||||
_, err = resolvers.UpdateConfigResolver(ctx, data)
|
||||
_, err = resolvers.UpdateEnvResolver(ctx, data)
|
||||
assert.Nil(t, err)
|
||||
})
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user