18 lines
387 B
Go
18 lines
387 B
Go
![]() |
package db
|
||
|
|
||
|
import "github.com/google/uuid"
|
||
|
|
||
|
type Identifier = uuid.UUID
|
||
|
|
||
|
type Entity interface {
|
||
|
Id() Identifier
|
||
|
}
|
||
|
|
||
|
type Repository[T Entity] interface {
|
||
|
Create(entity T) (rowsAffected int, err error)
|
||
|
Delete(entity T) (rowsAffected int, err error)
|
||
|
Update(entity T) (rowsAffected int, err error)
|
||
|
FetchOne(id Identifier) (entity T, err error)
|
||
|
FetchAll() (entities []T, err error)
|
||
|
}
|