Documentation
¶
Index ¶
- Constants
- Variables
- func DirExists(dirname string) bool
- func FileExists(filename string) bool
- func Filepath(dirs ...string) string
- func MaskUserToken(b []byte) []byte
- func MaskUserTokenString(s string) string
- func NoValidation(s string) error
- func ParseList(in string) (out []string, err error)
- func ReadInConfig(cfg *viper.Viper) error
- func TableAlias(label string) string
- func ValidateHostname(hostname string) error
- func WriteConfigFile(dir string, cf ConfigFile) (err error)
- type App
- type Client
- func (c *Client) AddPlugin(p Plugin)
- func (c *Client) CloneUserToken(input *CloneUserTokenInput) (output *CloneUserTokenOutput, err error)
- func (c *Client) CopyApp(input *CopyAppInput) (output *CopyAppOutput, err error)
- func (c *Client) CreateApp(input *CreateAppInput) (output *CreateAppOutput, err error)
- func (c *Client) CreateField(input *CreateFieldInput) (output *CreateFieldOutput, err error)
- func (c *Client) CreateFile(input *CreateFileInput) (output *CreateFileOutput, err error)
- func (c *Client) CreatePage(input *CreatePageInput) (output *CreatePageOutput, err error)
- func (c *Client) CreateRelationship(input *CreateRelationshipInput) (output *CreateRelationshipOutput, err error)
- func (c *Client) CreateTable(input *CreateTableInput) (output *CreateTableOutput, err error)
- func (c *Client) DeactivateUserToken(input *DeactivateUserTokenInput) (output *DeactivateUserTokenOutput, err error)
- func (c *Client) DeleteApp(input *DeleteAppInput) (output *DeleteAppOutput, err error)
- func (c *Client) DeleteFields(input *DeleteFieldsInput) (output *DeleteFieldsOutput, err error)
- func (c *Client) DeleteFile(input *DeleteFileInput) (output *DeleteFileOutput, err error)
- func (c *Client) DeleteRecords(input *DeleteRecordsInput) (output *DeleteRecordsOutput, err error)
- func (c *Client) DeleteRelationship(input *DeleteRelationshipInput) (output *DeleteRelationshipOutput, err error)
- func (c *Client) DeleteTable(input *DeleteTableInput) (output *DeleteTableOutput, err error)
- func (c *Client) DeleteUserToken(input *DeleteUserTokenInput) (output *DeleteUserTokenOutput, err error)
- func (c *Client) Do(input Input, output Output) error
- func (c *Client) GetApp(input *GetAppInput) (output *GetAppOutput, err error)
- func (c *Client) GetAppByID(id string) (*GetAppOutput, error)
- func (c *Client) GetField(input *GetFieldInput) (output *GetFieldOutput, err error)
- func (c *Client) GetFieldByID(fid int) (*GetFieldOutput, error)
- func (c *Client) GetPage(input *GetPageInput) (output *GetPageOutput, err error)
- func (c *Client) GetReport(input *GetReportInput) (output *GetReportOutput, err error)
- func (c *Client) GetTable(input *GetTableInput) (output *GetTableOutput, err error)
- func (c *Client) GetVariable(input *GetVariableInput) (output *GetVariableOutput, err error)
- func (c *Client) InsertRecords(input *InsertRecordsInput) (output *InsertRecordsOutput, err error)
- func (c *Client) ListAppEvents(input *ListAppEventsInput) (output *ListAppEventsOutput, err error)
- func (c *Client) ListApps(input *ListAppsInput) (output *ListAppsOutput, err error)
- func (c *Client) ListFields(input *ListFieldsInput) (output *ListFieldsOutput, err error)
- func (c *Client) ListFieldsByTableID(tableID string) (*ListFieldsOutput, error)
- func (c *Client) ListRelationships(input *ListRelationshipsInput) (output *ListRelationshipsOutput, err error)
- func (c *Client) ListRelationshipsByTableID(id string) (*ListRelationshipsOutput, error)
- func (c *Client) ListReports(input *ListReportsInput) (output *ListReportsOutput, err error)
- func (c *Client) ListTables(input *ListTablesInput) (output *ListTablesOutput, err error)
- func (c *Client) ListTablesByAppID(id string) (*ListTablesOutput, error)
- func (c *Client) QueryRecords(input *QueryRecordsInput) (output *QueryRecordsOutput, err error)
- func (c *Client) RunFormula(input *RunFormulaInput) (output *RunFormulaOutput, err error)
- func (c *Client) RunReport(input *RunReportInput) (output *RunReportOutput, err error)
- func (c *Client) SetVariable(input *SetVariableInput) (output *SetVariableOutput, err error)
- func (c *Client) UpdateApp(input *UpdateAppInput) (output *UpdateAppOutput, err error)
- func (c *Client) UpdateField(input *UpdateFieldInput) (output *UpdateFieldOutput, err error)
- func (c *Client) UpdatePage(input *UpdatePageInput) (output *UpdatePageOutput, err error)
- func (c *Client) UpdateRelationship(input *UpdateRelationshipInput) (output *UpdateRelationshipOutput, err error)
- func (c *Client) UpdateTable(input *UpdateTableInput) (output *UpdateTableOutput, err error)
- type CloneUserTokenInput
- type CloneUserTokenOutput
- type CloneUserTokenOutputApp
- type Config
- type ConfigFile
- type ConfigFileProfile
- type ConfigIface
- type CopyAppInput
- type CopyAppInputProperties
- type CopyAppOutput
- type CreateAppInput
- type CreateAppOutput
- type CreateFieldInput
- type CreateFieldInputProperties
- type CreateFieldOutput
- type CreateFieldOutputProperties
- type CreateFileInput
- type CreateFileInputField
- type CreateFileOutput
- type CreateFileOutputField
- type CreatePageInput
- type CreatePageInputBody
- type CreatePageOutput
- type CreateRelationshipInput
- type CreateRelationshipInputForeignKeyField
- type CreateRelationshipOutput
- type CreateTableInput
- type CreateTableOutput
- type Date
- type DeactivateUserTokenInput
- type DeactivateUserTokenOutput
- type DeleteAppInput
- type DeleteAppOutput
- type DeleteFieldsInput
- type DeleteFieldsOutput
- type DeleteFileInput
- type DeleteFileOutput
- type DeleteFileOutputCreator
- type DeleteRecordsInput
- type DeleteRecordsOutput
- type DeleteRelationshipInput
- type DeleteRelationshipOutput
- type DeleteTableInput
- type DeleteTableOutput
- type DeleteUserTokenInput
- type DeleteUserTokenOutput
- type ErrorProperties
- type Field
- type FieldPermission
- type FieldProperties
- type File
- type FileCreator
- type FileVersion
- type GetAppInput
- type GetAppOutput
- type GetFieldInput
- type GetFieldOutput
- type GetFieldOutputProperties
- type GetPageInput
- type GetPageOutput
- type GetReportInput
- type GetReportOutput
- type GetTableInput
- type GetTableOutput
- type GetVariableInput
- type GetVariableOutput
- type Input
- type InsertRecordsInput
- type InsertRecordsInputData
- type InsertRecordsOutput
- type InsertRecordsOutputMetadata
- type ListAppEventsInput
- type ListAppEventsOutput
- type ListAppEventsOutputEvent
- type ListAppsInput
- type ListAppsOutput
- type ListAppsOutputDatabases
- type ListFieldsInput
- type ListFieldsOutput
- type ListFieldsOutputField
- type ListFieldsOutputFieldProperties
- type ListRelationshipsInput
- type ListRelationshipsOutput
- type ListRelationshipsOutputMetadata
- type ListReportsInput
- type ListReportsOutput
- type ListTablesInput
- type ListTablesOutput
- type ListTablesOutputTable
- type Output
- type Plugin
- type QueryRecordsInput
- type QueryRecordsInputGroupBy
- type QueryRecordsInputOptions
- type QueryRecordsInputSortBy
- type QueryRecordsOutput
- type Record
- type Records
- type RecordsData
- type RecordsField
- type RecordsMetadata
- type Relationship
- type RelationshipField
- type RelationshipSummaryField
- type Report
- type ReportProperties
- type ReportPropertiesBubbles
- type ReportPropertiesCategories
- type ReportPropertiesColumn
- type ReportPropertiesCrosstab
- type ReportPropertiesDataSource
- type ReportPropertiesGoal
- type ReportPropertiesRange
- type ReportPropertiesSeries
- type ReportPropertiesSortBy
- type ReportPropertiesSummmarize
- type ReportQuery
- type ReportQueryFormulaFields
- type ReportQueryGroupBy
- type ReportQuerySortBy
- type ReportWithDescripton
- type RunFormulaInput
- type RunFormulaOutput
- type RunReportInput
- type RunReportOutput
- type SetVariableInput
- type SetVariableOutput
- type Timestamp
- type UpdateAppInput
- type UpdateAppOutput
- type UpdateFieldInput
- type UpdateFieldInputProperties
- type UpdateFieldOutput
- type UpdatePageInput
- type UpdatePageInputBody
- type UpdatePageOutput
- type UpdateRelationshipInput
- type UpdateRelationshipOutput
- type UpdateTableInput
- type UpdateTableOutput
- type User
- type ValidateStringFn
- type Value
- func NewAddressCityValue(val string) *Value
- func NewAddressCountryValue(val string) *Value
- func NewAddressPostalCodeValue(val string) *Value
- func NewAddressStateRegionValue(val string) *Value
- func NewAddressStreet1Value(val string) *Value
- func NewAddressStreet2Value(val string) *Value
- func NewAddressValue(val string) *Value
- func NewCheckboxValue(val bool) *Value
- func NewCheckboxValueFromString(val string) (v *Value, err error)
- func NewDateTimeValue(val time.Time) *Value
- func NewDateTimeValueFromString(val string) (*Value, error)
- func NewDateValue(val time.Time) *Value
- func NewDateValueFromString(val string) (*Value, error)
- func NewDurationValue(val time.Duration) *Value
- func NewDurationValueFromFloat64(val float64) *Value
- func NewDurationValueFromString(val string) (v *Value, err error)
- func NewEmailAddressValue(val string) *Value
- func NewFileAttachmentValue(val *File) *Value
- func NewListUserValue(val []*User) *Value
- func NewListUserValueFromString(val string) *Value
- func NewMultiSelectTextValue(val []string) *Value
- func NewMultiSelectTextValueFromString(val string) (v *Value, err error)
- func NewNumericCurrencyValue(val float64) *Value
- func NewNumericCurrencyValueFromString(val string) (*Value, error)
- func NewNumericPercentValue(val float64) *Value
- func NewNumericPercentValueFromString(val string) (*Value, error)
- func NewNumericRatingValue(val float64) *Value
- func NewNumericRatingValueFromString(val string) (*Value, error)
- func NewNumericValue(val float64) *Value
- func NewNumericValueFromString(val string) (*Value, error)
- func NewPhoneNumberValue(val string) *Value
- func NewPredecessorValue(val string) *Value
- func NewRecordIDValue(val float64) *Value
- func NewRecordIDValueFromString(val string) (*Value, error)
- func NewReportLinkValue(val string) *Value
- func NewRichTextValue(val string) *Value
- func NewTextMultiLineValue(val string) *Value
- func NewTextMultipleChoiceValue(val string) *Value
- func NewTextValue(val string) *Value
- func NewTimeOfDayValue(val time.Time) *Value
- func NewTimeOfDayValueFromString(val string) (*Value, error)
- func NewURLValue(val *url.URL) *Value
- func NewURLValueFromString(val string) (v *Value, err error)
- func NewUserValue(val *User) *Value
- func NewUserValueFromString(val string) *Value
- func NewValueFromString(val, ftype string) (v *Value, err error)
- func NewiCalendarValue(val string) *Value
- func NewvCardValue(val string) *Value
- type Variable
- type XMLCredentialParameters
- type XMLInput
- type XMLRequestParameters
- type XMLResponseParameters
Constants ¶
const ( OptionAppID = "app-id" OptionConfigDir = "config-dir" OptionFieldID = "field-id" OptionProfile = "profile" OptionRealmHostname = "realm-hostname" OptionRelationshipID = "relationship-id" OptionTableID = "table-id" OptionUserToken = "user-token" )
Option* constants contain CLI options.
const ( FieldRecordID = "recordid" FieldText = "text" FieldTextMultiLine = "text-multi-line" FieldTextMultipleChoice = "text-multiple-choice" FieldRichText = "rich-text" FieldMultiSelectText = "multitext" FieldNumeric = "numeric" FieldNumericCurrency = "currency" FieldNumericPercent = "percent" FieldNumericRating = "rating" FieldDate = "date" FieldDateTime = "timestamp" FieldTimeOfDay = "timeofday" FieldDuration = "duration" FieldCheckbox = "checkbox" FieldAddress = "address" FieldAddressStreet1 = "text" FieldAddressStreet2 = "text" FieldAddressCity = "text" FieldAddressStateRegion = "text" FieldAddressPostalCode = "text" FieldAddressCountry = "text" FieldPhoneNumber = "phone" FieldEmailAddress = "email" FieldUser = "user" FieldUserList = "multiuserid" FieldFileAttachment = "file" FieldURL = "url" FieldReportLink = "dblink" FieldiCalendar = "ICalendarButton" FieldvCard = "vCardButton" FieldPredecessor = "predecessor" )
Field* constants contain the Quick Base field types.
const ( AccumulationTypeAverage = "AVG" AccumulationTypeSum = "SUM" AccumulationTypeMaximum = "MAX" AccumulationTypeMinimum = "MIN" AccumulationTypeStandardDeviation = "STD-DEV" AccumulationTypeCount = "COUNT" AccumulationTypeCombinedText = "COMBINED-TEXT" AccumulationTypeDistinctCount = "DISTINCT-COUNT" )
AccumulationType* constants contain valid accumulation types for summary fields.
const ( FormatDate = "2006-01-02" FormatDateTime = "2006-01-02T15:04:05Z" FormatTimeOfDay = "15:04:05" )
Format* constants contain common format strings.
const ( SortByASC = "ASC" SortByDESC = "DESC" )
SortBy* constants model values used in the the order property.
const ConfigFilename = "config.yml"
ConfigFilename is the name of the configuration file.
const EnvPrefix = "QUICKBASE"
EnvPrefix is the prefix for environment variables containing configuration.
Variables ¶
var ErrInvalidType = errors.New("field type invalid")
ErrInvalidType is an invalid field type error.
var Version string
Version is the application version, set through ldflags.
Example build command: go build -ldflags "-X github.com/QuickBase/quickbase-cli/qbclient.Version=v0.0.0
Functions ¶
func FileExists ¶
FileExists returns true if filename exists and is a file.
func MaskUserToken ¶
MaskUserToken masks user tokens in a byte slice.
func MaskUserTokenString ¶
MaskUserTokenString masks user tokens in a string.
func ReadInConfig ¶
ReadInConfig reads in configuration from the config file.
func TableAlias ¶
TableAlias converts a label to a table alias.
func ValidateHostname ¶
ValidateHostname validates the passed hostname.
func WriteConfigFile ¶
func WriteConfigFile(dir string, cf ConfigFile) (err error)
WriteConfigFile writes a configuration file.
Types ¶
type App ¶
type App struct {
AppID string `json:"id,omitempty"`
Name string `json:"name,omitempty"`
TimeZone string `json:"timeZone,omitempty"`
DateFormat string `json:"dateFormat,omitempty"`
Created *Timestamp `json:"created,omitempty"`
Updated *Timestamp `json:"updated,omitempty"`
Variables []*Variable `json:"variables,omitempty"`
HasEveryoneOnTheInternet bool `json:"hasEveryoneOnTheInternet,omitempty"`
}
App models an app. NOTE The description property is in ErrorProperties.
type Client ¶
type Client struct {
HTTPClient *http.Client
Plugins []Plugin
ReamlHostname string
URL string
UserAgent string
UserToken string
}
Client makes requests to the Quick Base API.
func NewFromProfile ¶
NewFromProfile returns a new Client, initializing the config from the passed profile.
func (*Client) CloneUserToken ¶ added in v0.2.0
func (c *Client) CloneUserToken(input *CloneUserTokenInput) (output *CloneUserTokenOutput, err error)
CloneUserToken sends a request to POST /v1/usertoken/clone. See https://api.quickbase.com/v1/usertoken/clone
func (*Client) CopyApp ¶
func (c *Client) CopyApp(input *CopyAppInput) (output *CopyAppOutput, err error)
CopyApp sends a request to POST /v1/apps/{appId}/copy. See https://developer.quickbase.com/operation/copyApp
func (*Client) CreateApp ¶
func (c *Client) CreateApp(input *CreateAppInput) (output *CreateAppOutput, err error)
CreateApp sends a request to POST /v1/apps. See https://developer.quickbase.com/operation/getApp
func (*Client) CreateField ¶
func (c *Client) CreateField(input *CreateFieldInput) (output *CreateFieldOutput, err error)
CreateField sends a request to POST /v1/fields?tableId={tableId}. See https://developer.quickbase.com/operation/createField
func (*Client) CreateFile ¶ added in v0.1.3
func (c *Client) CreateFile(input *CreateFileInput) (output *CreateFileOutput, err error)
CreateFile makes an API_UploadFile call. See https://help.quickbase.com/api-guide/index.html#uploadfile.html
func (*Client) CreatePage ¶ added in v0.1.3
func (c *Client) CreatePage(input *CreatePageInput) (output *CreatePageOutput, err error)
CreatePage sends an XML API request to API_AddReplaceDBPage. See https://help.quickbase.com/api-guide/index.html#add_replace_dbpage.html
func (*Client) CreateRelationship ¶
func (c *Client) CreateRelationship(input *CreateRelationshipInput) (output *CreateRelationshipOutput, err error)
CreateRelationship sends a request to POST /v1/tables/{tableId}/relationship. See https://developer.quickbase.com/operation/createRelationship
func (*Client) CreateTable ¶
func (c *Client) CreateTable(input *CreateTableInput) (output *CreateTableOutput, err error)
CreateTable sends a request to POST /v1/tables?appId={appId}. See https://developer.quickbase.com/operation/createTable
func (*Client) DeactivateUserToken ¶ added in v0.2.0
func (c *Client) DeactivateUserToken(input *DeactivateUserTokenInput) (output *DeactivateUserTokenOutput, err error)
DeactivateUserToken sends a request to POST /v1/usertoken/deactivate. See https://developer.quickbase.com/operation/deactivateUserToken
func (*Client) DeleteApp ¶
func (c *Client) DeleteApp(input *DeleteAppInput) (output *DeleteAppOutput, err error)
DeleteApp sends a request to DELETE /v1/apps/{appId}. See https://developer.quickbase.com/operation/deleteApp
func (*Client) DeleteFields ¶
func (c *Client) DeleteFields(input *DeleteFieldsInput) (output *DeleteFieldsOutput, err error)
DeleteFields sends a request to DELETE v1/fields?tableId={tableId}. See https://developer.quickbase.com/operation/deleteFields
func (*Client) DeleteFile ¶ added in v0.1.3
func (c *Client) DeleteFile(input *DeleteFileInput) (output *DeleteFileOutput, err error)
DeleteFile sends a request to DELETE /v1/files/{tableId}/{recordId}/{fieldId}/{versionNumber}. See https://developer.quickbase.com/operation/deleteFile
func (*Client) DeleteRecords ¶
func (c *Client) DeleteRecords(input *DeleteRecordsInput) (output *DeleteRecordsOutput, err error)
DeleteRecords sends a request to DELETE /v1/records. See https://developer.quickbase.com/operation/deleteRecords
func (*Client) DeleteRelationship ¶
func (c *Client) DeleteRelationship(input *DeleteRelationshipInput) (output *DeleteRelationshipOutput, err error)
DeleteRelationship sends a request to DELETE /v1/tables/{tableId}/relationship/{relationshipId} See https://developer.quickbase.com/operation/deleteRelationship
func (*Client) DeleteTable ¶
func (c *Client) DeleteTable(input *DeleteTableInput) (output *DeleteTableOutput, err error)
DeleteTable sends a request to DELETE /v1/tables/{tableId}?appId={appId}. See https://developer.quickbase.com/operation/deleteTable
func (*Client) DeleteUserToken ¶ added in v0.2.0
func (c *Client) DeleteUserToken(input *DeleteUserTokenInput) (output *DeleteUserTokenOutput, err error)
DeleteUserToken sends a request to DELETE /v1/usertoken. See https://developer.quickbase.com/operation/deleteUserToken
func (*Client) Do ¶
Do sends an arbitrary request to the Quick Base API. TODO Improve the error handling.
func (*Client) GetApp ¶
func (c *Client) GetApp(input *GetAppInput) (output *GetAppOutput, err error)
GetApp sends a request to GET /v1/apps/{appId}. See https://developer.quickbase.com/operation/getApp
func (*Client) GetAppByID ¶
func (c *Client) GetAppByID(id string) (*GetAppOutput, error)
GetAppByID sends a request to GET /v1/apps/{appId} and gets an app by ID. See https://developer.quickbase.com/operation/getApp
func (*Client) GetField ¶
func (c *Client) GetField(input *GetFieldInput) (output *GetFieldOutput, err error)
GetField sends a request to GET /v1/fields/{fieldId}?tableId={tableId}. See https://developer.quickbase.com/operation/getField
func (*Client) GetFieldByID ¶
func (c *Client) GetFieldByID(fid int) (*GetFieldOutput, error)
GetFieldByID sends a request to GET /v1/fields/{fieldId}?tableId={tableId} and gets a field by its ID. See https://developer.quickbase.com/operation/getField
func (*Client) GetPage ¶ added in v0.1.3
func (c *Client) GetPage(input *GetPageInput) (output *GetPageOutput, err error)
GetPage makes an API_GetDBPage call. See https://help.quickbase.com/api-guide/index.html#get_db_page.html
func (*Client) GetReport ¶ added in v0.1.4
func (c *Client) GetReport(input *GetReportInput) (output *GetReportOutput, err error)
GetReport sends a request to GET /v1/reports/{reportId}?tableId={tableId}. See https://developer.quickbase.com/operation/getReport
func (*Client) GetTable ¶
func (c *Client) GetTable(input *GetTableInput) (output *GetTableOutput, err error)
GetTable sends a request to GET /v1/tables/{tableId}?appId={appId}. See https://developer.quickbase.com/operation/getTable
func (*Client) GetVariable ¶
func (c *Client) GetVariable(input *GetVariableInput) (output *GetVariableOutput, err error)
GetVariable sends an XML API request to API_GetDBvar. See https://help.quickbase.com/api-guide/index.html#getdbvar.html
func (*Client) InsertRecords ¶
func (c *Client) InsertRecords(input *InsertRecordsInput) (output *InsertRecordsOutput, err error)
InsertRecords sends a request to POST /v1/records. See https://developer.quickbase.com/operation/upsert
func (*Client) ListAppEvents ¶
func (c *Client) ListAppEvents(input *ListAppEventsInput) (output *ListAppEventsOutput, err error)
ListAppEvents sends a request to GET /v1/apps/{appId}/events. See https://developer.quickbase.com/operation/getAppEvents
func (*Client) ListApps ¶
func (c *Client) ListApps(input *ListAppsInput) (output *ListAppsOutput, err error)
ListApps sends an XML API request to API_GrantedDBs. See https://help.quickbase.com/api-guide/granteddbs.html
func (*Client) ListFields ¶
func (c *Client) ListFields(input *ListFieldsInput) (output *ListFieldsOutput, err error)
ListFields sends a request to GET /v1/fields?tableId={tableId}. See https://developer.quickbase.com/operation/getFields
func (*Client) ListFieldsByTableID ¶
func (c *Client) ListFieldsByTableID(tableID string) (*ListFieldsOutput, error)
ListFieldsByTableID sends a request to GET /v1/fields?tableId={tableId} an lists fields for the passed table. See https://developer.quickbase.com/operation/getFields
func (*Client) ListRelationships ¶
func (c *Client) ListRelationships(input *ListRelationshipsInput) (output *ListRelationshipsOutput, err error)
ListRelationships sends a request to GET /v1/tables/{tableId}/relationships. See https://developer.quickbase.com/operation/getRelationships
func (*Client) ListRelationshipsByTableID ¶
func (c *Client) ListRelationshipsByTableID(id string) (*ListRelationshipsOutput, error)
ListRelationshipsByTableID sends a request to GET /v1/tables/{tableId}/relationships and gets a relationship by table ID. See https://developer.quickbase.com/operation/getTable
func (*Client) ListReports ¶ added in v0.1.4
func (c *Client) ListReports(input *ListReportsInput) (output *ListReportsOutput, err error)
ListReports sends a request to GET /v1/reports?tableId={tableId}. See https://developer.quickbase.com/operation/GetReportReports
func (*Client) ListTables ¶
func (c *Client) ListTables(input *ListTablesInput) (output *ListTablesOutput, err error)
ListTables sends a request to GET /v1/tables?appId={appId}. See https://developer.quickbase.com/operation/getAppTables
func (*Client) ListTablesByAppID ¶
func (c *Client) ListTablesByAppID(id string) (*ListTablesOutput, error)
ListTablesByAppID sends a request to GET /v1/tables?appId={appId} and gets a list of tables in an app by its ID. See https://developer.quickbase.com/operation/getAppTables
func (*Client) QueryRecords ¶
func (c *Client) QueryRecords(input *QueryRecordsInput) (output *QueryRecordsOutput, err error)
QueryRecords sends a request to POST /v1/records/query. See https://developer.quickbase.com/operation/runQuery
func (*Client) RunFormula ¶ added in v0.2.1
func (c *Client) RunFormula(input *RunFormulaInput) (output *RunFormulaOutput, err error)
RunFormula sends a request to POST /v1/formula/run. See https://developer.quickbase.com/operation/runFormula
func (*Client) RunReport ¶ added in v0.1.4
func (c *Client) RunReport(input *RunReportInput) (output *RunReportOutput, err error)
RunReport sends a request to POST /v1/reports/{reportId}/run?tableId={tableId}. See https://developer.quickbase.com/operation/runReport
func (*Client) SetVariable ¶
func (c *Client) SetVariable(input *SetVariableInput) (output *SetVariableOutput, err error)
SetVariable sends an XML API request to API_SetDBvar. See https://help.quickbase.com/api-guide/index.html#setdbvar.html
func (*Client) UpdateApp ¶
func (c *Client) UpdateApp(input *UpdateAppInput) (output *UpdateAppOutput, err error)
UpdateApp sends a request to POST /v1/apps/{appId}. See https://developer.quickbase.com/operation/updateApp
func (*Client) UpdateField ¶
func (c *Client) UpdateField(input *UpdateFieldInput) (output *UpdateFieldOutput, err error)
UpdateField sends a request to POST /v1/fields/{fieldId}?tableId={tableId}. See https://developer.quickbase.com/operation/updateField
func (*Client) UpdatePage ¶ added in v0.1.3
func (c *Client) UpdatePage(input *UpdatePageInput) (output *UpdatePageOutput, err error)
UpdatePage sends an XML API request to API_AddReplaceDBPage. See https://help.quickbase.com/api-guide/index.html#add_replace_dbpage.html
func (*Client) UpdateRelationship ¶
func (c *Client) UpdateRelationship(input *UpdateRelationshipInput) (output *UpdateRelationshipOutput, err error)
UpdateRelationship sends a request to POST /v1/tables/{tableId}/relationship/{relationshipId}. See https://developer.quickbase.com/operation/updateRelationship
func (*Client) UpdateTable ¶
func (c *Client) UpdateTable(input *UpdateTableInput) (output *UpdateTableOutput, err error)
UpdateTable sends a request to POST /v1/tables/{tableId}?appId={appId}. See https://developer.quickbase.com/operation/updateTable
type CloneUserTokenInput ¶ added in v0.2.0
type CloneUserTokenInput struct {
Name string `json:"name" cliutil:"option=name"`
Description string `json:"description" cliutil:"option=description"`
// contains filtered or unexported fields
}
CloneUserTokenInput models the input sent to POST /v1/usertoken/clone. See https://api.quickbase.com/v1/usertoken/clone
type CloneUserTokenOutput ¶ added in v0.2.0
type CloneUserTokenOutput struct {
ErrorProperties
Active bool `json:"active"`
Apps []*CloneUserTokenOutputApp `json:"apps"`
ID int `json:"id"`
Name string `json:"name"`
Token string `json:"token"`
}
CloneUserTokenOutput models the output returned by POST /v1/usertoken/clone. See https://api.quickbase.com/v1/usertoken/clone
type CloneUserTokenOutputApp ¶ added in v0.2.0
CloneUserTokenOutputApp models the apps property.
type Config ¶
type Config struct {
// contains filtered or unexported fields
}
Config contains configuration for the client.
func (Config) DefaultAppID ¶
DefaultAppID returns the default app ID.
func (Config) DefaultFieldID ¶
DefaultFieldID returns the default field ID.
func (Config) DefaultTableID ¶
DefaultTableID returns the default table ID.
func (Config) RealmHostname ¶
RealmHostname returns the configured realm hostname.
type ConfigFile ¶
type ConfigFile map[string]*ConfigFileProfile
ConfigFile models the configuration file.
func ReadConfigFile ¶
func ReadConfigFile(dir string) (cf ConfigFile, err error)
ReadConfigFile reads and parses the configuration file.
type ConfigFileProfile ¶
type ConfigFileProfile struct {
RealmHostname string `yaml:"realm_hostname,omitempty" json:"realm_hostname,omitempty"`
UserToken string `yaml:"user_token,omitempty" json:"user_token,omitempty"`
TemporaryToken string `yaml:"temp_token,omitempty" json:"temp_token,omitempty"`
AppID string `yaml:"app_id,omitempty" json:"app_id,omitempty"`
TableID string `yaml:"table_id,omitempty" json:"table_id,omitempty"`
FieldID int `yaml:"field_id,omitempty" json:"field_id,omitempty"`
}
ConfigFileProfile models the configuration for a profile.
type ConfigIface ¶
type ConfigIface interface {
// ConfigDir returns the configuration directory.
ConfigDir() string
// DefaultAppID returns the default app ID.
DefaultAppID() string
// Default FieldID returns the default field ID
DefaultFieldID() int
// DefaultTableID returns the default table ID.
DefaultTableID() string
// Profile returns the configured profile.
Profile() string
// RealmHostname returns the configured realm hostname.
RealmHostname() string
// UserToken returns the configured log level.
UserToken() string
}
ConfigIface is implemented by structs used to configure the cleint.
type CopyAppInput ¶
type CopyAppInput struct {
AppID string `json:"-" validate:"required" cliutil:"option=app-id"`
Name string `json:"name" validate:"required" cliutil:"option=name"`
Description string `json:"description,omitempty" cliutil:"option=description"`
Properties *CopyAppInputProperties `json:"properties,omitempty"`
// contains filtered or unexported fields
}
CopyAppInput models the input sent to POST /v1/apps/{appId}/copy. See https://developer.quickbase.com/operation/copyApp
type CopyAppInputProperties ¶
type CopyAppInputProperties struct {
AssignUserToken bool `json:"assignUserToken,omitempty" cliutil:"option=assign-token"`
ExcludeFiles bool `json:"excludeFiles,omitempty" cliutil:"option=exclude-files"`
KeepData bool `json:"keepData,omitempty" cliutil:"option=keep-data"`
KeepUsersAndRoles bool `json:"usersAndRoles,omitempty" cliutil:"option=keep-users-roles"`
}
CopyAppInputProperties models the properties property.
type CopyAppOutput ¶
type CopyAppOutput struct {
ErrorProperties
App
AncestorID string `json:"ancestorId,omitempty"`
}
CopyAppOutput models the output returned by POST /v1/apps/{appId}/copy. See https://developer.quickbase.com/operation/copyApp
type CreateAppInput ¶
type CreateAppInput struct {
Name string `json:"name" validate:"required" cliutil:"option=name usage='name of the app'"`
Description string `json:"description,omitempty" cliutil:"option=description usage='description of the app'"`
AssignUserToken bool `json:"assignToken,omitempty" cliutil:"option=assign-token usage='assign the user token to the app'"`
Variable []*Variable `json:"variables,omitempty"`
// contains filtered or unexported fields
}
CreateAppInput models the input sent to POST /v1/apps. See https://developer.quickbase.com/operation/createApp
type CreateAppOutput ¶
type CreateAppOutput struct {
ErrorProperties
App
}
CreateAppOutput models the output returned by POST /v1/apps. See https://developer.quickbase.com/operation/createApp
type CreateFieldInput ¶
type CreateFieldInput struct {
Field
TableID string `json:"-" validate:"required" cliutil:"option=table-id"`
Properties *CreateFieldInputProperties `json:"properties,omitempty"`
// contains filtered or unexported fields
}
CreateFieldInput models the input sent to POST /v1/fields?tableId={tableId}. See https://developer.quickbase.com/operation/createField
type CreateFieldInputProperties ¶
type CreateFieldInputProperties struct {
FieldProperties
}
CreateFieldInputProperties models the "properties" property.
type CreateFieldOutput ¶
type CreateFieldOutput struct {
ErrorProperties
Field
FieldID int `json:"id"`
Properties *CreateFieldOutputProperties `json:"properties,omitempty"`
}
CreateFieldOutput models the output returned by POST /v1/fields?tableId={tableId}. See https://developer.quickbase.com/operation/createField
type CreateFieldOutputProperties ¶
type CreateFieldOutputProperties struct {
FieldProperties
}
CreateFieldOutputProperties models the "properties" property.
type CreateFileInput ¶ added in v0.1.3
type CreateFileInput struct {
XMLRequestParameters
XMLCredentialParameters
TableID string `xml:"-" validate:"required" cliutil:"option=table-id"`
Fields []*CreateFileInputField `xml:"field"`
RecordID int `xml:"rid" validate:"required" cliutil:"option=record-id"`
// contains filtered or unexported fields
}
CreateFileInput models the XML API request sent to API_UploadFile See https://help.quickbase.com/api-guide/index.html#uploadfile.html
type CreateFileInputField ¶ added in v0.1.3
type CreateFileInputField struct {
FieldID int `xml:"fid,attr" validate:"required" cliutil:"option=field-id"`
FileData string `xml:",chardata" validate:"required" cliutil:"option=file-data func=ioreader"`
Name string `xml:"filename,attr" validate:"required" cliutil:"option=file-name"`
}
CreateFileInputField models the field element.
type CreateFileOutput ¶ added in v0.1.3
type CreateFileOutput struct {
XMLResponseParameters
Fields []*CreateFileOutputField `xml:"file_fields>field"`
}
CreateFileOutput models the XML API response returned by API_UploadFile See https://help.quickbase.com/api-guide/index.html#uploadfile.html
type CreateFileOutputField ¶ added in v0.1.3
CreateFileOutputField models the file_fields element.
type CreatePageInput ¶ added in v0.1.3
type CreatePageInput struct {
XMLRequestParameters
XMLCredentialParameters
AppID string `xml:"-" validate:"required" cliutil:"option=app-id"`
Body *CreatePageInputBody `xml:"pagebody"`
Name string `xml:"pagename" validate:"required" cliutil:"option=page-name"`
Type int `xml:"pagetype" validate:"required" cliutil:"option=page-type default=1"`
// contains filtered or unexported fields
}
CreatePageInput models the XML API request sent to API_AddReplaceDBPage See https://help.quickbase.com/api-guide/index.html#add_replace_dbpage.html
type CreatePageInputBody ¶ added in v0.1.3
type CreatePageInputBody struct {
Data string `xml:",cdata" validate:"required" cliutil:"option=page-body func=ioreader"`
}
CreatePageInputBody models the pagebody element.
type CreatePageOutput ¶ added in v0.1.3
type CreatePageOutput struct {
XMLResponseParameters
PageID int `xml:"pageID"`
}
CreatePageOutput models the XML API response returned by API_AddReplaceDBPage See https://help.quickbase.com/api-guide/index.html#add_replace_dbpage.html
type CreateRelationshipInput ¶
type CreateRelationshipInput struct {
ChildTableID string `json:"-" validate:"required" cliutil:"option=child-table-id"`
ParentTableID string `json:"parentTableId,omitempty" validate:"required" cliutil:"option=parent-table-id"`
ForeignKeyField *CreateRelationshipInputForeignKeyField `json:"foreignKeyField,omitempty"`
LookupFieldIDs []int `json:"lookupFieldIds,omitempty" cliutil:"option=lookup-field-ids"`
SummaryFields []*RelationshipSummaryField `json:"summaryFields,omitempty"`
// contains filtered or unexported fields
}
CreateRelationshipInput models the input sent to POST /v1/tables/{tableId}/relationship. See https://developer.quickbase.com/operation/createRelationship
type CreateRelationshipInputForeignKeyField ¶
type CreateRelationshipInputForeignKeyField struct {
Label string `json:"label,omitempty" cliutil:"option=foreign-key-label"`
}
CreateRelationshipInputForeignKeyField models the summaryFields property.
type CreateRelationshipOutput ¶
type CreateRelationshipOutput struct {
ErrorProperties
Relationship
}
CreateRelationshipOutput models the output returned by POST /v1/tables/{tableId}/relationship. See https://developer.quickbase.com/operation/createRelationship
type CreateTableInput ¶
type CreateTableInput struct {
AppID string `json:"-" validate:"required" cliutil:"option=app-id"`
Name string `json:"name" validate:"required" cliutil:"option=name"`
Description string `json:"description" cliutil:"option=description"`
IconName string `json:"iconName" cliutil:"option=icon-name"`
SingularNoun string `json:"singularNoun" cliutil:"option=singular-noun"`
PluralNoun string `json:"pluralNoun" cliutil:"option=plural-noun"`
// contains filtered or unexported fields
}
CreateTableInput models the input sent to POST /v1/tables?appId={appId}. See https://developer.quickbase.com/operation/createTable
type CreateTableOutput ¶
type CreateTableOutput struct {
ErrorProperties
TableID string `json:"id,omitempty"`
Name string `json:"name,omitempty"`
IconName string `json:"iconName,omitempty"`
SingularNoun string `json:"singularNoun,omitempty"`
PluralNoun string `json:"pluralNoun,omitempty"`
}
CreateTableOutput models the output returned by POST /v1/tables?appId={appId}. See https://developer.quickbase.com/operation/createTable
type Date ¶ added in v0.1.4
Date models a Quickbase date.
func (Date) MarshalJSON ¶ added in v0.1.4
MarshalJSON formats time.Time according to FormatDate.
func (*Date) UnmarshalJSON ¶ added in v0.1.4
UnmarshalJSON converts a date to a time.Time.
type DeactivateUserTokenInput ¶ added in v0.2.0
type DeactivateUserTokenInput struct {
Token string `json:"-" validate:"required" cliutil:"option=token"`
// contains filtered or unexported fields
}
DeactivateUserTokenInput models the input sent to POST /v1/usertoken/deactivate. See https://developer.quickbase.com/operation/deactivateUserToken
type DeactivateUserTokenOutput ¶ added in v0.2.0
type DeactivateUserTokenOutput struct {
ErrorProperties
ID int `json:"id"`
}
DeactivateUserTokenOutput models the output returned by POST /v1/usertoken/deactivate. See https://developer.quickbase.com/operation/deactivateUserToken
type DeleteAppInput ¶
type DeleteAppInput struct {
AppID string `json:"-" validate:"required" cliutil:"option=app-id"`
Name string `json:"name" validate:"required" cliutil:"option=name"`
// contains filtered or unexported fields
}
DeleteAppInput models the input sent to DELETE /v1/apps/{appId}. See https://developer.quickbase.com/operation/deleteApp
type DeleteAppOutput ¶
type DeleteAppOutput struct {
ErrorProperties
ID string `json:"deletedAppId,omitempty"`
}
DeleteAppOutput models the output returned by DELETE /v1/apps/{appId}. See https://developer.quickbase.com/operation/deleteApp
type DeleteFieldsInput ¶
type DeleteFieldsInput struct {
TableID string `json:"-" validate:"required" cliutil:"option=table-id"`
FieldIDs []int `json:"fieldIds" validate:"required,min=1" cliutil:"option=field-id"`
// contains filtered or unexported fields
}
DeleteFieldsInput models the input sent to DELETE v1/fields?tableId={tableId}. See https://developer.quickbase.com/operation/deleteFields
type DeleteFieldsOutput ¶
type DeleteFieldsOutput struct {
ErrorProperties
DeletedFieldIDs []int `json:"deletedFieldIds,omitempty"`
Errors []string `json:"errors,omitempty"`
}
DeleteFieldsOutput models the output returned by DELETE v1/fields?tableId={tableId}. See https://developer.quickbase.com/operation/deleteFields
type DeleteFileInput ¶ added in v0.1.3
type DeleteFileInput struct {
TableID string `json:"-" validate:"required" cliutil:"option=table-id"`
RecordID int `json:"-" validate:"required" cliutil:"option=record-id"`
FieldID int `json:"-" validate:"required" cliutil:"option=field-id"`
Version int `json:"-" validate:"required" cliutil:"option=version"`
// contains filtered or unexported fields
}
DeleteFileInput models the input sent to DELETE /v1/files/{tableId}/{recordId}/{fieldId}/{versionNumber}. See https://developer.quickbase.com/operation/deleteFile
type DeleteFileOutput ¶ added in v0.1.3
type DeleteFileOutput struct {
ErrorProperties
Version int `json:"versionNumber,omitempty"`
FileName string `json:"fileName,omitempty"`
Uploaded *Timestamp `json:"uploaded,omitempty"`
Creator *DeleteFileOutputCreator `json:"creator,omitempty"`
}
DeleteFileOutput models the output returned by DELETE /v1/files/{tableId}/{recordId}/{fieldId}/{versionNumber}. See https://developer.quickbase.com/operation/deleteFile
type DeleteFileOutputCreator ¶ added in v0.1.3
type DeleteFileOutputCreator struct {
Email string `json:"email,omitempty"`
UserID string `json:"id,omitempty"`
Name string `json:"name,omitempty"`
}
DeleteFileOutputCreator models the creator object.
type DeleteRecordsInput ¶
type DeleteRecordsInput struct {
From string `json:"from" validate:"required" cliutil:"option=from"`
Where string `json:"where" validate:"required" cliutil:"option=where func=query"`
// contains filtered or unexported fields
}
DeleteRecordsInput models the input sent to DELETE /v1/records. See https://developer.quickbase.com/operation/deleteRecords
type DeleteRecordsOutput ¶
type DeleteRecordsOutput struct {
ErrorProperties
NumberDeleted int `json:"numberDeleted,omitempty"`
}
DeleteRecordsOutput models the output returned by DELETE /v1/records. See https://developer.quickbase.com/operation/deleteRecords
type DeleteRelationshipInput ¶
type DeleteRelationshipInput struct {
ChildTableID string `json:"-" validate:"required" cliutil:"option=child-table-id"`
RelationshipID int `json:"-" validate:"required" cliutil:"option=relationship-id"`
// contains filtered or unexported fields
}
DeleteRelationshipInput models the input sent to DELETE /v1/tables/{tableId}/relationship/{relationshipId} See https://developer.quickbase.com/operation/deleteRelationship
type DeleteRelationshipOutput ¶
type DeleteRelationshipOutput struct {
ErrorProperties
RelationshipID int `json:"relationshipId,omitempty"`
}
DeleteRelationshipOutput models the output returned by DELETE /v1/tables/{tableId}/relationship/{relationshipId} See https://developer.quickbase.com/operation/deleteRelationship
type DeleteTableInput ¶
type DeleteTableInput struct {
AppID string `json:"-" validate:"required" cliutil:"option=app-id"`
TableID string `json:"-" validate:"required" cliutil:"option=table-id"`
// contains filtered or unexported fields
}
DeleteTableInput models the input sent to DELETE /v1/tables/{tableId}?appId={appId}. See https://developer.quickbase.com/operation/deleteTable
type DeleteTableOutput ¶
type DeleteTableOutput struct {
ErrorProperties
TableID string `json:"deletedTableId,omitempty"`
}
DeleteTableOutput models the output returned by DELETE /v1/tables/{tableId}?appId={appId}. See https://developer.quickbase.com/operation/deleteTable
type DeleteUserTokenInput ¶ added in v0.2.0
type DeleteUserTokenInput struct {
Token string `json:"-" validate:"required" cliutil:"option=token"`
// contains filtered or unexported fields
}
DeleteUserTokenInput models the input sent to DELETE /v1/usertoken. See https://developer.quickbase.com/operation/deleteUserToken
type DeleteUserTokenOutput ¶ added in v0.2.0
type DeleteUserTokenOutput struct {
ErrorProperties
ID int `json:"id"`
}
DeleteUserTokenOutput models the output returned by DELETE /v1/usertoken. See https://developer.quickbase.com/operation/deleteUserToken
type ErrorProperties ¶
type ErrorProperties struct {
Message string `json:"message,omitempty"`
Description string `json:"description,omitempty"`
}
ErrorProperties contains properties returned during errors.
type Field ¶
type Field struct {
// Create is true if we are creating the field.
Create bool `json:"-"`
// Basics
Label string `json:"label,omitempty" validate:"required_if=Create true" cliutil:"option=label"`
Type string `json:"fieldType,omitempty" validate:"required_if=Create true" cliutil:"option=type"`
Required bool `json:"required,omitempty" cliutil:"option=required"`
Unique bool `json:"unique,omitempty" cliutil:"option=unique"`
// Display
DisplayInBold bool `json:"bold,omitempty" cliutil:"option=bold"`
DisplayWithoutWrapping bool `json:"noWrap,omitempty" cliutil:"option=no-wrap"`
// Advanced
AutoFill bool `json:"doesDataCopy,omitempty" cliutil:"option=auto-fill"`
Searchable bool `json:"findEnabled" cliutil:"option=searchable default=true func=boolstring"`
AddToNewReports bool `json:"appearsByDefault" cliutil:"option=add-to-reports default=true func=boolstring"`
FieldHelpText string `json:"fieldHelp,omitempty" cliutil:"option=help-text"`
TrackField bool `json:"audited,omitempty" cliutil:"option=track-field"`
// No UI
AddToForms bool `json:"addToForms,omitempty" cliutil:"option=add-to-forms"`
}
Field models a field.
type FieldPermission ¶
type FieldPermission struct {
Role string `json:"role"`
Type string `json:"permissionType"`
RoleID int `json:"roleId"`
}
FieldPermission models the permissions properties.
type FieldProperties ¶
type FieldProperties struct {
// Basics
DefaultValue string `json:"defaultValue,omitempty" cliutil:"option=default"`
// Text - Multiple Choice field options
AllowNewChoices bool `json:"allowNewChoices,omitempty" cliutil:"option=allow-new-choices"`
SortChoicesAsGiven bool `json:"sortAsGiven,omitempty" cliutil:"option=sort-as-given"`
// Display
NumberOfLines int `json:"numLines,omitempty" cliutil:"option=num-lines"`
MaxCharacters int `json:"maxLength,omitempty" cliutil:"option=max"`
WidthOfInputBox int `json:"width,omitempty" cliutil:"option=width"`
// No UI
ExactMatch bool `json:"exact,omitempty" cliutil:"option=exact-match"`
ForeignKey bool `json:"foreignKey,omitempty" cliutil:"option=foreign-key"`
Formula string `json:"formula,omitempty" cliutil:"option=formula"`
FormulaFile string `json:"-" cliutil:"option=formula-file func=ioreader"`
ParentTable string `json:"masterTableTag,omitempty" cliutil:"option=parent-table"`
PrimaryKey bool `json:"primaryKey,omitempty" cliutil:"option=primary-key"`
RelatedField int `json:"targetFieldId,omitempty" cliutil:"option=related-field"`
// Comments
Comments string `json:"comments,omitempty" cliutil:"option=comments"`
}
FieldProperties models field properties. TODO Make a custom unmarshaler to not show properties if the struct ie empty. SEE https://stackoverflow.com/a/28447372
type File ¶ added in v0.1.3
type File struct {
URL string `json:"url,omitempty"`
Version []*FileVersion `json:"versions,omitempty"`
}
File models a file attachment.
type FileCreator ¶ added in v0.1.3
type FileCreator struct {
Email string `json:"email"`
Name string `json:"name"`
UserID string `json:"id"`
}
FileCreator models the "version.creator" property.
type FileVersion ¶ added in v0.1.3
type FileVersion struct {
Creator *FileCreator `json:"creator"`
FileName string `json:"name"`
Uploaded *Timestamp `json:"uploaded"`
Version int `json:"versionNumber"`
}
FileVersion models the "version" property.
type GetAppInput ¶
type GetAppInput struct {
AppID string `json:"-" validate:"required" cliutil:"option=app-id"`
// contains filtered or unexported fields
}
GetAppInput models the input sent to GET /v1/apps/{appId}. See https://developer.quickbase.com/operation/getApp
type GetAppOutput ¶
type GetAppOutput struct {
ErrorProperties
App
}
GetAppOutput models the output returned by GET /v1/apps/{appId}. See https://developer.quickbase.com/operation/getApp
type GetFieldInput ¶
type GetFieldInput struct {
TableID string `json:"-" validate:"required" cliutil:"option=table-id"`
FieldID int `json:"-" validate:"required" cliutil:"option=field-id"`
// contains filtered or unexported fields
}
GetFieldInput models the input sent to GET /v1/fields/{fieldId}?tableId={tableId}. See https://developer.quickbase.com/operation/getField
type GetFieldOutput ¶
type GetFieldOutput struct {
ErrorProperties
Field
FieldID int `json:"id,omitempty"`
Properties *GetFieldOutputProperties `json:"properties,omitempty"`
}
GetFieldOutput models the output returned by GET /v1/fields/{fieldId}?tableId={tableId}. See https://developer.quickbase.com/operation/getField
type GetFieldOutputProperties ¶
type GetFieldOutputProperties struct {
FieldProperties
}
GetFieldOutputProperties models the "properties" property.
type GetPageInput ¶ added in v0.1.3
type GetPageInput struct {
XMLRequestParameters
XMLCredentialParameters
AppID string `xml:"-" validate:"required" cliutil:"option=app-id"`
PageID string `xml:"pageID" validate:"required" cliutil:"option=page-id"`
// contains filtered or unexported fields
}
GetPageInput models the XML API request sent to API_GetDBPage See https://help.quickbase.com/api-guide/index.html#get_db_page.html
type GetPageOutput ¶ added in v0.1.3
type GetPageOutput struct {
XMLResponseParameters
Body string `xml:"pagebody"`
}
GetPageOutput models the XML API response returned by API_GetDBPage See https://help.quickbase.com/api-guide/index.html#get_db_page.html
type GetReportInput ¶ added in v0.1.4
type GetReportInput struct {
TableID string `json:"-" validate:"required" cliutil:"option=table-id"`
ReportID string `json:"-" validate:"required" cliutil:"option=report-id"`
// contains filtered or unexported fields
}
GetReportInput models the input sent to GET /v1/reports/{reportId}?tableId={tableId}. See https://developer.quickbase.com/operation/getReport
type GetReportOutput ¶ added in v0.1.4
type GetReportOutput struct {
ErrorProperties
Report
}
GetReportOutput models the output returned by GET /v1/reports/{reportId}?tableId={tableId}. See https://developer.quickbase.com/operation/getReport
type GetTableInput ¶
type GetTableInput struct {
AppID string `json:"-" validate:"required" cliutil:"option=app-id"`
TableID string `json:"-" validate:"required" cliutil:"option=table-id"`
// contains filtered or unexported fields
}
GetTableInput models the input sent to GET /v1/tables/{tableId}?appId={appId}s. See https://developer.quickbase.com/operation/getTable
type GetTableOutput ¶
type GetTableOutput struct {
ErrorProperties
Name string `json:"name,omitempty"`
TableID string `json:"id,omitempty"`
Alias string `json:"alias,omitempty"`
Created *Timestamp `json:"created,omitempty"`
Updated *Timestamp `json:"updated,omitempty"`
NextRecordID int `json:"nextRecordId,omitempty"`
NextFieldID int `json:"nextFieldId,omitempty"`
DefaultSortFieldID int `json:"defaultSortFieldId,omitempty"`
DefaultSortOrder string `json:"defaultSortOrder,omitempty"`
KeyFieldID int `json:"keyFieldId,omitempty"`
SingleRecordName string `json:"singleRecordName,omitempty"`
PluralRecordName string `json:"pluralRecordName,omitempty"`
TimeZone string `json:"timeZone,omitempty"`
DateFormat string `json:"dateFormat,omitempty"`
}
GetTableOutput models the output returned by GET /v1/tables/{tableId}?appId={appId}. See https://developer.quickbase.com/operation/getTable
type GetVariableInput ¶
type GetVariableInput struct {
XMLRequestParameters
XMLCredentialParameters
AppID string `xml:"-" validate:"required" cliutil:"option=app-id"`
Name string `xml:"varname" validate:"required" cliutil:"option=variable-name"`
// contains filtered or unexported fields
}
GetVariableInput models the XML API request sent to API_GetDBvar See https://help.quickbase.com/api-guide/index.html#getdbvar.html
type GetVariableOutput ¶
type GetVariableOutput struct {
XMLResponseParameters
Variable
}
GetVariableOutput models the XML API response returned by API_GetDBvar. See https://help.quickbase.com/api-guide/index.html#getdbvar.html
type Input ¶
type Input interface {
// contains filtered or unexported methods
}
Input models the payload of API requests.
type InsertRecordsInput ¶
type InsertRecordsInput struct {
Data []map[int]*InsertRecordsInputData `json:"data" validate:"required,min=1" cliutil:"option=data func=record"`
To string `json:"to" validate:"required" cliutil:"option=to"`
MergeFieldID int `json:"mergeFieldId,omitempty" cliutil:"option=merge-field-id"`
FieldsToReturn []int `json:"fieldsToReturn,omitempty" cliutil:"option=fields-to-return "`
// contains filtered or unexported fields
}
InsertRecordsInput models the input sent to POST /v1/records. See https://developer.quickbase.com/operation/upsert
func (*InsertRecordsInput) SetRecords ¶
func (i *InsertRecordsInput) SetRecords(records []*Record)
SetRecords sets the records to insert.
This function converts the a Records slice and sets it as the InsertRecordsInput.Data property.
type InsertRecordsInputData ¶
type InsertRecordsInputData struct {
Value *Value `json:"value" validate:"required"`
}
InsertRecordsInputData models the data property.
type InsertRecordsOutput ¶
type InsertRecordsOutput struct {
ErrorProperties
Metadata *InsertRecordsOutputMetadata `json:"metadata,omitempty"`
}
InsertRecordsOutput models the output returned by POST /v1/records. See https://developer.quickbase.com/operation/upsert
type InsertRecordsOutputMetadata ¶
type InsertRecordsOutputMetadata struct {
CreatedRecordIDs []int `json:"createdRecordIds"`
LineErrors map[string][]string `json:"lineErrors,omitempty"`
TotalNumberOfRecordsProcessed int `json:"totalNumberOfRecordsProcessed"`
UnchangedRecordIDs []int `json:"unchangedRecordIds"`
UpdatedRecordIDs []int `json:"updatedRecordIds"`
}
InsertRecordsOutputMetadata models the metadata property.
type ListAppEventsInput ¶
type ListAppEventsInput struct {
AppID string `json:"-" validate:"required" cliutil:"option=app-id"`
// contains filtered or unexported fields
}
ListAppEventsInput models the input sent to GET /v1/apps/{appId}/events. See https://developer.quickbase.com/operation/getAppEvents
type ListAppEventsOutput ¶
type ListAppEventsOutput struct {
ErrorProperties
Events []*ListAppEventsOutputEvent `json:"events,omitempty"`
}
ListAppEventsOutput models the output returned by GET /v1/apps/{appId}/events. See https://developer.quickbase.com/operation/getAppEvents
func (*ListAppEventsOutput) MarshalJSON ¶
func (o *ListAppEventsOutput) MarshalJSON() ([]byte, error)
MarshalJSON implements json.MarshalJSON by marshaling output.Tables.
func (*ListAppEventsOutput) UnmarshalJSON ¶
func (o *ListAppEventsOutput) UnmarshalJSON(b []byte) (err error)
UnmarshalJSON implements json.UnmarshalJSON by unmarshaling the payload into ListTablesOutput.Events.
type ListAppEventsOutputEvent ¶
type ListAppEventsOutputEvent struct {
Type string `json:"type"`
Owner *User `json:"owner"`
IsActive bool `json:"isActive"`
TableID string `json:"tableId"`
Name string `json:"name"`
URL string `json:"url,omitempty"`
}
ListAppEventsOutputEvent models the event object.
type ListAppsInput ¶
type ListAppsInput struct {
XMLRequestParameters
XMLCredentialParameters
AdminOnly bool `xml:"adminOnly,omitempty" cliutil:"option=admin-only"`
ExcludeParents bool `xml:"excludeparents,int,omitempty" cliutil:"option=exclude-parents"`
IncludeAncestors bool `xml:"includeancestors,int,omitempty" cliutil:"option=include-ancestors"`
RealmAppsOnly bool `xml:"realmAppsOnly,omitempty" cliutil:"option=realm-apps-only"`
WithEmbeddedTables bool `xml:"withembeddedtables,int" cliutil:"option=with-embedded-tables"`
// contains filtered or unexported fields
}
ListAppsInput models the XML API request sent to API_GrantedDBs. See https://help.quickbase.com/api-guide/granteddbs.html
type ListAppsOutput ¶
type ListAppsOutput struct {
XMLResponseParameters
Databases []*ListAppsOutputDatabases `xml:"databases>dbinfo" json:"apps,omitempty"`
}
ListAppsOutput models the XML API response returned by API_GrantedDBs. See https://help.quickbase.com/api-guide/granteddbs.html
type ListAppsOutputDatabases ¶
type ListAppsOutputDatabases struct {
AncestorAppID string `xml:"ancestorappid,omitempty" json:"ancestorAppId,omitempty"`
ID string `xml:"dbid" json:"appId"`
Name string `xml:"dbname" json:"name"`
OldestAncestorAppID string `xml:"oldestancestorappid,omitempty" json:"oldAncestorAppId,omitempty"`
}
ListAppsOutputDatabases modesl the databases propertie.
type ListFieldsInput ¶
type ListFieldsInput struct {
TableID string `json:"-" validate:"required" cliutil:"option=table-id"`
IncludeFieldPermissions bool `json:"includeFieldPerms" cliutil:"option=include-field-permissions"`
// contains filtered or unexported fields
}
ListFieldsInput models the input sent to GET /v1/fields?tableId={tableId}. See https://developer.quickbase.com/operation/getFields
type ListFieldsOutput ¶
type ListFieldsOutput struct {
ErrorProperties
Fields []*ListFieldsOutputField `json:"fields,omitempty"`
}
ListFieldsOutput models the output returned by GET /v1/fields?tableId={tableId}. See https://developer.quickbase.com/operation/getFields
func (*ListFieldsOutput) UnmarshalJSON ¶
func (o *ListFieldsOutput) UnmarshalJSON(b []byte) (err error)
UnmarshalJSON implements json.UnmarshalJSON by unmarshaling the payload into ListFieldsOutput.Fields.
type ListFieldsOutputField ¶
type ListFieldsOutputField struct {
Field
FieldID int `json:"id,omitempty"`
Properties *ListFieldsOutputFieldProperties `json:"properties,omitempty"`
}
ListFieldsOutputField models the field object.
type ListFieldsOutputFieldProperties ¶
type ListFieldsOutputFieldProperties struct {
FieldProperties
}
ListFieldsOutputFieldProperties models the field object properties.
type ListRelationshipsInput ¶
type ListRelationshipsInput struct {
ChildTableID string `json:"-" validate:"required" cliutil:"option=child-table-id"`
// contains filtered or unexported fields
}
ListRelationshipsInput models the input sent to GET /v1/tables/{tableId}/relationships. See https://developer.quickbase.com/operation/getRelationships
type ListRelationshipsOutput ¶
type ListRelationshipsOutput struct {
ErrorProperties
Metadata *ListRelationshipsOutputMetadata `json:"metadata,omitempty"`
Relationships []*Relationship `json:"relationships,omitempty"`
}
ListRelationshipsOutput models the output returned by GET /v1/tables/{tableId}/relationships. See https://developer.quickbase.com/operation/getRelationships
type ListRelationshipsOutputMetadata ¶
type ListRelationshipsOutputMetadata struct {
NumberOfRelationships int `json:"numRelationships,omitempty"`
Skip int `json:"skip,omitempty"`
TotalRelationships int `json:"totalRelationships,omitempty"`
}
ListRelationshipsOutputMetadata models the metadata property.
type ListReportsInput ¶ added in v0.1.4
type ListReportsInput struct {
TableID string `json:"-" validate:"required" cliutil:"option=table-id"`
// contains filtered or unexported fields
}
ListReportsInput models the input sent to GET /v1/reports?tableId={tableId}. See https://developer.quickbase.com/operation/GetReportReports
type ListReportsOutput ¶ added in v0.1.4
type ListReportsOutput struct {
ErrorProperties
Reports []*ReportWithDescripton
}
ListReportsOutput models the input sent to GET /v1/reports?tableId={tableId}. See https://developer.quickbase.com/operation/GetReportReports
func (*ListReportsOutput) MarshalJSON ¶ added in v0.1.4
func (o *ListReportsOutput) MarshalJSON() ([]byte, error)
MarshalJSON implements json.MarshalJSON by marshaling output.Tables.
func (*ListReportsOutput) UnmarshalJSON ¶ added in v0.1.4
func (o *ListReportsOutput) UnmarshalJSON(b []byte) (err error)
UnmarshalJSON implements json.UnmarshalJSON by unmarshaling the payload into ListTablesOutput.Tables.
type ListTablesInput ¶
type ListTablesInput struct {
AppID string `json:"-" validate:"required" cliutil:"option=app-id"`
// contains filtered or unexported fields
}
ListTablesInput models the input sent to GET /v1/tables?appId={appId}. See https://developer.quickbase.com/operation/getAppTables
type ListTablesOutput ¶
type ListTablesOutput struct {
ErrorProperties
Tables []*ListTablesOutputTable `json:"tables,omitempty"`
}
ListTablesOutput models the input sent to GET /v1/tables?appId={appId}. See https://developer.quickbase.com/operation/getAppTables
func (*ListTablesOutput) MarshalJSON ¶
func (o *ListTablesOutput) MarshalJSON() ([]byte, error)
MarshalJSON implements json.MarshalJSON by marshaling output.Tables.
func (*ListTablesOutput) UnmarshalJSON ¶
func (o *ListTablesOutput) UnmarshalJSON(b []byte) (err error)
UnmarshalJSON implements json.UnmarshalJSON by unmarshaling the payload into ListTablesOutput.Tables.
type ListTablesOutputTable ¶
type ListTablesOutputTable struct {
Name string `json:"name"`
TableID string `json:"id"`
Alias string `json:"alias"`
Description string `json:"description"`
Created *Timestamp `json:"created"`
Updated *Timestamp `json:"updated"`
NextRecordID int `json:"nextRecordId"`
NextFieldID int `json:"nextFieldId"`
DefaultSortFieldID int `json:"defaultSortFieldId"`
DefaultSortOrder string `json:"defaultSortOrder"`
KeyFieldID int `json:"keyFieldId"`
SingleRecordName string `json:"singleRecordName"`
PluralRecordName string `json:"pluralRecordName"`
TimeZone string `json:"timeZone"`
DateFormat string `json:"dateFormat"`
SizeLimit string `json:"sizeLimit"`
SpaceRemaining string `json:"spaceRemaining"`
SpaceUsed string `json:"spaceUsed"`
}
ListTablesOutputTable models the table object.
type Output ¶
type Output interface {
// contains filtered or unexported methods
}
Output models the payload of API responses.
type Plugin ¶
Plugin is implemented by plugins that intercept the HTTP request and response when consuming the Quick Base API.
type QueryRecordsInput ¶
type QueryRecordsInput struct {
Select []int `json:"select" validate:"required,min=1" cliutil:"option=select"`
From string `json:"from" validate:"required" cliutil:"option=from"`
Where string `json:"where" cliutil:"option=where func=query"`
GroupBy []*QueryRecordsInputGroupBy `json:"groupBy,omitempty" cliutil:"option=group-by func=group"`
SortBy []*QueryRecordsInputSortBy `json:"sortBy,omitempty" cliutil:"option=sort-by func=sort"`
Options *QueryRecordsInputOptions `json:"options,omitempty"`
// contains filtered or unexported fields
}
QueryRecordsInput models the input sent to POST /v1/records/query. See https://developer.quickbase.com/operation/runQuery
type QueryRecordsInputGroupBy ¶
type QueryRecordsInputGroupBy struct {
FieldID int `json:"fieldId"`
Grouping string `json:"grouping"`
}
QueryRecordsInputGroupBy models the groupBy objects.
type QueryRecordsInputOptions ¶ added in v0.1.4
type QueryRecordsInputOptions struct {
Skip int `json:"skip" cliutil:"option=skip"`
Top int `json:"top" cliutil:"option=top"`
UseAppTime bool `json:"compareWithAppLocalTime" cliutil:"option=use-app-time"`
}
QueryRecordsInputOptions models the options object.
type QueryRecordsInputSortBy ¶
QueryRecordsInputSortBy models the sortBy objects.
type QueryRecordsOutput ¶
type QueryRecordsOutput struct {
ErrorProperties
Records
}
QueryRecordsOutput models the output returned by POST /v1/records/query. See https://developer.quickbase.com/operation/runQuery
func (*QueryRecordsOutput) UnmarshalJSON ¶
func (output *QueryRecordsOutput) UnmarshalJSON(b []byte) (err error)
UnmarshalJSON implements json.UnmarshalJSON by using the field type to decode the "value" parameter into the appropriate data type.
TODO DRY up the code, see below.
type Records ¶ added in v0.1.4
type Records struct {
Data []map[int]*RecordsData `json:"data,omitempty"`
Fields []*RecordsField `json:"fields,omitempty"`
Metadata *RecordsMetadata `json:"metadata,omitempty"`
}
Records models output that returns records.
type RecordsData ¶ added in v0.1.4
type RecordsData struct {
Value *Value `json:"value"`
}
RecordsData models objects in the data array.
type RecordsField ¶ added in v0.1.4
type RecordsField struct {
FieldID int `json:"id"`
Label string `json:"label"`
Type string `json:"type"`
}
RecordsField models objects in the fields array.
type RecordsMetadata ¶ added in v0.1.4
type RecordsMetadata struct {
TotalRecords int `json:"totalRecords"`
NumRecords int `json:"numRecords"`
NumFields int `json:"numFields"`
Skip int `json:"skip"`
Top int `json:"top,omitempty"`
}
RecordsMetadata models the metadata object.
type Relationship ¶
type Relationship struct {
ChildTableID string `json:"childTableId,omitempty"`
ForeignKeyField *RelationshipField `json:"foreignKeyField,omitempty"`
RelationshipID int `json:"id,omitempty"`
IsCrossApp bool `json:"isCrossApp,omitempty"`
LookupFields []*RelationshipField `json:"lookupFields,omitempty"`
ParentTableID string `json:"parentTableId,omitempty"`
SummaryFields []*RelationshipField `json:"summaryFields,omitempty"`
}
Relationship models a relationship.
type RelationshipField ¶
type RelationshipField struct {
FieldID int `json:"id,omitempty"`
Label string `json:"label,omitempty"`
Type string `json:"type,omitempty"`
}
RelationshipField models fields in relationship output.
type RelationshipSummaryField ¶
type RelationshipSummaryField struct {
SummaryFieldID int `json:"summaryFid,omitempty" cliutil:"option=field-id"`
Label string `json:"label,omitempty" cliutil:"option=label"`
AccumulationType string `json:"accumulationType,omitempty" cliutil:"option=accumulation-type"`
Where string `json:"where,omitempty" cliutil:"option=where"`
}
RelationshipSummaryField models summary fields in relationship input/output.
type Report ¶ added in v0.1.4
type Report struct {
ReportID string `json:"id,omitempty"`
Name string `json:"name,omitempty"`
Type string `json:"type,omitempty"`
Query *ReportQuery `json:"query,omitempty"`
Properties *ReportProperties `json:"properties,omitempty"`
UsedLast *Timestamp `json:"usedLast,omitempty"`
UsedCount int `json:"usedCount,omitempty"`
OwnerID int `json:"ownerId,omitempty"`
}
Report models the report object.
type ReportProperties ¶ added in v0.1.4
type ReportProperties struct {
DisplayOnlyNewOrChanged bool `json:"displayOnlyNewOrChangedRecords,omitempty"`
Column *ReportPropertiesColumn `json:"columnProperties,omitempty"`
StartDate *Date `json:"startDate,omitempty"`
EndDate *Date `json:"endDate,omitempty"`
StartingFieldID int `json:"startingFieldId,omitempty"`
EndingFieldID int `json:"endingFieldId,omitempty"`
MilestoneFieldID int `json:"milestoneFieldId,omitempty"`
SortByStartingField bool `json:"sortByStartingField,omitempty"`
Crosstab *ReportPropertiesCrosstab `json:"crosstabs,omitempty"`
Summmarize *[]ReportPropertiesSummmarize `json:"summmarize,omitempty"`
SortBy *[]ReportPropertiesSortBy `json:"sortBy,omitempty"`
AddressFieldID int `json:"addressFieldId,omitempty"`
MapViewType string `json:"mapViewType,omitempty"`
Stages []string `json:"stages,omitempty"`
ManualOrdering bool `json:"manualOrdering,omitempty"`
StagesFromFieldID int `json:"stagesFromFieldId,omitempty"`
StartDateFieldID int `json:"startDateField,omitempty"`
EndDateFieldID int `json:"endDateFieldId,omitempty"`
DataLabel string `json:"dataLabel,omitempty"`
Categories *ReportPropertiesCategories `json:"categories,omitempty"`
DataSources []*ReportPropertiesDataSource `json:"dataSources,omitempty"`
ChartType string `json:"chartType,omitempty"`
Series *ReportPropertiesSeries `json:"series,omitempty"`
Bubbles *ReportPropertiesBubbles `json:"bubbles,omitempty"`
DataSourcesLabel string `json:"dataSourcesLabel,omitempty"`
SecondaryDataSourcesLabel string `json:"secondaryDataSourcesLabel,omitempty"`
SecondaryDataSources []*ReportPropertiesDataSource `json:"secondaryDataSources,omitempty"`
LineLabel string `json:"lineLabel,omitempty"`
BarLabel string `json:"barLabel,omitempty"`
BarDataSources []*ReportPropertiesDataSource `json:"barDataSources,omitempty"`
LineDataSources []*ReportPropertiesDataSource `json:"lineDataSources,omitempty"`
Goal *ReportPropertiesGoal `json:"goal,omitempty"`
Range *ReportPropertiesRange `json:"range,omitempty"`
}
ReportProperties models the properties object.
type ReportPropertiesBubbles ¶ added in v0.1.4
type ReportPropertiesBubbles struct {
Type string `json:"type,omitempty"`
FieldID int `json:"fieldId,omitempty"`
Aggregation string `json:"aggregation,omitempty"`
}
ReportPropertiesBubbles models the bubbles object.
type ReportPropertiesCategories ¶ added in v0.1.4
type ReportPropertiesCategories struct {
FieldID int `json:"fieldId,omitempty"`
Label string `json:"label,omitempty"`
Grouping string `json:"grouping,omitempty"`
}
ReportPropertiesCategories models the categories object.
type ReportPropertiesColumn ¶ added in v0.1.4
type ReportPropertiesColumn struct {
FieldID int `json:"fieldId,omitempty"`
LabelOverride string `json:"labelOverride,omitempty"`
}
ReportPropertiesColumn models the columnProperties object.
type ReportPropertiesCrosstab ¶ added in v0.1.4
type ReportPropertiesCrosstab struct {
FieldID int `json:"fieldId,omitempty"`
Grouping string `json:"grouping,omitempty"`
}
ReportPropertiesCrosstab models the crosstabs object.
type ReportPropertiesDataSource ¶ added in v0.1.4
type ReportPropertiesDataSource struct {
Type string `json:"type,omitempty"`
FieldID int `json:"fieldId,omitempty"`
Label string `json:"label,omitempty"`
Aggregation string `json:"aggregation,omitempty"`
}
ReportPropertiesDataSource models the dataSource object.
type ReportPropertiesGoal ¶ added in v0.1.4
type ReportPropertiesGoal struct {
Value int `json:"number,omitempty"`
Label string `json:"label,omitempty"`
}
ReportPropertiesGoal models the goal object.
type ReportPropertiesRange ¶ added in v0.1.4
type ReportPropertiesRange struct {
Type string `json:"type,omitempty"`
SmallestValue float64 `json:"smallestValue,omitempty"`
LargestValue float64 `json:"largestValue,omitempty"`
FieldID int `json:"fieldId,omitempty"`
CalculationMethod string `json:"calculationMethod,omitempty"`
IntervalsPercentage []int `json:"intervalsPercentage,omitempty"`
}
ReportPropertiesRange models the range object.
type ReportPropertiesSeries ¶ added in v0.1.4
type ReportPropertiesSeries struct {
FieldID int `json:"fieldId,omitempty"`
Grouping string `json:"grouping,omitempty"`
}
ReportPropertiesSeries models the series object.
type ReportPropertiesSortBy ¶ added in v0.1.4
type ReportPropertiesSortBy struct {
ElementIndex int `json:"summarizationElementIndex,omitempty"`
Order string `json:"order,omitempty"`
By string `json:"by,omitempty"`
}
ReportPropertiesSortBy models the sortBy object.
type ReportPropertiesSummmarize ¶ added in v0.1.4
type ReportPropertiesSummmarize struct {
Type string `json:"type,omitempty"`
FieldID int `json:"fieldId,omitempty"`
Aggregation string `json:"aggregation,omitempty"`
ShowAs int `json:"showAs,omitempty"`
}
ReportPropertiesSummmarize models the summmarize object.
type ReportQuery ¶ added in v0.1.4
type ReportQuery struct {
TableID string `json:"tableId,omitempty"`
Filter string `json:"filter,omitempty"`
FormulaFields []*ReportQueryFormulaFields `json:"formulaFields,omitempty"`
Fields []int `json:"fields,omitempty"`
SortBy []*ReportQuerySortBy `json:"sortBy,omitempty"`
GroupBy []*ReportQueryGroupBy `json:"groupBy,omitempty"`
}
ReportQuery models the query object.
type ReportQueryFormulaFields ¶ added in v0.1.4
type ReportQueryFormulaFields struct {
FormulaFieldID int `json:"id,omitempty"`
Label string `json:"label,omitempty"`
Type string `json:"fieldType,omitempty"`
Formula string `json:"formula,omitempty"`
DecimalPrecision int `json:"decimalPrecision,omitempty"`
}
ReportQueryFormulaFields models the formulaFields
type ReportQueryGroupBy ¶ added in v0.1.4
type ReportQueryGroupBy struct {
FieldID int `json:"fieldId,omitempty"`
Grouping string `json:"grouping,omitempty"`
}
ReportQueryGroupBy models the sortBy object.
type ReportQuerySortBy ¶ added in v0.1.4
type ReportQuerySortBy struct {
FieldID int `json:"fieldId,omitempty"`
Order string `json:"order,omitempty"`
}
ReportQuerySortBy models the sortBy object.
type ReportWithDescripton ¶ added in v0.1.4
ReportWithDescripton is a Report with a Description property. This prevents conflicts with ErrorProperties.
type RunFormulaInput ¶ added in v0.2.1
type RunFormulaInput struct {
From string `json:"from" validate:"required" cliutil:"option=from"`
RecordID int `json:"rid" validate:"required" cliutil:"option=record-id"`
Formula string `json:"formula" validate:"required" cliutil:"option=formula func=stdin"`
// contains filtered or unexported fields
}
RunFormulaInput models the input sent to POST /v1/formula/run. See https://developer.quickbase.com/operation/runFormula
type RunFormulaOutput ¶ added in v0.2.1
type RunFormulaOutput struct {
ErrorProperties
Result string `json:"result,omitempty"`
}
RunFormulaOutput models the output returned by POST /v1/formula/run. See https://developer.quickbase.com/operation/runFormula
type RunReportInput ¶ added in v0.1.4
type RunReportInput struct {
TableID string `json:"-" validate:"required" cliutil:"option=table-id"`
ReportID string `json:"-" validate:"required" cliutil:"option=report-id"`
Skip int `json:"-" cliutil:"option=skip"`
Top int `json:"-" cliutil:"option=top"`
// contains filtered or unexported fields
}
RunReportInput models the input sent to POST /v1/reports/{reportId}/run?tableId={tableId}. See https://developer.quickbase.com/operation/runReport
type RunReportOutput ¶ added in v0.1.4
type RunReportOutput struct {
ErrorProperties
Records
}
RunReportOutput models the output returned by POST /v1/reports/{reportId}/run?tableId={tableId}. See https://developer.quickbase.com/operation/runReport
func (*RunReportOutput) UnmarshalJSON ¶ added in v0.1.4
func (output *RunReportOutput) UnmarshalJSON(b []byte) (err error)
UnmarshalJSON implements json.UnmarshalJSON by using the field type to decode the "value" parameter into the appropriate data type.
TODO DRY up the code, see above.
type SetVariableInput ¶
type SetVariableInput struct {
XMLRequestParameters
XMLCredentialParameters
AppID string `xml:"-" validate:"required" cliutil:"option=app-id"`
Name string `xml:"varname" validate:"required" cliutil:"option=variable-name"`
Value string `xml:"value" cliutil:"option=variable-value"`
// contains filtered or unexported fields
}
SetVariableInput models a request sent to API_SetDBvar via the XML API. See https://help.quickbase.com/api-guide/index.html#setdbvar.html
type SetVariableOutput ¶
type SetVariableOutput struct {
XMLResponseParameters
Name string `xml:"-" json:"name,omitempty"`
Value string `xml:"-" json:"value,omitempty"`
}
SetVariableOutput models the XML API response returned by API_SetDBvar See https://help.quickbase.com/api-guide/index.html#setdbvar.html
type Timestamp ¶
Timestamp models a Quickbase timestamp.
func (Timestamp) MarshalJSON ¶
MarshalJSON formats time.Time according to FormatDateTime.
func (*Timestamp) UnmarshalJSON ¶
UnmarshalJSON converts a timestamp to a time.Time.
type UpdateAppInput ¶
type UpdateAppInput struct {
AppID string `json:"-" validate:"required" cliutil:"option=app-id"`
Name string `json:"name,omitempty" cliutil:"option=name"`
Description string `json:"description,omitempty" cliutil:"option=description"`
Variable []*Variable `json:"variables,omitempty"`
// contains filtered or unexported fields
}
UpdateAppInput models the input sent to POST /v1/apps/{appId}. See https://developer.quickbase.com/operation/updateApp
type UpdateAppOutput ¶
type UpdateAppOutput struct {
ErrorProperties
App
}
UpdateAppOutput models the output returned by POST /v1/apps/{appId}. See https://developer.quickbase.com/operation/updateApp
type UpdateFieldInput ¶
type UpdateFieldInput struct {
Field
TableID string `json:"-" validate:"required" cliutil:"option=table-id"`
FieldID int `json:"-" validate:"required" cliutil:"option=field-id"`
Properties *UpdateFieldInputProperties `json:"properties,omitempty"`
// contains filtered or unexported fields
}
UpdateFieldInput models the input sent to POST /v1/fields/{fieldId}?tableId={tableId}. See https://developer.quickbase.com/operation/updateField
type UpdateFieldInputProperties ¶
type UpdateFieldInputProperties struct {
FieldProperties
}
UpdateFieldInputProperties models the "properties" property.
type UpdateFieldOutput ¶
type UpdateFieldOutput struct {
ErrorProperties
Field
FieldID int `json:"id"`
Properties *CreateFieldOutputProperties `json:"properties,omitempty"`
}
UpdateFieldOutput models the output returned by POST /v1/fields/{fieldId}?tableId={tableId}. See https://developer.quickbase.com/operation/updateField
type UpdatePageInput ¶ added in v0.1.3
type UpdatePageInput struct {
XMLRequestParameters
XMLCredentialParameters
AppID string `xml:"-" validate:"required" cliutil:"option=app-id"`
PageID int `xml:"pageid" cliutil:"option=page-id"`
Name string `xml:"pagename" cliutil:"option=page-name"`
Body *UpdatePageInputBody `xml:"pagebody"`
// contains filtered or unexported fields
}
UpdatePageInput models the XML API request sent to API_AddReplaceDBPage See https://help.quickbase.com/api-guide/index.html#add_replace_dbpage.html
type UpdatePageInputBody ¶ added in v0.1.3
type UpdatePageInputBody struct {
Data string `xml:",cdata" validate:"required" cliutil:"option=page-body func=ioreader"`
}
UpdatePageInputBody models the pagebody element.
type UpdatePageOutput ¶ added in v0.1.3
type UpdatePageOutput struct {
XMLResponseParameters
PageID int `xml:"pageID"`
}
UpdatePageOutput models the XML API response returned by API_AddReplaceDBPage See https://help.quickbase.com/api-guide/index.html#add_replace_dbpage.html
type UpdateRelationshipInput ¶
type UpdateRelationshipInput struct {
ChildTableID string `json:"-" validate:"required" cliutil:"option=child-table-id"`
RelationshipID int `json:"-" validate:"required" cliutil:"option=relationship-id"`
LookupFieldIDs []int `json:"lookupFieldIds,omitempty" cliutil:"option=lookup-field-ids"`
SummaryFields []*RelationshipSummaryField `json:"summaryFields,omitempty"`
// contains filtered or unexported fields
}
UpdateRelationshipInput models the input sent to POST /v1/tables/{tableId}/relationship/{relationshipId}. See https://developer.quickbase.com/operation/updateRelationship
type UpdateRelationshipOutput ¶
type UpdateRelationshipOutput struct {
ErrorProperties
Relationship
}
UpdateRelationshipOutput models the output returned by POST /v1/tables/{tableId}/relationship/{relationshipId}. See https://developer.quickbase.com/operation/updateRelationship
type UpdateTableInput ¶
type UpdateTableInput struct {
AppID string `json:"-" validate:"required" cliutil:"option=app-id"`
TableID string `json:"-" validate:"required" cliutil:"option=table-id"`
Name string `json:"name,omitempty" cliutil:"option=name"`
Description string `json:"description,omitempty" cliutil:"option=description"`
IconName string `json:"iconName,omitempty" cliutil:"option=icon-name"`
SingularNoun string `json:"singularNoun,omitempty" cliutil:"option=singular-noun"`
PluralNoun string `json:"pluralNoun,omitempty" cliutil:"option=plural-noun"`
// contains filtered or unexported fields
}
UpdateTableInput models the input sent to POST /v1/tables/{tableId}?appId={appId}. See https://developer.quickbase.com/operation/updateTable
type UpdateTableOutput ¶
type UpdateTableOutput struct {
ErrorProperties
TableID string `json:"id,omitempty"`
Name string `json:"name,omitempty"`
IconName string `json:"iconName,omitempty"`
SingularNoun string `json:"singularNoun,omitempty"`
PluralNoun string `json:"pluralNoun,omitempty"`
}
UpdateTableOutput models the output returned by POST /v1/tables/{tableId}?appId={appId}. See https://developer.quickbase.com/operation/updateTable
type ValidateStringFn ¶
ValidateStringFn validates a string.
func ValidateNotEmptyFn ¶
func ValidateNotEmptyFn(label string) ValidateStringFn
ValidateNotEmptyFn returns a function that validates a string isn't empty.
type Value ¶
type Value struct {
Bool bool
Duration time.Duration
File *File
Float64 float64
Str string
StrSlice []string
Time time.Time
URL *url.URL
User *User
UserSlice []*User
QuickBaseType string
}
Value models the value of fields in Quick Base. This struct effectively handles the Quickbase field type / Golang type transformations.
func NewAddressCityValue ¶
NewAddressCityValue returns a new Value of the FieldAddressCity type.
func NewAddressCountryValue ¶
NewAddressCountryValue returns a new Value of the FieldAddressCountry type.
func NewAddressPostalCodeValue ¶
NewAddressPostalCodeValue returns a new Value of the FieldAddressPostalCode type.
func NewAddressStateRegionValue ¶
NewAddressStateRegionValue returns a new Value of the FieldAddressStateRegion type.
func NewAddressStreet1Value ¶
NewAddressStreet1Value returns a new Value of the FieldAddressStreet1 type.
func NewAddressStreet2Value ¶
NewAddressStreet2Value returns a new Value of the FieldAddressStreet2 type.
func NewAddressValue ¶
NewAddressValue returns a new Value of the FieldAddress type.
func NewCheckboxValue ¶
NewCheckboxValue returns a new Value of the FieldCheckbox type.
func NewCheckboxValueFromString ¶
NewCheckboxValueFromString returns a new Value of the FieldCheckbox type given a passed string.
func NewDateTimeValue ¶
NewDateTimeValue returns a new Value of the FieldDateTime type.
func NewDateTimeValueFromString ¶
NewDateTimeValueFromString returns a new Value of the FieldDate type, parsing the passed string into a time.Time.
func NewDateValue ¶
NewDateValue returns a new Value of the FieldDate type.
func NewDateValueFromString ¶
NewDateValueFromString returns a new Value of the FieldDate type, parsing the passed string into a time.Time.
func NewDurationValue ¶
NewDurationValue returns a new Value of the FieldDuration type.
func NewDurationValueFromFloat64 ¶
NewDurationValueFromFloat64 returns a new Value of the FieldDuration type, converting the passed float64 into a duration. We assume that the float64 is the duration in milliseconds.
func NewDurationValueFromString ¶
NewDurationValueFromString returns a new Value of the FieldDuration type given a passed string.
func NewEmailAddressValue ¶
NewEmailAddressValue returns a new Value of the FieldEmailAddress type.
func NewFileAttachmentValue ¶
NewFileAttachmentValue returns a new Value of the FieldFileAttachment type.
func NewListUserValue ¶
NewListUserValue returns a new Value of the FieldUserList type.
func NewListUserValueFromString ¶
NewListUserValueFromString returns a new Value of the FieldUserList type given a passed string.
func NewMultiSelectTextValue ¶
NewMultiSelectTextValue returns a new Value of the FieldMultiSelectText type.
func NewMultiSelectTextValueFromString ¶
NewMultiSelectTextValueFromString returns a new Value of the FieldMultiSelectText type given a string with a comma-separated list of values.
func NewNumericCurrencyValue ¶
NewNumericCurrencyValue returns a new Value of the FieldNumericCurrency type.
func NewNumericCurrencyValueFromString ¶
NewNumericCurrencyValueFromString returns a new Value of the FieldNumericCurrency type given a string
func NewNumericPercentValue ¶
NewNumericPercentValue returns a new Value of the FieldNumericPercent type.
func NewNumericPercentValueFromString ¶
NewNumericPercentValueFromString returns a new Value of the FieldNumericPercent type given a string.
func NewNumericRatingValue ¶
NewNumericRatingValue returns a new Value of the FieldNumericRating type.
func NewNumericRatingValueFromString ¶
NewNumericRatingValueFromString returns a new Value of the FieldNumericRating type given a string.
func NewNumericValue ¶
NewNumericValue returns a new Value of the FieldNumeric type.
func NewNumericValueFromString ¶
NewNumericValueFromString returns a new Value of the FieldNumeric type given a string.
func NewPhoneNumberValue ¶
NewPhoneNumberValue returns a new Value of the FieldPhoneNumber type.
func NewPredecessorValue ¶
NewPredecessorValue returns a new Value of the FieldPredecessor type.
func NewRecordIDValue ¶
NewRecordIDValue returns a new Value of the FieldRecordID type.
func NewRecordIDValueFromString ¶ added in v0.2.0
NewRecordIDValueFromString returns a new Value of the FieldRecordID type.
func NewReportLinkValue ¶
NewReportLinkValue returns a new Value of the FieldReportLink type.
func NewRichTextValue ¶
NewRichTextValue returns a new Value of the FieldRichText type.
func NewTextMultiLineValue ¶
NewTextMultiLineValue returns a new Value of the FieldTextMultiLine type.
func NewTextMultipleChoiceValue ¶
NewTextMultipleChoiceValue returns a new Value of the FieldTextMultipleChoice type.
func NewTextValue ¶
NewTextValue returns a new Value of the FieldText type.
func NewTimeOfDayValue ¶
NewTimeOfDayValue returns a new Value of the FieldTimeOfDay type.
func NewTimeOfDayValueFromString ¶
NewTimeOfDayValueFromString returns a new Value of the FieldDate type, parsing the passed string into a time.Time.
func NewURLValue ¶
NewURLValue returns a new Value of the FieldURL type.
func NewURLValueFromString ¶
NewURLValueFromString returns a new Value of the FieldURL type.
func NewUserValue ¶
NewUserValue returns a new Value of the FieldUser type.
func NewUserValueFromString ¶
NewUserValueFromString returns a new Value of the FieldUser type given a passed string.
func NewValueFromString ¶
NewValueFromString returns a new *Value from a string given the Quick Base field type.
func NewiCalendarValue ¶
NewiCalendarValue returns a new Value of the FieldiCalendar type. Make this a URL?
func NewvCardValue ¶
NewvCardValue returns a new Value of the FieldvCard type. Make this a URL?
func (*Value) MarshalJSON ¶
MarshalJSON implements json.MarshalJSON and JSON encodes the value. TODO Marshal by Quick Base type instead, because we have to format dates differently.
type Variable ¶
type Variable struct {
Name string `xml:"-" json:"name,omitempty"`
Value string `xml:"value,omitempty" json:"value,omitempty"`
}
Variable models a variable.
type XMLCredentialParameters ¶
type XMLCredentialParameters struct {
AppToken string `xml:"apptoken,omitempty"`
Ticket string `xml:"ticket,omitempty"`
UserToken string `xml:"usertoken,omitempty"`
}
XMLCredentialParameters models XML API credentials parameters and implements XMLInput.
type XMLInput ¶
type XMLInput interface {
Input
// contains filtered or unexported methods
}
XMLInput is implemented by requests to the XML API.
type XMLRequestParameters ¶
type XMLRequestParameters struct {
XMLName xml.Name `xml:"qdbapi"`
UserData string `xml:"udata,omitempty"`
}
XMLRequestParameters models common XML API request parameters.
type XMLResponseParameters ¶
type XMLResponseParameters struct {
XMLName xml.Name `xml:"qdbapi" json:"-"`
Action string `xml:"action" json:"-"`
ErrorCode int `xml:"errcode" json:"errorCode,omitempty"`
ErrorText string `xml:"errtext" json:"errorMessage,omitempty"`
ErrorDetail string `xml:"errdetail" json:"errorDetail,omitempty"`
UserData string `xml:"udata,omitempty" json:"userData,omitempty"`
}
XMLResponseParameters models common XML API response parameters and implements Output.
Source Files
¶
- actions_apps.go
- actions_file.go
- actions_page.go
- actions_variable.go
- client.go
- config.go
- const.go
- file.go
- model.go
- model_datatype.go
- model_iface.go
- model_json.go
- model_record.go
- model_xml.go
- parse.go
- plugin.go
- resource_app.go
- resource_field.go
- resource_file.go
- resource_formula.go
- resource_records.go
- resource_relationship.go
- resource_report.go
- resource_table.go
- resource_user_token.go
- security.go
- utils.go
- validate.go
- version.go