package plane_v2_api import ( "fmt" plane "fwh-toolbox-server/repositories/api/plane_v2" ) // ListStickies 列出工作空间便签 func ListStickies(c *plane.PlaneClient, slug string) ([]byte, error) { url := fmt.Sprintf("/api/workspaces/%s/stickies/", slug) resp, err := c.Get(url) if err != nil { return nil, err } if !plane.IsSuccess(resp.StatusCode) { return nil, fmt.Errorf("ListStickies 失败: %s", resp.Status) } return resp.Body, nil } // CreateSticky 创建便签 func CreateSticky(c *plane.PlaneClient, slug string, data map[string]interface{}) ([]byte, error) { url := fmt.Sprintf("/api/workspaces/%s/stickies/", slug) resp, err := c.Post(url, data) if err != nil { return nil, err } if !plane.IsSuccess(resp.StatusCode) { return nil, fmt.Errorf("CreateSticky 失败: %s, body=%s", resp.Status, string(resp.Body)) } return resp.Body, nil } // GetSticky 获取便签详情 func GetSticky(c *plane.PlaneClient, slug, stickyID string) ([]byte, error) { url := fmt.Sprintf("/api/workspaces/%s/stickies/%s/", slug, stickyID) resp, err := c.Get(url) if err != nil { return nil, err } if !plane.IsSuccess(resp.StatusCode) { return nil, fmt.Errorf("GetSticky 失败: %s", resp.Status) } return resp.Body, nil } // UpdateSticky 更新便签 func UpdateSticky(c *plane.PlaneClient, slug, stickyID string, data map[string]interface{}) ([]byte, error) { url := fmt.Sprintf("/api/workspaces/%s/stickies/%s/", slug, stickyID) resp, err := c.Patch(url, data) if err != nil { return nil, err } if !plane.IsSuccess(resp.StatusCode) { return nil, fmt.Errorf("UpdateSticky 失败: %s, body=%s", resp.Status, string(resp.Body)) } return resp.Body, nil } // DeleteSticky 删除便签 func DeleteSticky(c *plane.PlaneClient, slug, stickyID string) error { url := fmt.Sprintf("/api/workspaces/%s/stickies/%s/", slug, stickyID) resp, err := c.Delete(url) if err != nil { return err } if resp.StatusCode != 204 { return fmt.Errorf("DeleteSticky 失败: %s", resp.Status) } return nil }