Skip to content

Commit cf4ab8c

Browse files
committed
grab linked content; it is real slow
1 parent 89e330b commit cf4ab8c

File tree

3 files changed

+28
-3
lines changed

3 files changed

+28
-3
lines changed

api/queries_project.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,3 +57,7 @@ func (c Client) GetProjectCards(baseRepo ghrepo.Interface, columnID int) ([]byte
5757

5858
return c.projectREST(url)
5959
}
60+
61+
func (c Client) GetProjectCardContent(contentURL string) ([]byte, error) {
62+
return c.projectREST(contentURL)
63+
}

pkg/cmd/project/http.go

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ func getProject(client *api.Client, baseRepo ghrepo.Interface, projectID int) (*
3030
return nil, err
3131
}
3232

33+
titled := struct {
34+
Title string
35+
}{}
36+
3337
for _, column := range project.Columns {
3438
data, err := client.GetProjectCards(baseRepo, column.ID)
3539
if err != nil {
@@ -40,6 +44,22 @@ func getProject(client *api.Client, baseRepo ghrepo.Interface, projectID int) (*
4044
if err != nil {
4145
return nil, err
4246
}
47+
48+
for _, card := range column.Cards {
49+
// hydrate with any linked content
50+
if card.Note == "" {
51+
data, err := client.GetProjectCardContent(card.ContentURL)
52+
if err != nil {
53+
return nil, err
54+
}
55+
56+
err = json.Unmarshal(data, &titled)
57+
if err != nil {
58+
return nil, err
59+
}
60+
card.Note = titled.Title
61+
}
62+
}
4363
}
4464

4565
return project, nil

pkg/cmd/project/project.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,9 @@ func NewCmdProject(f *cmdutil.Factory, runF func(*ProjectOptions) error) *cobra.
4949
}
5050

5151
type Card struct {
52-
Note string
53-
ID int
52+
Note string
53+
ID int
54+
ContentURL string `json:"content_url"`
5455
}
5556

5657
type Column struct {
@@ -157,7 +158,7 @@ loop:
157158
if len(card.Note) > cardWidth-2 {
158159
cardNote = cardNote[0 : cardWidth-2]
159160
} else if cardNote == "" {
160-
cardNote = "TODO ISSUE"
161+
cardNote = `¯\_(ツ)_/¯`
161162
}
162163
drawStr(s, colX+2, (ic*cardHeight)+colY+3, style, cardNote)
163164
}

0 commit comments

Comments
 (0)