Documentation ¶
Index ¶
- Constants
- type AddClientRequest
- type AddProjectRequest
- type AddTaskRequest
- type AutomaticLock
- type BaseEstimate
- type BaseEstimateRequest
- type BudgetEstimate
- type BudgetEstimateRequest
- type ChangeTimeEntriesInvoicedRequest
- type Client
- type CreateTimeEntryRequest
- type CustomField
- type CustomFieldValue
- type DateTime
- type Duration
- type Error
- type EstimateResetOption
- type EstimateType
- type GetClientsRequest
- type GetProjectRequest
- type GetProjectsRequest
- type GetTagsRequest
- type GetTasksRequest
- type GetTimeEntryRequest
- type Invitation
- type InvitedUser
- type Membership
- type MembershipStatus
- type OutTimeEntryRequest
- type PaginatedRequest
- type Project
- type Rate
- type Role
- type RoleEntity
- type Round
- type SummaryReportSettings
- type Tag
- type Task
- type TaskStatus
- type TimeEntriesList
- type TimeEntry
- type TimeEntryImpl
- type TimeEstimate
- type TimeEstimateRequest
- type TimeInterval
- type UpdateProjectEstimateRequest
- type UpdateProjectMembership
- type UpdateProjectMembershipsRequest
- type UpdateProjectRequest
- type UpdateProjectTemplateRequest
- type UpdateProjectUserRateRequest
- type UpdateTaskRequest
- type UpdateTimeEntryRequest
- type User
- type UserSettings
- type UserStatus
- type UserTimeEntriesRequest
- type WeekStart
- type Workspace
- type WorkspaceSettings
- type WorkspaceUsersRequest
Constants ¶
const EstimateResetOptionMonthly = EstimateResetOption("MONTHLY")
EstimateResetOptionMonthly estimate is Auto
const EstimateTypeAuto = EstimateType("AUTO")
EstimateTypeAuto estimate is Auto
const EstimateTypeManual = EstimateType("MANUAL")
EstimateTypeManual estimate is Manual
const MembershipStatusActive = MembershipStatus("ACTIVE")
MembershipStatusActive membership is Active
const MembershipStatusDeclined = MembershipStatus("DECLINED")
MembershipStatusDeclined membership is Declined
const MembershipStatusInactive = MembershipStatus("INACTIVE")
MembershipStatusInactive membership is Inactive
const MembershipStatusPending = MembershipStatus("PENDING")
MembershipStatusPending membership is Pending
const TaskStatusActive = TaskStatus("ACTIVE")
TaskStatusActive task is Active
const TaskStatusDone = TaskStatus("DONE")
TaskStatusDone task is Done
const UserStatusActive = UserStatus("ACTIVE")
UserStatusActive when the user is Active
const UserStatusDeleted = UserStatus("DELETED")
UserStatusDeleted when the user is Deleted
const UserStatusPendingEmailVerification = UserStatus("PENDING_EMAIL_VERIFICATION")
UserStatusPendingEmailVerification when the user is Pending Email Verification
const WeekStartFriday = WeekStart("FRIDAY")
WeekStartFriday when start at Friday
const WeekStartMonday = WeekStart("MONDAY")
WeekStartMonday when start at Monday
const WeekStartSaturday = WeekStart("SATURDAY")
WeekStartSaturday when start at Saturday
const WeekStartSunday = WeekStart("SUNDAY")
WeekStartSunday when start at Sunday
const WeekStartThursday = WeekStart("THURSDAY")
WeekStartThursday when start at Thursday
const WeekStartTuesday = WeekStart("TUESDAY")
WeekStartTuesday when start at Tuesday
const WeekStartWednesday = WeekStart("WEDNESDAY")
WeekStartWednesday when start at Wednesday
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AddClientRequest ¶ added in v0.31.0
type AddClientRequest struct {
Name string `json:"name"`
}
type AddProjectRequest ¶ added in v0.31.0
type AddProjectRequest struct { Name string `json:"name"` ClientId string `json:"clientId,omitempty"` IsPublic bool `json:"isPublic"` Color string `json:"color,omitempty"` Note string `json:"note,omitempty"` Billable bool `json:"billable"` Public bool `json:"public"` }
AddProjectRequest represents the parameters to create a project
type AddTaskRequest ¶ added in v0.31.0
type AutomaticLock ¶ added in v0.24.0
type AutomaticLock struct { ChangeDay string `json:"changeDay"` DayOfMonth int `json:"dayOfMonth"` FirstDay string `json:"firstDay"` OlderThanPeriod string `json:"olderThanPeriod"` OlderThanValue int `json:"olderThanValue"` Type string `json:"type"` }
AutomaticLock DTO
type BaseEstimate ¶ added in v0.42.0
type BaseEstimate struct { Type EstimateType `json:"type"` Active bool `json:"active"` ResetOptions *EstimateResetOption `json:"resetOptions"` }
BaseEstimate DTO
type BaseEstimateRequest ¶ added in v0.42.0
type BaseEstimateRequest struct { Type *EstimateType `json:"type,omitempty"` Active bool `json:"active"` ResetOptions *EstimateResetOption `json:"resetOption,omitempty"` }
BaseEstimateRequest is basic information to estime a project
type BudgetEstimate ¶ added in v0.24.0
type BudgetEstimate struct { BaseEstimate Estimate uint `json:"estimate"` }
BudgetEstimate DTO
type BudgetEstimateRequest ¶ added in v0.42.0
type BudgetEstimateRequest struct { BaseEstimateRequest Estimate *uint64 `json:"estimate,omitempty"` }
BudgetEstimateRequest set parameters for time estimate on a project
type ChangeTimeEntriesInvoicedRequest ¶ added in v0.24.0
type Client ¶ added in v0.31.0
type Client struct { ID string `json:"id"` Name string `json:"name"` WorkspaceID string `json:"workspaceId"` Archived bool `json:"archived"` }
Client DTO
type CreateTimeEntryRequest ¶
type CreateTimeEntryRequest struct { Start DateTime `json:"start,omitempty"` End *DateTime `json:"end,omitempty"` Billable *bool `json:"billable,omitempty"` Description string `json:"description,omitempty"` ProjectID string `json:"projectId,omitempty"` TaskID string `json:"taskId,omitempty"` TagIDs []string `json:"tagIds,omitempty"` CustomFields []CustomFieldValue `json:"customFields,omitempty"` }
CreateTimeEntryRequest to create a time entry is created
type CustomField ¶ added in v0.24.0
type CustomField struct { CustomFieldID string `json:"customFieldId"` Status string `json:"status"` Name string `json:"name"` Type string `json:"type"` Value string `json:"value"` }
CustomField DTO
type CustomFieldValue ¶ added in v0.42.0
type CustomFieldValue struct { CustomFieldID string `json:"customFieldId"` Status string `json:"status"` Name string `json:"name"` Type string `json:"type"` Value string `json:"value"` }
CustomFieldValue DTO
type DateTime ¶
DateTime is a time presentation for parameters
func (DateTime) MarshalJSON ¶
MarshalJSON converts DateTime correctly
type Duration ¶ added in v0.35.0
Duration is a time presentation for parameters
func (Duration) MarshalJSON ¶ added in v0.35.0
MarshalJSON converts Duration correctly
func (*Duration) UnmarshalJSON ¶ added in v0.35.0
UnmarshalJSON converts a JSON value to Duration correctly
type EstimateResetOption ¶ added in v0.42.0
type EstimateResetOption string
EstimateResetOption possible Estimate Reset Options
type GetClientsRequest ¶ added in v0.31.0
type GetClientsRequest struct { Name string Archived *bool // contains filtered or unexported fields }
func (GetClientsRequest) AppendToQuery ¶ added in v0.31.0
func (r GetClientsRequest) AppendToQuery(u *url.URL) *url.URL
AppendToQuery decorates the URL with the query string needed for this Request
func (GetClientsRequest) WithPagination ¶ added in v0.31.0
func (r GetClientsRequest) WithPagination(page, size int) PaginatedRequest
WithPagination add pagination to the GetClientsRequest
type GetProjectRequest ¶ added in v0.10.0
type GetProjectRequest struct {
Hydrated bool
}
GetProjectRequest query parameters to fetch a project
func (GetProjectRequest) AppendToQuery ¶ added in v0.10.0
func (r GetProjectRequest) AppendToQuery(u *url.URL) *url.URL
AppendToQuery decorates the URL with a query string
type GetProjectsRequest ¶ added in v0.42.0
type GetProjectsRequest struct { Name string Archived *bool Clients []string Hydrated bool // contains filtered or unexported fields }
func (GetProjectsRequest) AppendToQuery ¶ added in v0.42.0
func (r GetProjectsRequest) AppendToQuery(u *url.URL) *url.URL
AppendToQuery decorates the URL with the query string needed for this Request
func (GetProjectsRequest) WithPagination ¶ added in v0.42.0
func (r GetProjectsRequest) WithPagination(page, size int) PaginatedRequest
WithPagination add pagination to the GetProjectRequest
type GetTagsRequest ¶ added in v0.15.0
func (GetTagsRequest) AppendToQuery ¶ added in v0.15.0
func (r GetTagsRequest) AppendToQuery(u *url.URL) *url.URL
AppendToQuery decorates the URL with the query string needed for this Request
func (GetTagsRequest) WithPagination ¶ added in v0.15.0
func (r GetTagsRequest) WithPagination(page, size int) PaginatedRequest
WithPagination add pagination to the GetTagsRequest
type GetTasksRequest ¶ added in v0.23.0
GetTasksRequest represents the query filters to search tasks of a project
func (GetTasksRequest) AppendToQuery ¶ added in v0.23.0
func (r GetTasksRequest) AppendToQuery(u *url.URL) *url.URL
AppendToQuery decorates the URL with the query string needed for this Request
func (GetTasksRequest) WithPagination ¶ added in v0.23.0
func (r GetTasksRequest) WithPagination(page, size int) PaginatedRequest
WithPagination add pagination to the GetTasksRequest
type GetTimeEntryRequest ¶ added in v0.22.0
GetTimeEntryRequest to get a time entry
func (GetTimeEntryRequest) AppendToQuery ¶ added in v0.22.0
func (r GetTimeEntryRequest) AppendToQuery(u *url.URL) *url.URL
AppendToQuery decorates the URL with the query string needed for this Request
type Invitation ¶
type Invitation struct { Creation time.Time `json:"creation"` InvitationCode string `json:"invitationCode"` Membership Membership `json:"membership"` WorkspaceID string `json:"workspaceId"` WorkspaceName string `json:"workspaceName"` }
Invitation DTO
type InvitedUser ¶
type InvitedUser struct { ID string `json:"id"` Email string `json:"email"` Invitation Invitation `json:"invitation"` Memberships []Membership `json:"memberships"` }
InvitedUser DTO
type Membership ¶
type Membership struct { HourlyRate *Rate `json:"hourlyRate"` CostRate *Rate `json:"costRate"` Status MembershipStatus `json:"membershipStatus"` Type string `json:"membershipType"` TargetID string `json:"targetId"` UserID string `json:"userId"` }
Membership DTO
type OutTimeEntryRequest ¶
type OutTimeEntryRequest struct {
End DateTime `json:"end"`
}
OutTimeEntryRequest to end the current time entry
type PaginatedRequest ¶ added in v0.10.0
type PaginatedRequest interface {
WithPagination(page, size int) PaginatedRequest
}
type Project ¶
type Project struct { WorkspaceID string `json:"workspaceId"` ID string `json:"id"` Name string `json:"name"` Note string `json:"note"` Color string `json:"color"` ClientID string `json:"clientId"` ClientName string `json:"clientName"` HourlyRate Rate `json:"hourlyRate"` CostRate *Rate `json:"costRate"` Billable bool `json:"billable"` TimeEstimate TimeEstimate `json:"timeEstimate"` BudgetEstimate BaseEstimate `json:"budgetEstimate"` Duration *Duration `json:"duration"` Archived bool `json:"archived"` Template bool `json:"template"` Public bool `json:"public"` Favorite bool `json:"favorite"` Memberships []Membership `json:"memberships"` // Hydrated indicates if the attributes CustomFields and Tasks are filled Hydrated bool `json:"-"` CustomFields []CustomField `json:"customFields,omitempty"` Tasks []Task `json:"tasks,omitempty"` }
Project DTO
type Role ¶ added in v0.24.0
type Role struct { Role string `json:"role"` Entities []RoleEntity `json:"entities"` }
Role DTO
type RoleEntity ¶ added in v0.24.0
type SummaryReportSettings ¶
SummaryReportSettings DTO
type Tag ¶
type Tag struct { ID string `json:"id"` Name string `json:"name"` WorkspaceID string `json:"workspaceId"` }
Tag DTO
type Task ¶
type Task struct { AssigneeIDs []string `json:"assigneeIds"` UserGroupIDs []string `json:"userGroupIds"` Estimate *Duration `json:"estimate"` ID string `json:"id"` Name string `json:"name"` ProjectID string `json:"projectId"` Billable bool `json:"billable"` HourlyRate *Rate `json:"hourlyRate"` CostRate *Rate `json:"costRate"` Status TaskStatus `json:"status"` Duration *Duration `json:"duration"` Favorite bool `json:"favorite"` }
Task DTO
type TimeEntriesList ¶
type TimeEntriesList struct { AllEntriesCount int64 `json:"allEntriesCount"` GotAllEntries bool `json:"gotAllEntries"` TimeEntriesList []TimeEntryImpl `json:"timeEntriesList"` }
TimeEntriesList DTO
type TimeEntry ¶
type TimeEntry struct { ID string `json:"id"` Billable bool `json:"billable"` Description string `json:"description"` HourlyRate Rate `json:"hourlyRate"` IsLocked bool `json:"isLocked"` Project *Project `json:"project"` ProjectID string `json:"projectId"` Tags []Tag `json:"tags"` Task *Task `json:"task"` TimeInterval TimeInterval `json:"timeInterval"` TotalBillable int64 `json:"totalBillable"` User *User `json:"user"` WorkspaceID string `json:"workspaceId"` }
TimeEntry DTO
type TimeEntryImpl ¶
type TimeEntryImpl struct { Billable bool `json:"billable"` Description string `json:"description"` ID string `json:"id"` IsLocked bool `json:"isLocked"` ProjectID string `json:"projectId"` TagIDs []string `json:"tagIds"` TaskID string `json:"taskId"` TimeInterval TimeInterval `json:"timeInterval"` UserID string `json:"userId"` WorkspaceID string `json:"workspaceId"` }
TimeEntryImpl DTO
type TimeEstimate ¶ added in v0.24.0
type TimeEstimate struct { BaseEstimate Estimate Duration `json:"estimate"` IncludeNonBillable bool `json:"includeNonBillable"` }
TimeEstimate DTO
type TimeEstimateRequest ¶ added in v0.42.0
type TimeEstimateRequest struct { BaseEstimateRequest Estimate *Duration `json:"estimate,omitempty"` }
TimeEstimateRequest set parameters for time estimate on a project
type TimeInterval ¶
type TimeInterval struct { Duration string `json:"duration"` End *time.Time `json:"end"` Start time.Time `json:"start"` }
TimeInterval DTO
func NewTimeInterval ¶ added in v0.44.1
func NewTimeInterval(start time.Time, end *time.Time) TimeInterval
NewTimeInterval will create a TimeInterval from start and end times
type UpdateProjectEstimateRequest ¶ added in v0.42.0
type UpdateProjectEstimateRequest struct { TimeEstimate TimeEstimateRequest `json:"timeEstimate"` BudgetEstimate BudgetEstimateRequest `json:"budgetEstimate"` }
UpdateProjectEstimateRequest represents a request to set a estimate of a project
type UpdateProjectMembership ¶ added in v0.42.0
type UpdateProjectMembership struct { UserID string `json:"userId"` HourlyRate Rate `json:"hourlyRate"` }
UpdateProjectMembership sets which user or group has access, and their hourly rate
type UpdateProjectMembershipsRequest ¶ added in v0.42.0
type UpdateProjectMembershipsRequest struct {
Memberships []UpdateProjectMembership `json:"memberships"`
}
UpdateProjectMembershipsRequest represents a request to change which users and groups have access to a project
type UpdateProjectRequest ¶ added in v0.40.0
type UpdateProjectRequest struct { Name *string `json:"name,omitempty"` ClientId *string `json:"clientId,omitempty"` IsPublic *bool `json:"isPublic,omitempty"` Color *string `json:"color,omitempty"` Note *string `json:"note,omitempty"` Billable *bool `json:"billable,omitempty"` Archived *bool `json:"archived,omitempty"` }
UpdateProjectRequest represents the parameters to update a project
type UpdateProjectTemplateRequest ¶ added in v0.42.0
type UpdateProjectTemplateRequest struct {
IsTemplate bool `json:"isTemplate"`
}
UpdateProjectTemplateRequest represents a request to change isTemplate flag of a project
type UpdateProjectUserRateRequest ¶ added in v0.42.0
type UpdateProjectUserRateRequest struct { Amount uint `json:"amount"` Since *DateTime `json:"since,omitempty"` }
UpdateProjectUserRateRequest represents a request to change a user billable rate on a project
type UpdateTaskRequest ¶ added in v0.35.0
type UpdateTimeEntryRequest ¶
type UpdateTimeEntryRequest struct { Start DateTime `json:"start,omitempty"` End *DateTime `json:"end,omitempty"` Billable bool `json:"billable,omitempty"` Description string `json:"description,omitempty"` ProjectID string `json:"projectId,omitempty"` TaskID string `json:"taskId,omitempty"` TagIDs []string `json:"tagIds,omitempty"` CustomFields []CustomFieldValue `json:"customFields,omitempty"` }
UpdateTimeEntryRequest to update a time entry
type User ¶
type User struct { ID string `json:"id"` ActiveWorkspace string `json:"activeWorkspace"` DefaultWorkspace string `json:"defaultWorkspace"` Email string `json:"email"` Memberships []Membership `json:"memberships"` Name string `json:"name"` ProfilePicture string `json:"profilePicture"` Settings UserSettings `json:"settings"` Status UserStatus `json:"status"` Roles *[]Role `json:"roles"` }
User DTO
type UserSettings ¶
type UserSettings struct { DateFormat string `json:"dateFormat"` IsCompactViewOn bool `json:"isCompactViewOn"` LongRunning bool `json:"longRunning"` SendNewsletter bool `json:"sendNewsletter"` SummaryReportSettings SummaryReportSettings `json:"summaryReportSettings"` TimeFormat string `json:"timeFormat"` TimeTrackingManual bool `json:"timeTrackingManual"` TimeZone string `json:"timeZone"` WeekStart string `json:"weekStart"` WeeklyUpdates bool `json:"weeklyUpdates"` }
UserSettings DTO
type UserTimeEntriesRequest ¶ added in v0.24.0
type UserTimeEntriesRequest struct { Description string Start *DateTime End *DateTime Project string Task string TagIDs []string ProjectRequired *bool TaskRequired *bool ConsiderDurationFormat *bool Hydrated *bool OnlyInProgress *bool // contains filtered or unexported fields }
UserTimeEntriesRequest to get entries of a user
func (UserTimeEntriesRequest) AppendToQuery ¶ added in v0.24.0
func (r UserTimeEntriesRequest) AppendToQuery(u *url.URL) *url.URL
AppendToQuery decorates the URL with the query string needed for this Request
func (UserTimeEntriesRequest) WithPagination ¶ added in v0.24.0
func (r UserTimeEntriesRequest) WithPagination(page, size int) PaginatedRequest
WithPagination add pagination to the UserTimeEntriesRequest
type Workspace ¶
type Workspace struct { ID string `json:"id"` Name string `json:"name"` ImageURL string `json:"imageUrl"` Settings WorkspaceSettings `json:"workspaceSettings"` HourlyRate Rate `json:"hourlyRate"` Memberships []Membership }
Workspace DTO
type WorkspaceSettings ¶
type WorkspaceSettings struct { AdminOnlyPages []string `json:"adminOnlyPages"` AutomaticLock AutomaticLock `json:"automaticLock"` CanSeeTimeSheet bool `json:"canSeeTimeSheet"` DefaultBillableProjects bool `json:"defaultBillableProjects"` ForceDescription bool `json:"forceDescription"` ForceProjects bool `json:"forceProjects"` ForceTags bool `json:"forceTags"` ForceTasks bool `json:"forceTasks"` LockTimeEntries time.Time `json:"lockTimeEntries"` OnlyAdminsCreateProject bool `json:"onlyAdminsCreateProject"` OnlyAdminsCreateTag bool `json:"onlyAdminsCreateTag"` OnlyAdminsCreateTask bool `json:"onlyAdminsCreateTask"` OnlyAdminsSeeAllTimeEntries bool `json:"onlyAdminsSeeAllTimeEntries"` OnlyAdminsSeeBillableRates bool `json:"onlyAdminsSeeBillableRates"` OnlyAdminsSeeDashboard bool `json:"onlyAdminsSeeDashboard"` OnlyAdminsSeePublicProjectsEntries bool `json:"onlyAdminsSeePublicProjectsEntries"` ProjectFavorites bool `json:"projectFavorites"` ProjectGroupingLabel string `json:"projectGroupingLabel"` ProjectPickerSpecialFilter bool `json:"projectPickerSpecialFilter"` Round Round `json:"round"` TimeRoundingInReports bool `json:"timeRoundingInReports"` TrackTimeDownToSecond bool `json:"trackTimeDownToSecond"` IsProjectPublicByDefault bool `json:"isProjectPublicByDefault"` CanSeeTracker bool `json:"canSeeTracker"` FeatureSubscriptionType string `json:"featureSubscriptionType"` }
WorkspaceSettings DTO
type WorkspaceUsersRequest ¶ added in v0.38.2
type WorkspaceUsersRequest struct { Email string // contains filtered or unexported fields }
func (WorkspaceUsersRequest) AppendToQuery ¶ added in v0.38.2
func (r WorkspaceUsersRequest) AppendToQuery(u *url.URL) *url.URL
AppendToQuery decorates the URL with the query string needed for this Request
func (WorkspaceUsersRequest) WithPagination ¶ added in v0.38.2
func (r WorkspaceUsersRequest) WithPagination(page, size int) PaginatedRequest
WithPagination add pagination to the WorkspaceUsersRequest