Add Site
This commit is contained in:
parent
04a89c5508
commit
7ea809cc09
@ -26,6 +26,7 @@ type UserDB struct {
|
||||
RoleName string `gorm:"column:role_name" json:"role_name"`
|
||||
PartnerID *int64 `gorm:"column:partner_id" json:"partner_id"`
|
||||
SiteID *int64 `gorm:"column:site_id" json:"site_id"`
|
||||
SiteName string `gorm:"column:name" json:"site_name"`
|
||||
PartnerName string `gorm:"column:partner_name" json:"partner_name"`
|
||||
PartnerStatus string `gorm:"column:partner_status" json:"partner_status"`
|
||||
CreatedAt time.Time `gorm:"column:created_at" json:"created_at"`
|
||||
@ -52,6 +53,7 @@ func (u *UserDB) ToUser() *User {
|
||||
PartnerID: u.PartnerID,
|
||||
PartnerName: u.PartnerName,
|
||||
SiteID: u.SiteID,
|
||||
SiteName: u.SiteName,
|
||||
}
|
||||
|
||||
return userEntity
|
||||
@ -88,6 +90,8 @@ func (u *UserDB) ToUserAuthenticate(signedToken string) *AuthenticateUser {
|
||||
PartnerID: u.PartnerID,
|
||||
PartnerName: u.PartnerName,
|
||||
PartnerStatus: u.PartnerStatus,
|
||||
SiteID: u.SiteID,
|
||||
SiteName: u.SiteName,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -9,6 +9,7 @@ type JWTAuthClaims struct {
|
||||
Role int `json:"role"`
|
||||
PartnerID int64 `json:"partner_id"`
|
||||
SiteID int64 `json:"site_id"`
|
||||
SiteName string `json:"site_name"`
|
||||
jwt.StandardClaims
|
||||
}
|
||||
|
||||
|
||||
@ -22,6 +22,7 @@ type User struct {
|
||||
RoleName string
|
||||
PartnerID *int64
|
||||
SiteID *int64
|
||||
SiteName string
|
||||
PartnerName string
|
||||
}
|
||||
|
||||
@ -33,6 +34,8 @@ type AuthenticateUser struct {
|
||||
PartnerID *int64
|
||||
PartnerName string
|
||||
PartnerStatus string
|
||||
SiteID *int64
|
||||
SiteName string
|
||||
}
|
||||
|
||||
type UserRoleDB struct {
|
||||
|
||||
@ -52,6 +52,7 @@ func (h *AuthHandler) AuthLogin(c *gin.Context) {
|
||||
}
|
||||
|
||||
var partner *response.Partner
|
||||
var site *response.SiteName
|
||||
|
||||
if authUser.RoleID != role.SuperAdmin {
|
||||
partner = &response.Partner{
|
||||
@ -61,6 +62,13 @@ func (h *AuthHandler) AuthLogin(c *gin.Context) {
|
||||
}
|
||||
}
|
||||
|
||||
if authUser.RoleID == role.Casheer {
|
||||
site = &response.SiteName{
|
||||
ID: authUser.SiteID,
|
||||
Name: authUser.SiteName,
|
||||
}
|
||||
}
|
||||
|
||||
resp := response.LoginResponse{
|
||||
Token: authUser.Token,
|
||||
Partner: partner,
|
||||
@ -69,6 +77,7 @@ func (h *AuthHandler) AuthLogin(c *gin.Context) {
|
||||
ID: int64(authUser.RoleID),
|
||||
Role: authUser.RoleName,
|
||||
},
|
||||
Site: site,
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, response.BaseResponse{
|
||||
|
||||
@ -5,6 +5,7 @@ type LoginResponse struct {
|
||||
Name string `json:"name"`
|
||||
Role Role `json:"role"`
|
||||
Partner *Partner `json:"partner"`
|
||||
Site *SiteName `json:"site,omitempty"`
|
||||
}
|
||||
|
||||
type Role struct {
|
||||
|
||||
@ -19,6 +19,11 @@ type Site struct {
|
||||
UpdatedAt string `json:"updated_at"`
|
||||
}
|
||||
|
||||
type SiteName struct {
|
||||
ID *int64 `json:"id"`
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
||||
type SiteList struct {
|
||||
Sites []Site `json:"sites"`
|
||||
Total int64 `json:"total"`
|
||||
|
||||
@ -26,11 +26,12 @@ func (r *AuthRepository) CheckExistsUserAccount(ctx context.Context, email strin
|
||||
|
||||
err := r.db.
|
||||
Table("users").
|
||||
Select("users.*, user_roles.role_id, user_roles.partner_id, user_roles.site_id, roles.role_name, partners.name as partner_name, partners.status as partner_status").
|
||||
Select("users.*, user_roles.role_id, user_roles.partner_id, user_roles.site_id, sites.name, roles.role_name, partners.name as partner_name, partners.status as partner_status").
|
||||
Where("users.email = ?", email).
|
||||
Joins("left join user_roles on users.id = user_roles.user_id").
|
||||
Joins("left join roles on user_roles.role_id = roles.role_id").
|
||||
Joins("left join partners on user_roles.partner_id = partners.id").
|
||||
Joins("left join sites on user_roles.site_id = sites.id").
|
||||
First(&user).Error
|
||||
|
||||
if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
|
||||
@ -69,6 +69,7 @@ func (c *CryptoImpl) GenerateJWT(user *entity.User) (string, error) {
|
||||
Role: int(user.RoleID),
|
||||
PartnerID: partnerID,
|
||||
SiteID: siteID,
|
||||
SiteName: user.SiteName,
|
||||
}
|
||||
|
||||
token, err := jwt.
|
||||
|
||||
30
k8s/staging/ingress-cors.yaml
Normal file
30
k8s/staging/ingress-cors.yaml
Normal file
@ -0,0 +1,30 @@
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: furtuna-backend
|
||||
namespace: altru-staging
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: "nginx"
|
||||
cert-manager.io/cluster-issuer: "letsencrypt-prod"
|
||||
nginx.ingress.kubernetes.io/ingress-class: "nginx"
|
||||
nginx.ingress.kubernetes.io/enable-cors: "true"
|
||||
nginx.ingress.kubernetes.io/cors-allow-origin: "*"
|
||||
nginx.ingress.kubernetes.io/cors-allow-methods: "GET, POST, OPTIONS"
|
||||
nginx.ingress.kubernetes.io/cors-allow-headers: "Content-Type, Authorization, x-access-token"
|
||||
nginx.ingress.kubernetes.io/cors-allow-credentials: "true"
|
||||
spec:
|
||||
rules:
|
||||
- host: "furtuna-backend.app-dev.altru.id"
|
||||
http:
|
||||
paths:
|
||||
- pathType: Prefix
|
||||
path: /
|
||||
backend:
|
||||
service:
|
||||
name: furtuna-backend
|
||||
port:
|
||||
number: 3300
|
||||
tls:
|
||||
- hosts:
|
||||
- "furtuna-backend.app-dev.altru.id"
|
||||
secretName: furtuna-backend-app-dev-biz-id-tls
|
||||
Loading…
x
Reference in New Issue
Block a user