2024-11-21 23:12:28 +08:00

273 lines
8.1 KiB
Go

package model
import "shylinux.com/x/mysql-story/src/db"
const (
UID = "uid"
NAME = "name"
INFO = "info"
TYPE = "type"
ROLE = "role"
STATUS = "status"
TITLE = "title"
CONTENT = "content"
AVATAR = "avatar"
BACKGROUND = "background"
CREATED_AT = "created_at"
UPDATED_AT = "updated_at"
USER_UID = "user_uid"
USER_NAME = "user_name"
USER_INFO = "user_info"
USER_ROLE = "user_role"
USER_AVATAR = "user_avatar"
USER_BACKGROUND = "user_background"
USER_PLACE_ROLE = "user_place_role"
MEMBER_UID = "member_uid"
MEMBER_STATUS = "member_status"
PLACE_UID = "place_uid"
PLACE_NAME = "place_name"
PLACE_TYPE = "place_type"
PLACE_INIT = "place_init"
PLACE_ADDRESS = "place_address"
STREET_UID = "street_uid"
STREET_NAME = "street_name"
STREET_INFO = "street_info"
STREET_AVATAR = "street_avatar"
STREET_BACKGROUND = "street_background"
SCHOOL_NAME = "school_name"
COMPANY_NAME = "company_name"
CITY_UID = "city_uid"
CITY_NAME = "city_name"
CITY_INFO = "city_info"
CITY_AVATAR = "city_avatar"
CITY_BACKGROUND = "city_background"
AUTH_UID = "auth_uid"
AUTH_NAME = "auth_name"
AUTH_INFO = "auth_info"
AUTH_TYPE = "auth_type"
AUTH_STATUS = "auth_status"
AUTH_AVATAR = "auth_avatar"
AUTH_BACKGROUND = "auth_background"
DASHBOARD_UID = "dashboard_uid"
DASHBOARD_NAME = "dashboard_name"
DASHBOARD_TYPE = "dashboard_type"
STORAGE_UID = "storage_uid"
STORAGE_NAME = "storage_name"
STORAGE_TYPE = "storage_type"
QRCODE_TYPE = "qrcode_type"
APPLY_UID = "apply_uid"
APPLY_STATUS = "apply_status"
ALLOW_UID = "allow_uid"
ALLOW_STATUS = "allow_status"
EVENT_UID = "event_uid"
DOMAIN_UID = "domain_uid"
DOMAIN_NAME = "domain_name"
MARKET_UID = "market_uid"
COMMAND_UID = "command_uid"
COMMAND_ICON = "command_icon"
COMMAND_NAME = "command_name"
MESSAGE_UID = "message_uid"
MESSAGE_STATUS = "message_status"
SERVICE_UID = "service_uid"
SERVICE_ICON = "service_icon"
SERVICE_NAME = "service_name"
SERVICE_TYPE = "service_type"
SERVICE_STATUS = "service_status"
THUMB_COUNT = "thumb_count"
FAVOR_COUNT = "favor_count"
COMMENT_COUNT = "comment_count"
SHARE_COUNT = "share_count"
THUMB_STATUS = "thumb_status"
FAVOR_STATUS = "favor_status"
FROM_UID = "from_uid"
FROM_USER_UID = "from_user_uid"
TO_USER_UID = "to_user_uid"
BEGIN_TIME = "begin_time"
END_TIME = "end_time"
OPEN_ID = "open_id"
USER_ID = "user_id"
VENDOR = "vendor"
PHONE = "phone"
EMAIL = "email"
ADDRESS = "address"
PORTAL = "portal"
PORTAL_NAME = "portal_name"
NODE_NAME = "node_name"
NODENAME = "nodename"
NODETYPE = "nodetype"
SPACE = "space"
INDEX = "index"
FIELD = "field"
ICON = "icon"
ARGS = "args"
INIT = "init"
QUERY = "query"
VALUE = "value"
SCORE = "score"
LEVEL = "level"
UNIT = "unit"
LINK = "link"
)
type Sess struct {
db.ModelWithUID
UserUID string `gorm:"type:char(32);index"`
Agent string `gorm:"type:varchar(255)"`
IP string `gorm:"type:varchar(16)"`
}
type User struct {
db.ModelWithAuth
OpenID string `gorm:"type:char(32);index"`
Email string `gorm:"type:varchar(64)"`
}
type UserPlace struct {
db.ModelUserPlace
PlaceUID string `gorm:"type:char(32);index"`
BeginTime db.Time
EndTime db.Time
}
type Place struct {
db.ModelPlace
StreetUID string `gorm:"type:char(32);index"`
Address string `gorm:"type:varchar(255)"`
}
type Street struct {
db.ModelStreet
}
type City struct {
db.ModelWithAuth
Name string `gorm:"type:varchar(64);index"`
}
type Apply struct {
db.ModelWithUID
PlaceUID string `gorm:"type:char(32);index:idx_place"`
UserUID string `gorm:"type:char(32);index:idx_place"`
Status uint8 `gorm:default:0`
Role uint8 `gorm:default:0`
BeginTime db.Time
EndTime db.Time
}
type Allow struct {
db.ModelWithUID
ApplyUID string `gorm:"type:char(32)"`
PlaceUID string `gorm:"type:char(32);index:idx_place"`
UserUID string `gorm:"type:char(32);index:idx_place"`
Status uint8 `gorm:"default:0"`
}
type Event struct {
db.ModelWithUID
PlaceUID string `gorm:"type:char(32);index"`
UserUID string `gorm:"type:char(32)"`
Info string `gorm:"type:varchar(255)"`
}
type Notice struct {
db.ModelContent
PlaceUID string `gorm:"type:char(32);index"`
UserUID string `gorm:"type:char(32)"`
}
type Meeting struct {
db.ModelWithUID
PlaceUID string `gorm:"type:char(32);index"`
UserUID string `gorm:"type:char(32);index"`
Vendor string `gorm:"type:varchar(128)"`
UserID string `gorm:"type:varchar(32)"`
}
type Setting struct {
db.ModelWithUID
PlaceUID string `gorm:"type:char(32);index"`
UserUID string `gorm:"type:char(32);index"`
Name string `gorm:"type:varchar(64)"`
Value string `gorm:"type:varchar(255)"`
}
type Domain struct {
db.ModelNameInfo
}
type Market struct {
db.ModelContent
DomainUID string `gorm:"type:char(32);index"`
PlaceUID string `gorm:"type:char(32)"`
UserUID string `gorm:"type:char(32)"`
CommandUID string `gorm:"type:char(32)"`
Args string `gorm:"type:varchar(128)"`
ThumbCount int `gorm:"default:0"`
CommentCount int `gorm:"default:0"`
FavorCount int `gorm:"default:0"`
ShareCount int `gorm:"default:0"`
}
type Thumb struct {
db.ModelWithUID
MarketUID string `gorm:"type:char(32);index"`
UserUID string `gorm:"type:char(32);index"`
Status uint `gorm:"default:0"`
}
type Comment struct {
db.ModelWithUID
MarketUID string `gorm:"type:char(32);index"`
UserUID string `gorm:"type:char(32);index"`
FromUID string `gorm:"type:char(32)"`
Content string
}
type Favor struct {
db.ModelWithUID
MarketUID string `gorm:"type:char(32);index"`
UserUID string `gorm:"type:char(32);index"`
Status uint `gorm:"default:0"`
}
type Command struct {
db.ModelWithUID
ServiceUID string `gorm:"type:char(32)"`
Index string `gorm:"type:varchar(64)"`
Name string `gorm:"type:varchar(32)"`
Icon string `gorm:"type:varchar(128)"`
}
type Message struct {
db.ModelWithUID
PlaceUID string `gorm:"type:char(32)"`
FromUserUID string `gorm:"type:char(32)"`
ToUserUID string `gorm:"type:char(32);index"`
CommandUID string `gorm:"type:char(32)"`
Args string `gorm:"type:varchar(128)"`
Status uint `gorm:"default:0"`
Score uint `gorm:"default:0"`
}
type Recent struct {
db.ModelWithUID
UserUID string `gorm:"type:char(32);index"`
PlaceUID string `gorm:"type:char(32);index"`
ServiceUID string `gorm:"type:char(32)"`
PlaceName string `gorm:"type:varchar(64)"`
StreetName string `gorm:"type:varchar(64)"`
CityName string `gorm:"type:varchar(64)"`
AuthStatus uint8 `gorm:"default:0"`
Score uint8 `gorm:"default:0"`
}
type Service struct {
db.ModelWithUID
Icon string `gorm:"type:varchar(128)"`
Name string `gorm:"type:varchar(32)"`
Index string `gorm:"type:varchar(64)"`
Module string `gorm:"type:varchar(32)"`
Version string `gorm:"type:varchar(32)"`
Domain string `gorm:"type:varchar(255)"`
Portal string `gorm:"type:varchar(255)"`
Nodetype string `gorm:"type:varchar(32)"`
Nodename string `gorm:"type:varchar(32)"`
Pathname string `gorm:"type:varchar(255)"`
Hostname string `gorm:"type:varchar(32)"`
}
type Support struct {
db.ModelContent
PlaceUID string `gorm:"type:char(32);index"`
}
func init() {
db.CmdModels("",
&Sess{}, &User{}, &UserPlace{}, &Place{}, &Street{}, &City{},
&Apply{}, &Allow{}, &Event{}, &Notice{}, &Meeting{}, &Setting{},
&Domain{}, &Market{}, &Thumb{}, &Comment{}, &Favor{},
&Command{}, &Message{}, &Recent{}, &Service{}, &Support{},
)
}