mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
Vast commit, includes: * Introduces the Trigger domain entity. * Introduces the Fns domain entity. * V2 of the API for interacting with the new entities in swaggerv2.yml * Adds v2 end points for Apps to support PUT updates. * Rewrites the datastore level tests into a new pattern. * V2 routes use entity ID over name as the path parameter.
38 lines
1.2 KiB
Go
38 lines
1.2 KiB
Go
package models
|
|
|
|
import (
|
|
"context"
|
|
"io"
|
|
)
|
|
|
|
type LogStore interface {
|
|
// InsertLog will insert the log at callID, overwriting if it previously
|
|
// existed.
|
|
InsertLog(ctx context.Context, appID, callID string, callLog io.Reader) error
|
|
|
|
// GetLog will return the log at callID, an error will be returned if the log
|
|
// cannot be found.
|
|
GetLog(ctx context.Context, appID, callID string) (io.Reader, error)
|
|
|
|
// TODO we should probably allow deletion of a range of logs (also calls)?
|
|
// common cases for deletion will be:
|
|
// * route gets nuked
|
|
// * app gets nuked
|
|
// * call+logs getting cleaned up periodically
|
|
|
|
// InsertCall inserts a call into the datastore, it will error if the call already
|
|
// exists.
|
|
InsertCall(ctx context.Context, call *Call) error
|
|
|
|
// GetCall returns a call at a certain id and app name.
|
|
GetCall(ctx context.Context, appId, callID string) (*Call, error)
|
|
|
|
// GetCalls returns a list of calls that satisfy the given CallFilter. If no
|
|
// calls exist, an empty list and a nil error are returned.
|
|
GetCalls(ctx context.Context, filter *CallFilter) ([]*Call, error)
|
|
|
|
// Close will close any underlying connections as needed.
|
|
// Close is not safe to be called from multiple threads.
|
|
io.Closer
|
|
}
|