package syncer

import "time"

const (
	SYNC_ACTION_INSERT = "Insert"
	SYNC_ACTION_UPDATE = "Update"
	SYNC_ACTION_DELETE = "Delete"

	// ClientPriceUpdate
	TYPE_CLIENT_PRICE_UPDATE = "ClientPriceUpdate"
)

type Model struct {
	ID        uint64    `json:"id" gorm:"primary_key"`
	Type      string    `json:"type" gorm:"not null"`
	CreatedAt time.Time `json:"create_at"`
	UpdatedAt time.Time `json:"update_at"`
}

type SyncLog struct {
	Model
	DataType string `json:"data_type"`                     // data type
	Data     string `json:"data" sql:"type:varchar(5000)"` // data in json string
	Action   string `json:"action"`                        // [Insert,Update,Delete]
	Synced   bool   `json:"synced"`
}

// Client data
type ClientPriceUpdate struct {
	Model
	CompanyId     uint64 `json:"company_id"` // only used by FOS
	StationId     uint64 `json:"station_id"` // only used by FOS
	PriceUpdateId uint64 `json:"price_update_id"`
	GradeId       uint64 `json:"grade_id"`
	GradeText     string `json:"grade_text"`
	GradePrice    uint64 `json:"grade_price"`
	NewGradePrice uint64 `json:"new_grade_price"`
}