package repository import ( "context" "finclip-app-manager/domain/entity" "time" ) //const APPTEMPINFO_DB_NAME = "appTempInfo" // //var ( // AppTempDefSequence = 1 // appTempNotFoundErr = errors.New("NOT FOUND") //) // //type CustomDataInfo struct { // DetailDescription string `bson:"detail_description" json:"detailDescription"` //小程序详细描述 // SourceFile []CustomDataSourceFile `bson:"source_file" json:"sourceFile"` // VersionDescription string `bson:"version_description" json:"versionDescription"` //小程序编译包版本描述 // Developer string `bson:"developer" json:"developer"` //开发者 //} // //type CustomDataSourceFile struct { // FileMd5 string `bson:"file_md5" json:"fileMd5"` // Name string `bson:"name" json:"name"` // SourceFileUrl string `bson:"source_file_url" json:"sourceFileUrl"` // UploadDate int64 `bson:"upload_date" json:"uploadDate"` // Url string `bson:"url" json:"url"` // EncryptedUrl string `bson:"encrypted_url" json:"encryptedUrl"` // EncryptedFileMd5 string `bson:"encrypted_file_md5" json:"encryptedFileMd5"` // EncryptedFileSha256 string `bson:"encrypted_file_sha256" json:"encryptedFileSha256"` // BasicPackVer string `bson:"basic_pack_ver" json:"basicPackVer"` // Packages []Package `bson:"packages"` // EncryptPackages []Package `bson:"encrypt_packages"` //} // //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:"file_url"` // FileMd5 string `json:"fileMd5" bson:"file_md5"` //} // //type AppTempInfo struct { // AppID string `json:"appId" bson:"app_id"` //id // Name string `json:"name" bson:"name"` //名字 // Sequence int `json:"sequence" bson:"sequence"` //版本号 // AppClass string `json:"appClass" bson:"app_class"` //用途 // AppType string `json:"appType" bson:"app_type"` //应用类型--mop使用为了和应用市场区分开 // Status Status `json:"status" bson:"status"` //状态 // DeveloperID string `json:"developerId" bson:"developer_id"` //开发者id // GroupID string `json:"groupId" bson:"group_id"` //组id // Created int64 `json:"created" bson:"created"` // CreatedBy string `json:"createdBy" bson:"created_by"` // CustomData CustomDataInfo `json:"customData" bson:"custom_data"` //预留 // Version string `json:"version" bson:"version"` //应用版本 // CoreDescription string `json:"coreDescription" bson:"core_description"` //核心描述 // Logo string `json:"logo" bson:"logo"` //图标 //} type IAppTempInfoRepo interface { Insert(ctx context.Context, info *entity.AppTempInfo) error UpdateInfo(ctx context.Context, info *entity.AppTempInfo) error GetInfoByAppId(ctx context.Context, appId string) (*entity.AppTempInfo, error) GetInfoByAppIdAndSeq(ctx context.Context, appId string, seq int) (*entity.AppTempInfo, error) NotFound(err error) bool } func NewDefaultInfo(appId string, projectType int) *entity.AppTempInfo { now := time.Now().UnixNano() / 1e6 return &entity.AppTempInfo{ AppID: appId, Name: "", Sequence: entity.AppTempDefSequence, AppClass: "Others", AppType: "Applet", Status: entity.Status{ Value: "Published", Reason: "ide测试", LastUpdated: now, ModifiedBy: "ide测试", }, DeveloperID: "", GroupID: "", Created: now, CreatedBy: "", CustomData: entity.CustomDataInfo{ DetailDescription: "ide测试小程序", VersionDescription: "ide测试小程序", SourceFile: make([]entity.CustomDataSourceFile, 0), }, Version: "1.0.0", CoreDescription: "ide测试小程序", Logo: "", ProjectType: projectType, } }