Documentation
¶
Index ¶
- type Author
- type Challenge
- type Client
- func (c *Client) CreateAuthor(ctx context.Context, req CreateAuthorRequest) (*Author, error)
- func (c *Client) CreateChallenge(ctx context.Context, req CreateChallengeRequest) (*Challenge, error)
- func (c *Client) CreateCourse(ctx context.Context, req CreateCourseRequest) (*Course, error)
- func (c *Client) CreatePlay(ctx context.Context, req CreatePlayRequest) (*Play, error)
- func (c *Client) CreateSession(ctx context.Context) (*Session, error)
- func (c *Client) CreateTutorial(ctx context.Context, req CreateTutorialRequest) (*Tutorial, error)
- func (c *Client) Delete(ctx context.Context, path string, query url.Values, headers http.Header) (*http.Response, error)
- func (c *Client) DeleteChallenge(ctx context.Context, name string) error
- func (c *Client) DeleteContentFile(ctx context.Context, kind content.ContentKind, name string, file string) error
- func (c *Client) DeleteCourse(ctx context.Context, name string) error
- func (c *Client) DeletePlay(ctx context.Context, id string) error
- func (c *Client) DeleteSession(ctx context.Context, id string) error
- func (c *Client) DeleteTutorial(ctx context.Context, name string) error
- func (c *Client) Download(ctx context.Context, path string, query url.Values, headers http.Header, ...) error
- func (c *Client) DownloadContentFile(ctx context.Context, kind content.ContentKind, name string, file string, ...) error
- func (c *Client) DownloadTo(ctx context.Context, path string, query url.Values, headers http.Header, ...) error
- func (c *Client) Get(ctx context.Context, path string, query url.Values, headers http.Header) (*http.Response, error)
- func (c *Client) GetChallenge(ctx context.Context, name string) (*Challenge, error)
- func (c *Client) GetCourse(ctx context.Context, name string) (*Course, error)
- func (c *Client) GetInto(ctx context.Context, path string, query url.Values, headers http.Header, ...) error
- func (c *Client) GetMe(ctx context.Context) (*Me, error)
- func (c *Client) GetPlay(ctx context.Context, id string) (*Play, error)
- func (c *Client) GetPlayground(ctx context.Context, name string) (*Playground, error)
- func (c *Client) GetSession(ctx context.Context, id string) (*Session, error)
- func (c *Client) GetTutorial(ctx context.Context, name string) (*Tutorial, error)
- func (c *Client) ListAuthoredChallenges(ctx context.Context) ([]Challenge, error)
- func (c *Client) ListAuthoredCourses(ctx context.Context) ([]Course, error)
- func (c *Client) ListAuthoredTutorials(ctx context.Context) ([]Tutorial, error)
- func (c *Client) ListAuthors(ctx context.Context, filter ListAuthorsFilter) ([]Author, error)
- func (c *Client) ListChallenges(ctx context.Context) ([]Challenge, error)
- func (c *Client) ListContentFiles(ctx context.Context, kind content.ContentKind, name string) ([]string, error)
- func (c *Client) ListCourses(ctx context.Context) ([]Course, error)
- func (c *Client) ListPlaygrounds(ctx context.Context) ([]Playground, error)
- func (c *Client) ListPlays(ctx context.Context) ([]*Play, error)
- func (c *Client) ListTutorials(ctx context.Context) ([]Tutorial, error)
- func (c *Client) Post(ctx context.Context, path string, query url.Values, headers http.Header, ...) (*http.Response, error)
- func (c *Client) PostInto(ctx context.Context, path string, query url.Values, headers http.Header, ...) error
- func (c *Client) Put(ctx context.Context, path string, query url.Values, headers http.Header, ...) (*http.Response, error)
- func (c *Client) PutContentMarkdown(ctx context.Context, kind content.ContentKind, name string, file string, ...) error
- func (c *Client) PutInto(ctx context.Context, path string, query url.Values, headers http.Header, ...) error
- func (c *Client) SetCredentials(sessionID, accessToken string)
- func (c *Client) StartTunnel(ctx context.Context, id string, req StartTunnelRequest) (*StartTunnelResponse, error)
- func (c *Client) Upload(ctx context.Context, url string, src io.Reader) (*http.Response, error)
- func (c *Client) UploadContentFile(ctx context.Context, kind content.ContentKind, name string, file string, ...) error
- func (c *Client) UploadFrom(ctx context.Context, url string, file string) (*http.Response, error)
- type ClientOptions
- type Course
- type CourseVariant
- type CreateAuthorRequest
- type CreateChallengeRequest
- type CreateCourseRequest
- type CreatePlayRequest
- type CreateTutorialRequest
- type ListAuthorsFilter
- type Machine
- type Me
- type Play
- type Playground
- type PortAccess
- type PremiumAccess
- type Session
- type StartTunnelRequest
- type StartTunnelResponse
- type Tutorial
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Challenge ¶ added in v0.0.4
type Challenge struct {
CreatedAt string `json:"createdAt" yaml:"createdAt"`
UpdatedAt string `json:"updatedAt" yaml:"updatedAt"`
Name string `json:"name" yaml:"name"`
PageURL string `json:"pageUrl" yaml:"pageUrl"`
AttemptCount int `json:"attemptCount" yaml:"attemptCount"`
CompletionCount int `json:"completionCount" yaml:"completionCount"`
}
func (*Challenge) GetKind ¶ added in v0.0.4
func (ch *Challenge) GetKind() content.ContentKind
func (*Challenge) GetPageURL ¶ added in v0.0.4
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func NewClient ¶
func NewClient(opts ClientOptions) *Client
func (*Client) CreateAuthor ¶ added in v0.0.4
func (*Client) CreateChallenge ¶ added in v0.0.4
func (*Client) CreateCourse ¶ added in v0.0.4
func (*Client) CreatePlay ¶
func (*Client) CreateSession ¶
func (*Client) CreateTutorial ¶ added in v0.0.4
func (*Client) DeleteChallenge ¶ added in v0.0.4
func (*Client) DeleteContentFile ¶ added in v0.0.4
func (*Client) DeleteCourse ¶ added in v0.0.4
func (*Client) DeleteTutorial ¶ added in v0.0.4
func (*Client) DownloadContentFile ¶ added in v0.0.4
func (*Client) DownloadTo ¶ added in v0.0.4
func (*Client) GetChallenge ¶ added in v0.0.4
func (*Client) GetPlayground ¶
func (*Client) GetSession ¶
func (*Client) GetTutorial ¶ added in v0.0.4
func (*Client) ListAuthoredChallenges ¶ added in v0.0.4
func (*Client) ListAuthoredCourses ¶ added in v0.0.4
func (*Client) ListAuthoredTutorials ¶ added in v0.0.4
func (*Client) ListAuthors ¶ added in v0.0.4
func (*Client) ListChallenges ¶ added in v0.0.4
func (*Client) ListContentFiles ¶ added in v0.0.4
func (*Client) ListCourses ¶ added in v0.0.4
func (*Client) ListPlaygrounds ¶
func (c *Client) ListPlaygrounds(ctx context.Context) ([]Playground, error)
func (*Client) ListTutorials ¶ added in v0.0.4
func (*Client) PutContentMarkdown ¶ added in v0.0.4
func (*Client) SetCredentials ¶
func (*Client) StartTunnel ¶
func (c *Client) StartTunnel(ctx context.Context, id string, req StartTunnelRequest) (*StartTunnelResponse, error)
func (*Client) UploadContentFile ¶ added in v0.0.4
type ClientOptions ¶
type Course ¶ added in v0.0.4
type Course struct {
CreatedAt string `json:"createdAt" yaml:"createdAt"`
UpdatedAt string `json:"updatedAt" yaml:"updatedAt"`
Name string `json:"name" yaml:"name"`
PageURL string `json:"pageUrl" yaml:"pageUrl"`
}
func (*Course) GetKind ¶ added in v0.0.4
func (c *Course) GetKind() content.ContentKind
func (*Course) GetPageURL ¶ added in v0.0.4
type CourseVariant ¶ added in v0.0.4
type CourseVariant string
const ( CourseVariantSimple CourseVariant = "simple" CourseVariantModular CourseVariant = "modular" )
type CreateAuthorRequest ¶ added in v0.0.4
type CreateAuthorRequest struct {
Author
}
type CreateChallengeRequest ¶ added in v0.0.4
type CreateChallengeRequest struct {
Name string `json:"name"`
}
type CreateCourseRequest ¶ added in v0.0.4
type CreateCourseRequest struct {
Name string `json:"name"`
Variant CourseVariant `json:"variant"`
}
type CreatePlayRequest ¶
type CreatePlayRequest struct {
Playground string `json:"playground"`
}
type CreateTutorialRequest ¶ added in v0.0.4
type CreateTutorialRequest struct {
Name string `json:"name"`
}
type ListAuthorsFilter ¶ added in v0.0.4
type ListAuthorsFilter struct {
UserID []string
}
type Me ¶
type Me struct {
ID string `json:"id" yaml:"userId"`
GithubProfileId string `json:"githubProfileId" yaml:"githubProfileId"`
PremiumAccess *PremiumAccess `json:"premiumAccess,omitempty" yaml:"premiumAccess,omitempty"`
}
type Play ¶
type Play struct {
ID string `json:"id" yaml:"id"`
CreatedAt string `json:"createdAt" yaml:"createdAt"`
UpdatedAt string `json:"updatedAt" yaml:"updatedAt"`
LastStateAt string `json:"lastStateAt" yaml:"lastStateAt"`
ExpiresIn int `json:"expiresIn" yaml:"expiresIn"`
Playground Playground `json:"playground" yaml:"playground"`
TutorialName string `json:"tutorialName,omitempty" yaml:"tutorialName"`
Tutorial *struct {
Name string `json:"name" yaml:"name"`
Title string `json:"title" yaml:"title"`
} `json:"tutorial,omitempty" yaml:"tutorial"`
ChallengeName string `json:"challengeName,omitempty" yaml:"challengeName"`
Challenge *struct {
Name string `json:"name" yaml:"name"`
Title string `json:"title" yaml:"title"`
} `json:"challenge,omitempty" yaml:"challenge"`
CourseName string `json:"courseName,omitempty" yaml:"courseName"`
Course *struct {
Name string `json:"name" yaml:"name"`
Title string `json:"title" yaml:"title"`
} `json:"course,omitempty" yaml:"course"`
LessonPath string `json:"lessonPath,omitempty" yaml:"lessonPath"`
Lesson *struct {
Name string `json:"name" yaml:"name"`
Title string `json:"title" yaml:"title"`
} `json:"lesson,omitempty" yaml:"lesson"`
PageURL string `json:"pageUrl" yaml:"pageUrl"`
Active bool `json:"active" yaml:"active"`
Running bool `json:"running" yaml:"running"`
Destroyed bool `json:"destroyed" yaml:"destroyed"`
Failed bool `json:"failed" yaml:"failed"`
Machines []Machine `json:"machines" yaml:"machines"`
}
func (*Play) GetMachine ¶
type Playground ¶
type PortAccess ¶
type PortAccess string
const ( PortAccessPublic PortAccess = "public" PortAccessPrivate PortAccess = "private" )
type PremiumAccess ¶ added in v0.0.4
type StartTunnelRequest ¶
type StartTunnelRequest struct {
Machine string `json:"machine"`
Port int `json:"port"`
Access PortAccess `json:"access"`
GenerateLoginURL bool `json:"generateLoginUrl"`
SSHPubKey string `json:"sshPubKey"`
}
type StartTunnelResponse ¶
type Tutorial ¶ added in v0.0.4
type Tutorial struct {
CreatedAt string `json:"createdAt"`
UpdatedAt string `json:"updatedAt"`
Name string `json:"name"`
PageURL string `json:"pageUrl"`
}
func (*Tutorial) GetKind ¶ added in v0.0.4
func (t *Tutorial) GetKind() content.ContentKind
func (*Tutorial) GetPageURL ¶ added in v0.0.4
Click to show internal directories.
Click to hide internal directories.