CreateApplication creates an application.
(application *model.Application)
| 37 | |
| 38 | // CreateApplication creates an application. |
| 39 | func (d *GormDatabase) CreateApplication(application *model.Application) error { |
| 40 | return d.DB.Transaction(func(tx *gorm.DB) error { |
| 41 | if application.SortKey == "" { |
| 42 | sortKey := "" |
| 43 | err := tx.Model(&model.Application{}).Select("sort_key").Where("user_id = ?", application.UserID).Order("sort_key DESC").Limit(1).Find(&sortKey).Error |
| 44 | if err != nil && err != gorm.ErrRecordNotFound { |
| 45 | return err |
| 46 | } |
| 47 | application.SortKey, err = fracdex.KeyBetween(sortKey, "") |
| 48 | if err != nil { |
| 49 | return err |
| 50 | } |
| 51 | } |
| 52 | |
| 53 | return tx.Create(application).Error |
| 54 | }, &sql.TxOptions{Isolation: sql.LevelSerializable}) |
| 55 | } |
| 56 | |
| 57 | // DeleteApplicationByID deletes an application by its id. |
| 58 | func (d *GormDatabase) DeleteApplicationByID(id uint) error { |
nothing calls this directly
no test coverage detected