You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

52 lines
1.8 KiB

package user
import (
"time"
"github.com/google/uuid"
"gorm.io/gorm"
)
type Profile struct {
ID uuid.UUID `gorm:"primaryKey;type:uuid;default:uuid_generate_v4()"`
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt gorm.DeletedAt `gorm:"index"`
UserID uuid.UUID `gorm:"index"`
KtmTrainUsername string
KtmTrainPassword string
KtmTrainCreditCardType string // Visa/Mastercard
KtmTrainCreditCard string
KtmTrainCreditCardExpiry string
KtmTrainCreditCardCVV string
}
type ProfileRequest struct {
KtmTrainUsername string `json:"ktmTrainUsername"`
KtmTrainPassword string `json:"ktmTrainPassword"`
KtmTrainCreditCardType string `json:"ktmTrainCreditCardType"`
KtmTrainCreditCard string `json:"ktmTrainCreditCard"`
KtmTrainCreditCardExpiry string `json:"ktmTrainCreditCardExpiry"`
KtmTrainCreditCardCVV string `json:"ktmTrainCreditCardCVV"`
}
type ProfileResponse struct {
KtmTrainUsername string `json:"ktmTrainUsername"`
KtmTrainPassword string `json:"ktmTrainPassword"`
KtmTrainCreditCardType string `json:"ktmTrainCreditCardType"`
KtmTrainCreditCard string `json:"ktmTrainCreditCard"`
KtmTrainCreditCardExpiry string `json:"ktmTrainCreditCardExpiry"`
KtmTrainCreditCardCVV string `json:"ktmTrainCreditCardCVV"`
}
func (env *Env) NewProfileResponse(model *Profile) *ProfileResponse {
res := &ProfileResponse{
KtmTrainUsername: model.KtmTrainUsername,
KtmTrainPassword: model.KtmTrainPassword,
KtmTrainCreditCardType: model.KtmTrainCreditCardType,
KtmTrainCreditCard: model.KtmTrainCreditCard,
KtmTrainCreditCardExpiry: model.KtmTrainCreditCardExpiry,
KtmTrainCreditCardCVV: model.KtmTrainCreditCardCVV,
}
return res
}