@@ -24,13 +24,13 @@ func (s NotesService) CreateNote(
24
24
Where ("id = ? AND owner_id = ?" , bookID , userID ).
25
25
Limit (1 ).
26
26
Count (& count ).Error ; err != nil {
27
- return db.Note {}, err
27
+ return db.Note {}, dbErrorToServiceError ( err )
28
28
}
29
29
if count == 0 {
30
30
return db.Note {}, NotFoundError
31
31
}
32
32
note := toCreate .IntoNote (bookID )
33
- return note , db .DB .Create (& note ).Error
33
+ return note , dbErrorToServiceError ( db .DB .Create (& note ).Error )
34
34
}
35
35
36
36
func (s NotesService ) GetRecentNotes (currentUserID * uuid.UUID ) ([]db.ValueWithSlug , error ) {
@@ -51,13 +51,13 @@ func (s NotesService) GetRecentNotes(currentUserID *uuid.UUID) ([]db.ValueWithSl
51
51
recentNotes := make ([]db.ValueWithSlug , 0 )
52
52
53
53
if rows , err := tx .Rows (); err != nil {
54
- return nil , err
54
+ return nil , dbErrorToServiceError ( err )
55
55
} else {
56
56
defer rows .Close ()
57
57
for rows .Next () {
58
58
var row db.Note
59
59
if err := db .DB .ScanRows (rows , & row ); err != nil {
60
- return nil , err
60
+ return nil , dbErrorToServiceError ( err )
61
61
}
62
62
recentNotes = append (recentNotes , db.ValueWithSlug {
63
63
Value : row ,
@@ -84,16 +84,16 @@ func (s NotesService) GetNotesByBookID(currentUserID *uuid.UUID, bookID uuid.UUI
84
84
tx = tx .Where ("notes.deleted_at IS NOT NULL" )
85
85
}
86
86
var notes []db.Note
87
- return notes , tx .Find (& notes ).Error
87
+ return notes , dbErrorToServiceError ( tx .Find (& notes ).Error )
88
88
}
89
89
90
90
func (s NotesService ) GetNoteByID (currentUserID * uuid.UUID , noteID uuid.UUID ) (db.Note , error ) {
91
91
var note db.Note
92
- return note , db .DB .
92
+ return note , dbErrorToServiceError ( db .DB .
93
93
Preload ("Book" ).
94
94
Joins ("JOIN books ON books.id = notes.book_id" ).
95
95
Where ("owner_id = ? OR is_public = ?" , currentUserID , true ).
96
- First (& note , "notes.id = ?" , noteID ).Error
96
+ First (& note , "notes.id = ?" , noteID ).Error )
97
97
}
98
98
99
99
func (s NotesService ) GetNoteBySlug (
@@ -105,15 +105,15 @@ func (s NotesService) GetNoteBySlug(
105
105
if err := db .DB .
106
106
Select ("id" ).
107
107
First (& bookOwner , "username = ?" , username ).Error ; err != nil {
108
- return db.Note {}, err
108
+ return db.Note {}, dbErrorToServiceError ( err )
109
109
}
110
110
var note db.Note
111
- return note , db .DB .
111
+ return note , dbErrorToServiceError ( db .DB .
112
112
Preload ("Book" ).
113
113
Joins ("JOIN books ON books.id = notes.book_id" ).
114
114
Where ("books.slug = ? AND books.owner_id = ?" , bookSlug , bookOwner .ID ).
115
115
Where ("owner_id = ? OR is_public = ?" , currentUserID , true ).
116
- First (& note , "notes.slug = ?" , noteSlug ).Error
116
+ First (& note , "notes.slug = ?" , noteSlug ).Error )
117
117
}
118
118
119
119
func (s NotesService ) GetNoteContent (
@@ -129,7 +129,7 @@ func (s NotesService) GetNoteContent(
129
129
Where ("notes.id = ?" , noteID ).
130
130
Limit (1 ).
131
131
Count (& count ).Error ; err != nil {
132
- return "" , nil , err
132
+ return "" , nil , dbErrorToServiceError ( err )
133
133
}
134
134
if count == 0 {
135
135
return "" , nil , NotFoundError
@@ -159,7 +159,7 @@ func (s NotesService) UpdateNoteByID(
159
159
Where ("owner_id = ? AND notes.id = ?" , currentUserID , noteID ).
160
160
Limit (1 ).
161
161
Count (& count ).Error ; err != nil {
162
- return err
162
+ return dbErrorToServiceError ( err )
163
163
}
164
164
if count == 0 {
165
165
return NotFoundError
@@ -170,7 +170,7 @@ func (s NotesService) UpdateNoteByID(
170
170
Where ("notes.id = ?" , noteID ).
171
171
Updates (input )
172
172
if err := result .Error ; err != nil {
173
- return err
173
+ return dbErrorToServiceError ( err )
174
174
}
175
175
if result .RowsAffected == 0 {
176
176
return NotFoundError
@@ -191,7 +191,7 @@ func (s NotesService) UpdateNoteContentByID(
191
191
Where ("owner_id = ? AND notes.id = ?" , currentUserID , noteID ).
192
192
Limit (1 ).
193
193
Count (& count ).Error ; err != nil {
194
- return err
194
+ return dbErrorToServiceError ( err )
195
195
}
196
196
if count == 0 {
197
197
return NotFoundError
@@ -204,7 +204,7 @@ func (s NotesService) UpdateNoteContentByID(
204
204
Where ("id = ?" , noteID ).
205
205
Update ("UpdatedAt" , db .DB .NowFunc ()).
206
206
Error ; err != nil {
207
- return err
207
+ return dbErrorToServiceError ( err )
208
208
}
209
209
if err := storage_backend .WriteNote (noteID , content ); err != nil {
210
210
return err
@@ -222,7 +222,7 @@ func (s NotesService) RestoreNoteByID(currentUserID uuid.UUID, noteID uuid.UUID)
222
222
Where ("owner_id = ?" , currentUserID ).
223
223
Select ("notes.id" , "book_id" ).
224
224
First (& note , "notes.id = ?" , noteID ).Error ; err != nil {
225
- return err
225
+ return dbErrorToServiceError ( err )
226
226
}
227
227
228
228
return db .DB .Transaction (func (tx * gorm.DB ) error {
@@ -232,15 +232,15 @@ func (s NotesService) RestoreNoteByID(currentUserID uuid.UUID, noteID uuid.UUID)
232
232
Where ("id = ?" , note .ID ).
233
233
Update ("deleted_at" , nil ).
234
234
Error ; err != nil {
235
- return err
235
+ return dbErrorToServiceError ( err )
236
236
}
237
237
// restore book (ensuring user can visit restored note)
238
238
if err := tx .Unscoped ().
239
239
Model (& db.Book {}).
240
240
Where ("id = ?" , note .BookID ).
241
241
Update ("deleted_at" , nil ).
242
242
Error ; err != nil {
243
- return err
243
+ return dbErrorToServiceError ( err )
244
244
}
245
245
return nil
246
246
})
@@ -261,7 +261,7 @@ func (s NotesService) DeleteNoteByID(
261
261
Where ("owner_id = ? AND notes.id = ?" , currentUserID , noteID ).
262
262
Limit (1 ).
263
263
Count (& count ).Error ; err != nil {
264
- return err
264
+ return dbErrorToServiceError ( err )
265
265
}
266
266
if count == 0 {
267
267
return NotFoundError
@@ -271,10 +271,10 @@ func (s NotesService) DeleteNoteByID(
271
271
// performs hard deletion
272
272
return db .DB .Transaction (func (tx * gorm.DB ) error {
273
273
if err := tx .Unscoped ().Delete (& db.NoteAsset {}, "note_id = ?" , noteID ).Error ; err != nil {
274
- return err
274
+ return dbErrorToServiceError ( err )
275
275
}
276
276
if err := tx .Unscoped ().Delete (& db.Note {}, "id = ?" , noteID ).Error ; err != nil {
277
- return err
277
+ return dbErrorToServiceError ( err )
278
278
}
279
279
if err := storage_backend .DeleteNote (noteID ); err != nil {
280
280
return err
@@ -283,6 +283,6 @@ func (s NotesService) DeleteNoteByID(
283
283
})
284
284
} else {
285
285
// performs soft deletion
286
- return db .DB .Delete (& db.Note {}, "id = ?" , noteID ).Error
286
+ return dbErrorToServiceError ( db .DB .Delete (& db.Note {}, "id = ?" , noteID ).Error )
287
287
}
288
288
}
0 commit comments