You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

app.go 8.8 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. package schsdk
  2. import (
  3. cdssdk "gitlink.org.cn/cloudream/common/sdks/storage"
  4. "time"
  5. )
  6. type App struct {
  7. ID int64 `gorm:"primaryKey;autoIncrement;column:id" json:"id,string"`
  8. Name string `gorm:"column:name;type:varchar(200);not null" json:"name"` // 应用名称
  9. Description string `gorm:"column:description;type:varchar(500);default:null" json:"description"` // 应用描述
  10. Version string `gorm:"column:version;type:varchar(100);not null" json:"version"` // 应用版本
  11. Status string `gorm:"column:status;type:tinyint(1);default:1;not null" json:"status"` // 应用状态 (0:禁用, 1:正常)
  12. UserID cdssdk.UserID `gorm:"column:user_id;type:bigint;default:null" json:"userID"` // 创建者
  13. CreatedAt time.Time `gorm:"column:created_at;type:timestamp;default:CURRENT_TIMESTAMP" json:"createdAt"` // 创建时间
  14. UpdatedAt time.Time `gorm:"column:updated_at;type:timestamp;default:null;onUpdate:CURRENT_TIMESTAMP" json:"updatedAt"` // 更新时间
  15. DeletedAt time.Time `gorm:"column:deleted_at;type:timestamp;default:null" json:"-"` // 删除时间
  16. }
  17. func (App) TableName() string {
  18. return "apps"
  19. }
  20. type AppInstanceDao struct {
  21. ID int64 `gorm:"primaryKey;autoIncrement;column:id" json:"id"` // 实例ID
  22. Name string `gorm:"column:name;type:varchar(200);not null" json:"name"` // 实例名称
  23. Description string `gorm:"column:description;type:varchar(500);default:null" json:"description"` // 实例描述
  24. Content string `gorm:"column:content;type:text;default:null" json:"content"` // 实例内容
  25. AppID int64 `gorm:"column:app_id;type:bigint;not null" json:"appID"` // 关联应用ID
  26. AppName string `json:"appName"` // 应用名称
  27. UserID cdssdk.UserID `gorm:"column:user_id;type:bigint;default:null" json:"userID"` // 创建者
  28. CreatedAt time.Time `gorm:"column:created_at;type:timestamp;default:CURRENT_TIMESTAMP" json:"createdAt"` // 创建时间
  29. UpdatedAt time.Time `gorm:"column:updated_at;type:timestamp;default:null;onUpdate:CURRENT_TIMESTAMP" json:"updatedAt"` // 更新时间
  30. DeletedAt time.Time `gorm:"column:deleted_at;type:timestamp;default:null" json:"-"` // 删除时间
  31. //回显
  32. AppRunRecords []AppRunRecordDao `gorm:"foreignKey:AppInstanceID;references:ID" json:"appRunRecords"` //运行记录
  33. Status string `json:"status"` //应用状态
  34. Role string `json:"role"` //应用角色
  35. JobSetID JobSetID `json:"jobSetID"` // 关联的作业集ID
  36. }
  37. func (AppInstanceDao) TableName() string {
  38. return "app_instances"
  39. }
  40. type AppInstance struct {
  41. ID int64 `json:"id"` // 实例ID
  42. Name string `json:"name"` // 实例名称
  43. Description string `json:"description"` // 实例描述
  44. Content AppInfo `json:"content"` // 实例内容
  45. AppID int64 `json:"appID,string"` // 关联应用ID
  46. AppName string `json:"appName"` // 应用名称
  47. UserID cdssdk.UserID `json:"userID"` // 创建者
  48. CreatedAt time.Time `json:"createdAt"` // 创建时间
  49. UpdatedAt time.Time `json:"updatedAt"` // 更新时间
  50. DeletedAt time.Time `json:"-"` // 删除时间
  51. //回显
  52. AppRunRecords []AppRunRecordDao `gorm:"foreignKey:AppInstanceID;references:ID" json:"appRunRecords"` //运行记录
  53. Status string `json:"status"` //应用状态
  54. Role string `gorm:"-" json:"role"` //应用角色
  55. JobSetID JobSetID `gorm:"-" json:"jobSetID"` // 关联的作业集ID
  56. }
  57. type AppRunRecordDao struct {
  58. ID int64 `gorm:"primaryKey;autoIncrement;column:id" json:"id"` // 运行记录ID
  59. AppInstanceID AppInstanceID `gorm:"column:app_instance_id;type:bigint;not null" json:"appInstanceID"` // 关联应用实例ID
  60. Content string `gorm:"column:content;type:text;default:null" json:"content"` // 运行内容
  61. Status string `gorm:"column:status;type:varchar(100);not null" json:"status"` // 运行状态
  62. RunLog string `gorm:"column:run_log;type:text;default:null" json:"runLog"` // 运行日志
  63. RunID JobSetID `gorm:"column:run_id;type:varchar(100);default:null" json:"runID"` // 运行ID
  64. RunOutput string `gorm:"column:run_output;type:text;default:null" json:"runOutput"` // 运行输出
  65. UserID cdssdk.UserID `gorm:"column:user_id;type:bigint;default:null" json:"userID"` // 创建者
  66. CreatedAt time.Time `gorm:"column:created_at;type:timestamp;default:CURRENT_TIMESTAMP" json:"createdAt"` // 创建时间
  67. UpdatedAt time.Time `gorm:"column:updated_at;type:timestamp;default:null;onUpdate:CURRENT_TIMESTAMP" json:"updatedAt"` // 更新时间
  68. DeletedAt time.Time `gorm:"column:deleted_at;type:timestamp;default:null" json:"-"` // 删除时间
  69. AppRecordParams []AppRecordParam `gorm:"foreignKey:RecordID;references:ID" json:"appRecordParams"` // 运行记录参数
  70. }
  71. func (AppRunRecordDao) TableName() string {
  72. return "app_run_records"
  73. }
  74. type AppRunRecord struct {
  75. ID int64 `gorm:"primaryKey;autoIncrement;column:id" json:"id"` // 运行记录ID
  76. AppInstanceID AppInstanceID `gorm:"column:app_instance_id;type:bigint;not null" json:"appInstanceID"` // 关联应用实例ID
  77. Content AppInfo `gorm:"column:content;type:text;default:null" json:"content"` // 运行内容
  78. Status string `gorm:"column:status;type:varchar(100);not null" json:"status"` // 运行状态
  79. RunLog string `gorm:"column:run_log;type:text;default:null" json:"runLog"` // 运行日志
  80. RunID JobSetID `gorm:"column:run_id;type:varchar(100);default:null" json:"runID"` // 运行ID
  81. RunOutput string `gorm:"column:run_output;type:text;default:null" json:"runOutput"` // 运行输出
  82. UserID cdssdk.UserID `gorm:"column:user_id;type:bigint;default:null" json:"userID"` // 创建者
  83. CreatedAt time.Time `gorm:"column:created_at;type:timestamp;default:CURRENT_TIMESTAMP" json:"createdAt"` // 创建时间
  84. UpdatedAt time.Time `gorm:"column:updated_at;type:timestamp;default:null;onUpdate:CURRENT_TIMESTAMP" json:"updatedAt"` // 更新时间
  85. DeletedAt time.Time `gorm:"column:deleted_at;type:timestamp;default:null" json:"-"` // 删除时间
  86. AppRecordParams []AppRecordParam `gorm:"foreignKey:RecordID;references:ID" json:"appRecordParams"` // 运行记录参数
  87. }
  88. type AppRecordParam struct {
  89. RecordID int64 `gorm:"column:record_id;type:bigint;not null" json:"recordID"` // 应用运行记录ID
  90. InstanceID AppInstanceID `gorm:"column:instance_id;type:bigint;not null" json:"instanceID"` // 应用实例ID
  91. RunID JobSetID `gorm:"column:run_id;type:varchar(100);not null" json:"runID"` // 运行ID
  92. ParamKey string `gorm:"column:param_key;type:varchar(1000);default:null" json:"paramKey"` // 参数键
  93. ParamValue string `gorm:"column:param_value;type:varchar(1000);default:null" json:"paramValue"` // 参数值
  94. }
  95. func (AppRecordParam) TableName() string {
  96. return "app_record_params"
  97. }