Documentation ¶
Index ¶
- Constants
- Variables
- func ResponseBodyIfOK(resp *http.Response, err error) ([]byte, error)
- type AuthResp
- type Authentication
- type Bool
- type CabinetSearchFoldersResponse
- type CabinetSearchInfo
- type CabinetSearchResponse
- type CabinetSearchResult
- type Cabinets
- type CabinetsResponse
- type Client
- func (client *Client) AddFolder(f Folder) (folder Folder, err error)
- func (client *Client) DeleteFolder(folderToDelete FolderDeleteRequest) (response FolderDeleteResponse, err error)
- func (client Client) Do(req *http.Request) (*http.Response, error)
- func (client *Client) EditFolder(request FolderEditRequest) (response FolderEditResponse, err error)
- func (client *Client) FilesAdd(file FilesAddRequest) (err error)
- func (client *Client) FilesDownload(filesDownload FilesDownloadRequest) (file FilesDownloadResponse, err error)
- func (client *Client) FilesGetFilesInFolder(department string, cabinet string, folderId int) (files FilesInFolder, err error)
- func (client *Client) FilesUploadToFolder(file FilesUploadToFolderRequest) (fileId int, err error)
- func (client *Client) GetDepartments() (deps Departments, err error)
- func (client *Client) GetDocumentTypes(department, cabinet string) (dTypes DocumentTypes, err error)
- func (client *Client) GetFolders(department string, cabinet string) (f Folders, err error)
- func (client *Client) GetPersonalInboxInfo() (result PersonalInboxInfoResponse, err error)
- func (client *Client) GetSavedTabs(department string, cabinet string) (f TabInfoList, err error)
- func (client Client) GetServerResponse(url string, method string, body io.Reader) (resp *http.Response, err error)
- func (client *Client) GetTabInfo(department string, cabinet string, folder string) (f TabInfoList, err error)
- func (client *Client) GetWorkflowDefinitions() (result WorkflowDefinitionsResponse, err error)
- func (client *Client) ListCabinets() (cabinets Cabinets, err error)
- func (client Client) NewAuthRequest(path string, method string, body io.Reader) (req *http.Request, err error)
- func (client *Client) SearchCabinet(cabinet string, query ...IndexQuery) (results []CabinetSearchResult, err error)
- func (client *Client) SearchCabinetFolders(cabinet string, query ...IndexQuery) (results CabinetSearchInfo, err error)
- func (client *Client) StartWorkflow(w Workflow) (result StartWorkflowResponse, err error)
- type Config
- type Date
- type DepartmentResponse
- type Departments
- type DocumentTypes
- type DocumentTypesResponse
- type File
- type FilesAddRequest
- type FilesAddResponse
- type FilesDownloadRequest
- type FilesDownloadResponse
- type FilesGetFilesInFolderResponse
- type FilesInFolder
- type FilesUploadToFolderRequest
- type FilesUploadToFolderResponse
- type Folder
- type FolderAddResponse
- type FolderDeleteRequest
- type FolderDeleteResponse
- type FolderEditRequest
- type FolderEditResponse
- type Folders
- type FoldersResponse
- type Index
- type IndexQuery
- type Indices
- type PersonalInboxInfo
- type PersonalInboxInfoResponse
- type StartWorkflowResponse
- type StartWorkflowResult
- type TabInfoList
- type TabInfoResponse
- type TabRequest
- type User
- type Workflow
- type WorkflowDefinition
- type WorkflowDefinitionsResponse
Constants ¶
const DateFormat = "01/02/2006"
DateFormat format used by treeno
Variables ¶
var ErrNotImplemented = fmt.Errorf("not implemented")
ErrNotImplemented this method isn't implemented yet
var ErrNotOK = fmt.Errorf("Status Not OK")
Functions ¶
Types ¶
type AuthResp ¶
type AuthResp struct { Authentication Authentication `json:"authentication"` HasError bool `json:"hasError"` ErrorMessage string `json:"errorMessage"` }
AuthResp authentication response
type Authentication ¶
type Authentication struct { User User `json:"user"` Token string `json:"token"` RefreshToken string `json:"refreshToken"` Expiration treenoTime `json:"expiration"` }
Authentication authentication info
type Bool ¶ added in v0.0.9
type Bool bool
Bool Treeno representation of a bool, like "True", "Yes", etc.
func (*Bool) MarshalJSON ¶ added in v0.0.9
MarshalJSON Marshall to valid Treeno date
func (*Bool) UnmarshalJSON ¶ added in v0.0.9
UnmarshalJSON Unmarshall from treeno some kind of positive representation to go bool
type CabinetSearchFoldersResponse ¶ added in v0.0.8
type CabinetSearchFoldersResponse struct { CabinetSearchInfo CabinetSearchInfo `json:"CabinetSearchInfo"` HasError bool `json:"HasError"` ErrorMessage string `json:"errorMessage"` }
type CabinetSearchInfo ¶ added in v0.0.8
type CabinetSearchResponse ¶
type CabinetSearchResponse struct { Results []CabinetSearchResult `json:"results"` HasError bool `json:"hasError"` ErrorMessage string `json:"errorMessage"` }
CabinetSearchResponse contains results from a search, and errors if there was errors
type CabinetSearchResult ¶
type CabinetSearchResult struct { DocId int `json:"docId"` Indices Indices `json:"cabinetIndices"` }
CabinetSearchResult is the contents of a Cabinet Search
type Cabinets ¶
type Cabinets []struct { IsAutoComplete bool `json:"isAutoComplete"` SavedTabs []string `json:"savedTabs"` DataTypeDefinitions struct{} `json:"dataTypeDefinitions"` Indices []string `json:"indices"` DepartmentRealName string `json:"departmentRealName"` DepartmentDisplayName string `json:"departmentDisplayName"` IsDocumentView bool `json:"isDocumentView"` CabinetID int `json:"cabinetId"` RealName string `json:"realName"` DisplayName string `json:"displayName"` }
Cabinets slice of cabinets for the department
type CabinetsResponse ¶
type CabinetsResponse struct { Cabinets Cabinets `json:"cabinets"` HasError bool `json:"hasError"` ErrorMessage string `json:"errorMessage"` }
CabinetsResponse response containing any errors and the Cabinets
type Client ¶
type Client struct { Authentication Authentication DefaultDepartment string // contains filtered or unexported fields }
Client treeno client containing an http.Client that makes requests
func NewService ¶
NewService Create a new service with the config, and set a default department
func (*Client) DeleteFolder ¶ added in v0.0.7
func (client *Client) DeleteFolder(folderToDelete FolderDeleteRequest) (response FolderDeleteResponse, err error)
DeleteFolder delete a folder from a cabinet
func (*Client) EditFolder ¶ added in v0.0.8
func (client *Client) EditFolder(request FolderEditRequest) (response FolderEditResponse, err error)
EditFolder edits a folder in the thing
func (*Client) FilesAdd ¶
func (client *Client) FilesAdd(file FilesAddRequest) (err error)
FilesAdd Adds a selected file to specific subfolder/tab TODO NOT IMPLEMENTED and also not needed maybe?
func (*Client) FilesDownload ¶
func (client *Client) FilesDownload(filesDownload FilesDownloadRequest) (file FilesDownloadResponse, err error)
FilesDownload download a file TODO NOT TESTED
func (*Client) FilesGetFilesInFolder ¶
func (client *Client) FilesGetFilesInFolder(department string, cabinet string, folderId int) (files FilesInFolder, err error)
FilesGetFilesInFolder TODO NOT TESTED department real name cabinet real name
func (*Client) FilesUploadToFolder ¶
func (client *Client) FilesUploadToFolder(file FilesUploadToFolderRequest) (fileId int, err error)
FilesUploadToFolder Upload a file to a folder
func (*Client) GetDepartments ¶
func (client *Client) GetDepartments() (deps Departments, err error)
GetDepartments get departments
func (*Client) GetDocumentTypes ¶
func (client *Client) GetDocumentTypes(department, cabinet string) (dTypes DocumentTypes, err error)
GetDocumentTypes Get a list of document types for a cabinet in a department TODO UNTESTED
func (*Client) GetFolders ¶
GetFolders return list of folders in a cabinet
func (*Client) GetPersonalInboxInfo ¶ added in v0.0.6
func (client *Client) GetPersonalInboxInfo() (result PersonalInboxInfoResponse, err error)
func (*Client) GetSavedTabs ¶
func (client *Client) GetSavedTabs(department string, cabinet string) (f TabInfoList, err error)
GetSavedTabs Gets list of saved tabs name for a cabinet
func (Client) GetServerResponse ¶
func (client Client) GetServerResponse(url string, method string, body io.Reader) (resp *http.Response, err error)
GetServerResponse by doing an auth request
func (*Client) GetTabInfo ¶
func (client *Client) GetTabInfo(department string, cabinet string, folder string) (f TabInfoList, err error)
GetTabInfo UNTESTED, im not sure what this is for. I just noticed that it's a post not a get returns list of tabs for a folder in a cabinet.
func (*Client) GetWorkflowDefinitions ¶ added in v0.0.5
func (client *Client) GetWorkflowDefinitions() (result WorkflowDefinitionsResponse, err error)
GetWorkflowDefinitions gets a list of available workflow ids and names
func (*Client) ListCabinets ¶
ListCabinets Returns a list of cabinets in a department
func (Client) NewAuthRequest ¶
func (client Client) NewAuthRequest(path string, method string, body io.Reader) (req *http.Request, err error)
NewAuthRequest with auth header and body
func (*Client) SearchCabinet ¶
func (client *Client) SearchCabinet(cabinet string, query ...IndexQuery) (results []CabinetSearchResult, err error)
SearchCabinet Searches cabinet for folders by index value Gotcha: Cabinet index names are all lower case for some reason
func (*Client) SearchCabinetFolders ¶ added in v0.0.8
func (client *Client) SearchCabinetFolders(cabinet string, query ...IndexQuery) (results CabinetSearchInfo, err error)
SearchCabinetFolders Searches cabinet for folders by index value. Returns only Folder IDs Gotcha: Cabinet index names are all lower case for some reason
func (*Client) StartWorkflow ¶ added in v0.0.3
func (client *Client) StartWorkflow(w Workflow) (result StartWorkflowResponse, err error)
StartWorkflow from a workflow request
type Config ¶
Config Configs required to create a client
func (*Config) Authenticate ¶
func (conf *Config) Authenticate() (*Authentication, error)
Authenticate authenticates to the treeno API
type Date ¶ added in v0.0.9
Date Valid Treeno date
func (*Date) MarshalJSON ¶ added in v0.0.9
MarshalJSON Marshall to valid Treeno date
func (*Date) UnmarshalJSON ¶ added in v0.0.9
UnmarshalJSON Unmarshall from treeno time to go time
type DepartmentResponse ¶
type DepartmentResponse struct { Departments Departments `json:"departments"` HasError bool `json:"hasError"` ErrorMessage string `json:"errorMessage"` }
DepartmentResponse response for GetDepartments
type Departments ¶
Departments slice of departments in treeno
type DocumentTypes ¶
type DocumentTypes []struct { DocumentTypeID int `json:"documentTypeID"` DocumentTypeEnabled int `json:"documentTypeEnabled"` InternalName string `json:"internalName"` DisplayName string `json:"displayName"` Indices []struct { ID int `json:"id"` Index string `json:"index"` Value string `json:"value"` } `json:"indices"` DocTypeIndexDefs []struct { IndexName string `json:"indexName"` DefinitionList []string `json:"definitionList"` } `json:"docTypeIndexDefs"` }
DocumentTypes in a given department and cabinet
type DocumentTypesResponse ¶
type DocumentTypesResponse struct { DocumentTypes DocumentTypes `json:"documentTypes"` HasError bool `json:"hasError"` ErrorMessage string `json:"errorMessage"` }
DocumentTypesResponse Response containing any errors and the DocumentTypes
type File ¶
type File struct { FileID int `json:"fileId"` FileFullName string `json:"fileFullName"` Department string `json:"department"` Cabinet string `json:"cabinet"` FolderID int `json:"folderId"` TabID int `json:"tabId"` }
File represents a file in treeno
type FilesAddRequest ¶
type FilesAddRequest struct { }
FilesAddRequest TODO seems like it's not finished
type FilesAddResponse ¶
type FilesAddResponse struct { File File `json:"file"` HasError bool `json:"hasError"` ErrorMessage string `json:"errorMessage"` }
FilesAddResponse Response containing any errors and the file that was added
type FilesDownloadRequest ¶
type FilesDownloadRequest struct { Department string `json:"department"` Cabinet string `json:"cabinet"` FileIds []int `json:"fileIds"` Format string `json:"format"` // optional Filename string `json:"filename"` // optional }
FilesDownloadRequest request for file download
type FilesDownloadResponse ¶
type FilesDownloadResponse struct { DownloadFile FilesDownloadRequest `json:"downloadFile"` FileContent []byte `json:"fileContent"` HasError bool `json:"hasError"` ErrorMessage string `json:"errorMessage"` }
FilesDownloadResponse Response containing any errors, the file contents and the request
type FilesGetFilesInFolderResponse ¶
type FilesGetFilesInFolderResponse struct { Files FilesInFolder `json:"files"` HasError bool `json:"hasError"` ErrorMessage string `json:"errorMessage"` }
FilesGetFilesInFolderResponse Response containing any errors and the files in the folder
type FilesInFolder ¶
type FilesInFolder []struct { FileID int `json:"fileId"` Filename string `json:"filename"` Subfolder string `json:"subfolder"` }
FilesInFolder slice of filenames and ids
type FilesUploadToFolderRequest ¶
type FilesUploadToFolderRequest struct { Department string `json:"department"` CabinetID int `json:"cabinetId"` DocID int `json:"docId"` TabID int `json:"tabId,omitempty"` Filename string `json:"filename"` FileContent []byte `json:"fileContent"` }
FilesUploadToFolderRequest request for file upload
type FilesUploadToFolderResponse ¶
type FilesUploadToFolderResponse struct { Upload FilesUploadToFolderRequest `json:"upload"` FileID int `json:"fileId"` HasError bool `json:"hasError"` ErrorMessage string `json:"errorMessage"` }
FilesUploadToFolderResponse Response containing any errors and the initial request
type Folder ¶
type Folder struct { FolderID int `json:"folderId"` // optional CabinetID int `json:"cabinetId"` // optional, this or cabinet might be required Department string `json:"department"` Cabinet string `json:"cabinet"` // optional, this or cabinetId might be required Indices Indices `json:"indices"` }
Folder represents a folder in Treeno
func (*Folder) IndexValue ¶
IndexValue Find the value for a given index, or empty string
type FolderAddResponse ¶
type FolderAddResponse struct { Folder Folder `json:"folder"` HasError bool `json:"hasError"` ErrorMessage string `json:"errorMessage"` }
FolderAddResponse Response to add folder to cabinet
type FolderDeleteRequest ¶ added in v0.0.7
type FolderDeleteResponse ¶ added in v0.0.7
type FolderDeleteResponse struct { Folder FolderDeleteRequest `json:"folder"` HasError bool `json:"hasError"` ErrorMessage string `json:"errorMessage"` }
type FolderEditRequest ¶ added in v0.0.8
type FolderEditResponse ¶ added in v0.0.8
type FolderEditResponse struct { HasError bool `json:"HasError"` ErrorMessage string `json:"ErrorMessage"` IsSuccess bool `json:"IsSuccess"` Folder struct { DocId int `json:"DocId"` Department string `json:"Department"` Cabinet string `json:"Cabinet"` Indices []struct { Index string `json:"Index"` Value string `json:"Value"` } `json:"Indices"` } `json:"Folder"` }
type FoldersResponse ¶
type FoldersResponse struct { Folders Folders `json:"folders"` HasError bool `json:"hasError"` ErrorMessage string `json:"errorMessage"` }
FoldersResponse GetFolders response
type IndexQuery ¶
type IndexQuery struct { Id int `json:"id,omitempty"` Index string `json:"index"` Value string `json:"value,omitempty"` Operator string `json:"operator,omitempty"` }
IndexQuery for querying cabinets Available operators contains endswith startswith isblank < <= > >= equalto
type Indices ¶
type Indices []Index
Indices slice of indexes
func (Indices) ToJSON ¶ added in v0.0.9
ToJSON marshall indexes to json for the purpose of unmarshalling
type PersonalInboxInfo ¶ added in v0.0.6
type PersonalInboxInfoResponse ¶ added in v0.0.6
type PersonalInboxInfoResponse struct { Info []PersonalInboxInfo `json:"info"` HasError bool `json:"hasError"` ErrorMessage string `json:"errorMessage"` }
type StartWorkflowResponse ¶ added in v0.0.3
type StartWorkflowResponse struct { IsSuccess bool `json:"isSuccess"` Result StartWorkflowResult `json:"result"` HasError bool `json:"hasError"` ErrorMessage string `json:"errorMessage"` }
StartWorkflowResponse server response for starting a workflow
type StartWorkflowResult ¶ added in v0.0.3
type StartWorkflowResult struct { Success bool `json:"success"` ToDoUsers []string `json:"toDoUsers"` WfDocId int `json:"wfDocId"` NodeId int `json:"nodeId"` }
StartWorkflowResult results of starting a workflow
type TabInfoList ¶
type TabInfoList []struct { TabName string `json:"tabName"` FileName string `json:"fileName"` FileID int `json:"fileId"` DocID int `json:"docId"` FileSize int `json:"fileSize"` Department string `json:"department"` CabinetID int `json:"cabinetId"` }
TabInfoList slice of tabs
type TabInfoResponse ¶
type TabInfoResponse struct { TabInfoList TabInfoList `json:"tabInfoList"` HasError bool `json:"hasError"` ErrorMessage string `json:"errorMessage"` }
TabInfoResponse response of getSavedTabs
type TabRequest ¶
type TabRequest struct { TabName string `json:"tabName,"` FileName string `json:"fileName,"` FileID int `json:"fileId,"` DocID int `json:"docId,"` FileSize int `json:"fileSize,"` Department string `json:"department,"` CabinetID int `json:"cabinetId,"` }
TabRequest Request for list of tabs
type User ¶
type User struct { ID int `json:"id"` Username string `json:"username"` Password string `json:"password"` LdapID int `json:"ldapId"` Email string `json:"email"` }
User login acting user
type Workflow ¶ added in v0.0.3
type Workflow struct { Department string `json:"department"` Cabinet string `json:"cabinet"` DocId int `json:"docId"` FileId int `json:"fileId"` OwnerName string `json:"ownerName"` WfId int `json:"wfId"` Subfolder string `json:"subfolder,omitempty"` }
Workflow represents a treeno workflow
type WorkflowDefinition ¶ added in v0.0.5
type WorkflowDefinition struct { WorkflowId int `json:"workflowId"` WorkflowName string `json:"workflowName"` }
WorkflowDefinition Workflow id and description
type WorkflowDefinitionsResponse ¶ added in v0.0.5
type WorkflowDefinitionsResponse struct { WorkflowDefinitions []WorkflowDefinition `json:"workflowDefinitions"` HasError bool `json:"hasError"` ErrorMessage string `json:"errorMessage"` }
WorkflowDefinitionsResponse Response from getting definitions of workflows