diff options
Diffstat (limited to 'internal/db/service.go')
| -rw-r--r-- | internal/db/service.go | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/internal/db/service.go b/internal/db/service.go deleted file mode 100644 index 4449a984f..000000000 --- a/internal/db/service.go +++ /dev/null @@ -1,67 +0,0 @@ -/* - GoToSocial - Copyright (C) 2021 GoToSocial Authors admin@gotosocial.org - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. -*/ - -package db - -import ( - "context" - "fmt" - "strings" - - "github.com/go-fed/activity/pub" - "github.com/sirupsen/logrus" -) - -const dbTypePostgres string = "POSTGRES" - -// Service provides methods for interacting with an underlying database (for now, just postgres). -// The function mapping lines up with the Database interface described in go-fed. -// See here: https://github.com/go-fed/activity/blob/master/pub/database.go -type Service interface { - /* - GO-FED DATABASE FUNCTIONS - */ - pub.Database - - /* - ANY ADDITIONAL DESIRED FUNCTIONS - */ - Stop(context.Context) error -} - -// Config provides configuration options for the database connection -type Config struct { - Type string `yaml:"type,omitempty"` - Address string `yaml:"address,omitempty"` - Port int `yaml:"port,omitempty"` - User string `yaml:"user,omitempty"` - Password string `yaml:"password,omitempty"` - Database string `yaml:"database,omitempty"` - ApplicationName string `yaml:"applicationName,omitempty"` -} - -// NewService returns a new database service that satisfies the Service interface and, by extension, -// the go-fed database interface described here: https://github.com/go-fed/activity/blob/master/pub/database.go -func NewService(context context.Context, config *Config, log *logrus.Logger) (Service, error) { - switch strings.ToUpper(config.Type) { - case dbTypePostgres: - return newPostgresService(context, config, log.WithField("service", "db")) - default: - return nil, fmt.Errorf("database type %s not supported", config.Type) - } -} |
