Documentation ¶
Overview ¶
Package camtypes is like the types package, but higher-level and contains Camlistore-specific types. It exists mostly to break circular dependencies between index, search, and schema.
Index ¶
- Variables
- func Err(key string) error
- type BlobMeta
- type Claim
- type ClaimPtrsByDate
- type ClaimsByDate
- type Discovery
- type Edge
- type EdgesToOpts
- type FileInfo
- type FileSearchResponse
- type ImageInfo
- type Path
- type PermanodeByAttrRequest
- type PublishRootDiscovery
- type RecentPermanode
- type SearchErrorResponse
- type SignDiscovery
- type StatusError
- type SyncHandlerDiscovery
- type UIDiscovery
- type VerifyResponse
Constants ¶
This section is empty.
Variables ¶
var ( ErrClientNoServer = addCamError("client-no-server", funcStr(func() string { return fmt.Sprintf("No valid server defined. It can be set with the CAMLI_SERVER environment variable, or the --server flag, or in the \"servers\" section of %q (see https://camlistore.org/docs/client-config).", osutil.UserClientConfigPath()) })) ErrClientNoPublicKey = addCamError("client-no-public-key", str("No public key configured: see 'camput init'.")) )
Functions ¶
Types ¶
type BlobMeta ¶
type BlobMeta struct { Ref blob.Ref Size uint32 // CamliType is non-empty if this blob is a Camlistore JSON // schema blob. If so, this is its "camliType" attribute. CamliType string }
BlobMeta is the metadata kept for each known blob in the in-memory search index. It's kept as small as possible to save memory.
type Claim ¶
type ClaimPtrsByDate ¶
type ClaimPtrsByDate []*Claim
func (ClaimPtrsByDate) Len ¶
func (cl ClaimPtrsByDate) Len() int
func (ClaimPtrsByDate) Less ¶
func (cl ClaimPtrsByDate) Less(i, j int) bool
func (ClaimPtrsByDate) Swap ¶
func (cl ClaimPtrsByDate) Swap(i, j int)
type ClaimsByDate ¶
type ClaimsByDate []Claim
func (ClaimsByDate) Len ¶
func (cl ClaimsByDate) Len() int
func (ClaimsByDate) Less ¶
func (cl ClaimsByDate) Less(i, j int) bool
func (ClaimsByDate) String ¶
func (cl ClaimsByDate) String() string
func (ClaimsByDate) Swap ¶
func (cl ClaimsByDate) Swap(i, j int)
type Discovery ¶
type Discovery struct { BlobRoot string `json:"blobRoot"` JSONSignRoot string `json:"jsonSignRoot"` ImporterRoot string `json:"importerRoot"` SearchRoot string `json:"searchRoot"` StatusRoot string `json:"statusRoot"` OwnerName string `json:"ownerName"` // Name of the owner. UserName string `json:"userName"` // Name of the user. // StorageGeneration is the UUID for the storage generation. StorageGeneration string `json:"storageGeneration,omitempty"` // StorageGenerationError is the error that occurred on generating the storage, if any. StorageGenerationError string `json:"storageGenerationError,omitempty"` // StorageInitTime is the initialization time of the storage. StorageInitTime types.Time3339 `json:"storageInitTime,omitempty"` ThumbVersion string `json:"thumbVersion"` // Thumbnailing version. WSAuthToken string `json:"wsAuthToken"` // Authentication token for the WebSocket. // SyncHandlers lists discovery information about the available sync handlers. SyncHandlers []SyncHandlerDiscovery `json:"syncHanlders,omitempty"` // Signing contains discovery information for signing. Signing *SignDiscovery `json:"signing,omitempty"` // UIDiscovery contains discovery information for the UI. *UIDiscovery }
Discovery is the JSON response for discovery requests.
type Edge ¶
type EdgesToOpts ¶
type EdgesToOpts struct {
Max int
}
type FileInfo ¶
type FileInfo struct { // FileName is the base name of the file or directory. FileName string `json:"fileName"` // Size is the size of file. It is not set for directories. Size int64 `json:"size"` // MIMEType may be set for files, but never for directories. MIMEType string `json:"mimeType,omitempty"` // Time is the earliest of any modtime, creation time, or EXIF // original/modification times found. It may be omitted (zero) // if unknown. Time *types.Time3339 `json:"time,omitempty"` // ModTime is the latest of any modtime, creation time, or EXIF // original/modification times found. If ModTime doesn't differ // from Time, ModTime is omitted (zero). ModTime *types.Time3339 `json:"modTime,omitempty"` // WholeRef is the digest of the entire file contents. // This will be zero for non-regular files, and may also be zero // for files above a certain size threshold. WholeRef blob.Ref `json:"wholeRef,omitempty"` }
FileInfo describes a file or directory.
type FileSearchResponse ¶
type FileSearchResponse struct { SearchErrorResponse Files []blob.Ref `json:"files,omitempty"` // Refs of the result files. }
FileSearchResponse is the JSON response to a file search request.
type ImageInfo ¶
type ImageInfo struct { // Width is the visible width of the image (after any necessary EXIF rotation). Width uint16 `json:"width"` // Height is the visible height of the image (after any necessary EXIF rotation). Height uint16 `json:"height"` }
ImageInfo describes an image file.
The Width and Height are uint16s to save memory in index/corpus.go, and that's the max size of a JPEG anyway. If we want to deal with larger sizes, we can use MaxUint16 as a sentinel to mean to look elsewhere. Or ditch this optimization.
type PermanodeByAttrRequest ¶
type PermanodeByAttrRequest struct { Signer blob.Ref // Attribute to search. currently supported: "tag", "title" // If FuzzyMatch is set, this can be blank to search all // attributes. Attribute string // The attribute value to find exactly (or roughly, if // FuzzyMatch is set) // If blank, the permanodes with Attribute as an attribute // (set to any value) are searched. Query string FuzzyMatch bool // by default, an exact match is required MaxResults int // optional max results }
type PublishRootDiscovery ¶
type PublishRootDiscovery struct { Name string `json:"name"` // Prefix lists prefixes belonging to the publishing root. Prefix []string `json:"prefix"` // CurrentPermanode is the permanode associated with the publishing root. CurrentPermanode blob.Ref `json:"currentPermanode"` }
PublishRootDiscovery contains discovery information for the publish roots.
type RecentPermanode ¶
type RecentPermanode struct { Permanode blob.Ref Signer blob.Ref // may be zero (!Valid()) LastModTime time.Time }
func (RecentPermanode) Equal ¶
func (a RecentPermanode) Equal(b RecentPermanode) bool
type SearchErrorResponse ¶
type SearchErrorResponse struct { Error string `json:"error,omitempty"` // The error message. ErrorType string `json:"errorType,omitempty"` // The type of the error. }
SearchErrorResponse is the JSON error response for a search request.
type SignDiscovery ¶
type SignDiscovery struct { // PublicKey is the path to the public signing key. PublicKey string `json:"publicKey,omitempty"` // PublicKeyBlobRef is the blob.Ref for the public key. PublicKeyBlobRef blob.Ref `json:"publicKeyBlobRef,omitempty"` // PublicKeyID is the ID of the public key. PublicKeyID string `json:"publicKeyId"` // SignHandler is the URL path prefix to the signing handler. SignHandler string `json:"signHandler"` // VerifyHandler it the URL path prefix to the signature verification handler. VerifyHandler string `json:"verifyHandler"` }
SignDiscovery contains discovery information for jsonsign. It is part of the server's JSON response for discovery requests.
type StatusError ¶
type SyncHandlerDiscovery ¶
type SyncHandlerDiscovery struct { // From is the source of the sync handler. From string `json:"from"` // To is the destination of the sync handler. To string `json:"to"` // ToIndex is true if the sync is from a blob storage to an index. ToIndex bool `json:"toIndex"` }
SyncHandlerDiscovery contains discovery information about a sync handler. It is part of the JSON response to discovery requests.
type UIDiscovery ¶
type UIDiscovery struct { // UIRoot is the URL prefix path to the UI handler. UIRoot string `json:"uiRoot"` // UploadHelper is the path to the upload helper. UploadHelper string `json:"uploadHelper"` // DirectoryHelper is the path to the directory helper. DirectoryHelper string `json:"directoryHelper"` // DownloaderHelper is the path to the downloader helper. DownloadHelper string `json:"downloadHelper"` // PublishRoots lists discovery information for all publishing roots, // mapped by the respective root name. PublishRoots map[string]*PublishRootDiscovery `json:"publishRoots"` }
UIDiscovery contains discovery information for the user interface. It is part of the JSON response to discovery requests.
type VerifyResponse ¶
type VerifyResponse struct { // SignatureValid is true if the signature is valid. SignatureValid bool `json:"signatureValid"` // ErrorMessage contains the error that occurred, if any. ErrorMessage string `json:"errorMessage,omitempty"` // SignerKeyId is the ID of the signing key. SignerKeyId string `json:"signerKeyId,omitempty"` // VerifiedData contains the JSON values from the payload that we signed. VerifiedData map[string]interface{} `json:"verifiedData,omitempty"` }
VerifyResponse is the JSON response for a signature verification request.