Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Aug 30, 2024. It is now read-only.
/coder-v1-cliPublic archive

Cleanup and export entclient#95

Merged
cmoog merged 2 commits intomasterfromcleanup-entclient
Aug 17, 2020
Merged
Show file tree
Hide file tree
Changes from1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
NextNext commit
Cleanup entclient api
  • Loading branch information
@cmoog
cmoog committedAug 14, 2020
commitff28df3f443331a94369758e50b835e419d14031
2 changes: 1 addition & 1 deletioninternal/cmd/ceapi.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -45,7 +45,7 @@ func getEnvs(ctx context.Context, client *entclient.Client, email string) ([]ent
var allEnvs []entclient.Environment

for _, org := range orgs {
envs, err := client.Envs(ctx, user, org)
envs, err := client.EnvironmentsInOrganization(ctx, user,&org)
if err != nil {
return nil, xerrors.Errorf("get envs for %v: %+v", org.Name, err)
}
Expand Down
42 changes: 22 additions & 20 deletionsinternal/cmd/secrets.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -47,7 +47,7 @@ func makeSecretsCmd() *cobra.Command {
return cmd
}

func makeCreateSecret(user *string) *cobra.Command {
func makeCreateSecret(userEmail *string) *cobra.Command {
var (
fromFile string
fromLiteral string
Expand DownExpand Up@@ -109,12 +109,14 @@ coder secrets create aws-credentials --from-file ./credentials.json`,
}
}

err = client.InsertSecret(cmd.Context(), entclient.InsertSecretReq{
user, err := client.UserByEmail(cmd.Context(), *userEmail)
if err != nil {
return xerrors.Errorf("get user %q by email: %w", *userEmail, err)
}
err = client.InsertSecret(cmd.Context(), user, entclient.InsertSecretReq{
Name: name,
Value: value,
Description: description,
}, &entclient.ReqOptions{
User: *user,
})
if err != nil {
return xerrors.Errorf("insert secret: %w", err)
Expand All@@ -131,13 +133,15 @@ coder secrets create aws-credentials --from-file ./credentials.json`,
return cmd
}

func listSecrets(user *string) func(cmd *cobra.Command, _ []string) error {
func listSecrets(userEmail *string) func(cmd *cobra.Command, _ []string) error {
return func(cmd *cobra.Command, _ []string) error {
client := requireAuth()
user, err := client.UserByEmail(cmd.Context(), *userEmail)
if err != nil {
return xerrors.Errorf("get user %q by email: %w", *userEmail, err)
}

secrets, err := client.Secrets(cmd.Context(), &entclient.ReqOptions{
User: *user,
})
secrets, err := client.Secrets(cmd.Context(), user)
if err != nil {
return xerrors.Errorf("get secrets: %w", err)
}
Expand All@@ -159,19 +163,18 @@ func listSecrets(user *string) func(cmd *cobra.Command, _ []string) error {
}
}

func makeViewSecret(user *string) func(cmd *cobra.Command, args []string) error {
func makeViewSecret(userEmail *string) func(cmd *cobra.Command, args []string) error {
return func(cmd *cobra.Command, args []string) error {
var (
client = requireAuth()
name = args[0]
)
if name == "" {
return xerrors.New("[name] is a required argument")
user, err := client.UserByEmail(cmd.Context(), *userEmail)
if err != nil {
return xerrors.Errorf("get user %q by email: %w", *userEmail, err)
}

secret, err := client.SecretByName(cmd.Context(), name, &entclient.ReqOptions{
User: *user,
})
secret, err := client.SecretByName(cmd.Context(), name, user)
if err != nil {
return xerrors.Errorf("get secret by name: %w", err)
}
Expand All@@ -184,20 +187,19 @@ func makeViewSecret(user *string) func(cmd *cobra.Command, args []string) error
}
}

func makeRemoveSecrets(user *string) func(c *cobra.Command, args []string) error {
func makeRemoveSecrets(userEmail *string) func(c *cobra.Command, args []string) error {
return func(cmd *cobra.Command, args []string) error {
var (
client = requireAuth()
)
if len(args) < 1 {
return xerrors.New("[...secret_name] is a required argument")
user, err := client.UserByEmail(cmd.Context(), *userEmail)
if err != nil {
return xerrors.Errorf("get user %q by email: %w", *userEmail, err)
}

errorSeen := false
for _, n := range args {
err := client.DeleteSecretByName(cmd.Context(), n, &entclient.ReqOptions{
User: *user,
})
err := client.DeleteSecretByName(cmd.Context(), n, user)
if err != nil {
flog.Error("failed to delete secret %q: %v", n, err)
errorSeen = true
Expand Down
2 changes: 1 addition & 1 deletioninternal/cmd/shell.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -118,7 +118,7 @@ func runCommand(ctx context.Context, envName string, command string, args []stri
ctx, cancel := context.WithCancel(ctx)
defer cancel()

conn, err := entClient.DialWsep(ctx,*env)
conn, err := entClient.DialWsep(ctx, env)
if err != nil {
return err
}
Expand Down
5 changes: 2 additions & 3 deletionsinternal/entclient/activity.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -5,9 +5,9 @@ import (
"net/http"
)

// PushActivity pushes CLI activity to Coder
// PushActivity pushes CLI activity to Coder.
func (c Client) PushActivity(ctx context.Context, source string, envID string) error {
res, err := c.request(ctx,"POST", "/api/metrics/usage/push", map[string]string{
res, err := c.request(ctx,http.MethodPost, "/api/metrics/usage/push", map[string]string{
"source": source,
"environment_id": envID,
})
Expand All@@ -18,6 +18,5 @@ func (c Client) PushActivity(ctx context.Context, source string, envID string) e
if res.StatusCode != http.StatusOK {
return bodyError(res)
}

return nil
}
6 changes: 3 additions & 3 deletionsinternal/entclient/devurl.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,7 +24,7 @@ type delDevURLRequest struct {
func (c Client) DelDevURL(ctx context.Context, envID, urlID string) error {
reqURL := fmt.Sprintf("/api/environments/%s/devurls/%s", envID, urlID)

res, err := c.request(ctx,"DELETE", reqURL, delDevURLRequest{
res, err := c.request(ctx,http.MethodDelete, reqURL, delDevURLRequest{
EnvID: envID,
DevURLID: urlID,
})
Expand All@@ -51,7 +51,7 @@ type createDevURLRequest struct {
func (c Client) InsertDevURL(ctx context.Context, envID string, port int, name, access string) error {
reqURL := fmt.Sprintf("/api/environments/%s/devurls", envID)

res, err := c.request(ctx,"POST", reqURL, createDevURLRequest{
res, err := c.request(ctx,http.MethodPost, reqURL, createDevURLRequest{
EnvID: envID,
Port: port,
Access: access,
Expand All@@ -75,7 +75,7 @@ type updateDevURLRequest createDevURLRequest
func (c Client) UpdateDevURL(ctx context.Context, envID, urlID string, port int, name, access string) error {
reqURL := fmt.Sprintf("/api/environments/%s/devurls/%s", envID, urlID)

res, err := c.request(ctx,"PUT", reqURL, updateDevURLRequest{
res, err := c.request(ctx,http.MethodPut, reqURL, updateDevURLRequest{
EnvID: envID,
Port: port,
Access: access,
Expand Down
9 changes: 5 additions & 4 deletionsinternal/entclient/env.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -2,6 +2,7 @@ package entclient

import (
"context"
"net/http"
"time"

"cdr.dev/coder-cli/internal/x/xjson"
Expand DownExpand Up@@ -33,12 +34,12 @@ type Environment struct {
AutoOffThreshold xjson.Duration `json:"auto_off_threshold" tab:"-"`
}

//Envs gets the list of environments owned by the authenticated user
func (c Client)Envs(ctx context.Context, user *User, org Org) ([]Environment, error) {
//EnvironmentsInOrganization gets the list of environments owned by the authenticated user
func (c Client)EnvironmentsInOrganization(ctx context.Context, user *User, org*Org) ([]Environment, error) {
var envs []Environment
err := c.requestBody(
ctx,
"GET", "/api/orgs/"+org.ID+"/members/"+user.ID+"/environments",
http.MethodGet, "/api/orgs/"+org.ID+"/members/"+user.ID+"/environments",
nil,
&envs,
)
Expand All@@ -47,7 +48,7 @@ func (c Client) Envs(ctx context.Context, user *User, org Org) ([]Environment, e

// DialWsep dials an environments command execution interface
// See github.com/cdr/wsep for details
func (c Client) DialWsep(ctx context.Context, env Environment) (*websocket.Conn, error) {
func (c Client) DialWsep(ctx context.Context, env*Environment) (*websocket.Conn, error) {
u := c.copyURL()
if c.BaseURL.Scheme == "https" {
u.Scheme = "wss"
Expand Down
42 changes: 0 additions & 42 deletionsinternal/entclient/me.go
View file
Open in desktop

This file was deleted.

69 changes: 14 additions & 55 deletionsinternal/entclient/secrets.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -16,47 +16,21 @@ type Secret struct {
UpdatedAt time.Time `json:"updated_at" tab:"-"`
}

// ReqOptions define api request configuration options
type ReqOptions struct {
// User defines the users whose resources should be targeted
User string
}

// DefaultReqOptions define reasonable defaults for an api request
var DefaultReqOptions = &ReqOptions{
User: Me,
}

// Secrets gets all secrets owned by the authed user
func (c *Client) Secrets(ctx context.Context, opts *ReqOptions) ([]Secret, error) {
if opts == nil {
opts = DefaultReqOptions
}
user, err := c.UserByEmail(ctx, opts.User)
if err != nil {
return nil, err
}
// Secrets gets all secrets for the given user
func (c *Client) Secrets(ctx context.Context, user *User) ([]Secret, error) {
var secrets []Secret
err = c.requestBody(ctx, http.MethodGet, "/api/users/"+user.ID+"/secrets", nil, &secrets)
err:= c.requestBody(ctx, http.MethodGet, "/api/users/"+user.ID+"/secrets", nil, &secrets)
return secrets, err
}

func (c *Client) secretByID(ctx context.Context, id string, opts *ReqOptions) (*Secret, error) {
if opts == nil {
opts = DefaultReqOptions
}
user, err := c.UserByEmail(ctx, opts.User)
if err != nil {
return nil, err
}

func (c *Client) secretByID(ctx context.Context, id string, user *User) (*Secret, error) {
var secret Secret
err = c.requestBody(ctx, http.MethodGet, "/api/users/"+user.ID+"/secrets/"+id, nil, &secret)
err:= c.requestBody(ctx, http.MethodGet, "/api/users/"+user.ID+"/secrets/"+id, nil, &secret)
return &secret, err
}

func (c *Client) secretNameToID(ctx context.Context, name string,opts *ReqOptions) (id string, _ error) {
secrets, err := c.Secrets(ctx,opts)
func (c *Client) secretNameToID(ctx context.Context, name string,user *User) (id string, _ error) {
secrets, err := c.Secrets(ctx,user)
if err != nil {
return "", err
}
Expand All@@ -69,12 +43,12 @@ func (c *Client) secretNameToID(ctx context.Context, name string, opts *ReqOptio
}

// SecretByName gets a secret object by name
func (c *Client) SecretByName(ctx context.Context, name string,opts *ReqOptions) (*Secret, error) {
id, err := c.secretNameToID(ctx, name,opts)
func (c *Client) SecretByName(ctx context.Context, name string,user *User) (*Secret, error) {
id, err := c.secretNameToID(ctx, name,user)
if err != nil {
return nil, err
}
return c.secretByID(ctx, id,opts)
return c.secretByID(ctx, id,user)
}

// InsertSecretReq describes the request body for creating a new secret
Expand All@@ -85,29 +59,14 @@ type InsertSecretReq struct {
}

// InsertSecret adds a new secret for the authed user
func (c *Client) InsertSecret(ctx context.Context, req InsertSecretReq, opts *ReqOptions) error {
if opts == nil {
opts = DefaultReqOptions
}
user, err := c.UserByEmail(ctx, opts.User)
if err != nil {
return err
}
func (c *Client) InsertSecret(ctx context.Context, user *User, req InsertSecretReq) error {
var resp interface{}
err = c.requestBody(ctx, http.MethodPost, "/api/users/"+user.ID+"/secrets", req, &resp)
return err
return c.requestBody(ctx, http.MethodPost, "/api/users/"+user.ID+"/secrets", req, &resp)
}

// DeleteSecretByName deletes the authenticated users secret with the given name
func (c *Client) DeleteSecretByName(ctx context.Context, name string, opts *ReqOptions) error {
if opts == nil {
opts = DefaultReqOptions
}
user, err := c.UserByEmail(ctx, opts.User)
if err != nil {
return err
}
id, err := c.secretNameToID(ctx, name, opts)
func (c *Client) DeleteSecretByName(ctx context.Context, name string, user *User) error {
id, err := c.secretNameToID(ctx, name, user)
if err != nil {
return err
}
Expand Down
Loading

[8]ページ先頭

©2009-2025 Movatter.jp