35 lines
614 B
Go
35 lines
614 B
Go
package crud
|
|
|
|
import (
|
|
e "simrs-vx/internal/domain/main-entities/single"
|
|
|
|
dg "github.com/karincake/apem/db-gorm-pg"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
func CreateData(input e.Createdto) (*e.Single, error) {
|
|
data := e.Single{}
|
|
|
|
err := dg.I.Transaction(func(tx *gorm.DB) error {
|
|
for i := range createPreMw {
|
|
if err := createPreMw[i](&input, &data, dg.I); err != nil {
|
|
return nil
|
|
}
|
|
}
|
|
|
|
if err := dg.I.Create(&data).Error; err != nil {
|
|
return nil
|
|
}
|
|
|
|
for i := range createPostMw {
|
|
if err := createPostMw[i](&input, &data, dg.I); err != nil {
|
|
return nil
|
|
}
|
|
}
|
|
|
|
return nil
|
|
})
|
|
|
|
return &data, err
|
|
}
|