Skip to content

Commit

Permalink
Merge pull request #65 from illacloud/develop
Browse files Browse the repository at this point in the history
feat & optimize
  • Loading branch information
naj1n authored Dec 2, 2022
2 parents 18a9e1f + 76bcb90 commit f3d4ac7
Show file tree
Hide file tree
Showing 7 changed files with 27 additions and 24 deletions.
23 changes: 13 additions & 10 deletions api/resthandler/user.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ package resthandler
import (
"encoding/json"
"net/http"
"os"
"time"

"github.com/illa-family/builder-backend/pkg/user"
Expand Down Expand Up @@ -52,8 +53,8 @@ type SignUpRequest struct {
Password string `json:"password" validate:"required"`
Language string `json:"language" validate:"oneof=zh-CN en-US"`
IsSubscribed bool `json:"isSubscribed"`
VerificationCode string `json:"verificationCode" validate:"required"`
VerificationToken string `json:"verificationToken" validate:"required"`
VerificationCode string `json:"verificationCode"`
VerificationToken string `json:"verificationToken"`
}

type SignInRequest struct {
Expand Down Expand Up @@ -156,14 +157,16 @@ func (impl UserRestHandlerImpl) SignUp(c *gin.Context) {
}

// validate verification code
validCode, err := impl.userService.ValidateVerificationCode(payload.VerificationCode, payload.VerificationToken,
payload.Email, "signup")
if err != nil || !validCode {
c.JSON(http.StatusBadRequest, gin.H{
"errorCode": 400,
"errorMessage": "validate verification code error: " + err.Error(),
})
return
if os.Getenv("ILLA_DEPLOY_MODE") != "self-host" {
validCode, err := impl.userService.ValidateVerificationCode(payload.VerificationCode, payload.VerificationToken,
payload.Email, "signup")
if err != nil || !validCode {
c.JSON(http.StatusBadRequest, gin.H{
"errorCode": 400,
"errorMessage": "validate verification code error: " + err.Error(),
})
return
}
}

// create user
Expand Down
10 changes: 3 additions & 7 deletions internal/repository/basicuser.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
package repository

import (
"errors"
"time"

"github.com/google/uuid"
Expand Down Expand Up @@ -88,13 +87,10 @@ func (impl *UserRepositoryImpl) RetrieveByID(id int) (*User, error) {
}

func (impl *UserRepositoryImpl) FetchUserByUKey(id int, uid uuid.UUID) (*User, error) {
var users []User
if err := impl.db.Where("id = ? AND uid = ?", id, uid).Find(&users).Error; err != nil {
var user User
if err := impl.db.Where("uid = ? AND id = ?", uid, id).First(&user).Error; err != nil {
return &User{}, err
}

if len(users) != 1 {
return &User{}, errors.New("unable to get the corresponding record")
}
return &users[0], nil
return &user, nil
}
3 changes: 2 additions & 1 deletion pkg/action/factory.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ var (
ELASTICSEARCH_ACTION = "elasticsearch"
S3_ACTION = "s3"
SMTP_ACTION = "smtp"
SUPABASEDB_ACTION = "supabasedb"
)

type AbstractActionFactory interface {
Expand All @@ -56,7 +57,7 @@ func (f *Factory) Build() common.DataConnector {
case MYSQL_ACTION, MARIADB_ACTION, TIDB_ACTION:
sqlAction := &mysql.MySQLConnector{}
return sqlAction
case POSTGRESQL_ACTION:
case POSTGRESQL_ACTION, SUPABASEDB_ACTION:
pgsAction := &postgresql.Connector{}
return pgsAction
case REDIS_ACTION:
Expand Down
5 changes: 3 additions & 2 deletions pkg/action/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import (
"go.uber.org/zap"
)

var type_array = [12]string{"transformer", "restapi", "graphql", "redis", "mysql", "mariadb", "postgresql", "mongodb", "tidb", "elasticsearch", "s3", "smtp"}
var type_array = [13]string{"transformer", "restapi", "graphql", "redis", "mysql", "mariadb", "postgresql", "mongodb", "tidb", "elasticsearch", "s3", "smtp", "supabasedb"}
var type_map = map[string]int{
"transformer": 0,
"restapi": 1,
Expand All @@ -37,6 +37,7 @@ var type_map = map[string]int{
"elasticsearch": 9,
"s3": 10,
"smtp": 11,
"supabasedb": 12,
}

type ActionService interface {
Expand All @@ -55,7 +56,7 @@ type ActionDto struct {
Version int `json:"-"`
Resource int `json:"resourceId,omitempty"`
DisplayName string `json:"displayName" validate:"required"`
Type string `json:"actionType" validate:"oneof=transformer restapi graphql redis mysql mariadb postgresql mongodb tidb elasticsearch s3 smtp"`
Type string `json:"actionType" validate:"oneof=transformer restapi graphql redis mysql mariadb postgresql mongodb tidb elasticsearch s3 smtp supabasedb"`
Template map[string]interface{} `json:"content" validate:"required"`
Transformer map[string]interface{} `json:"transformer" validate:"required"`
TriggerMode string `json:"triggerMode" validate:"oneof=manually automate"`
Expand Down
2 changes: 1 addition & 1 deletion pkg/app/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ type AppServiceImpl struct {
actionRepository repository.ActionRepository
}

var type_array = [12]string{"transformer", "restapi", "graphql", "redis", "mysql", "mariadb", "postgresql", "mongodb", "tidb", "elasticsearch", "s3", "smtp"}
var type_array = [13]string{"transformer", "restapi", "graphql", "redis", "mysql", "mariadb", "postgresql", "mongodb", "tidb", "elasticsearch", "s3", "smtp", "supabasedb"}

type AppDto struct {
ID int `json:"appId"` // generated by database primary key serial
Expand Down
3 changes: 2 additions & 1 deletion pkg/resource/factory.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ var (
ELASTICSEARCH_RESOURCE = "elasticsearch"
S3_RESOURCE = "s3"
SMTP_RESOURCE = "smtp"
SUPABASEDB_RESOURCE = "supabasedb"
)

type AbstractResourceFactory interface {
Expand All @@ -55,7 +56,7 @@ func (f *Factory) Generate() common.DataConnector {
case MYSQL_RESOURCE, MARIADB_RESOURCE, TIDB_RESOURCE:
sqlRsc := &mysql.MySQLConnector{}
return sqlRsc
case POSTGRES_RESOURCE:
case POSTGRES_RESOURCE, SUPABASEDB_RESOURCE:
pgsRsc := &postgresql.Connector{}
return pgsRsc
case REDIS_RESOURCE:
Expand Down
5 changes: 3 additions & 2 deletions pkg/resource/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import (
"go.uber.org/zap"
)

var type_array = [11]string{"restapi", "graphql", "redis", "mysql", "mariadb", "postgresql", "mongodb", "tidb", "elasticsearch", "s3", "smtp"}
var type_array = [12]string{"restapi", "graphql", "redis", "mysql", "mariadb", "postgresql", "mongodb", "tidb", "elasticsearch", "s3", "smtp", "supabasedb"}
var type_map = map[string]int{
"restapi": 1,
"graphql": 2,
Expand All @@ -36,6 +36,7 @@ var type_map = map[string]int{
"elasticsearch": 9,
"s3": 10,
"smtp": 11,
"supabasedb": 12,
}

type ResourceService interface {
Expand All @@ -52,7 +53,7 @@ type ResourceService interface {
type ResourceDto struct {
ID int `json:"resourceId"`
Name string `json:"resourceName" validate:"required"`
Type string `json:"resourceType" validate:"oneof=restapi graphql redis mysql mariadb postgresql mongodb tidb elasticsearch s3 smtp"`
Type string `json:"resourceType" validate:"oneof=restapi graphql redis mysql mariadb postgresql mongodb tidb elasticsearch s3 smtp supabasedb"`
Options map[string]interface{} `json:"content" validate:"required"`
CreatedAt time.Time `json:"createdAt,omitempty"`
CreatedBy int `json:"createdBy,omitempty"`
Expand Down

0 comments on commit f3d4ac7

Please sign in to comment.