1
0
mirror of https://github.com/1Panel-dev/1Panel.git synced 2025-03-17 03:04:46 +08:00

feat: model.Database -> model.AppDatabase

This commit is contained in:
zhengkunwang223 2022-10-20 16:15:11 +08:00
parent 19f9c4635b
commit 1cd18a9938
7 changed files with 43 additions and 43 deletions

View File

@ -1,29 +1,26 @@
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;
events { events {
# 设置网路连接序列化 worker_connections 1024;
accept_mutex on;
# 一个进程是否同时接受多个网络连接
multi_accept on;
# 事件驱动模型
use epoll;
# 最大连接数
worker_connections 1024;
} }
http { http {
#http全局块 include /etc/nginx/mime.types;
include mime.types;
default_type application/octet-stream; default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on; sendfile on;
keepalive_timeout 65; keepalive_timeout 65;
#server块
server { include /etc/nginx/conf.d/*.conf;
#server全局块
listen 80;
server_name localhost;
#location块
location / {
root html;
index index.html index.htm;
}
}
} }

View File

@ -1,6 +1,6 @@
package model package model
type Database struct { type AppDatabase struct {
BaseModel BaseModel
AppInstallId uint `json:"appInstallId" gorm:"type:integer;not null"` AppInstallId uint `json:"appInstallId" gorm:"type:integer;not null"`
Key string `json:"key" gorm:"type:varchar(64);not null"` Key string `json:"key" gorm:"type:varchar(64);not null"`

View File

@ -70,7 +70,7 @@ func (c *CommonRepo) WithIdsNotIn(ids []uint) DBOption {
} }
func getTx(ctx context.Context, opts ...DBOption) *gorm.DB { func getTx(ctx context.Context, opts ...DBOption) *gorm.DB {
if ctx == nil { if ctx == nil || ctx.Value("db") == nil {
return getDb() return getDb()
} }
tx := ctx.Value("db").(*gorm.DB) tx := ctx.Value("db").(*gorm.DB)

View File

@ -16,22 +16,22 @@ func (d DatabaseRepo) ByAppInstallId(installId uint) DBOption {
} }
} }
func (d DatabaseRepo) Create(ctx context.Context, database *model.Database) error { func (d DatabaseRepo) Create(ctx context.Context, database *model.AppDatabase) error {
db := ctx.Value("db").(*gorm.DB).Model(&model.Database{}) db := ctx.Value("db").(*gorm.DB).Model(&model.AppDatabase{})
return db.Create(&database).Error return db.Create(&database).Error
} }
func (d DatabaseRepo) DeleteBy(ctx context.Context, opts ...DBOption) error { func (d DatabaseRepo) DeleteBy(ctx context.Context, opts ...DBOption) error {
db := ctx.Value("db").(*gorm.DB).Model(&model.Database{}) db := ctx.Value("db").(*gorm.DB).Model(&model.AppDatabase{})
for _, opt := range opts { for _, opt := range opts {
db = opt(db) db = opt(db)
} }
return db.Delete(&model.Database{}).Error return db.Delete(&model.AppDatabase{}).Error
} }
func (d DatabaseRepo) GetBy(opts ...DBOption) ([]model.Database, error) { func (d DatabaseRepo) GetBy(opts ...DBOption) ([]model.AppDatabase, error) {
db := global.DB.Model(model.Database{}) db := global.DB.Model(model.AppDatabase{})
var databases []model.Database var databases []model.AppDatabase
for _, opt := range opts { for _, opt := range opts {
db = opt(db) db = opt(db)
} }
@ -42,9 +42,9 @@ func (d DatabaseRepo) GetBy(opts ...DBOption) ([]model.Database, error) {
return databases, nil return databases, nil
} }
func (d DatabaseRepo) GetFirst(opts ...DBOption) (model.Database, error) { func (d DatabaseRepo) GetFirst(opts ...DBOption) (model.AppDatabase, error) {
db := global.DB.Model(model.Database{}) db := global.DB.Model(model.AppDatabase{})
var database model.Database var database model.AppDatabase
for _, opt := range opts { for _, opt := range opts {
db = opt(db) db = opt(db)
} }

View File

@ -113,7 +113,7 @@ func (a AppService) PageInstalled(req dto.AppInstalledRequest) (int64, []dto.App
if err != nil { if err != nil {
return 0, nil, err return 0, nil, err
} }
installDTOs := []dto.AppInstalled{} var installDTOs []dto.AppInstalled
for _, in := range installed { for _, in := range installed {
installDto := dto.AppInstalled{ installDto := dto.AppInstalled{
AppInstall: in, AppInstall: in,
@ -137,7 +137,7 @@ func (a AppService) GetAppDetail(appId uint, version string) (dto.AppDetailDTO,
return appDetailDTO, err return appDetailDTO, err
} }
paramMap := make(map[string]interface{}) paramMap := make(map[string]interface{})
json.Unmarshal([]byte(detail.Params), &paramMap) _ = json.Unmarshal([]byte(detail.Params), &paramMap)
appDetailDTO.AppDetail = detail appDetailDTO.AppDetail = detail
appDetailDTO.Params = paramMap appDetailDTO.Params = paramMap
return appDetailDTO, nil return appDetailDTO, nil
@ -201,11 +201,11 @@ func (a AppService) Install(name string, appDetailId uint, params map[string]int
httpPort, err := checkPort("PANEL_APP_PORT_HTTP", params) httpPort, err := checkPort("PANEL_APP_PORT_HTTP", params)
if err != nil { if err != nil {
return errors.New(fmt.Sprintf("%d port is in used", httpPort)) return fmt.Errorf("%d port is in used", httpPort)
} }
httpsPort, err := checkPort("PANEL_APP_PORT_HTTPS", params) httpsPort, err := checkPort("PANEL_APP_PORT_HTTPS", params)
if err != nil { if err != nil {
return errors.New(fmt.Sprintf("%d port is in used", httpsPort)) return fmt.Errorf("%d port is in used", httpPort)
} }
appDetail, err := appDetailRepo.GetFirst(commonRepo.WithByID(appDetailId)) appDetail, err := appDetailRepo.GetFirst(commonRepo.WithByID(appDetailId))
@ -314,7 +314,7 @@ func (a AppService) DeleteBackup(req dto.AppBackupDeleteRequest) error {
errStr.WriteString(err.Error()) errStr.WriteString(err.Error())
continue continue
} }
if err := appInstallBackupRepo.Delete(nil, commonRepo.WithIdsIn(req.Ids)); err != nil { if err := appInstallBackupRepo.Delete(context.TODO(), commonRepo.WithIdsIn(req.Ids)); err != nil {
errStr.WriteString(err.Error()) errStr.WriteString(err.Error())
} }
} }
@ -673,6 +673,9 @@ func (a AppService) GetUpdateVersions(installId uint) ([]dto.AppVersion, error)
return versions, err return versions, err
} }
details, err := appDetailRepo.GetBy(appDetailRepo.WithAppId(app.ID)) details, err := appDetailRepo.GetBy(appDetailRepo.WithAppId(app.ID))
if err != nil {
return versions, err
}
for _, detail := range details { for _, detail := range details {
if common.CompareVersion(detail.Version, install.Version) { if common.CompareVersion(detail.Version, install.Version) {
versions = append(versions, dto.AppVersion{ versions = append(versions, dto.AppVersion{

View File

@ -34,13 +34,13 @@ var (
Delete DatabaseOp = "delete" Delete DatabaseOp = "delete"
) )
func execDockerCommand(database model.Database, dbInstall model.AppInstall, op DatabaseOp) error { func execDockerCommand(database model.AppDatabase, dbInstall model.AppInstall, op DatabaseOp) error {
var auth dto.AuthParam var auth dto.AuthParam
var dbConfig dto.AppDatabase var dbConfig dto.AppDatabase
dbConfig.Password = database.Password dbConfig.Password = database.Password
dbConfig.DbUser = database.Username dbConfig.DbUser = database.Username
dbConfig.DbName = database.Dbname dbConfig.DbName = database.Dbname
json.Unmarshal([]byte(dbInstall.Param), &auth) _ = json.Unmarshal([]byte(dbInstall.Param), &auth)
execConfig := dto.ContainerExec{ execConfig := dto.ContainerExec{
ContainerName: dbInstall.ContainerName, ContainerName: dbInstall.ContainerName,
Auth: auth, Auth: auth,
@ -121,7 +121,7 @@ func createLink(ctx context.Context, app model.App, appInstall *model.AppInstall
if err != nil { if err != nil {
return err return err
} }
var database model.Database var database model.AppDatabase
database.Dbname = dbConfig.DbName database.Dbname = dbConfig.DbName
database.Username = dbConfig.DbUser database.Username = dbConfig.DbUser
database.Password = dbConfig.Password database.Password = dbConfig.Password
@ -185,7 +185,7 @@ func deleteLink(ctx context.Context, install *model.AppInstall) error {
for _, re := range resources { for _, re := range resources {
if re.Key == "mysql" { if re.Key == "mysql" {
database, _ := dataBaseRepo.GetFirst(commonRepo.WithByID(re.ResourceId)) database, _ := dataBaseRepo.GetFirst(commonRepo.WithByID(re.ResourceId))
if reflect.DeepEqual(database, model.Database{}) { if reflect.DeepEqual(database, model.AppDatabase{}) {
continue continue
} }
appInstall, err := appInstallRepo.GetFirst(commonRepo.WithByID(database.AppInstallId)) appInstall, err := appInstallRepo.GetFirst(commonRepo.WithByID(database.AppInstallId))

View File

@ -150,7 +150,7 @@ var AddTableCronjob = &gormigrate.Migration{
var AddTableApp = &gormigrate.Migration{ var AddTableApp = &gormigrate.Migration{
ID: "20200921-add-table-app", ID: "20200921-add-table-app",
Migrate: func(tx *gorm.DB) error { Migrate: func(tx *gorm.DB) error {
return tx.AutoMigrate(&model.App{}, &model.AppDetail{}, &model.Tag{}, &model.AppTag{}, &model.AppInstall{}, &model.AppInstallResource{}, &model.Database{}, &model.AppInstallBackup{}) return tx.AutoMigrate(&model.App{}, &model.AppDetail{}, &model.Tag{}, &model.AppTag{}, &model.AppInstall{}, &model.AppInstallResource{}, &model.AppDatabase{}, &model.AppInstallBackup{})
}, },
} }