Add License Integration

This commit is contained in:
aditya.siregar
2024-08-02 00:51:54 +07:00
parent 5e26402c10
commit c1ae2fd14a
9 changed files with 92 additions and 29 deletions
+12 -11
View File
@@ -83,18 +83,19 @@ func (UserDB) TableName() string {
return "users"
}
func (u *UserDB) ToUserAuthenticate(signedToken string) *AuthenticateUser {
func (u *UserDB) ToUserAuthenticate(signedToken string, license PartnerLicense) *AuthenticateUser {
return &AuthenticateUser{
Token: signedToken,
Name: u.Name,
RoleID: role.Role(u.RoleID),
RoleName: u.RoleName,
PartnerID: u.PartnerID,
PartnerName: u.PartnerName,
PartnerStatus: u.PartnerStatus,
SiteID: u.SiteID,
SiteName: u.SiteName,
ResetPassword: u.ResetPassword,
Token: signedToken,
Name: u.Name,
RoleID: role.Role(u.RoleID),
RoleName: u.RoleName,
PartnerID: u.PartnerID,
PartnerName: u.PartnerName,
PartnerStatus: u.PartnerStatus,
SiteID: u.SiteID,
SiteName: u.SiteName,
ResetPassword: u.ResetPassword,
PartnerLicense: license,
}
}
+26
View File
@@ -93,3 +93,29 @@ func (o *LicenseDB) ToUpdatedLicense(updatedBy int64, req License) {
o.SerialNumber = req.SerialNumber
}
}
type PartnerLicense struct {
PartnerID int64 `json:"partner_id"`
LicenseStatus string `json:"license_status"`
DaysToExpire int64 `json:"days_to_expire"`
}
func (l *LicenseDB) ToPartnerLicense() PartnerLicense {
now := time.Now()
daysToExpire := int64(l.EndDate.Sub(now).Hours() / 24)
var licenseStatus string
if daysToExpire < 0 {
licenseStatus = "EXPIRED"
} else if daysToExpire <= 30 {
licenseStatus = "EXPIRING_SOON"
} else {
licenseStatus = "ACTIVE"
}
return PartnerLicense{
PartnerID: l.PartnerID,
DaysToExpire: daysToExpire,
LicenseStatus: licenseStatus,
}
}
+11 -10
View File
@@ -29,16 +29,17 @@ type User struct {
}
type AuthenticateUser struct {
Token string
Name string
RoleID role.Role
RoleName string
PartnerID *int64
PartnerName string
PartnerStatus string
SiteID *int64
SiteName string
ResetPassword bool
Token string
Name string
RoleID role.Role
RoleName string
PartnerID *int64
PartnerName string
PartnerStatus string
SiteID *int64
SiteName string
ResetPassword bool
PartnerLicense PartnerLicense
}
type UserRoleDB struct {