UpdateNote creates a note with the next usn and updates the user's max_usn
(tx *gorm.DB, user database.User, note database.Note, p *UpdateNoteParams)
| 102 | |
| 103 | // UpdateNote creates a note with the next usn and updates the user's max_usn |
| 104 | func (a *App) UpdateNote(tx *gorm.DB, user database.User, note database.Note, p *UpdateNoteParams) (database.Note, error) { |
| 105 | nextUSN, err := incrementUserUSN(tx, user.ID) |
| 106 | if err != nil { |
| 107 | return note, pkgErrors.Wrap(err, "incrementing user max_usn") |
| 108 | } |
| 109 | |
| 110 | if p.BookUUID != nil { |
| 111 | note.BookUUID = p.GetBookUUID() |
| 112 | } |
| 113 | if p.Content != nil { |
| 114 | note.Body = p.GetContent() |
| 115 | } |
| 116 | |
| 117 | note.USN = nextUSN |
| 118 | note.EditedOn = a.Clock.Now().UnixNano() |
| 119 | note.Deleted = false |
| 120 | |
| 121 | if err := tx.Save(¬e).Error; err != nil { |
| 122 | return note, pkgErrors.Wrap(err, "editing note") |
| 123 | } |
| 124 | |
| 125 | return note, nil |
| 126 | } |
| 127 | |
| 128 | // DeleteNote marks a note deleted with the next usn and updates the user's max_usn |
| 129 | func (a *App) DeleteNote(tx *gorm.DB, user database.User, note database.Note) (database.Note, error) { |