Skip to content

Commit 0bab0fa

Browse files
authored
Ability to create temp query (#13)
1 parent c819687 commit 0bab0fa

5 files changed

Lines changed: 20 additions & 4 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Manage and execute Dune queries.
2222

2323
| Command | Description |
2424
|---------|-------------|
25-
| `query create --name <name> --sql <sql> [--description] [--private]` | Create a new saved query |
25+
| `query create --name <name> --sql <sql> [--description] [--private] [--temp]` | Create a new saved query |
2626
| `query get <query-id>` | Get a saved query's details and SQL |
2727
| `query update <query-id> [--name] [--sql] [--description] [--private] [--tags]` | Update an existing query |
2828
| `query archive <query-id>` | Archive a saved query |

cmd/query/create.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ func newCreateCmd() *cobra.Command {
2020
cmd.Flags().String("sql", "", "query SQL (required)")
2121
cmd.Flags().String("description", "", "query description")
2222
cmd.Flags().Bool("private", false, "make the query private")
23+
cmd.Flags().Bool("temp", false, "create a temporary (unsaved) query")
2324
_ = cmd.MarkFlagRequired("name")
2425
_ = cmd.MarkFlagRequired("sql")
2526
output.AddFormatFlag(cmd, "text")
@@ -34,12 +35,14 @@ func runCreate(cmd *cobra.Command, _ []string) error {
3435
sql, _ := cmd.Flags().GetString("sql")
3536
description, _ := cmd.Flags().GetString("description")
3637
private, _ := cmd.Flags().GetBool("private")
38+
temp, _ := cmd.Flags().GetBool("temp")
3739

3840
resp, err := client.CreateQuery(models.CreateQueryRequest{
3941
Name: name,
4042
QuerySQL: sql,
4143
Description: description,
4244
IsPrivate: private,
45+
IsTemp: temp,
4346
})
4447
if err != nil {
4548
return err

cmd/query/create_test.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,19 @@ func TestCreatePrivateFlag(t *testing.T) {
5454
require.NoError(t, root.Execute())
5555
}
5656

57+
func TestCreateTempFlag(t *testing.T) {
58+
mock := &mockClient{
59+
createQueryFn: func(req models.CreateQueryRequest) (*models.CreateQueryResponse, error) {
60+
assert.True(t, req.IsTemp)
61+
return &models.CreateQueryResponse{QueryID: 1}, nil
62+
},
63+
}
64+
65+
root, _ := newTestRoot(mock)
66+
root.SetArgs([]string{"query", "create", "--name", "T", "--sql", "S", "--temp"})
67+
require.NoError(t, root.Execute())
68+
}
69+
5770
func TestCreateDescriptionFlag(t *testing.T) {
5871
mock := &mockClient{
5972
createQueryFn: func(req models.CreateQueryRequest) (*models.CreateQueryResponse, error) {

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ go 1.25.6
44

55
require (
66
github.com/charmbracelet/fang v0.4.4
7-
github.com/duneanalytics/duneapi-client-go v0.4.1
7+
github.com/duneanalytics/duneapi-client-go v0.4.2
88
github.com/modelcontextprotocol/go-sdk v1.4.0
99
github.com/spf13/cobra v1.10.2
1010
github.com/stretchr/testify v1.11.1

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ github.com/clipperhouse/uax29/v2 v2.3.0/go.mod h1:Wn1g7MK6OoeDT0vL+Q0SQLDz/KpfsV
2929
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
3030
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
3131
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
32-
github.com/duneanalytics/duneapi-client-go v0.4.1 h1:lO7rAPaZrSuNTBOHNBoZDJ3oa7aT35yv7a/dreX8Nms=
33-
github.com/duneanalytics/duneapi-client-go v0.4.1/go.mod h1:7pXXufWvR/Mh2KOehdyBaunJXmHI+pzjUmyQTQhJjdE=
32+
github.com/duneanalytics/duneapi-client-go v0.4.2 h1:1kdSSpmcfh4+pOvY3RI0eHrtotALBE/douE+VzgGNsg=
33+
github.com/duneanalytics/duneapi-client-go v0.4.2/go.mod h1:7pXXufWvR/Mh2KOehdyBaunJXmHI+pzjUmyQTQhJjdE=
3434
github.com/golang-jwt/jwt/v5 v5.3.0 h1:pv4AsKCKKZuqlgs5sUmn4x8UlGa0kEVt/puTpKx9vvo=
3535
github.com/golang-jwt/jwt/v5 v5.3.0/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE=
3636
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=

0 commit comments

Comments
 (0)