mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-01-10 16:40:12 +00:00
4920229a3b
* start moving some database stuff around * continue moving db stuff around * more fiddling * more updates * and some more * and yet more * i broke SOMETHING but what, it's a mystery * tidy up * vendor ttlcache * use ttlcache * fix up some tests * rename some stuff * little reminder * some more updates
26 lines
538 B
Go
26 lines
538 B
Go
package pg
|
|
|
|
import (
|
|
"strings"
|
|
|
|
"github.com/go-pg/pg/v10"
|
|
"github.com/superseriousbusiness/gotosocial/internal/db"
|
|
)
|
|
|
|
// processErrorResponse parses the given error and returns an appropriate DBError.
|
|
func processErrorResponse(err error) db.Error {
|
|
switch err {
|
|
case nil:
|
|
return nil
|
|
case pg.ErrNoRows:
|
|
return db.ErrNoEntries
|
|
case pg.ErrMultiRows:
|
|
return db.ErrMultipleEntries
|
|
default:
|
|
if strings.Contains(err.Error(), "duplicate key value violates unique constraint") {
|
|
return db.ErrAlreadyExists
|
|
}
|
|
return err
|
|
}
|
|
}
|