finclip-app-manager/infrastructure/db/entity/mongo/app.go

176 lines
11 KiB
Go

package mongo
//App 小程序元信息
type App struct {
AppID string `json:"appId" bson:"appId"` //id
Name string `json:"name" bson:"name"` //名字
Sequence int `json:"sequence" bson:"sequence"` //版本号
AppClass string `json:"appClass" bson:"appClass"` //用途 现在改为分类
AppTag []string `json:"appTag" bson:"appTag"` //标签
AppType string `json:"appType" bson:"appType"` //应用类型--mop使用为了和应用市场区分开
Status Status `json:"status" bson:"status"` //状态
//todo 明确这是个啥
ApplyStatus Status `json:"applyStatus" bson:"-"` // 关联审核状态
PublishedStatus SpecificStatus `json:"publishedStatus" bson:"publishedStatus"` //上架
UnpublishedStatus SpecificStatus `json:"unpublishedStatus" bson:"unpublishedStatus"` //下架
ActionStatus SpecificStatus `json:"actionStatus" bson:"actionStatus"` //上下架
DeveloperID string `json:"developerId" bson:"developerId"` //开发者id
GroupID string `json:"groupId" bson:"groupId"` //组id
Created int64 `json:"created" bson:"created"`
CreatedBy string `json:"createdBy" bson:"createdBy"`
DetailDescription string `bson:"detailDescription" json:"detailDescription"` //小程序详细描述
Version string `json:"version" bson:"version"` //应用版本
CoreDescription string `json:"coreDescription" bson:"coreDescription"` //小程序简介
Logo string `json:"logo" bson:"logo"` //图标
Expire int64 `json:"expire" bson:"expire"`
IsRollback bool `json:"isRollback" bson:"isRollback"` // 是否回滚发布
IsForbidden int `json:"isForbidden" bson:"isForbidden"`
PrivacySettingType int `json:"privacySettingType" bson:"privacySettingType"`
ProjectType int `json:"projectType" bson:"projectType"`
}
type AppVersion struct {
AppID string `json:"appId" bson:"appId"`
Name string `json:"name" bson:"name"`
AppClass string `json:"appClass" bson:"appClass"` //用途 现在改为分类
AppTag []string `json:"appTag" bson:"appTag"` //标签
AppType string `json:"appType" bson:"appType"`
Status Status `json:"status" bson:"status"`
PublishingStatus SpecificStatus `json:"publishingStatus" bson:"publishingStatus"` //提交上架审核
UnpublishingStatus SpecificStatus `json:"unpublishingStatus" bson:"unpublishingStatus"` //下架审核
PublishingApprovalStatus SpecificStatus `json:"publishingApprovalStatus" bson:"publishingApprovalStatus"` //管理员审核上架记录
UnpublishingApprovalStatus SpecificStatus `json:"unpublishingApprovalStatus" bson:"unpublishingApprovalStatus"` //管理员审核下架记录
PublishedStatus SpecificStatus `json:"publishedStatus" bson:"publishedStatus"` //执行上架记录
UnpublishedStatus UnpublishedStatus `json:"unpublishedStatus" bson:"unpublishedStatus"` //执行下架记录
RequestStatus SpecificStatus `json:"requestStatus" bson:"requestStatus"` //合并开发者申请上下架状态
ApprovalStatus SpecificStatus `json:"approvalStatus" bson:"approvalStatus"` //合并管理员申请上下架状态
ActionStatus SpecificStatus `json:"actionStatus" bson:"actionStatus"` //执行上下架合并
DeveloperID string `json:"developerId" bson:"developerId"`
GroupID string `json:"groupId" bson:"groupId"`
Created int64 `json:"created" bson:"created"`
CreatedBy string `json:"createdBy" bson:"createdBy"` // 提交审核的用户
CustomData CustomDataInfo `json:"customData" bson:"customData"`
Version string `json:"version" bson:"version"`
Sequence int `json:"sequence" bson:"sequence"`
CorporationID string `json:"corporationId" bson:"corporationId"` //与groupid类似
CoreDescription string `json:"coreDescription" bson:"coreDescription"` //小程序简介
Logo string `json:"logo" bson:"logo"`
TestInfo TestInfo `json:"testInfo" bson:"testInfo"`
NeedAutoPub bool `json:"needAutoPub" bson:"needAutoPub"`
IsRollback bool `json:"isRollback" bson:"isRollback"` //是否回滚
InGrayRelease bool `json:"inGrayRelease" bson:"inGrayRelease"` //是否在灰度发布中
Expire int64 `json:"expire" bson:"expire"`
AppBuildID string `json:"appBuildID" bson:"appBuildID"`
}
//状态信息
type Status struct {
Value string `json:"value" bson:"value"`
Reason string `json:"reason" bson:"reason"`
LastUpdated int64 `json:"lastUpdated" bson:"lastUpdated"`
ModifiedBy string `json:"modifiedBy" bson:"modifiedBy"`
}
type SpecificStatus struct {
Reason string `json:"reason" bson:"reason"`
LastUpdated int64 `json:"lastUpdated" bson:"lastUpdated"`
ModifiedBy string `json:"modifiedBy" bson:"modifiedBy"`
}
type UnpublishedStatus struct {
Reason string `json:"reason" bson:"reason"`
LastUpdated int64 `json:"lastUpdated" bson:"lastUpdated"`
ModifiedBy string `json:"modifiedBy" bson:"modifiedBy"`
Type string `json:"type" bson:"type"`
}
type CustomDataSourceFile struct {
FileMd5 string `bson:"fileMd5" json:"fileMd5"`
Name string `bson:"name" json:"name"`
SourceFileUrl string `bson:"sourceFileUrl" json:"sourceFileUrl"`
UploadDate int64 `bson:"uploadDate" json:"uploadDate"`
Url string `bson:"url" json:"url"`
EncryptedUrl string `bson:"encryptedUrl" json:"encryptedUrl"`
EncryptedFileMd5 string `bson:"encryptedFileMd5" json:"encryptedFileMd5"`
EncryptedFileSha256 string `bson:"encryptedFileSha256" json:"encryptedFileSha256"`
BasicPackVer string `bson:"basicPackVer" json:"basicPackVer"`
Packages []Package `bson:"packages"`
EncryptPackages []Package `bson:"encryptPackages"`
}
type Package struct {
Root string `json:"root" bson:"root"`
Name string `json:"name" bson:"name"`
Pages []string `json:"pages" bson:"pages"`
Independent bool `json:"independent" bson:"independent"`
Filename string `json:"filename" bson:"filename"`
FileUrl string `json:"fileUrl" bson:"fileUrl"`
FileMd5 string `json:"fileMd5" bson:"fileMd5"`
}
type CustomDataInfo struct {
DetailDescription string `bson:"detailDescription" json:"detailDescription"` //小程序详细描述
SourceFile []CustomDataSourceFile `bson:"sourceFile" json:"sourceFile"`
VersionDescription string `bson:"versionDescription" json:"versionDescription"` //小程序编译包版本描述
Developer string `bson:"developer" json:"developer"` //开发者
}
type TestInfo struct {
Account string `json:"account" bson:"account"`
Password string `json:"password" bson:"password"`
Description string `json:"description" bson:"description"`
Images []string `json:"images" bson:"images"`
}
type AppStartParams struct {
PathAndQuery string `json:"pathAndQuery" bson:"path_and_query"`
}
type AppBuildInfo struct {
Id string `json:"id" bson:"id"`
BuildInfoId string `json:"buildInfoId" bson:"buildInfoId"`
Source string `json:"source" bson:"source"` // 该上传版本的状态: build:正常版本, trail:被设置为体验版
AppID string `json:"appId" bson:"appId"`
GroupID string `json:"groupId" bson:"groupId"`
Created int64 `json:"created" bson:"created"` //创建该编译版本的时间
UserId string `json:"userId" bson:"userId"`
CreatedBy string `json:"createdBy" bson:"createdBy"` //创建人
CustomData CustomDataInfo `json:"customData" bson:"customData"`
Version string `json:"version" bson:"version"`
VersionDescription string `json:"versionDescription" bson:"versionDescription"` //小程序编译包版本描述
StartParams AppStartParams `json:"startParams" bson:"startParams"`
Status bool `json:"status" bson:"status"`
}
/*
type AppBuildInfo struct {
Id string `bson:"id" gorm:"column:id;type:varchar(40)" sql:"primary_key;unique"`
BuildInfoId string `bson:"build_info_id" gorm:"column:build_info_id;type:varchar(128);comment:'编译id'"`
AppID string `bson:"app_id" bson:"appId" gorm:"column:id;type:varchar(40)"`
Source string `bson:"source" gorm:"column:source;type:varchar(64);comment:'上传版本的状态'"` // 该上传版本的状态: build:正常版本, trail:被设置为体验版
Version string `bson:"version" gorm:"column:version;type:varchar(128);comment:'版本号'"`
VersionDescription string `bson:"version_description" gorm:"column:version;type:varchar(1024);comment:'版本描述'"` //小程序编译包版本描述
GroupID string `bson:"group_id" gorm:"column:group_id;type:varchar(64);comment:'组id'"`
UserId string `bson:"user_id" gorm:"column:user_id;type:varchar(64);comment:'用户id'"`
CreatedBy string `bson:"created_by" gorm:"column:created_by;type:varchar(64);comment:'组id'"`
Status bool `bson:"status" gorm:"column:status;type:bool;comment:'status'"`
FileMd5 string `bson:"file_md5" gorm:"column:file_md5;type:varchar(512);default:'';comment:'md5'"`
Name string `bson:"name" gorm:"column:name;type:varchar(256);default:'';comment:'包名'"`
Url string `bson:"url" gorm:"column:url;type:varchar(512);default:'';comment:'编译包下载地址'"`
EncryptedUrl string `bson:"encrypted_url" gorm:"column:encrypted_url;type:varchar(512);default:'';comment:'加密后下载地址'"`
EncryptedFileMd5 string `bson:"encrypted_file_md5" gorm:"column:encrypted_file_md5;type:varchar(512);default:'';comment:'加密包md5'"`
EncryptedFileSha256 string `bson:"encrypted_file_sha256" gorm:"column:encrypted_file_sha256;type:varchar(512);default:'';comment:'加密包sha256'"`
BasicPackVer string `bson:"basic_pack_ver" gorm:"column:basic_pack_ver;type:varchar(48);default:'';comment:'基础库版本'"`
Packages string `bson:"packages" gorm:"column:packages;type:TEXT;default:'';comment:'分包信息'"`
EncryptPackages string `bson:"encrypt_packages" gorm:"column:encrypt_packages;type:TEXT;default:'';comment:'加密分包信息'"`
PathAndQuery string `bson:"path_and_query" gorm:"column:path_and_query;type:varchar(64);comment:'小程序启动参数'"`
CreateTime int64 `bson:"create_time" gorm:"column:create_time;type:BIGINT(16);NOT NULL;comment:'创建时间'"`
UpdateTime int64 `bson:"update_time" gorm:"column:update_time;type:BIGINT(16);default:0;comment:'更新时间'"`
}
*/