MCPcopy Create free account
hub / github.com/1Panel-dev/1Panel / Create

Method Create

agent/app/service/database_postgresql.go:125–163  ·  view source on GitHub ↗
(ctx context.Context, req dto.PostgresqlDBCreate)

Source from the content-addressed store, hash-verified

123}
124
125func (u *PostgresqlService) Create(ctx context.Context, req dto.PostgresqlDBCreate) (*model.DatabasePostgresql, error) {
126 if cmd.CheckIllegal(req.Name, req.Username, req.Password, req.Format) {
127 return nil, buserr.New("ErrCmdIllegal")
128 }
129
130 pgsql, _ := postgresqlRepo.Get(repo.WithByName(req.Name), postgresqlRepo.WithByPostgresqlName(req.Database), repo.WithByFrom(req.From))
131 if pgsql.ID != 0 {
132 return nil, buserr.New("ErrRecordExist")
133 }
134
135 var createItem model.DatabasePostgresql
136 if err := copier.Copy(&createItem, &req); err != nil {
137 return nil, buserr.WithDetail("ErrStructTransform", err.Error(), nil)
138 }
139
140 cli, err := LoadPostgresqlClientByFrom(req.Database)
141 if err != nil {
142 return nil, err
143 }
144 defer cli.Close()
145
146 createItem.PostgresqlName = req.Database
147 defer cli.Close()
148 if err := cli.Create(client.CreateInfo{
149 Name: req.Name,
150 Username: req.Username,
151 Password: req.Password,
152 SuperUser: req.SuperUser,
153 Timeout: 300,
154 }); err != nil {
155 return nil, err
156 }
157
158 global.LOG.Infof("create database %s successful!", req.Name)
159 if err := postgresqlRepo.Create(ctx, &createItem); err != nil {
160 return nil, err
161 }
162 return &createItem, nil
163}
164
165func LoadPostgresqlClientByFrom(database string) (postgresql.PostgresqlClient, error) {
166 var (

Callers

nothing calls this directly

Calls 7

CopyMethod · 0.80
GetMethod · 0.65
WithByPostgresqlNameMethod · 0.65
CloseMethod · 0.65
CreateMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected