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
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
|
|
}
|