webapi

package
v0.1.14 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 10, 2026 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultBaseURL = "https://api.dida365.com/api/v2"
View Source
const DefaultBaseURLV1 = "https://api.dida365.com/api/v1"
View Source
const DefaultMaxResponseBytes int64 = 16 << 20

Variables

This section is empty.

Functions

func NewTaskID

func NewTaskID() string

Types

type APIError added in v0.1.5

type APIError struct {
	Method      string
	Path        string
	StatusCode  int
	BodySnippet string
	IncludeBody bool
}

func (*APIError) Error added in v0.1.5

func (e *APIError) Error() string

type Client

type Client struct {
	BaseURL          string
	BaseURLV1        string
	HTTPClient       *http.Client
	Token            string
	UserAgent        string
	DeviceID         string
	MaxResponseBytes int64
}

func NewClient

func NewClient(token string) *Client

func (*Client) AttachmentQuota

func (c *Client) AttachmentQuota(ctx context.Context) (map[string]any, error)

func (*Client) CalendarArchivedEvents

func (c *Client) CalendarArchivedEvents(ctx context.Context) ([]map[string]any, error)

func (*Client) CalendarSubscriptions

func (c *Client) CalendarSubscriptions(ctx context.Context) ([]map[string]any, error)

func (*Client) CalendarThirdAccounts

func (c *Client) CalendarThirdAccounts(ctx context.Context) (map[string]any, error)

func (*Client) ClosedItems

func (c *Client) ClosedItems(ctx context.Context, projectIDs []string, statuses []int, from string, to string, completedUserID string) ([]map[string]any, error)

func (*Client) CompleteTask

func (c *Client) CompleteTask(ctx context.Context, taskID string, projectID string) (map[string]any, error)

func (*Client) CompletedTasks

func (c *Client) CompletedTasks(ctx context.Context, from string, to string, limit int) ([]map[string]any, error)

func (*Client) CreateColumn

func (c *Client) CreateColumn(ctx context.Context, projectID string, name string) (map[string]any, error)

func (*Client) CreateComment

func (c *Client) CreateComment(ctx context.Context, projectID string, taskID string, comment CommentMutation) (map[string]any, error)

func (*Client) CreateProject

func (c *Client) CreateProject(ctx context.Context, project ProjectMutation) (map[string]any, error)

func (*Client) CreateProjectGroup

func (c *Client) CreateProjectGroup(ctx context.Context, group ProjectGroupMutation) (map[string]any, error)

func (*Client) CreateTag

func (c *Client) CreateTag(ctx context.Context, tag TagMutation) (map[string]any, error)

func (*Client) CreateTask

func (c *Client) CreateTask(ctx context.Context, task TaskMutation) (map[string]any, error)

func (*Client) DailyReminderPreferences

func (c *Client) DailyReminderPreferences(ctx context.Context) (map[string]any, error)

func (*Client) DeleteComment

func (c *Client) DeleteComment(ctx context.Context, projectID string, taskID string, commentID string) (map[string]any, error)

func (*Client) DeleteProject

func (c *Client) DeleteProject(ctx context.Context, projectID string) (map[string]any, error)

func (*Client) DeleteProjectGroup

func (c *Client) DeleteProjectGroup(ctx context.Context, groupID string) (map[string]any, error)

func (*Client) DeleteTag

func (c *Client) DeleteTag(ctx context.Context, name string) (map[string]any, error)

func (*Client) DeleteTask

func (c *Client) DeleteTask(ctx context.Context, taskID string, projectID string) (map[string]any, error)

func (*Client) Do

func (c *Client) Do(ctx context.Context, method string, path string, body any, out any) error

func (*Client) DoV1

func (c *Client) DoV1(ctx context.Context, method string, path string, body any, out any) error

func (*Client) FullSync

func (c *Client) FullSync(ctx context.Context) (*SyncPayload, error)

func (*Client) HabitCheckins

func (c *Client) HabitCheckins(ctx context.Context, habitIDs []string, afterStamp int64) (map[string]any, error)

func (*Client) HabitPreferences

func (c *Client) HabitPreferences(ctx context.Context) (map[string]any, error)

func (*Client) HabitSections

func (c *Client) HabitSections(ctx context.Context) ([]map[string]any, error)

func (*Client) Habits

func (c *Client) Habits(ctx context.Context) ([]map[string]any, error)

func (*Client) MergeTags

func (c *Client) MergeTags(ctx context.Context, fromName string, toName string) (map[string]any, error)

func (*Client) MoveTask

func (c *Client) MoveTask(ctx context.Context, taskID string, fromProjectID string, toProjectID string) (map[string]any, error)

func (*Client) PomodoroPreferences

func (c *Client) PomodoroPreferences(ctx context.Context) (map[string]any, error)

func (*Client) PomodoroStatisticsGeneral

func (c *Client) PomodoroStatisticsGeneral(ctx context.Context) (map[string]any, error)

func (*Client) PomodoroTimeline

func (c *Client) PomodoroTimeline(ctx context.Context, to string) ([]map[string]any, error)

func (*Client) PomodoroTimings

func (c *Client) PomodoroTimings(ctx context.Context, fromMillis int64, toMillis int64) ([]map[string]any, error)

func (*Client) Pomodoros

func (c *Client) Pomodoros(ctx context.Context, fromMillis int64, toMillis int64) ([]map[string]any, error)

func (*Client) ProjectColumns

func (c *Client) ProjectColumns(ctx context.Context, projectID string) ([]map[string]any, error)

func (*Client) ProjectInviteURL

func (c *Client) ProjectInviteURL(ctx context.Context, projectID string) (map[string]any, error)

func (*Client) ProjectShareQuota

func (c *Client) ProjectShareQuota(ctx context.Context, projectID string) (int64, error)

func (*Client) ProjectShares

func (c *Client) ProjectShares(ctx context.Context, projectID string) ([]map[string]any, error)

func (*Client) ProjectTasks

func (c *Client) ProjectTasks(ctx context.Context, projectID string) ([]map[string]any, error)

func (*Client) ProjectTemplates

func (c *Client) ProjectTemplates(ctx context.Context, timestamp int64) (map[string]any, error)

func (*Client) RecentProjectUsers

func (c *Client) RecentProjectUsers(ctx context.Context) ([]map[string]any, error)

func (*Client) RenameTag

func (c *Client) RenameTag(ctx context.Context, oldName string, newName string) (map[string]any, error)

func (*Client) SearchAll

func (c *Client) SearchAll(ctx context.Context, keywords string) (map[string]any, error)

func (*Client) SetTaskParent

func (c *Client) SetTaskParent(ctx context.Context, taskID string, parentID string, projectID string) (map[string]any, error)

func (*Client) Settings

func (c *Client) Settings(ctx context.Context, includeWeb bool) (map[string]any, error)

func (*Client) ShareContacts

func (c *Client) ShareContacts(ctx context.Context) (map[string]any, error)

func (*Client) StatisticsGeneral

func (c *Client) StatisticsGeneral(ctx context.Context) (map[string]any, error)

func (*Client) SyncSince

func (c *Client) SyncSince(ctx context.Context, checkpoint int64) (*SyncPayload, error)

func (*Client) TaskComments

func (c *Client) TaskComments(ctx context.Context, projectID string, taskID string) ([]map[string]any, error)

func (*Client) TaskDueActivityCounts

func (c *Client) TaskDueActivityCounts(ctx context.Context) (map[string]any, error)

func (*Client) TaskPomodoros

func (c *Client) TaskPomodoros(ctx context.Context, projectID string, taskID string) ([]map[string]any, error)

func (*Client) TrashPage

func (c *Client) TrashPage(ctx context.Context, cursor int) (map[string]any, error)

func (*Client) UpdateComment

func (c *Client) UpdateComment(ctx context.Context, projectID string, taskID string, commentID string, comment CommentMutation) (map[string]any, error)

func (*Client) UpdateProject

func (c *Client) UpdateProject(ctx context.Context, project ProjectMutation) (map[string]any, error)

func (*Client) UpdateProjectGroup

func (c *Client) UpdateProjectGroup(ctx context.Context, group ProjectGroupMutation) (map[string]any, error)

func (*Client) UpdateTag

func (c *Client) UpdateTag(ctx context.Context, tag TagMutation) (map[string]any, error)

func (*Client) UpdateTask

func (c *Client) UpdateTask(ctx context.Context, task TaskMutation) (map[string]any, error)

func (*Client) UploadCommentAttachment added in v0.1.10

func (c *Client) UploadCommentAttachment(ctx context.Context, projectID string, taskID string, fileName string, contentType string, file io.Reader) (map[string]any, error)

func (*Client) UserProfile

func (c *Client) UserProfile(ctx context.Context) (map[string]any, error)

func (*Client) UserSessions

func (c *Client) UserSessions(ctx context.Context, lang string) ([]map[string]any, error)

func (*Client) UserStatus

func (c *Client) UserStatus(ctx context.Context) (map[string]any, error)

type CommentAttach

type CommentAttach struct {
	ID string `json:"id"`
}

type CommentMutation

type CommentMutation struct {
	ID             string           `json:"id,omitempty"`
	CreatedTime    string           `json:"createdTime,omitempty"`
	TaskID         string           `json:"taskId,omitempty"`
	ProjectID      string           `json:"projectId,omitempty"`
	Title          string           `json:"title,omitempty"`
	ReplyCommentID string           `json:"replyCommentId,omitempty"`
	ReplyUser      map[string]any   `json:"replyUserProfile,omitempty"`
	UserProfile    map[string]any   `json:"userProfile,omitempty"`
	Attachments    []CommentAttach  `json:"attachments,omitempty"`
	Mentions       []map[string]any `json:"mentions,omitempty"`
	IsNew          bool             `json:"isNew,omitempty"`
}

type ProjectGroupMutation

type ProjectGroupMutation struct {
	ID        string `json:"id,omitempty"`
	Name      string `json:"name,omitempty"`
	SortOrder int64  `json:"sortOrder,omitempty"`
	ShowAll   bool   `json:"showAll,omitempty"`
}

type ProjectMutation

type ProjectMutation struct {
	ID         string `json:"id,omitempty"`
	Name       string `json:"name,omitempty"`
	Color      string `json:"color,omitempty"`
	SortOrder  int64  `json:"sortOrder,omitempty"`
	Closed     bool   `json:"closed,omitempty"`
	GroupID    string `json:"groupId,omitempty"`
	ViewMode   string `json:"viewMode,omitempty"`
	Permission string `json:"permission,omitempty"`
	Kind       string `json:"kind,omitempty"`
}

type SubTaskItem

type SubTaskItem struct {
	ID     string `json:"id,omitempty"`
	Title  string `json:"title"`
	Status int    `json:"status,omitempty"`
}

type SyncPayload

type SyncPayload struct {
	InboxID       string           `json:"inboxId,omitempty"`
	CheckPoint    int64            `json:"checkPoint,omitempty"`
	Tasks         []map[string]any `json:"tasks,omitempty"`
	TaskAdds      []map[string]any `json:"taskAdds,omitempty"`
	TaskUpdates   []map[string]any `json:"taskUpdates,omitempty"`
	TaskDeletes   []map[string]any `json:"taskDeletes,omitempty"`
	Projects      []map[string]any `json:"projects,omitempty"`
	ProjectGroups []map[string]any `json:"projectGroups,omitempty"`
	Tags          []map[string]any `json:"tags,omitempty"`
	Checks        []map[string]any `json:"checks,omitempty"`
	Filters       []map[string]any `json:"filters,omitempty"`
	SyncOrder     any              `json:"syncOrderBean,omitempty"`
	SyncTaskOrder any              `json:"syncTaskOrderBean,omitempty"`
	Reminders     any              `json:"reminders,omitempty"`
	Raw           map[string]any   `json:"-"`
}

type TagMutation

type TagMutation struct {
	Name      string `json:"name"`
	Label     string `json:"label,omitempty"`
	SortOrder int64  `json:"sortOrder,omitempty"`
	SortType  string `json:"sortType,omitempty"`
	Color     string `json:"color,omitempty"`
	Parent    string `json:"parent,omitempty"`
	RawName   string `json:"rawName,omitempty"`
}

type TaskMovePayload

type TaskMovePayload struct {
	TaskID        string `json:"taskId"`
	FromProjectID string `json:"fromProjectId"`
	ToProjectID   string `json:"toProjectId"`
}

type TaskMutation

type TaskMutation struct {
	ID         string        `json:"id,omitempty"`
	ProjectID  string        `json:"projectId"`
	Title      string        `json:"title,omitempty"`
	Content    string        `json:"content,omitempty"`
	Desc       string        `json:"desc,omitempty"`
	AllDay     *bool         `json:"allDay,omitempty"`
	StartDate  string        `json:"startDate,omitempty"`
	DueDate    string        `json:"dueDate,omitempty"`
	TimeZone   string        `json:"timeZone,omitempty"`
	Reminders  []string      `json:"reminders,omitempty"`
	Repeat     string        `json:"repeat,omitempty"`
	RepeatFrom string        `json:"repeatFrom,omitempty"`
	RepeatFlag string        `json:"repeatFlag,omitempty"`
	Priority   *int          `json:"priority,omitempty"`
	Status     *int          `json:"status,omitempty"`
	ColumnID   string        `json:"columnId,omitempty"`
	Tags       []string      `json:"tags,omitempty"`
	Items      []SubTaskItem `json:"items,omitempty"`
	IsFloating *bool         `json:"isFloating,omitempty"`
}

type TaskParentPayload

type TaskParentPayload struct {
	TaskID    string `json:"taskId"`
	ParentID  string `json:"parentId"`
	ProjectID string `json:"projectId"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL