Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Argument ¶
type Argument struct {
ID int64 `json:"id"`
Version int `json:"version"`
Conclusion string `json:"conclusion"`
Premises []string `json:"premises"`
}
Argument is the core data type for the API.
type Deleter ¶
type Deleter interface {
// Delete deletes an argument (and all its versions) from the site.
// If the argument didn't exist, the error will be a NotFoundError.
Delete(ctx context.Context, id int64) error
}
Deleter can delete arguments by ID.
type FetchSomeOptions ¶
type FetchSomeOptions struct {
// Conclusion only finds arguments which support a given conclusion
Conclusion string
// ConclusionContainsAll limits returned arguments to ones with conclusions that
// contain all the words in this array.
ConclusionContainsAll []string
// Count limits the number of fetched arguments.
Count int
// Exclude prevents arguments which have any of these IDs from being returned
Exclude []int64
// Offset changes which arguments start being returned.
//
// An offset of 0 will return arguments starting with the first one.
// An offset of 1 will skip the first argument, and return arguments starting with the second.
//
// When combined with Count, this can be used to paginate the results.
Offset int
}
FetchSomeOptions has some ways to limit what gets returned when fetching all the arguments.
type GetLive ¶
type GetLive interface {
// FetchLive should return the latest "active" version of an argument.
// If no argument with this ID exists, the error should be an arguments.NotFoundError.
FetchLive(ctx context.Context, id int64) (Argument, error)
}
GetLive can fetch the live version of an argument.
type GetSome ¶
type GetSome interface {
// FetchSome finds the arguments which match the options.
// If none exist, error will be nil and the slice empty.
FetchSome(ctx context.Context, options FetchSomeOptions) ([]Argument, error)
}
GetSome can fetch lists of arguments at once.
type GetVersioned ¶
type GetVersioned interface {
// FetchVersion should return a particular version of an argument.
// If the the argument didn't exist, the error should be an arguments.NotFoundError.
FetchVersion(ctx context.Context, id int64, version int) (Argument, error)
}
GetVersioned returns a specific version of an argument.
type NotFoundError ¶
type NotFoundError struct {
Message string
Args []interface{}
}
NotFoundError will be returned by Store.Fetch() calls when the cause of the returned error is that the argument simply doesn't exist.
func (*NotFoundError) Error ¶
func (e *NotFoundError) Error() string
type Saver ¶
type Saver interface {
// Save stores an argument and returns that argument's ID.
// The ID on the input argument will be ignored.
Save(ctx context.Context, argument Argument) (id int64, err error)
}
Saver can save arguments.
type Store ¶
Store combines all the functions needed to read & write Arguments into a single interface.
type Updater ¶
type Updater interface {
// Update makes a new version of the argument. It returns the new argument's version.
// If no argument with this ID exists, the returned error is an arguments.NotFoundError.
Update(ctx context.Context, argument Argument) (version int, err error)
}
Updater can update existing arguments.
Click to show internal directories.
Click to hide internal directories.