models

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Apr 2, 2025 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Attachment

type Attachment struct {
	ID              string                 `json:"id"`
	CreatedAt       time.Time              `json:"created_at"`
	UpdatedAt       time.Time              `json:"updated_at"`
	DeletedAt       *time.Time             `json:"deleted_at"`
	Attributes      map[string]interface{} `json:"attributes"`
	Asset           string                 `json:"asset"`
	EntityType      string                 `json:"entity_type"`
	IsDeleted       bool                   `json:"is_deleted"`
	IsArchived      bool                   `json:"is_archived"`
	ExternalID      *string                `json:"external_id"`
	ExternalSource  *string                `json:"external_source"`
	Size            float64                `json:"size"`
	IsUploaded      bool                   `json:"is_uploaded"`
	StorageMetadata map[string]interface{} `json:"storage_metadata"`
	CreatedBy       string                 `json:"created_by"`
	UpdatedBy       *string                `json:"updated_by"`
	Workspace       string                 `json:"workspace"`
	Project         string                 `json:"project"`
	Issue           string                 `json:"issue"`
}

Attachment represents a file attached to an issue

type AttachmentsResponse

type AttachmentsResponse struct {
	GroupedBy       interface{}  `json:"grouped_by"`
	SubGroupedBy    interface{}  `json:"sub_grouped_by"`
	TotalCount      int          `json:"total_count"`
	NextCursor      string       `json:"next_cursor"`
	PrevCursor      string       `json:"prev_cursor"`
	NextPageResults bool         `json:"next_page_results"`
	PrevPageResults bool         `json:"prev_page_results"`
	Count           int          `json:"count"`
	TotalPages      int          `json:"total_pages"`
	TotalResults    int          `json:"total_results"`
	ExtraStats      interface{}  `json:"extra_stats"`
	Results         []Attachment `json:"results"`
}

AttachmentsResponse 附件列表的分页响应

type Comment

type Comment struct {
	ID          string    `json:"id"`
	CommentHTML string    `json:"comment_html"`
	CreatedAt   time.Time `json:"created_at"`
	UpdatedAt   time.Time `json:"updated_at"`
	CreatedBy   string    `json:"created_by"`
	UpdatedBy   string    `json:"updated_by"`
	Project     string    `json:"project"`
	Workspace   string    `json:"workspace"`
	Issue       string    `json:"issue"`
	// Member information for tracking who made the comment
	Member *MemberUser `json:"member,omitempty"`
}

Comment represents a comment on an issue

type CommentsResponse

type CommentsResponse struct {
	GroupedBy       interface{} `json:"grouped_by"`
	SubGroupedBy    interface{} `json:"sub_grouped_by"`
	TotalCount      int         `json:"total_count"`
	NextCursor      string      `json:"next_cursor"`
	PrevCursor      string      `json:"prev_cursor"`
	NextPageResults bool        `json:"next_page_results"`
	PrevPageResults bool        `json:"prev_page_results"`
	Count           int         `json:"count"`
	TotalPages      int         `json:"total_pages"`
	TotalResults    int         `json:"total_results"`
	ExtraStats      interface{} `json:"extra_stats"`
	Results         []Comment   `json:"results"`
}

CommentsResponse 评论列表的分页响应

type Cycle

type Cycle struct {
	ID          string    `json:"id"`
	Name        string    `json:"name"`
	Description string    `json:"description,omitempty"`
	StartDate   string    `json:"start_date,omitempty"`
	EndDate     string    `json:"end_date,omitempty"`
	CreatedAt   time.Time `json:"created_at"`
	UpdatedAt   time.Time `json:"updated_at"`
	CreatedBy   string    `json:"created_by"`
	UpdatedBy   string    `json:"updated_by"`
	Project     string    `json:"project"`
	Workspace   string    `json:"workspace"`
}

Cycle represents a Plane cycle

type CyclesResponse

type CyclesResponse struct {
	GroupedBy       interface{} `json:"grouped_by"`
	SubGroupedBy    interface{} `json:"sub_grouped_by"`
	TotalCount      int         `json:"total_count"`
	NextCursor      string      `json:"next_cursor"`
	PrevCursor      string      `json:"prev_cursor"`
	NextPageResults bool        `json:"next_page_results"`
	PrevPageResults bool        `json:"prev_page_results"`
	Count           int         `json:"count"`
	TotalPages      int         `json:"total_pages"`
	TotalResults    int         `json:"total_results"`
	ExtraStats      interface{} `json:"extra_stats"`
	Results         []Cycle     `json:"results"`
}

CyclesResponse 周期列表的分页响应

type ErrorResponse

type ErrorResponse struct {
	Error   string `json:"error"`
	Message string `json:"message"`
}

Error response from the API

type Issue

type Issue struct {
	ID          string    `json:"id"`
	Name        string    `json:"name"`
	Description string    `json:"description,omitempty"`
	State       string    `json:"state,omitempty"`
	Priority    string    `json:"priority,omitempty"`
	AssigneeID  string    `json:"assignee_id,omitempty"`
	Assignees   []string  `json:"assignees,omitempty"`
	CreatedAt   time.Time `json:"created_at"`
	UpdatedAt   time.Time `json:"updated_at"`
	CreatedBy   string    `json:"created_by"`
	UpdatedBy   string    `json:"updated_by"`
	Project     string    `json:"project"`
	Workspace   string    `json:"workspace"`
}

Issue represents a Plane issue

type IssuesResponse

type IssuesResponse struct {
	GroupedBy       interface{} `json:"grouped_by"`
	SubGroupedBy    interface{} `json:"sub_grouped_by"`
	TotalCount      int         `json:"total_count"`
	NextCursor      string      `json:"next_cursor"`
	PrevCursor      string      `json:"prev_cursor"`
	NextPageResults bool        `json:"next_page_results"`
	PrevPageResults bool        `json:"prev_page_results"`
	Count           int         `json:"count"`
	TotalPages      int         `json:"total_pages"`
	TotalResults    int         `json:"total_results"`
	ExtraStats      interface{} `json:"extra_stats"`
	Results         []Issue     `json:"results"`
}

IssuesResponse 问题列表的分页响应

type Label

type Label struct {
	ID          string    `json:"id"`
	Name        string    `json:"name"`
	Description string    `json:"description,omitempty"`
	Color       string    `json:"color,omitempty"`
	CreatedAt   time.Time `json:"created_at"`
	UpdatedAt   time.Time `json:"updated_at"`
	CreatedBy   string    `json:"created_by"`
	UpdatedBy   string    `json:"updated_by"`
	Project     string    `json:"project"`
	Workspace   string    `json:"workspace"`
	Parent      *string   `json:"parent"`
}

Label represents a Plane label

type LabelsResponse added in v0.4.0

type LabelsResponse struct {
	GroupedBy       interface{} `json:"grouped_by"`
	SubGroupedBy    interface{} `json:"sub_grouped_by"`
	TotalCount      int         `json:"total_count"`
	NextCursor      string      `json:"next_cursor"`
	PrevCursor      string      `json:"prev_cursor"`
	NextPageResults bool        `json:"next_page_results"`
	PrevPageResults bool        `json:"prev_page_results"`
	Count           int         `json:"count"`
	TotalPages      int         `json:"total_pages"`
	TotalResults    int         `json:"total_results"`
	ExtraStats      interface{} `json:"extra_stats"`
	Results         []Label     `json:"results"`
}

LabelsResponse 标签列表的分页响应

type Link struct {
	ID        string                 `json:"id"`
	Title     string                 `json:"title,omitempty"`
	URL       string                 `json:"url"`
	Metadata  map[string]interface{} `json:"metadata,omitempty"`
	CreatedAt time.Time              `json:"created_at"`
	UpdatedAt time.Time              `json:"updated_at"`
	CreatedBy string                 `json:"created_by"`
	UpdatedBy string                 `json:"updated_by"`
	Project   string                 `json:"project"`
	Workspace string                 `json:"workspace"`
	Issue     string                 `json:"issue"`
}

Link represents a link attached to an issue

type LinksResponse added in v0.4.0

type LinksResponse struct {
	GroupedBy       interface{} `json:"grouped_by"`
	SubGroupedBy    interface{} `json:"sub_grouped_by"`
	TotalCount      int         `json:"total_count"`
	NextCursor      string      `json:"next_cursor"`
	PrevCursor      string      `json:"prev_cursor"`
	NextPageResults bool        `json:"next_page_results"`
	PrevPageResults bool        `json:"prev_page_results"`
	Count           int         `json:"count"`
	TotalPages      int         `json:"total_pages"`
	TotalResults    int         `json:"total_results"`
	ExtraStats      interface{} `json:"extra_stats"`
	Results         []Link      `json:"results"`
}

LinksResponse 链接列表的分页响应

type Member added in v0.3.0

type Member struct {
	ID           string                 `json:"id"`
	Member       MemberUser             `json:"member"`
	Workspace    WorkspaceInfo          `json:"workspace"`
	CreatedAt    time.Time              `json:"created_at"`
	UpdatedAt    time.Time              `json:"updated_at"`
	DeletedAt    *time.Time             `json:"deleted_at"`
	Role         int                    `json:"role"`
	CompanyRole  interface{}            `json:"company_role"`
	ViewProps    map[string]interface{} `json:"view_props"`
	DefaultProps map[string]interface{} `json:"default_props"`
	IssueProps   map[string]interface{} `json:"issue_props"`
	IsActive     bool                   `json:"is_active"`
	CreatedBy    string                 `json:"created_by"`
	UpdatedBy    string                 `json:"updated_by"`
}

Member represents a project member

type MemberUser added in v0.3.0

type MemberUser struct {
	ID              string      `json:"id"`
	FirstName       string      `json:"first_name"`
	LastName        string      `json:"last_name"`
	Avatar          string      `json:"avatar"`
	AvatarURL       interface{} `json:"avatar_url"`
	IsBot           bool        `json:"is_bot"`
	DisplayName     string      `json:"display_name"`
	Email           string      `json:"email"`
	LastLoginMedium string      `json:"last_login_medium"`
}

MemberUser represents a member user information

type MembersResponse added in v0.3.0

type MembersResponse struct {
	GroupedBy       interface{} `json:"grouped_by"`
	SubGroupedBy    interface{} `json:"sub_grouped_by"`
	TotalCount      int         `json:"total_count"`
	NextCursor      string      `json:"next_cursor"`
	PrevCursor      string      `json:"prev_cursor"`
	NextPageResults bool        `json:"next_page_results"`
	PrevPageResults bool        `json:"prev_page_results"`
	Count           int         `json:"count"`
	TotalPages      int         `json:"total_pages"`
	TotalResults    int         `json:"total_results"`
	ExtraStats      interface{} `json:"extra_stats"`
	Results         []Member    `json:"results"`
}

MembersResponse 成员列表的分页响应

type Module

type Module struct {
	ID          string    `json:"id"`
	Name        string    `json:"name"`
	Description string    `json:"description,omitempty"`
	CreatedAt   time.Time `json:"created_at"`
	UpdatedAt   time.Time `json:"updated_at"`
	CreatedBy   string    `json:"created_by"`
	UpdatedBy   string    `json:"updated_by"`
	Project     string    `json:"project"`
	Workspace   string    `json:"workspace"`
}

Module represents a Plane module

type ModulesResponse

type ModulesResponse struct {
	GroupedBy       interface{} `json:"grouped_by"`
	SubGroupedBy    interface{} `json:"sub_grouped_by"`
	TotalCount      int         `json:"total_count"`
	NextCursor      string      `json:"next_cursor"`
	PrevCursor      string      `json:"prev_cursor"`
	NextPageResults bool        `json:"next_page_results"`
	PrevPageResults bool        `json:"prev_page_results"`
	Count           int         `json:"count"`
	TotalPages      int         `json:"total_pages"`
	TotalResults    int         `json:"total_results"`
	ExtraStats      interface{} `json:"extra_stats"`
	Results         []Module    `json:"results"`
}

ModulesResponse 模块列表的分页响应

type PagedResponse

type PagedResponse struct {
	GroupedBy       interface{} `json:"grouped_by"`
	SubGroupedBy    interface{} `json:"sub_grouped_by"`
	TotalCount      int         `json:"total_count"`
	NextCursor      string      `json:"next_cursor"`
	PrevCursor      string      `json:"prev_cursor"`
	NextPageResults bool        `json:"next_page_results"`
	PrevPageResults bool        `json:"prev_page_results"`
	Count           int         `json:"count"`
	TotalPages      int         `json:"total_pages"`
	TotalResults    int         `json:"total_results"`
	ExtraStats      interface{} `json:"extra_stats"`
	Results         interface{} `json:"results"`
}

Common response structures PagedResponse 分页响应的通用结构

type Pagination

type Pagination struct {
	Count        int  `json:"count"`
	TotalPages   int  `json:"total_pages"`
	NextPage     *int `json:"next_page"`
	PreviousPage *int `json:"previous_page"`
	Page         int  `json:"page"`
}

type Project

type Project struct {
	ID          string    `json:"id"`
	Name        string    `json:"name"`
	Identifier  string    `json:"identifier"`
	Description string    `json:"description,omitempty"`
	CreatedAt   time.Time `json:"created_at"`
	UpdatedAt   time.Time `json:"updated_at"`
	CreatedBy   string    `json:"created_by"`
	UpdatedBy   string    `json:"updated_by"`
	Workspace   string    `json:"workspace"`
}

Project represents a Plane project

type ProjectsResponse

type ProjectsResponse struct {
	GroupedBy       interface{} `json:"grouped_by"`
	SubGroupedBy    interface{} `json:"sub_grouped_by"`
	TotalCount      int         `json:"total_count"`
	NextCursor      string      `json:"next_cursor"`
	PrevCursor      string      `json:"prev_cursor"`
	NextPageResults bool        `json:"next_page_results"`
	PrevPageResults bool        `json:"prev_page_results"`
	Count           int         `json:"count"`
	TotalPages      int         `json:"total_pages"`
	TotalResults    int         `json:"total_results"`
	ExtraStats      interface{} `json:"extra_stats"`
	Results         []Project   `json:"results"`
}

ProjectsResponse 项目列表的分页响应

type S3UploadData

type S3UploadData struct {
	URL    string            `json:"url"`
	Fields map[string]string `json:"fields"`
}

S3UploadData contains the pre-signed URL and fields for direct S3 upload

type State

type State struct {
	ID          string    `json:"id"`
	Name        string    `json:"name"`
	Color       string    `json:"color"`
	Description string    `json:"description,omitempty"`
	CreatedAt   time.Time `json:"created_at"`
	UpdatedAt   time.Time `json:"updated_at"`
	CreatedBy   string    `json:"created_by"`
	UpdatedBy   string    `json:"updated_by"`
	Project     string    `json:"project"`
	Workspace   string    `json:"workspace"`
}

State represents a state in the project (e.g., Todo, In Progress, Done)

type StatesResponse added in v0.4.0

type StatesResponse struct {
	GroupedBy       interface{} `json:"grouped_by"`
	SubGroupedBy    interface{} `json:"sub_grouped_by"`
	TotalCount      int         `json:"total_count"`
	NextCursor      string      `json:"next_cursor"`
	PrevCursor      string      `json:"prev_cursor"`
	NextPageResults bool        `json:"next_page_results"`
	PrevPageResults bool        `json:"prev_page_results"`
	Count           int         `json:"count"`
	TotalPages      int         `json:"total_pages"`
	TotalResults    int         `json:"total_results"`
	ExtraStats      interface{} `json:"extra_stats"`
	Results         []State     `json:"results"`
}

StatesResponse 状态列表的分页响应

type UploadCredentials

type UploadCredentials struct {
	UploadData S3UploadData `json:"upload_data"`
	AssetID    string       `json:"asset_id"`
	Attachment Attachment   `json:"attachment"`
	AssetURL   string       `json:"asset_url"`
}

UploadCredentials represents the response from the get upload credentials endpoint

type Worklog

type Worklog struct {
	ID          string    `json:"id"`
	Description string    `json:"description"`
	Duration    int       `json:"duration"` // Duration in minutes
	CreatedAt   time.Time `json:"created_at"`
	UpdatedAt   time.Time `json:"updated_at"`
	CreatedBy   string    `json:"created_by"`
	UpdatedBy   string    `json:"updated_by"`
	ProjectID   string    `json:"project_id"`
	WorkspaceID string    `json:"workspace_id"`
	LoggedBy    string    `json:"logged_by"`
}

Worklog represents time spent on a specific issue

type WorklogTotal

type WorklogTotal struct {
	IssueID  string  `json:"issue_id"`
	Duration float64 `json:"duration"` // Duration in minutes
}

WorklogTotal represents the aggregated time for an issue

type Workspace

type Workspace struct {
	ID        string    `json:"id"`
	Name      string    `json:"name"`
	Slug      string    `json:"slug"`
	CreatedAt time.Time `json:"created_at"`
	UpdatedAt time.Time `json:"updated_at"`
}

Workspace represents a Plane workspace

type WorkspaceInfo added in v0.3.0

type WorkspaceInfo struct {
	Name    string      `json:"name"`
	Slug    string      `json:"slug"`
	ID      string      `json:"id"`
	LogoURL interface{} `json:"logo_url"`
}

WorkspaceInfo represents workspace information within a member

Jump to

Keyboard shortcuts

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