Skip to content

Commit df19d2e

Browse files
committed
feat: added -version flag and formated the files.
edited Justfile to include enhanced tidy target. used the enhanced tidy target to vendor the project dependencies. added go-tools to flake.nix and commented air. updated flake.lock.
1 parent d7adf71 commit df19d2e

689 files changed

Lines changed: 286956 additions & 81 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Justfile

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,16 +129,22 @@ fmt:
129129
@echo "📝 Formatting code..."
130130
go fmt ./...
131131

132-
# Tidy up go.mod dependencies
132+
# Tidy and vendor module dependencies, and format all .go files
133133
tidy:
134-
@echo "📦 Tidying modules..."
134+
@echo 'Tidying module dependencies...'
135135
go mod tidy
136+
@echo 'Verifying and vendoring module dependencies...'
137+
go mod verify
138+
go mod vendor
139+
@echo 'Formatting .go files...'
140+
go fmt ./...
136141

137142
# Clean build artifacts and tls and tmp folders
138143
[confirm]
139144
clean:
140145
@echo "🗑️ Cleaning build artifacts..."
141146
rm -rf {{ output_dir }}
147+
rm -rf dist
142148
rm -rf tmp
143149
rm -rf tls
144150
@echo "✨ Clean complete."

cmd/cli/main.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,29 @@
11
package main
22

33
import (
4+
"flag"
45
"fmt"
56
"os"
67

78
tea "github.com/charmbracelet/bubbletea"
89
"github.com/nil-omen/greenlight-client/internal/ui"
10+
"github.com/nil-omen/greenlight-client/internal/vcs"
11+
)
12+
13+
var (
14+
version = vcs.Version()
915
)
1016

1117
func main() {
18+
19+
displayVersion := flag.Bool("version", false, "Display version and exit")
20+
21+
flag.Parse()
22+
23+
if *displayVersion {
24+
fmt.Printf("Version:\t%s\n", version)
25+
os.Exit(0)
26+
}
1227
p := tea.NewProgram(ui.InitialModel(), tea.WithAltScreen())
1328
if _, err := p.Run(); err != nil {
1429
fmt.Printf("Alas, there's been an error: %v", err)

flake.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flake.nix

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,15 @@
3535
name = "greenlight-client-shell";
3636

3737
nativeBuildInputs = with pkgs; [
38-
air # Live reload
38+
# air # Live reload
3939
just # Task runner (Alternative to gnumake)
4040
go
4141
gcc
4242
gopls # LSP
4343
pkg-config # Helper to find C libraries
4444
upx # Binary compression tool
4545
golangci-lint
46+
go-tools # (Provides the staticcheck binary)
4647
];
4748

4849
buildInputs = with pkgs; [

internal/api/client.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,9 @@ func (c *Client) do(req *http.Request, v interface{}) error {
5858
if err != nil {
5959
return err
6060
}
61-
defer resp.Body.Close()
61+
defer func() {
62+
_ = resp.Body.Close()
63+
}()
6264

6365
if resp.StatusCode < 200 || resp.StatusCode >= 300 {
6466
bodyBytes, _ := io.ReadAll(resp.Body)

internal/api/models.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ package api
33
import "time"
44

55
type Movie struct {
6-
ID int `json:"id"`
7-
Title string `json:"title"`
8-
Year int32 `json:"year"`
9-
Runtime string `json:"runtime"`
10-
Genres []string `json:"genres"`
11-
Version int32 `json:"version"`
6+
ID int `json:"id"`
7+
Title string `json:"title"`
8+
Year int32 `json:"year"`
9+
Runtime string `json:"runtime"`
10+
Genres []string `json:"genres"`
11+
Version int32 `json:"version"`
1212
}
1313

1414
type AuthenticationResponse struct {

internal/api/movies.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ func (c *Client) GetMovieRaw(id int) (string, error) {
4747
if err != nil {
4848
return "", err
4949
}
50-
50+
5151
return string(b), nil
5252
}
5353

@@ -87,10 +87,10 @@ func (c *Client) CreateMovie(movie *CreateMovieRequest) (*Movie, error) {
8787
}
8888

8989
type UpdateMovieRequest struct {
90-
Title *string `json:"title,omitempty"`
91-
Year *int32 `json:"year,omitempty"`
92-
Runtime *string `json:"runtime,omitempty"`
93-
Genres []string `json:"genres,omitempty"`
90+
Title *string `json:"title,omitempty"`
91+
Year *int32 `json:"year,omitempty"`
92+
Runtime *string `json:"runtime,omitempty"`
93+
Genres []string `json:"genres,omitempty"`
9494
}
9595

9696
func (c *Client) UpdateMovie(id int, movie *UpdateMovieRequest) (*Movie, error) {

internal/api/users.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,12 @@ func (c *Client) Healthcheck() (*HealthcheckResponse, error) {
5656
if err != nil {
5757
return nil, err
5858
}
59-
59+
6060
var r HealthcheckResponse
6161
err = c.do(req, &r)
6262
if err != nil {
6363
return nil, err
6464
}
65-
65+
6666
return &r, nil
6767
}

internal/ui/dashboard.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,12 @@ func (d itemDelegate) Render(w io.Writer, m list.Model, index int, listItem list
3939
}
4040
}
4141

42-
fmt.Fprint(w, fn(str))
42+
_, _ = fmt.Fprint(w, fn(str))
4343
}
4444

4545
type dashboardModel struct {
46-
list list.Model
47-
client *api.Client
46+
list list.Model
47+
client *api.Client
4848
}
4949

5050
func initialDashboardModel() dashboardModel {
@@ -99,10 +99,10 @@ func (m dashboardModel) update(msg tea.Msg) (dashboardModel, tea.Cmd) {
9999

100100
func (m dashboardModel) view() string {
101101
var b strings.Builder
102-
102+
103103
b.WriteString("\n")
104104
b.WriteString("\n\n" + m.list.View() + "\n\n")
105105
b.WriteString(styles.HelpStyle.Render("↑/↓: navigate • enter: select • ctrl+c: quit"))
106-
106+
107107
return b.String()
108108
}

internal/ui/login.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -68,20 +68,20 @@ func (m loginModel) update(msg tea.Msg) (loginModel, tea.Cmd) {
6868
if s == "enter" && m.focus == len(m.inputs)-1 {
6969
m.loading = true
7070
m.err = nil
71-
71+
7272
email := m.inputs[0].Value()
7373
password := m.inputs[1].Value()
74-
74+
7575
return m, func() tea.Msg {
7676
if email == "" || password == "" {
7777
return errMsg{fmt.Errorf("email and password are required")}
7878
}
79-
79+
8080
err := m.client.Authenticate(email, password)
8181
if err != nil {
8282
return errMsg{err}
8383
}
84-
84+
8585
return loginSuccessMsg{}
8686
}
8787
}
@@ -119,7 +119,7 @@ func (m loginModel) update(msg tea.Msg) (loginModel, tea.Cmd) {
119119
m.err = msg.err
120120
m.loading = false
121121
return m, nil
122-
122+
123123
case loginSuccessMsg:
124124
m.loading = false
125125
m.err = nil

0 commit comments

Comments
 (0)