Skip to content

Commit

Permalink
Refactor code
Browse files Browse the repository at this point in the history
  • Loading branch information
minhduc140583 committed Apr 14, 2024
1 parent bcfcfd0 commit 14c9f15
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 12 deletions.
8 changes: 6 additions & 2 deletions authorizer/session_authorizer.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,10 @@ type SessionAuthorizer struct {

func NewSessionAuthorizer(secretKey string, verifyToken func(tokenString string, secret string) (map[string]interface{}, int64, int64, error),
refreshExpire func(w http.ResponseWriter, sessionId string) error,
cache ICacheService, sessionExpiredTime time.Duration, logError func(ctx context.Context, msg string, opts ...map[string]interface{}), singleSession bool,
encodeSessionID func(sid string) string,
decodeSessionID func(value string) (string, error),
cache ICacheService, sessionExpiredTime time.Duration, logError func(ctx context.Context, msg string, opts ...map[string]interface{}), singleSession bool, opts ...string) *SessionAuthorizer {
opts ...string) *SessionAuthorizer {
var userId, sid, id, prefixSessionIndex, cookieName string
if len(opts) > 0 {
prefixSessionIndex = opts[0]
Expand Down Expand Up @@ -195,7 +196,10 @@ func (h *SessionAuthorizer) Verify(next http.Handler, skipRefreshTTL bool, sessi
return
}
if h.RefreshExpire != nil {
err := h.RefreshExpire(writer, h.EncodeSessionID(sessionId))
if h.EncodeSessionID != nil {
sessionId = h.EncodeSessionID(sessionId)
}
err := h.RefreshExpire(writer, sessionId)
if err != nil {
http.Error(writer, "error to refresh expire sessionId", http.StatusInternalServerError)
return
Expand Down
4 changes: 3 additions & 1 deletion cassandra/user_repository.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,9 @@ type UserRepository struct {
func NewUserRepositoryByConfig(session *gocql.Session, userTableName, passwordTableName string, activatedStatus string, status a.UserStatusConfig, c a.SchemaConfig, options ...func(context.Context, string) (bool, error)) *UserRepository {
return NewUserRepository(session, userTableName, passwordTableName, activatedStatus, status, c.Id, c.Username, c.UserId, c.SuccessTime, c.FailTime, c.FailCount, c.LockedUntilTime, c.Status, c.PasswordChangedTime, c.Password, c.Contact, c.Email, c.Phone, c.DisplayName, c.MaxPasswordAge, c.UserType, c.AccessDateFrom, c.AccessDateTo, c.AccessTimeFrom, c.AccessTimeTo, c.TwoFactors, options...)
}

func NewUserAdapterByConfig(session *gocql.Session, userTableName, passwordTableName string, activatedStatus string, status a.UserStatusConfig, c a.SchemaConfig, options ...func(context.Context, string) (bool, error)) *UserRepository {
return NewUserRepositoryByConfig(session, userTableName, passwordTableName, activatedStatus, status, c, options...)
}
func NewUserRepository(session *gocql.Session, userTableName, passwordTableName string, activatedStatus string, status a.UserStatusConfig, idName, userName, userID, successTimeName, failTimeName, failCountName, lockedUntilTimeName, statusName, passwordChangedTimeName, passwordName, contactName, emailName, phoneName, displayNameName, maxPasswordAgeName, userTypeName, accessDateFromName, accessDateToName, accessTimeFromName, accessTimeToName, twoFactorsName string, options ...func(context.Context, string) (bool, error)) *UserRepository {
var checkTwoFactors func(context.Context, string) (bool, error)
if len(options) >= 1 {
Expand Down
4 changes: 3 additions & 1 deletion dynamodb/user_repository.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,9 @@ type UserRepository struct {
func NewUserRepositoryByConfig(dynamoDB *dynamodb.DynamoDB, userTableName, passwordTableName string, activatedStatus interface{}, status auth.UserStatusConfig, c auth.SchemaConfig, options ...func(context.Context, string) (bool, error)) *UserRepository {
return NewUserRepository(dynamoDB, userTableName, passwordTableName, activatedStatus, status, c.Username, c.SuccessTime, c.FailTime, c.FailCount, c.LockedUntilTime, c.Status, c.PasswordChangedTime, c.Password, c.Contact, c.Email, c.Phone, c.DisplayName, c.MaxPasswordAge, c.Roles, c.UserType, c.AccessDateFrom, c.AccessDateTo, c.AccessTimeFrom, c.AccessTimeTo, c.TwoFactors, options...)
}

func NewUserAdapterByConfig(dynamoDB *dynamodb.DynamoDB, userTableName, passwordTableName string, activatedStatus interface{}, status auth.UserStatusConfig, c auth.SchemaConfig, options ...func(context.Context, string) (bool, error)) *UserRepository {
return NewUserRepositoryByConfig(dynamoDB, userTableName, passwordTableName, activatedStatus, status, c, options...)
}
func NewUserRepository(dynamoDB *dynamodb.DynamoDB, userTableName, passwordTableName string, activatedStatus interface{}, status auth.UserStatusConfig, userName, successTimeName, failTimeName, failCountName, lockedUntilTimeName, statusName, passwordChangedTimeName, passwordName, contactName, emailName, phoneName, displayNameName, maxPasswordAgeName, rolesName, userTypeName, accessDateFromName, accessDateToName, accessTimeFromName, accessTimeToName, twoFactors string, options ...func(context.Context, string) (bool, error)) *UserRepository {
var checkTwoFactors func(context.Context, string) (bool, error)
if len(options) > 0 && options[0] != nil {
Expand Down
7 changes: 6 additions & 1 deletion mongo/user_repository.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,12 @@ type MongoUserRepository struct {
func NewUserRepositoryByConfig(db *mongo.Database, userCollectionName, passwordCollectionName string, activatedStatus interface{}, status a.UserStatusConfig, c a.SchemaConfig, options ...func(context.Context, string) (bool, error)) *MongoUserRepository {
return NewUserRepository(db, userCollectionName, passwordCollectionName, activatedStatus, status, c.Username, c.SuccessTime, c.FailTime, c.FailCount, c.LockedUntilTime, c.Status, c.PasswordChangedTime, c.Password, c.Contact, c.Email, c.Phone, c.DisplayName, c.MaxPasswordAge, c.Roles, c.UserType, c.AccessDateFrom, c.AccessDateTo, c.AccessTimeFrom, c.AccessTimeTo, c.TwoFactors, options...)
}

func NewUserAdapterByConfig(db *mongo.Database, userCollectionName, passwordCollectionName string, activatedStatus interface{}, status a.UserStatusConfig, c a.SchemaConfig, options ...func(context.Context, string) (bool, error)) *MongoUserRepository {
return NewUserRepositoryByConfig(db, userCollectionName, passwordCollectionName, activatedStatus, status, c, options...)
}
func NewUserAdapter(db *mongo.Database, userCollectionName, passwordCollectionName string, activatedStatus interface{}, status a.UserStatusConfig, userName, successTimeName, failTimeName, failCountName, lockedUntilTimeName, statusName, passwordChangedTimeName, passwordName, contactName, emailName, phoneName, displayNameName, maxPasswordAgeName, rolesName, userTypeName, accessDateFromName, accessDateToName, accessTimeFromName, accessTimeToName, twoFactorsName string, options ...func(context.Context, string) (bool, error)) *MongoUserRepository {
return NewUserRepository(db, userCollectionName, passwordCollectionName, activatedStatus, status, userName, successTimeName, failTimeName, failCountName, lockedUntilTimeName, statusName, passwordChangedTimeName, passwordName, contactName, emailName, phoneName, displayNameName, maxPasswordAgeName, rolesName, userTypeName, accessDateFromName, accessDateToName, accessTimeFromName, accessTimeToName, twoFactorsName, options...)
}
func NewUserRepository(db *mongo.Database, userCollectionName, passwordCollectionName string, activatedStatus interface{}, status a.UserStatusConfig, userName, successTimeName, failTimeName, failCountName, lockedUntilTimeName, statusName, passwordChangedTimeName, passwordName, contactName, emailName, phoneName, displayNameName, maxPasswordAgeName, rolesName, userTypeName, accessDateFromName, accessDateToName, accessTimeFromName, accessTimeToName, twoFactorsName string, options ...func(context.Context, string) (bool, error)) *MongoUserRepository {
passwordCollection := db.Collection(passwordCollectionName)
userCollection := passwordCollection
Expand Down
12 changes: 6 additions & 6 deletions sql/privileges_loader.go → sql/privileges_adapter.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import (
"strings"
)

type PrivilegesLoader struct {
type PrivilegesAdapter struct {
DB *sql.DB
Query string
ParameterCount int
Expand All @@ -19,16 +19,16 @@ type PrivilegesLoader struct {
moduleFields map[string]int
}

func NewPrivilegesLoader(db *sql.DB, query string, options ...int) (*PrivilegesLoader, error) {
func NewPrivilegesAdapter(db *sql.DB, query string, options ...int) (*PrivilegesAdapter, error) {
var parameterCount int
if len(options) >= 1 && options[0] > 0 {
parameterCount = options[0]
} else {
parameterCount = 0
}
return NewSqlPrivilegesLoader(db, query, parameterCount, false, true, true)
return NewSqlPrivilegesAdapter(db, query, parameterCount, false, true, true)
}
func NewSqlPrivilegesLoader(db *sql.DB, query string, parameterCount int, options ...bool) (*PrivilegesLoader, error) {
func NewSqlPrivilegesAdapter(db *sql.DB, query string, parameterCount int, options ...bool) (*PrivilegesAdapter, error) {
var or, handleDriver, noSequence bool
if len(options) >= 1 {
or = options[0]
Expand All @@ -55,9 +55,9 @@ func NewSqlPrivilegesLoader(db *sql.DB, query string, parameterCount int, option
if err != nil {
return nil, err
}
return &PrivilegesLoader{DB: db, Query: query, ParameterCount: parameterCount, Or: or, NoSequence: noSequence, HandleDriver: handleDriver, Driver: driver, moduleFields: moduleFields}, nil
return &PrivilegesAdapter{DB: db, Query: query, ParameterCount: parameterCount, Or: or, NoSequence: noSequence, HandleDriver: handleDriver, Driver: driver, moduleFields: moduleFields}, nil
}
func (l PrivilegesLoader) Load(ctx context.Context, id string) ([]auth.Privilege, error) {
func (l PrivilegesAdapter) Load(ctx context.Context, id string) ([]auth.Privilege, error) {
var models []auth.Module
p0 := make([]auth.Privilege, 0)
params := make([]interface{}, 0)
Expand Down
4 changes: 3 additions & 1 deletion sql/user_repository.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@ type SqlUserRepository struct {
Param func(int) string
Conf DBConfig
}

func NewUserAdapter(db *sql.DB, query string, conf DBConfig, status a.UserStatusConfig, options ...bool) (*SqlUserRepository, error) {
return NewUserRepository(db, query, conf, status, options...)
}
func NewUserRepository(db *sql.DB, query string, conf DBConfig, status a.UserStatusConfig, options ...bool) (*SqlUserRepository, error) {
var handleDriver bool
if len(options) >= 1 {
Expand Down

0 comments on commit 14c9f15

Please sign in to comment.