55 lines
1.2 KiB
Go
55 lines
1.2 KiB
Go
package origins
|
|
|
|
import "database/sql"
|
|
|
|
func AllOriginModels() []interface{} {
|
|
return []interface{}{
|
|
&OriginSurugaya{},
|
|
&OriginMandarake{},
|
|
&OriginAmiami{},
|
|
}
|
|
}
|
|
|
|
func NewSurugaya(merchUuid, link string) *OriginSurugaya {
|
|
return &OriginSurugaya{
|
|
BaseOrigin{
|
|
DeletedAt: sql.NullTime{},
|
|
MerchUuid: merchUuid,
|
|
Link: link,
|
|
},
|
|
}
|
|
}
|
|
|
|
func NewMandarake(merchUuid, link string) *OriginMandarake {
|
|
return &OriginMandarake{
|
|
BaseOrigin{
|
|
DeletedAt: sql.NullTime{},
|
|
MerchUuid: merchUuid,
|
|
Link: link,
|
|
},
|
|
}
|
|
}
|
|
|
|
func NewAmiami(merchUuid, link string) *OriginAmiami {
|
|
return &OriginAmiami{
|
|
BaseOrigin{
|
|
DeletedAt: sql.NullTime{},
|
|
MerchUuid: merchUuid,
|
|
Link: link,
|
|
},
|
|
}
|
|
}
|
|
|
|
type OriginFactory func(merchUuid, link string) interface{}
|
|
|
|
var OriginFactories = map[string]OriginFactory{
|
|
"surugaya": func(merchUuid, link string) interface{} {
|
|
return &OriginSurugaya{BaseOrigin: BaseOrigin{MerchUuid: merchUuid, Link: link}}
|
|
},
|
|
"mandarake": func(merchUuid, link string) interface{} {
|
|
return &OriginMandarake{BaseOrigin: BaseOrigin{MerchUuid: merchUuid, Link: link}}
|
|
},
|
|
"amiami": func(merchUuid, link string) interface{} {
|
|
return &OriginAmiami{BaseOrigin: BaseOrigin{MerchUuid: merchUuid, Link: link}}
|
|
},
|
|
}
|