mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
fix postgres
This commit is contained in:
@@ -31,7 +31,7 @@ const extrasTableCreate = `CREATE TABLE IF NOT EXISTS extras (
|
|||||||
value character varying(256) NOT NULL
|
value character varying(256) NOT NULL
|
||||||
);`
|
);`
|
||||||
|
|
||||||
const routeSelector = `SELECT app_name, path, image, headers FROM routes`
|
const routeSelector = `SELECT app_name, path, image, headers, config FROM routes`
|
||||||
|
|
||||||
type rowScanner interface {
|
type rowScanner interface {
|
||||||
Scan(dest ...interface{}) error
|
Scan(dest ...interface{}) error
|
||||||
@@ -83,7 +83,7 @@ func (ds *PostgresDatastore) StoreApp(app *models.App) (*models.App, error) {
|
|||||||
_, err = ds.db.Exec(`
|
_, err = ds.db.Exec(`
|
||||||
INSERT INTO apps (name, config)
|
INSERT INTO apps (name, config)
|
||||||
VALUES ($1, $2)
|
VALUES ($1, $2)
|
||||||
ON CONFLICT (app_name) DO UPDATE SET
|
ON CONFLICT (name) DO UPDATE SET
|
||||||
config = $2;
|
config = $2;
|
||||||
`,
|
`,
|
||||||
app.Name,
|
app.Name,
|
||||||
@@ -111,7 +111,7 @@ func (ds *PostgresDatastore) RemoveApp(appName string) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (ds *PostgresDatastore) GetApp(name string) (*models.App, error) {
|
func (ds *PostgresDatastore) GetApp(name string) (*models.App, error) {
|
||||||
row := ds.db.QueryRow("SELECT name FROM apps WHERE name=$1", name)
|
row := ds.db.QueryRow("SELECT name, config FROM apps WHERE name=$1", name)
|
||||||
|
|
||||||
var resName string
|
var resName string
|
||||||
var config string
|
var config string
|
||||||
@@ -185,11 +185,11 @@ func (ds *PostgresDatastore) StoreRoute(route *models.Route) (*models.Route, err
|
|||||||
headers,
|
headers,
|
||||||
config
|
config
|
||||||
)
|
)
|
||||||
VALUES ($1, $2, $3, $4)
|
VALUES ($1, $2, $3, $4, $5)
|
||||||
ON CONFLICT (app_name, path) DO UPDATE SET
|
ON CONFLICT (app_name, path) DO UPDATE SET
|
||||||
path = $2,
|
path = $2,
|
||||||
image = $3,
|
image = $3,
|
||||||
headers = $4;
|
headers = $4,
|
||||||
config = $5;
|
config = $5;
|
||||||
`,
|
`,
|
||||||
route.AppName,
|
route.AppName,
|
||||||
@@ -208,8 +208,8 @@ func (ds *PostgresDatastore) StoreRoute(route *models.Route) (*models.Route, err
|
|||||||
func (ds *PostgresDatastore) RemoveRoute(appName, routePath string) error {
|
func (ds *PostgresDatastore) RemoveRoute(appName, routePath string) error {
|
||||||
_, err := ds.db.Exec(`
|
_, err := ds.db.Exec(`
|
||||||
DELETE FROM routes
|
DELETE FROM routes
|
||||||
WHERE path = $1
|
WHERE path = $1 AND app_name = $2
|
||||||
`, routePath)
|
`, routePath, appName)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@@ -242,7 +242,7 @@ func scanRoute(scanner rowScanner, route *models.Route) error {
|
|||||||
func getRoute(qr rowQuerier, routePath string) (*models.Route, error) {
|
func getRoute(qr rowQuerier, routePath string) (*models.Route, error) {
|
||||||
var route models.Route
|
var route models.Route
|
||||||
|
|
||||||
row := qr.QueryRow(fmt.Sprintf("%s WHERE name=$1", routeSelector), routePath)
|
row := qr.QueryRow(fmt.Sprintf("%s WHERE path=$1", routeSelector), routePath)
|
||||||
err := scanRoute(row, &route)
|
err := scanRoute(row, &route)
|
||||||
|
|
||||||
if err == sql.ErrNoRows {
|
if err == sql.ErrNoRows {
|
||||||
@@ -271,7 +271,7 @@ func (ds *PostgresDatastore) GetRoutes(filter *models.RouteFilter) ([]*models.Ro
|
|||||||
var route models.Route
|
var route models.Route
|
||||||
err := scanRoute(rows, &route)
|
err := scanRoute(rows, &route)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
continue
|
||||||
}
|
}
|
||||||
res = append(res, &route)
|
res = append(res, &route)
|
||||||
|
|
||||||
@@ -297,7 +297,7 @@ func (ds *PostgresDatastore) GetRoutesByApp(appName string, filter *models.Route
|
|||||||
var route models.Route
|
var route models.Route
|
||||||
err := scanRoute(rows, &route)
|
err := scanRoute(rows, &route)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
continue
|
||||||
}
|
}
|
||||||
res = append(res, &route)
|
res = append(res, &route)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user