46 lines
1.9 KiB
Go
46 lines
1.9 KiB
Go
package influxdb
|
|
|
|
import (
|
|
"context"
|
|
"time"
|
|
|
|
"github.com/influxdata/influxdb/v2/kit/platform"
|
|
)
|
|
|
|
// OperationLogEntry is a record in an operation log.
|
|
type OperationLogEntry struct {
|
|
Description string `json:"description"`
|
|
UserID platform.ID `json:"userID,omitempty"`
|
|
Time time.Time `json:"time,omitempty"`
|
|
}
|
|
|
|
// DashboardOperationLogService is an interface for retrieving the operation log for a dashboard.
|
|
type DashboardOperationLogService interface {
|
|
// GetDashboardOperationLog retrieves the operation log for the dashboard with the provided id.
|
|
GetDashboardOperationLog(ctx context.Context, id platform.ID, opts FindOptions) ([]*OperationLogEntry, int, error)
|
|
}
|
|
|
|
// BucketOperationLogService is an interface for retrieving the operation log for a bucket.
|
|
type BucketOperationLogService interface {
|
|
// GetBucketOperationLog retrieves the operation log for the bucket with the provided id.
|
|
GetBucketOperationLog(ctx context.Context, id platform.ID, opts FindOptions) ([]*OperationLogEntry, int, error)
|
|
}
|
|
|
|
// UserOperationLogService is an interface for retrieving the operation log for a user.
|
|
type UserOperationLogService interface {
|
|
// GetUserOperationLog retrieves the operation log for the user with the provided id.
|
|
GetUserOperationLog(ctx context.Context, id platform.ID, opts FindOptions) ([]*OperationLogEntry, int, error)
|
|
}
|
|
|
|
// OrganizationOperationLogService is an interface for retrieving the operation log for an org.
|
|
type OrganizationOperationLogService interface {
|
|
// GetOrganizationOperationLog retrieves the operation log for the org with the provided id.
|
|
GetOrganizationOperationLog(ctx context.Context, id platform.ID, opts FindOptions) ([]*OperationLogEntry, int, error)
|
|
}
|
|
|
|
// DefaultOperationLogFindOptions are the default options for the operation log.
|
|
var DefaultOperationLogFindOptions = FindOptions{
|
|
Descending: true,
|
|
Limit: 100,
|
|
}
|