Documentation ¶
Index ¶
- func GetCsvFileEvents(authData AuthData, ffsURI string, query Query) (*[]CsvFileEvent, error)
- func GetJsonFileEvents(authData AuthData, ffsURI string, query Query, pgToken string, debugging bool) (*[]JsonFileEvent, string, error)
- type AuthData
- type CsvFileEvent
- type FieldError
- type Group
- type JsonFileEvent
- type JsonFileEventResponse
- type Query
- type QueryProblem
- type SearchFilter
- type SharedWith
- type Tab
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetCsvFileEvents ¶ added in v0.4.1
func GetCsvFileEvents(authData AuthData, ffsURI string, query Query) (*[]CsvFileEvent, error)
getCsvFileEvents - Function to get the actual event records from FFS *http.Response from ExecQuery This function contains a panic if the csv columns do not match the currently specified list. This is to prevent data from being messed up during parsing.
func GetJsonFileEvents ¶ added in v0.4.1
Types ¶
type AuthData ¶
type AuthData struct { AccessToken string `json:"access_token"` Error string `json:"error,omitempty"` Warnings string `json:"warnings,omitempty"` TokenType string `json:"token_type,omitempty"` ExpiresIn *int `json:"expires_in,omitempty"` }
AuthData Structs of Crashplan FFS API Authentication Token Return
func GetAuthData ¶
GetAuthData - Function to get the Authentication data (mainly the authentication token) which will be needed for the rest of the API calls The authentication token is good for up to 1 hour before it expires
type CsvFileEvent ¶ added in v0.4.1
type CsvFileEvent struct { EventId string `json:"eventId,omitempty"` EventType string `json:"eventType,omitempty"` EventTimestamp *time.Time `json:"eventTimestamp,omitempty"` InsertionTimestamp *time.Time `json:"insertionTimestamp,omitempty"` FilePath string `json:"filePath,omitempty"` FileName string `json:"fileName,omitempty"` FileType string `json:"fileType,omitempty"` FileCategory string `json:"fileCategory,omitempty"` IdentifiedExtensionCategory string `json:"identifiedExtensionCategory,omitempty"` CurrentExtensionCategory string `json:"currentExtensionCategory,omitempty"` FileSize *int `json:"fileSize,omitempty"` FileOwner []string `json:"fileOwner,omitempty"` //Array of owners Md5Checksum string `json:"md5Checksum,omitempty"` Sha256Checksum string `json:"sha256Checksum,omitempty"` CreatedTimestamp *time.Time `json:"createdTimestamp,omitempty"` ModifyTimestamp *time.Time `json:"modifyTimestamp,omitempty"` DeviceUsername string `json:"deviceUsername,omitempty"` DeviceUid string `json:"deviceUid,omitempty"` UserUid string `json:"userUid,omitempty"` OsHostname string `json:"osHostname,omitempty"` DomainName string `json:"domainName,omitempty"` PublicIpAddress string `json:"publicIpAddress,omitempty"` PrivateIpAddresses []string `json:"privateIpAddresses,omitempty"` //Array of IP address strings Actor string `json:"actor,omitempty"` DirectoryId []string `json:"directoryId,omitempty"` //An array of something, I am not sure Source string `json:"source,omitempty"` Url string `json:"url,omitempty"` SharingTypeAdded []string `json:"sharingTypeAdded,omitempty"` CloudDriveId string `json:"cloudDriveId,omitempty"` DetectionSourceAlias string `json:"detectionSourceAlias,omitempty"` FileId string `json:"fileId,omitempty"` Exposure []string `json:"exposure,omitempty"` ProcessOwner string `json:"processOwner,omitempty"` ProcessName string `json:"processName,omitempty"` TabWindowTitle string `json:"tabWindowTitle,omitempty"` TabUrl string `json:"tabUrl,omitempty"` TabTitles []string `json:"tabTitles,omitempty"` TabURLs []string `json:"tabURLs,omitempty"` RemovableMediaVendor string `json:"removableMediaVendor,omitempty"` RemovableMediaName string `json:"removableMediaName,omitempty"` RemovableMediaSerialNumber string `json:"removableMediaSerialNumber,omitempty"` RemovableMediaCapacity *int `json:"removableMediaCapacity,omitempty"` RemovableMediaBusType string `json:"removableMediaBusType,omitempty"` RemovableMediaMediaName string `json:"removableMediaMediaName,omitempty"` RemovableMediaVolumeName string `json:"removableMediaVolumeName,omitempty"` RemovableMediaPartitionId string `json:"removableMediaPartitionId,omitempty"` SyncDestination string `json:"syncDestination,omitempty"` SyncDestinationUsername string `json:"syncDestinationUsername,omitempty"` EmailDLPPolicyNames []string `json:"emailDLPPolicyNames,omitempty"` EmailDLPSubject string `json:"emailDLPSubject,omitempty"` EmailDLPSender string `json:"emailDLPSender,omitempty"` EmailDLPFrom string `json:"emailDLPFrom,omitempty"` EmailDLPRecipients []string `json:"emailDLPRecipients,omitempty"` OutsideActiveHours *bool `json:"outsideActiveHours,omitempty"` IdentifiedExtensionMIMEType string `json:"identifiedExtensionMimeType,omitempty"` CurrentExtensionMIMEType string `json:"currentExtensionMimeType,omitempty"` SuspiciousFileTypeMismatch *bool `json:"suspiciousFileTypeMismatch,omitempty"` PrintJobName string `json:"printJobName,omitempty"` PrinterName string `json:"printerName,omitempty"` PrintedFilesBackupPath string `json:"printedFilesBackupPath,omitempty"` RemoteActivity string `json:"remoteActivity,omitempty"` Trusted *bool `json:"trusted,omitempty"` LoggedInOperatingSystemUser string `json:"loggedInOperatingSystemUser,omitempty"` DestinationCategory string `json:"destinationCategory,omitempty"` DestinationName string `json:"destinationName,omitempty"` }
The CSV main body of a file event record
type FieldError ¶ added in v0.4.1
type Group ¶
type Group struct { Filters []SearchFilter `json:"filters"` FilterClause string `json:"filterClause,omitempty"` }
type JsonFileEvent ¶ added in v0.4.1
type JsonFileEvent struct { Actor string `json:"actor,omitempty"` CloudDriveId string `json:"cloudDriveId,omitempty"` CreateTimestamp string `json:"createTimestamp,omitempty"` DestinationCategory string `json:"destinationCategory,omitempty"` DestinationName string `json:"destinationName,omitempty"` DetectionSourceAlias string `json:"detectionSourceAlias,omitempty"` DeviceUid string `json:"deviceUid,omitempty"` DeviceUserName string `json:"deviceUserName,omitempty"` DirectoryId []string `json:"directoryId,omitempty"` DomainName string `json:"domainName,omitempty"` EmailDlpPolicyNames []string `json:"emailDlpPolicyNames,omitempty"` EmailFrom string `json:"emailFrom,omitempty"` EmailRecipients []string `json:"emailRecipients,omitempty"` EmailSender string `json:"emailSender,omitempty"` EmailSubject string `json:"emailSubject,omitempty"` EventId string `json:"eventId"` EventTimestamp string `json:"eventTimestamp,omitempty"` EventType string `json:"eventType,omitempty"` Exposure []string `json:"exposure,omitempty"` FieldErrors []FieldError `json:"fieldErrors,omitempty"` FileCategory string `json:"fileCategory,omitempty"` FileCategoryByBytes string `json:"fileCategoryByBytes,omitempty"` FileCategoryByExtension string `json:"fileCategoryByExtension,omitempty"` FileId string `json:"fileId,omitempty"` FileName string `json:"fileName,omitempty"` FileOwner string `json:"fileOwner,omitempty"` FilePath string `json:"filePath,omitempty"` FileSize *int64 `json:"fileSize,omitempty"` FileType string `json:"fileType,omitempty"` InsertionTimestamp string `json:"insertionTimestamp,omitempty"` Md5Checksum string `json:"md5Checksum,omitempty"` MimeTypeByBytes string `json:"mimeTypeByBytes,omitempty"` MimeTypeByExtension string `json:"mimeTypeByExtension,omitempty"` MimeTypeMismatch *bool `json:"mimeTypeMismatch,omitempty"` ModifyTimestamp string `json:"modifyTimestamp,omitempty"` OperatingSystemUser string `json:"operatingSystemUser,omitempty"` OsHostName string `json:"osHostName,omitempty"` OutsideActiveHours *bool `json:"outsideActiveHours,omitempty"` PrintJobName string `json:"printJobName,omitempty"` PrinterName string `json:"printerName,omitempty"` PrivateIpAddresses []string `json:"privateIpAddresses,omitempty"` ProcessName string `json:"processName,omitempty"` ProcessOwner string `json:"processOwner,omitempty"` PublicIpAddress string `json:"publicIpAddress,omitempty"` RemoteActivity string `json:"remoteActivity,omitempty"` RemovableMediaBusType string `json:"removableMediaBusType,omitempty"` RemovableMediaCapacity *int64 `json:"removableMediaCapacity,omitempty"` RemovableMediaMediaName string `json:"removableMediaMediaName,omitempty"` RemovableMediaName string `json:"removableMediaName,omitempty"` RemovableMediaPartitionId []string `json:"removableMediaPartitionId,omitempty"` RemovableMediaSerialNumber string `json:"removableMediaSerialNumber,omitempty"` RemovableMediaVendor string `json:"removableMediaVendor,omitempty"` RemovableMediaVolumeName []string `json:"removableMediaVolumeName,omitempty"` Sha256Checksum string `json:"sha256Checksum,omitempty"` SharingTypeAdded []string `json:"sharingTypeAdded,omitempty"` Source string `json:"source,omitempty"` SyncDestination string `json:"syncDestination,omitempty"` SyncDestinationUsername []string `json:"syncDestinationUsername,omitempty"` TabUrl string `json:"tabUrl,omitempty"` Tabs []Tab `json:"tabs,omitempty"` Trusted *bool `json:"trusted,omitempty"` Url string `json:"url,omitempty"` UserUid string `json:"userUid,omitempty"` WindowTitle []string `json:"windowTitle,omitempty"` }
type JsonFileEventResponse ¶ added in v0.4.1
type JsonFileEventResponse struct { FileEvents []JsonFileEvent `json:"fileEvents,omitempty"` NextPgToken string `json:"nextPgToken,omitempty"` Problems []QueryProblem `json:"problems,omitempty"` TotalCount *int64 `json:"totalCount,omitempty"` }
func GetJsonFileEventResponse ¶ added in v0.4.1
func GetJsonFileEventResponse(resp *http.Response) (*JsonFileEventResponse, error)
type Query ¶
type Query struct { Groups []Group `json:"groups"` GroupClause string `json:"groupClause,omitempty"` PgNum int `json:"pgNum,omitempty"` PgSize int `json:"pgSize,omitempty"` PgToken string `json:"pgToken"` SrtDir string `json:"srtDir,omitempty"` SrtKey string `json:"srtKey,omitempty"` }
Structs for FFS Queries
type QueryProblem ¶ added in v0.4.1
type QueryProblem struct { BadFilter SearchFilter `json:"badFilter,omitempty"` Description string `json:"description,omitempty"` Type string `json:"type,omitempty"` }
type SearchFilter ¶ added in v0.4.1
type SharedWith ¶ added in v0.4.1
type SharedWith struct {
} Click to show internal directories.
Click to hide internal directories.