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"`
|
RoleName string `gorm:"column:role_name" json:"role_name"`
|
||||||
PartnerID *int64 `gorm:"column:partner_id" json:"partner_id"`
|
PartnerID *int64 `gorm:"column:partner_id" json:"partner_id"`
|
||||||
SiteID *int64 `gorm:"column:site_id" json:"site_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"`
|
PartnerName string `gorm:"column:partner_name" json:"partner_name"`
|
||||||
PartnerStatus string `gorm:"column:partner_status" json:"partner_status"`
|
PartnerStatus string `gorm:"column:partner_status" json:"partner_status"`
|
||||||
CreatedAt time.Time `gorm:"column:created_at" json:"created_at"`
|
CreatedAt time.Time `gorm:"column:created_at" json:"created_at"`
|
||||||
@ -52,6 +53,7 @@ func (u *UserDB) ToUser() *User {
|
|||||||
PartnerID: u.PartnerID,
|
PartnerID: u.PartnerID,
|
||||||
PartnerName: u.PartnerName,
|
PartnerName: u.PartnerName,
|
||||||
SiteID: u.SiteID,
|
SiteID: u.SiteID,
|
||||||
|
SiteName: u.SiteName,
|
||||||
}
|
}
|
||||||
|
|
||||||
return userEntity
|
return userEntity
|
||||||
@ -88,6 +90,8 @@ func (u *UserDB) ToUserAuthenticate(signedToken string) *AuthenticateUser {
|
|||||||
PartnerID: u.PartnerID,
|
PartnerID: u.PartnerID,
|
||||||
PartnerName: u.PartnerName,
|
PartnerName: u.PartnerName,
|
||||||
PartnerStatus: u.PartnerStatus,
|
PartnerStatus: u.PartnerStatus,
|
||||||
|
SiteID: u.SiteID,
|
||||||
|
SiteName: u.SiteName,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -9,6 +9,7 @@ type JWTAuthClaims struct {
|
|||||||
Role int `json:"role"`
|
Role int `json:"role"`
|
||||||
PartnerID int64 `json:"partner_id"`
|
PartnerID int64 `json:"partner_id"`
|
||||||
SiteID int64 `json:"site_id"`
|
SiteID int64 `json:"site_id"`
|
||||||
|
SiteName string `json:"site_name"`
|
||||||
jwt.StandardClaims
|
jwt.StandardClaims
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -22,6 +22,7 @@ type User struct {
|
|||||||
RoleName string
|
RoleName string
|
||||||
PartnerID *int64
|
PartnerID *int64
|
||||||
SiteID *int64
|
SiteID *int64
|
||||||
|
SiteName string
|
||||||
PartnerName string
|
PartnerName string
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -33,6 +34,8 @@ type AuthenticateUser struct {
|
|||||||
PartnerID *int64
|
PartnerID *int64
|
||||||
PartnerName string
|
PartnerName string
|
||||||
PartnerStatus string
|
PartnerStatus string
|
||||||
|
SiteID *int64
|
||||||
|
SiteName string
|
||||||
}
|
}
|
||||||
|
|
||||||
type UserRoleDB struct {
|
type UserRoleDB struct {
|
||||||
|
|||||||
@ -52,6 +52,7 @@ func (h *AuthHandler) AuthLogin(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var partner *response.Partner
|
var partner *response.Partner
|
||||||
|
var site *response.SiteName
|
||||||
|
|
||||||
if authUser.RoleID != role.SuperAdmin {
|
if authUser.RoleID != role.SuperAdmin {
|
||||||
partner = &response.Partner{
|
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{
|
resp := response.LoginResponse{
|
||||||
Token: authUser.Token,
|
Token: authUser.Token,
|
||||||
Partner: partner,
|
Partner: partner,
|
||||||
@ -69,6 +77,7 @@ func (h *AuthHandler) AuthLogin(c *gin.Context) {
|
|||||||
ID: int64(authUser.RoleID),
|
ID: int64(authUser.RoleID),
|
||||||
Role: authUser.RoleName,
|
Role: authUser.RoleName,
|
||||||
},
|
},
|
||||||
|
Site: site,
|
||||||
}
|
}
|
||||||
|
|
||||||
c.JSON(http.StatusOK, response.BaseResponse{
|
c.JSON(http.StatusOK, response.BaseResponse{
|
||||||
|
|||||||
@ -1,10 +1,11 @@
|
|||||||
package response
|
package response
|
||||||
|
|
||||||
type LoginResponse struct {
|
type LoginResponse struct {
|
||||||
Token string `json:"token"`
|
Token string `json:"token"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
Role Role `json:"role"`
|
Role Role `json:"role"`
|
||||||
Partner *Partner `json:"partner"`
|
Partner *Partner `json:"partner"`
|
||||||
|
Site *SiteName `json:"site,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type Role struct {
|
type Role struct {
|
||||||
|
|||||||
@ -19,6 +19,11 @@ type Site struct {
|
|||||||
UpdatedAt string `json:"updated_at"`
|
UpdatedAt string `json:"updated_at"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type SiteName struct {
|
||||||
|
ID *int64 `json:"id"`
|
||||||
|
Name string `json:"name"`
|
||||||
|
}
|
||||||
|
|
||||||
type SiteList struct {
|
type SiteList struct {
|
||||||
Sites []Site `json:"sites"`
|
Sites []Site `json:"sites"`
|
||||||
Total int64 `json:"total"`
|
Total int64 `json:"total"`
|
||||||
|
|||||||
@ -26,11 +26,12 @@ func (r *AuthRepository) CheckExistsUserAccount(ctx context.Context, email strin
|
|||||||
|
|
||||||
err := r.db.
|
err := r.db.
|
||||||
Table("users").
|
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).
|
Where("users.email = ?", email).
|
||||||
Joins("left join user_roles on users.id = user_roles.user_id").
|
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 roles on user_roles.role_id = roles.role_id").
|
||||||
Joins("left join partners on user_roles.partner_id = partners.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
|
First(&user).Error
|
||||||
|
|
||||||
if errors.Is(err, gorm.ErrRecordNotFound) {
|
if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||||
|
|||||||
@ -69,6 +69,7 @@ func (c *CryptoImpl) GenerateJWT(user *entity.User) (string, error) {
|
|||||||
Role: int(user.RoleID),
|
Role: int(user.RoleID),
|
||||||
PartnerID: partnerID,
|
PartnerID: partnerID,
|
||||||
SiteID: siteID,
|
SiteID: siteID,
|
||||||
|
SiteName: user.SiteName,
|
||||||
}
|
}
|
||||||
|
|
||||||
token, err := jwt.
|
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