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
2.1 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" swaggertype:"string" example:"user@gmail.com"`
KtmTrainPassword string `json:"ktmTrainPassword" swaggertype:"string" example:"password"`
KtmTrainCreditCardType string `json:"ktmTrainCreditCardType" swaggertype:"string" example:"Visa|Mastercard"`
KtmTrainCreditCard string `json:"ktmTrainCreditCard" swaggertype:"string" example:"1234123412341234"`
KtmTrainCreditCardExpiry string `json:"ktmTrainCreditCardExpiry" swaggertype:"string" example:"01/2022"`
KtmTrainCreditCardCVV string `json:"ktmTrainCreditCardCVV" swaggertype:"string" example:"123"`
}
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
}