Files
stufflog2/database/database.go
T
2021-07-17 17:16:15 +02:00

30 lines
671 B
Go

package database
import (
"context"
"errors"
"github.com/gissleh/stufflog/database/postgres"
"github.com/gissleh/stufflog/models"
)
var ErrUnsupportedDriver = errors.New("usupported driver")
type Database interface {
Goals() models.GoalRepository
Groups() models.GroupRepository
Items() models.ItemRepository
Logs() models.LogRepository
Projects() models.ProjectRepository
Tasks() models.TaskRepository
ProjectGroups() models.ProjectGroupRepository
}
func Open(ctx context.Context, driver string, connect string) (Database, error) {
switch driver {
case "postgres":
return postgres.Setup(ctx, connect)
default:
return nil, ErrUnsupportedDriver
}
}