MCPcopy
hub / github.com/iron-io/functions / GetRoutesByApp

Method GetRoutesByApp

api/datastore/postgres/postgres.go:479–512  ·  view source on GitHub ↗
(ctx context.Context, appName string, filter *models.RouteFilter)

Source from the content-addressed store, hash-verified

477}
478
479func (ds *PostgresDatastore) GetRoutesByApp(ctx context.Context, appName string, filter *models.RouteFilter) ([]*models.Route, error) {
480 res := []*models.Route{}
481
482 var filterQuery string
483 var args []interface{}
484 if filter == nil {
485 filterQuery = "WHERE app_name = $1"
486 args = []interface{}{appName}
487 } else {
488 filter.AppName = appName
489 filterQuery, args = buildFilterRouteQuery(filter)
490 }
491 rows, err := ds.db.Query(fmt.Sprintf("%s %s", routeSelector, filterQuery), args...)
492 // todo: check for no rows so we don't respond with a sql 500 err
493 if err != nil {
494 return nil, err
495 }
496 defer rows.Close()
497
498 for rows.Next() {
499 var route models.Route
500 err := scanRoute(rows, &route)
501 if err != nil {
502 continue
503 }
504 res = append(res, &route)
505
506 }
507 if err := rows.Err(); err != nil {
508 return nil, err
509 }
510
511 return res, nil
512}
513func buildFilterAppQuery(filter *models.AppFilter) (string, []interface{}) {
514 if filter == nil {
515 return "", nil

Callers

nothing calls this directly

Calls 4

CloseMethod · 0.80
buildFilterRouteQueryFunction · 0.70
scanRouteFunction · 0.70
NextMethod · 0.65

Tested by

no test coverage detected