UPDATE: Project Module
All checks were successful
Build and Release / release (push) Successful in 1m15s
All checks were successful
Build and Release / release (push) Successful in 1m15s
This commit is contained in:
66
pkg/constants/geometry.go
Normal file
66
pkg/constants/geometry.go
Normal file
@@ -0,0 +1,66 @@
|
||||
package constants
|
||||
|
||||
type GeoType int16
|
||||
|
||||
const (
|
||||
GeoTypeID GeoType = 1
|
||||
GeoTypeName GeoType = 2
|
||||
GeoTypeIcon GeoType = 3
|
||||
GeoTypeVariant GeoType = 4
|
||||
GeoTypeDescription GeoType = 5
|
||||
GeoTypeUnknow GeoType = 0
|
||||
)
|
||||
|
||||
func (t GeoType) String() string {
|
||||
switch t {
|
||||
case GeoTypeID:
|
||||
return "ID"
|
||||
case GeoTypeName:
|
||||
return "NAME"
|
||||
case GeoTypeIcon:
|
||||
return "ICON"
|
||||
case GeoTypeVariant:
|
||||
return "VARIANT"
|
||||
case GeoTypeDescription:
|
||||
return "DESCRIPTION"
|
||||
default:
|
||||
return "UNKNOW"
|
||||
}
|
||||
}
|
||||
|
||||
func ParseGeoTypeText(v string) GeoType {
|
||||
switch v {
|
||||
case "ID":
|
||||
return GeoTypeID
|
||||
case "NAME":
|
||||
return GeoTypeName
|
||||
case "ICON":
|
||||
return GeoTypeIcon
|
||||
case "VARIANT":
|
||||
return GeoTypeVariant
|
||||
case "DESCRIPTION":
|
||||
return GeoTypeDescription
|
||||
default:
|
||||
return GeoTypeUnknow
|
||||
}
|
||||
}
|
||||
func ParseGeoType(v int16) GeoType {
|
||||
switch v {
|
||||
case 1:
|
||||
return GeoTypeID
|
||||
case 2:
|
||||
return GeoTypeName
|
||||
case 3:
|
||||
return GeoTypeIcon
|
||||
case 4:
|
||||
return GeoTypeVariant
|
||||
case 5:
|
||||
return GeoTypeDescription
|
||||
default:
|
||||
return GeoTypeUnknow
|
||||
}
|
||||
}
|
||||
|
||||
func (t GeoType) Int16() int16 {
|
||||
return int16(t)
|
||||
}
|
||||
54
pkg/constants/project.go
Normal file
54
pkg/constants/project.go
Normal file
@@ -0,0 +1,54 @@
|
||||
package constants
|
||||
|
||||
type ProjectStatusType int16
|
||||
|
||||
|
||||
const (
|
||||
ProjectStatusTypePrivate ProjectStatusType = 1
|
||||
ProjectStatusTypePublic ProjectStatusType = 2
|
||||
ProjectStatusTypeArchive ProjectStatusType = 3
|
||||
ProjectStatusTypeUnknow ProjectStatusType = 0
|
||||
)
|
||||
|
||||
func (t ProjectStatusType) String() string {
|
||||
switch t {
|
||||
case ProjectStatusTypePrivate:
|
||||
return "PRIVATE"
|
||||
case ProjectStatusTypePublic:
|
||||
return "PUBLIC"
|
||||
case ProjectStatusTypeArchive:
|
||||
return "ARCHIVE"
|
||||
default:
|
||||
return "UNKNOWN"
|
||||
}
|
||||
}
|
||||
|
||||
func ParseProjectStatusTypeText(v string) ProjectStatusType {
|
||||
switch v {
|
||||
case "PRIVATE":
|
||||
return ProjectStatusTypePrivate
|
||||
case "PUBLIC":
|
||||
return ProjectStatusTypePublic
|
||||
case "ARCHIVE":
|
||||
return ProjectStatusTypeArchive
|
||||
default:
|
||||
return ProjectStatusTypeUnknow
|
||||
}
|
||||
}
|
||||
|
||||
func (t ProjectStatusType) Int16() int16 {
|
||||
return int16(t)
|
||||
}
|
||||
|
||||
func ParseProjectStatusType(v int16) ProjectStatusType {
|
||||
switch v {
|
||||
case 1:
|
||||
return ProjectStatusTypePrivate
|
||||
case 2:
|
||||
return ProjectStatusTypePublic
|
||||
case 3:
|
||||
return ProjectStatusTypeArchive
|
||||
default:
|
||||
return ProjectStatusTypeUnknow
|
||||
}
|
||||
}
|
||||
@@ -3,10 +3,10 @@ package constants
|
||||
type ProviderType string
|
||||
|
||||
const (
|
||||
GoogleProvider ProviderType = "google"
|
||||
GithubProvider ProviderType = "github"
|
||||
FacebookProvider ProviderType = "facebook"
|
||||
LocalProvider ProviderType = "local"
|
||||
ProviderTypeGoogle ProviderType = "google"
|
||||
ProviderTypeGithub ProviderType = "github"
|
||||
ProviderTypeFacebook ProviderType = "facebook"
|
||||
ProviderTypeLocal ProviderType = "local"
|
||||
)
|
||||
|
||||
func (p ProviderType) String() string {
|
||||
|
||||
@@ -1,39 +1,39 @@
|
||||
package constants
|
||||
|
||||
type Role string
|
||||
type RoleType string
|
||||
|
||||
const (
|
||||
ADMIN Role = "ADMIN"
|
||||
MOD Role = "MOD"
|
||||
USER Role = "USER"
|
||||
HISTORIAN Role = "HISTORIAN"
|
||||
BANNED Role = "BANNED"
|
||||
RoleTypeAdmin RoleType = "ADMIN"
|
||||
RoleTypeMod RoleType = "MOD"
|
||||
RoleTypeUser RoleType = "USER"
|
||||
RoleTypeHistorian RoleType = "HISTORIAN"
|
||||
RoleTypeBanned RoleType = "BANNED"
|
||||
)
|
||||
|
||||
func (r Role) String() string {
|
||||
func (r RoleType) String() string {
|
||||
return string(r)
|
||||
}
|
||||
|
||||
func (r Role) Compare(other Role) bool {
|
||||
func (r RoleType) Compare(other RoleType) bool {
|
||||
return r == other
|
||||
}
|
||||
|
||||
func (r Role) IsValid() bool {
|
||||
func (r RoleType) IsValid() bool {
|
||||
return CheckValidRole(r)
|
||||
}
|
||||
|
||||
func CheckValidRole(r Role) bool {
|
||||
return r == ADMIN || r == MOD || r == HISTORIAN || r == USER || r == BANNED
|
||||
func CheckValidRole(r RoleType) bool {
|
||||
return r == RoleTypeAdmin || r == RoleTypeMod || r == RoleTypeHistorian || r == RoleTypeUser || r == RoleTypeBanned
|
||||
}
|
||||
|
||||
|
||||
func ParseRole(s string) (Role, bool) {
|
||||
r := Role(s)
|
||||
func ParseRole(s string) (RoleType, bool) {
|
||||
r := RoleType(s)
|
||||
if CheckValidRole(r) {
|
||||
return r, true
|
||||
}
|
||||
return "", false
|
||||
}
|
||||
func (r Role) ToSlice() []Role {
|
||||
return []Role{r}
|
||||
func (r RoleType) ToSlice() []RoleType {
|
||||
return []RoleType{r}
|
||||
}
|
||||
|
||||
@@ -3,19 +3,19 @@ package constants
|
||||
type StatusType int16
|
||||
|
||||
const (
|
||||
StatusUnknown StatusType = 0
|
||||
StatusPending StatusType = 1
|
||||
StatusApproved StatusType = 2
|
||||
StatusRejected StatusType = 3
|
||||
StatusTypeUnknown StatusType = 0
|
||||
StatusTypePending StatusType = 1
|
||||
StatusTypeApproved StatusType = 2
|
||||
StatusTypeRejected StatusType = 3
|
||||
)
|
||||
|
||||
func (t StatusType) String() string {
|
||||
switch t {
|
||||
case StatusPending:
|
||||
case StatusTypePending:
|
||||
return "PENDING"
|
||||
case StatusApproved:
|
||||
case StatusTypeApproved:
|
||||
return "APPROVED"
|
||||
case StatusRejected:
|
||||
case StatusTypeRejected:
|
||||
return "REJECTED"
|
||||
default:
|
||||
return "UNKNOWN"
|
||||
@@ -29,25 +29,25 @@ func (t StatusType) Int16() int16 {
|
||||
func ParseStatusType(v int16) StatusType {
|
||||
switch v {
|
||||
case 1:
|
||||
return StatusPending
|
||||
return StatusTypePending
|
||||
case 2:
|
||||
return StatusApproved
|
||||
return StatusTypeApproved
|
||||
case 3:
|
||||
return StatusRejected
|
||||
return StatusTypeRejected
|
||||
default:
|
||||
return StatusUnknown
|
||||
return StatusTypeUnknown
|
||||
}
|
||||
}
|
||||
|
||||
func ParseStatusTypeText(v string) StatusType {
|
||||
switch v {
|
||||
case "PENDING":
|
||||
return StatusPending
|
||||
return StatusTypePending
|
||||
case "APPROVED":
|
||||
return StatusApproved
|
||||
return StatusTypeApproved
|
||||
case "REJECTED":
|
||||
return StatusRejected
|
||||
return StatusTypeRejected
|
||||
default:
|
||||
return StatusUnknown
|
||||
return StatusTypeUnknown
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,21 +3,21 @@ package constants
|
||||
type TokenType int16
|
||||
|
||||
const (
|
||||
TokenPasswordReset TokenType = 1
|
||||
TokenEmailVerify TokenType = 2
|
||||
TokenMagicLink TokenType = 3
|
||||
TokenUpload TokenType = 4
|
||||
TokenTypePasswordReset TokenType = 1
|
||||
TokenTypeEmailVerify TokenType = 2
|
||||
TokenTypeMagicLink TokenType = 3
|
||||
TokenTypeUpload TokenType = 4
|
||||
)
|
||||
|
||||
func (t TokenType) String() string {
|
||||
switch t {
|
||||
case TokenPasswordReset:
|
||||
case TokenTypePasswordReset:
|
||||
return "PASSWORD_RESET"
|
||||
case TokenEmailVerify:
|
||||
case TokenTypeEmailVerify:
|
||||
return "EMAIL_VERIFY"
|
||||
case TokenMagicLink:
|
||||
case TokenTypeMagicLink:
|
||||
return "LOGIN_MAGIC_LINK"
|
||||
case TokenUpload:
|
||||
case TokenTypeUpload:
|
||||
return "UPLOAD"
|
||||
default:
|
||||
return "UNKNOWN"
|
||||
@@ -31,13 +31,13 @@ func (t TokenType) Value() int16 {
|
||||
func ParseTokenType(v int16) TokenType {
|
||||
switch v {
|
||||
case 1:
|
||||
return TokenPasswordReset
|
||||
return TokenTypePasswordReset
|
||||
case 2:
|
||||
return TokenEmailVerify
|
||||
return TokenTypeEmailVerify
|
||||
case 3:
|
||||
return TokenMagicLink
|
||||
return TokenTypeMagicLink
|
||||
case 4:
|
||||
return TokenUpload
|
||||
return TokenTypeUpload
|
||||
default:
|
||||
return 0
|
||||
}
|
||||
@@ -46,13 +46,13 @@ func ParseTokenType(v int16) TokenType {
|
||||
func ParseTokenTypeFromString(s string) TokenType {
|
||||
switch s {
|
||||
case "PASSWORD_RESET":
|
||||
return TokenPasswordReset
|
||||
return TokenTypePasswordReset
|
||||
case "EMAIL_VERIFY":
|
||||
return TokenEmailVerify
|
||||
return TokenTypeEmailVerify
|
||||
case "LOGIN_MAGIC_LINK":
|
||||
return TokenMagicLink
|
||||
return TokenTypeMagicLink
|
||||
case "UPLOAD":
|
||||
return TokenUpload
|
||||
return TokenTypeUpload
|
||||
default:
|
||||
return 0
|
||||
}
|
||||
|
||||
@@ -3,22 +3,22 @@ package constants
|
||||
type VerifyType int16
|
||||
|
||||
const (
|
||||
VerifyUnknown VerifyType = 0
|
||||
VerifyIdCard VerifyType = 1
|
||||
VerifyEducation VerifyType = 2
|
||||
VerifyExpert VerifyType = 3
|
||||
VerifyOther VerifyType = 4
|
||||
VerifyTypeUnknown VerifyType = 0
|
||||
VerifyTypeIdCard VerifyType = 1
|
||||
VerifyTypeEducation VerifyType = 2
|
||||
VerifyTypeExpert VerifyType = 3
|
||||
VerifyTypeOther VerifyType = 4
|
||||
)
|
||||
|
||||
func (t VerifyType) String() string {
|
||||
switch t {
|
||||
case VerifyIdCard:
|
||||
case VerifyTypeIdCard:
|
||||
return "ID_CARD"
|
||||
case VerifyEducation:
|
||||
case VerifyTypeEducation:
|
||||
return "EDUCATION"
|
||||
case VerifyExpert:
|
||||
case VerifyTypeExpert:
|
||||
return "EXPERT"
|
||||
case VerifyOther:
|
||||
case VerifyTypeOther:
|
||||
return "OTHER"
|
||||
default:
|
||||
return "UNKNOWN"
|
||||
@@ -32,29 +32,29 @@ func (t VerifyType) Int16() int16 {
|
||||
func ParseVerifyType(v int16) VerifyType {
|
||||
switch v {
|
||||
case 1:
|
||||
return VerifyIdCard
|
||||
return VerifyTypeIdCard
|
||||
case 2:
|
||||
return VerifyEducation
|
||||
return VerifyTypeEducation
|
||||
case 3:
|
||||
return VerifyExpert
|
||||
return VerifyTypeExpert
|
||||
case 4:
|
||||
return VerifyOther
|
||||
return VerifyTypeOther
|
||||
default:
|
||||
return VerifyUnknown
|
||||
return VerifyTypeUnknown
|
||||
}
|
||||
}
|
||||
|
||||
func ParseVerifyTypeText(v string) VerifyType {
|
||||
switch v {
|
||||
case "ID_CARD":
|
||||
return VerifyIdCard
|
||||
return VerifyTypeIdCard
|
||||
case "EDUCATION":
|
||||
return VerifyEducation
|
||||
return VerifyTypeEducation
|
||||
case "EXPERT":
|
||||
return VerifyExpert
|
||||
return VerifyTypeExpert
|
||||
case "OTHER":
|
||||
return VerifyOther
|
||||
return VerifyTypeOther
|
||||
default:
|
||||
return VerifyUnknown
|
||||
return VerifyTypeUnknown
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,6 +13,27 @@ func UUIDToString(v pgtype.UUID) string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func UUIDToStringPtr(v pgtype.UUID) *string {
|
||||
if v.Valid {
|
||||
str := v.String()
|
||||
return &str
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func ListUUIDToString(v []pgtype.UUID) []string {
|
||||
if len(v) == 0 {
|
||||
return []string{}
|
||||
}
|
||||
res := make([]string, 0, len(v))
|
||||
for _, u := range v {
|
||||
if u.Valid {
|
||||
res = append(res, UUIDToString(u))
|
||||
}
|
||||
}
|
||||
return res
|
||||
}
|
||||
|
||||
func StringToUUID(s string) (pgtype.UUID, error) {
|
||||
var pgId pgtype.UUID
|
||||
err := pgId.Scan(s)
|
||||
|
||||
@@ -53,7 +53,7 @@ func SeedSuperAdmin(pool *pgxpool.Pool) error {
|
||||
String: string(hashed),
|
||||
Valid: len(hashed) != 0,
|
||||
},
|
||||
AuthProvider: constants.LocalProvider.String(),
|
||||
AuthProvider: constants.ProviderTypeLocal.String(),
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -70,12 +70,12 @@ func SeedSuperAdmin(pool *pgxpool.Pool) error {
|
||||
return err
|
||||
}
|
||||
|
||||
adminRole, err := q.GetRoleByName(ctx, constants.ADMIN.String())
|
||||
adminRole, err := q.GetRoleByName(ctx, constants.RoleTypeAdmin.String())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
useRole, err := q.GetRoleByName(ctx, constants.USER.String())
|
||||
useRole, err := q.GetRoleByName(ctx, constants.RoleTypeUser.String())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -66,10 +66,10 @@ func SendMailOTP(dto *models.TokenEntity) error {
|
||||
var templatePath string
|
||||
|
||||
switch dto.TokenType {
|
||||
case constants.TokenPasswordReset:
|
||||
case constants.TokenTypePasswordReset:
|
||||
subject = "Your Password Reset Code"
|
||||
templatePath = "resources/password_reset.html"
|
||||
case constants.TokenEmailVerify:
|
||||
case constants.TokenTypeEmailVerify:
|
||||
subject = "Verify your email address"
|
||||
templatePath = "resources/email_verify.html"
|
||||
default:
|
||||
@@ -86,11 +86,11 @@ func SendHistorianReviewMail(dto *models.UserVerificationStorageEntity) error {
|
||||
var templatePath string
|
||||
feUrl := config.GetConfigWithDefault("FRONTEND_URL", "http://localhost:3000")
|
||||
switch dto.Status {
|
||||
case constants.StatusApproved:
|
||||
case constants.StatusTypeApproved:
|
||||
subject = "Your Historian Application is Approved"
|
||||
templatePath = "resources/historian_approved.html"
|
||||
|
||||
case constants.StatusRejected:
|
||||
case constants.StatusTypeRejected:
|
||||
subject = "Your Historian Application is Rejected"
|
||||
templatePath = "resources/historian_rejected.html"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user