Skip to content
This repository was archived by the owner on Aug 30, 2024. It is now read-only.

Commit 9974e45

Browse files
committed
Export entclient to coder-sdk
1 parent ff28df3 commit 9974e45

File tree

20 files changed

+86
-80
lines changed

20 files changed

+86
-80
lines changed

ci/integration/users_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import (
55
"testing"
66

77
"cdr.dev/coder-cli/ci/tcli"
8-
"cdr.dev/coder-cli/internal/entclient"
8+
"cdr.dev/coder-cli/coder-sdk"
99
"cdr.dev/slog/sloggers/slogtest/assert"
1010
)
1111

@@ -20,7 +20,7 @@ func TestUsers(t *testing.T) {
2020

2121
headlessLogin(ctx, t, c)
2222

23-
var user entclient.User
23+
var user coder.User
2424
c.Run(ctx, `coder users ls --output json | jq -c '.[] | select( .username == "charlie")'`).Assert(t,
2525
tcli.Success(),
2626
tcli.StdoutJSONUnmarshal(&user),

internal/entclient/activity.go renamed to coder-sdk/activity.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package entclient
1+
package coder
22

33
import (
44
"context"

internal/entclient/client.go renamed to coder-sdk/client.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package entclient
1+
package coder
22

33
import (
44
"net/http"

internal/entclient/devurl.go renamed to coder-sdk/devurl.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package entclient
1+
package coder
22

33
import (
44
"context"

internal/entclient/env.go renamed to coder-sdk/env.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package entclient
1+
package coder
22

33
import (
44
"context"
@@ -34,12 +34,12 @@ type Environment struct {
3434
AutoOffThreshold xjson.Duration `json:"auto_off_threshold" tab:"-"`
3535
}
3636

37-
// EnvironmentsInOrganization gets the list of environments owned by the authenticated user
38-
func (c Client) EnvironmentsInOrganization(ctx context.Context, user *User, org *Org) ([]Environment, error) {
37+
// EnvironmentsByOrganization gets the list of environments owned by the given user.
38+
func (c Client) EnvironmentsByOrganization(ctx context.Context, userID, orgID string) ([]Environment, error) {
3939
var envs []Environment
4040
err := c.requestBody(
4141
ctx,
42-
http.MethodGet, "/api/orgs/"+org.ID+"/members/"+user.ID+"/environments",
42+
http.MethodGet, "/api/orgs/"+orgID+"/members/"+userID+"/environments",
4343
nil,
4444
&envs,
4545
)

internal/entclient/error.go renamed to coder-sdk/error.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package entclient
1+
package coder
22

33
import (
44
"encoding/json"

internal/entclient/org.go renamed to coder-sdk/org.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
1-
package entclient
1+
package coder
22

3-
import "context"
3+
import (
4+
"context"
5+
"net/http"
6+
)
47

58
// Org describes an Organization in Coder
69
type Org struct {
@@ -12,6 +15,6 @@ type Org struct {
1215
// Orgs gets all Organizations
1316
func (c Client) Orgs(ctx context.Context) ([]Org, error) {
1417
var os []Org
15-
err := c.requestBody(ctx, "GET", "/api/orgs", nil, &os)
18+
err := c.requestBody(ctx, http.MethodGet, "/api/orgs", nil, &os)
1619
return os, err
1720
}

internal/entclient/request.go renamed to coder-sdk/request.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package entclient
1+
package coder
22

33
import (
44
"bytes"
Lines changed: 26 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package entclient
1+
package coder
22

33
import (
44
"context"
@@ -17,38 +17,42 @@ type Secret struct {
1717
}
1818

1919
// Secrets gets all secrets for the given user
20-
func (c *Client) Secrets(ctx context.Context, user *User) ([]Secret, error) {
20+
func (c *Client) Secrets(ctx context.Context, userID string) ([]Secret, error) {
2121
var secrets []Secret
22-
err := c.requestBody(ctx, http.MethodGet, "/api/users/"+user.ID+"/secrets", nil, &secrets)
22+
err := c.requestBody(ctx, http.MethodGet, "/api/users/"+userID+"/secrets", nil, &secrets)
2323
return secrets, err
2424
}
2525

26-
func (c *Client) secretByID(ctx context.Context, id string, user *User) (*Secret, error) {
26+
// SecretWithValueByName gets the Coder secret with its value by its name.
27+
func (c *Client) SecretWithValueByName(ctx context.Context, name, userID string) (*Secret, error) {
28+
s, err := c.SecretByName(ctx, name, userID)
29+
if err != nil {
30+
return nil, err
31+
}
2732
var secret Secret
28-
err := c.requestBody(ctx, http.MethodGet, "/api/users/"+user.ID+"/secrets/"+id, nil, &secret)
33+
err = c.requestBody(ctx, http.MethodGet, "/api/users/"+userID+"/secrets/"+s.ID, nil, &secret)
2934
return &secret, err
3035
}
3136

32-
func (c *Client) secretNameToID(ctx context.Context, name string, user *User) (id string, _ error) {
33-
secrets, err := c.Secrets(ctx, user)
34-
if err != nil {
35-
return "", err
36-
}
37-
for _, s := range secrets {
38-
if s.Name == name {
39-
return s.ID, nil
40-
}
41-
}
42-
return "", ErrNotFound
37+
// SecretWithValueByID gets the Coder secret with its value by the secret_id.
38+
func (c *Client) SecretWithValueByID(ctx context.Context, id, userID string) (*Secret, error) {
39+
var secret Secret
40+
err := c.requestBody(ctx, http.MethodGet, "/api/users/"+userID+"/secrets/"+id, nil, &secret)
41+
return &secret, err
4342
}
4443

4544
// SecretByName gets a secret object by name
46-
func (c *Client) SecretByName(ctx context.Context, name string, user *User) (*Secret, error) {
47-
id, err := c.secretNameToID(ctx, name, user)
45+
func (c *Client) SecretByName(ctx context.Context, name, userID string) (*Secret, error) {
46+
secrets, err := c.Secrets(ctx, userID)
4847
if err != nil {
4948
return nil, err
5049
}
51-
return c.secretByID(ctx, id, user)
50+
for _, s := range secrets {
51+
if s.Name == name {
52+
return &s, nil
53+
}
54+
}
55+
return nil, ErrNotFound
5256
}
5357

5458
// InsertSecretReq describes the request body for creating a new secret
@@ -65,11 +69,11 @@ func (c *Client) InsertSecret(ctx context.Context, user *User, req InsertSecretR
6569
}
6670

6771
// DeleteSecretByName deletes the authenticated users secret with the given name
68-
func (c *Client) DeleteSecretByName(ctx context.Context, name string, user *User) error {
69-
id, err := c.secretNameToID(ctx, name, user)
72+
func (c *Client) DeleteSecretByName(ctx context.Context, name, userID string) error {
73+
secret, err := c.SecretByName(ctx, name, userID)
7074
if err != nil {
7175
return err
7276
}
73-
_, err = c.request(ctx, http.MethodDelete, "/api/users/"+user.ID+"/secrets/"+id, nil)
77+
_, err = c.request(ctx, http.MethodDelete, "/api/users/"+userID+"/secrets/"+secret.ID, nil)
7478
return err
7579
}

internal/entclient/users.go renamed to coder-sdk/users.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package entclient
1+
package coder
22

33
import (
44
"context"

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy