MCPcopy Create free account
hub / github.com/fnproject/fn / buildFilterTriggerQuery

Function buildFilterTriggerQuery

api/datastore/sql/sql.go:957–992  ·  view source on GitHub ↗
(filter *models.TriggerFilter)

Source from the content-addressed store, hash-verified

955}
956
957func buildFilterTriggerQuery(filter *models.TriggerFilter) (string, []interface{}, error) {
958 var b bytes.Buffer
959 var args []interface{}
960
961 fmt.Fprintf(&b, `app_id = ?`)
962 args = append(args, filter.AppID)
963
964 if filter.FnID != "" {
965 fmt.Fprintf(&b, ` AND fn_id = ?`)
966 args = append(args, filter.FnID)
967 }
968
969 if filter.Name != "" {
970 fmt.Fprintf(&b, ` AND name = ?`)
971 args = append(args, filter.Name)
972 }
973
974 if filter.Cursor != "" {
975 s, err := base64.RawURLEncoding.DecodeString(filter.Cursor)
976 if err != nil {
977 return "", nil, err
978 }
979
980 fmt.Fprintf(&b, ` AND name > ?`)
981 args = append(args, string(s))
982 }
983
984 fmt.Fprintf(&b, ` ORDER BY name ASC`)
985
986 if filter.PerPage > 0 {
987 fmt.Fprintf(&b, ` LIMIT ?`)
988 args = append(args, filter.PerPage)
989 }
990
991 return b.String(), args, nil
992}
993
994func (ds *SQLStore) GetTriggers(ctx context.Context, filter *models.TriggerFilter) (*models.TriggerList, error) {
995 res := &models.TriggerList{Items: []*models.Trigger{}}

Callers 1

GetTriggersMethod · 0.85

Calls 1

StringMethod · 0.45

Tested by

no test coverage detected