Documentation ¶
Index ¶
- Constants
- type ApiSpecification
- type ApiSpecificationCategory
- type ApiSpecificationList
- type ApiSpecificationListOptions
- type ApiSpecificationStub
- type ApiSpecificationUpdateOptions
- type ApiSpecificationUploadOptions
- type ApiSpecifications
- type Categories
- type CategoriesList
- type CategoriesListOptions
- type Category
- type Changelog
- type ChangelogCreateOptions
- type ChangelogUpdateOptions
- type Changelogs
- type ChangelogsList
- type ChangelogsListOptions
- type Client
- type Config
- type CustomPage
- type CustomPageCreateOptions
- type CustomPageUpdateOptions
- type CustomPages
- type CustomPagesList
- type CustomPagesListOptions
- type Doc
- type DocCreateOptions
- type DocError
- type DocSearchResult
- type DocSearchResults
- type DocUpdateOptions
- type Docs
- type Metadata
- type Pagination
- type Project
- type ProjectMetadata
- type Version
- type VersionCreateOptions
- type VersionListItem
- type VersionUpdateOptions
- type Versions
- type VersionsList
Constants ¶
const ( // ChangelogTypeAdded represents an "added" change type ChangelogTypeAdded = "added" // ChangelogTypeAdded represents a "fixed" change type ChangelogTypeFixed = "fixed" // ChangelogTypeAdded represents an "improved" change type ChangelogTypeImproved = "improved" // ChangelogTypeAdded represents a "deprecated" change type ChangelogTypeDeprecated = "deprecated" // ChangelogTypeAdded represents a "removed" change type ChangelogTypeRemoved = "removed" )
const ( DocTypeBasic = "basic" DocTypeError = "error" DocTypeLink = "link" )
const ( // DefaultAddress is the default host of the readme API DefaultAddress = "https://dash.readme.com" // DefaultAddress is the default base path for all reqeusts DefaultBasePath = "/api/v1" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ApiSpecification ¶
type ApiSpecification struct { Title string `json:"title"` Source string `json:"source"` Version string `json:"version"` LastSynced string `json:"lastSynced"` Category *ApiSpecificationCategory `json:"category"` Type string `json:"oas"` ID string `json:"id"` }
ApiSpecification represents the metadata details from an api specification
type ApiSpecificationCategory ¶
type ApiSpecificationCategory struct { Title string `json:"title"` Slug string `json:"slug"` Order int `json:"order"` ID string `json:"_id"` }
ApiSpecificationCategory is the category created for uploaded api specifications
type ApiSpecificationList ¶
type ApiSpecificationList struct { Pagination *Pagination Items []*ApiSpecification }
ApiSpecificationList is the result from the api-specifications list endpoint
type ApiSpecificationListOptions ¶
type ApiSpecificationListOptions struct { PerPage int `url:"perPage,omitempty"` Page int `url:"page,omitempty"` }
ApiSpecificationListOptions is the options available for the list endpoint of the api-specifications
type ApiSpecificationStub ¶
ApiSpecificationStub is the result of the upload and update endpoints when interacting with api specifications
type ApiSpecificationUpdateOptions ¶
type ApiSpecificationUpdateOptions struct {
SpecPath string
}
ApiSpecificationUpdateOptions are the options available when updating an existing api specification
type ApiSpecificationUploadOptions ¶
ApiSpecificationUploadOptions are the options available when uploading a new api specification
type ApiSpecifications ¶
type ApiSpecifications interface { List(ctx context.Context, version string, opt ApiSpecificationListOptions) (*ApiSpecificationList, error) Upload(ctx context.Context, opt ApiSpecificationUploadOptions) (*ApiSpecificationStub, error) Update(ctx context.Context, id string, opt ApiSpecificationUpdateOptions) (*ApiSpecificationStub, error) Delete(ctx context.Context, id string) error }
ApiSpecifications describes the API methods available for the api-specifications API https://docs.readme.com/reference/getapispecification
type Categories ¶
type Categories interface { List(ctx context.Context, options CategoriesListOptions) (*CategoriesList, error) Get(ctx context.Context, slug string) (*Category, error) }
Categories describes the API methods available for the Categories API https://docs.readme.com/reference/getcategories
type CategoriesList ¶
type CategoriesList struct { Pagination *Pagination Items []*Category }
CategoriesList is the API response details of the List method
type CategoriesListOptions ¶
type CategoriesListOptions struct { PerPage int `url:"perPage,omitempty"` Page int `url:"page,omitempty"` }
CategoriesListOptions is a url-encodable data structure for options you can provide to the List endpoint
type Changelog ¶
type Changelog struct { Metadata Metadata `json:"metadata"` Title string `json:"title"` Slug string `json:"slug"` Body string `json:"body"` Type string `json:"type"` Hidden bool `json:"hidden"` PendingAlgoliaPublish bool `json:"pendingAlgoliaPublish"` CreatedAt string `json:"createdAt"` Html string `json:"html"` }
Changelog contains the details of each Changelog
type ChangelogCreateOptions ¶
type ChangelogCreateOptions struct { Title string `json:"title"` Body string `json:"body"` Type string `json:"type,omitempty"` Hidden *bool `json:"hidden,omitempty"` Metadata Metadata `json:"metadata,omitempty"` }
ChangelogCreateOptions is the API request body when creating a Changelog
type ChangelogUpdateOptions ¶
type ChangelogUpdateOptions struct { Title string `json:"title,omitempty"` Body string `json:"body,omitempty"` Type string `json:"type,omitempty"` Hidden *bool `json:"hidden,omitempty"` }
ChangelogUpdateOptions is the API request body when updating a Changelog
type Changelogs ¶
type Changelogs interface { List(ctx context.Context, options ChangelogsListOptions) (*ChangelogsList, error) Create(ctx context.Context, changelog ChangelogCreateOptions) (*Changelog, error) Update(ctx context.Context, slug string, changelog ChangelogUpdateOptions) (*Changelog, error) Delete(ctx context.Context, slug string) error }
Changelogs describes the API methods available for the Changelogs API https://docs.readme.com/reference/getchangelogs
type ChangelogsList ¶
type ChangelogsList struct { Pagination *Pagination Items []*Changelog }
ChangelogsList is the API response details of the List method
type ChangelogsListOptions ¶
type ChangelogsListOptions struct { PerPage int `url:"perPage,omitempty"` Page int `url:"page,omitempty"` }
ChangelogsListOptions is a url-encodable data structure for options you can provide to the List endpoint
type Client ¶
type Client struct { // Changelogs allows interactions with Changelog API resources Changelogs Changelogs // CustomPages allows interactions with CustomPages API resources CustomPages CustomPages // Docs allows interactions with Docs API resources Docs Docs // Categories allows interactions with Categories API resources Categories Categories // Project allows fetching metadata about the current project Project Project // Versions allows interactions with the Versions API resources Versions Versions // ApiSpecification allows interactions with ApiSpecification API resources ApiSpecifications ApiSpecifications // contains filtered or unexported fields }
Client is the primary object used to interact with the readme API
type Config ¶
type Config struct { // Address is the host of the readme API Address string // ApiKey to authenticate requests ApiKey string // Headers are the request headers sent with all requests Headers http.Header // HttpClient is a default pooled http client HttpClient *http.Client }
func DefaultConfig ¶
func DefaultConfig() *Config
DefaultConfig returns a default config using environment settings if available
type CustomPage ¶
type CustomPage struct { Metadata Metadata `json:"metadata"` Title string `json:"title"` Slug string `json:"slug"` Body string `json:"body"` Hidden bool `json:"hidden"` Fullscreen bool `json:"fullscreen"` Html string `json:"html"` HtmlMode bool `json:"htmlmode"` CreatedAt string `json:"createdAt"` PendingAlgoliaPublish bool `json:"pendingAlgoliaPublish"` }
Changelog contains the details of each Changelog
type CustomPageCreateOptions ¶
type CustomPageCreateOptions struct { Title string `json:"title"` Body string `json:"body"` Html string `json:"html"` HtmlMode *bool `json:"htmlmode,omitempty"` Hidden *bool `json:"hidden,omitempty"` Metadata Metadata `json:"metadata,omitempty"` }
ChangelogCreateOptions is the API request body when creating a Changelog
type CustomPageUpdateOptions ¶
type CustomPageUpdateOptions struct { Title string `json:"title,omitempty"` Body string `json:"body,omitempty"` Html string `json:"html"` HtmlMode *bool `json:"htmlmode,omitempty"` Hidden *bool `json:"hidden,omitempty"` Metadata Metadata `json:"metadata,omitempty"` }
ChangelogUpdateOptions is the API request body when updating a Changelog
type CustomPages ¶
type CustomPages interface { List(ctx context.Context, options CustomPagesListOptions) (*CustomPagesList, error) Get(ctx context.Context, slug string) (*CustomPage, error) Create(ctx context.Context, changelog CustomPageCreateOptions) (*CustomPage, error) Update(ctx context.Context, slug string, changelog CustomPageUpdateOptions) (*CustomPage, error) Delete(ctx context.Context, slug string) error }
Changelogs describes the API methods available for the Changelogs API https://docs.readme.com/reference/getcustompages
type CustomPagesList ¶
type CustomPagesList struct { Pagination *Pagination Items []*CustomPage }
ChangelogsList is the API response details of the List method
type CustomPagesListOptions ¶
type CustomPagesListOptions struct { PerPage int `url:"perPage,omitempty"` Page int `url:"page,omitempty"` }
ChangelogsListOptions is a url-encodable data structure for options you can provide to the List endpoint
type Doc ¶
type Doc struct { Metadata Metadata `json:"metadata"` Title string `json:"title"` Type string `json:"type"` Slug string `json:"slug"` Excerpt string `json:"excerpt"` Body string `json:"body"` Order int `json:"order"` IsReference bool `json:"isReference"` Hidden bool `json:"hidden"` LinkURL string `json:"link_url"` LinkExternal bool `json:"link_external"` PendingAlgoliaPublish bool `json:"pendingAlgoliaPublish"` PreviousSlug string `json:"previousSlug"` SlugUpdatedAt string `json:"slugUpdatedAt"` User string `json:"user"` Project string `json:"project"` Category string `json:"category"` CreatedAt string `json:"createdAt"` UpdatedAt string `json:"updatedAt"` Version string `json:"version"` IsAPI bool `json:"isApi"` ID string `json:"id"` BodyHTML string `json:"body_html"` }
type DocCreateOptions ¶
type DocSearchResult ¶
type DocSearchResult struct { IndexName string `json:"indexName"` Title string `json:"title"` Slug string `json:"slug"` Project string `json:"project"` ReferenceID string `json:"referenceId"` Subdomain string `json:"subdomain"` InternalLink string `json:"internalLink"` ObjectID string `json:"objectID"` URL string `json:"url"` }
type DocSearchResults ¶
type DocSearchResults struct {
Results []*DocSearchResult `json:"results"`
}
type DocUpdateOptions ¶
type Docs ¶
type Docs interface { Get(ctx context.Context, slug string) (*Doc, error) Create(ctx context.Context, doc DocCreateOptions) (*Doc, error) Update(ctx context.Context, slug string, doc DocUpdateOptions) (*Doc, error) Delete(ctx context.Context, slug string) error Search(ctx context.Context, search string) (*DocSearchResults, error) }
Changelogs describes the API methods available for the Changelogs API https://docs.readme.com/reference/getcustompages
type Metadata ¶
type Metadata struct { Image []string `json:"image"` Title string `json:"title"` Description string `json:"description"` }
Metadata contains the metadata details of each page
type Pagination ¶
type Pagination struct { // TotalCount is the total number of records available TotalCount int // Next is the API path of the next page Next string // Prev is the API path of the previous page Prev string // Last is the API path of the last page Last string }
Pagination holds pagination response data
type Project ¶
type Project interface {
Get(ctx context.Context) (*ProjectMetadata, error)
}
Project allows interaction with the Project API resource
type ProjectMetadata ¶
type ProjectMetadata struct { Name string `json:"name"` Subdomain string `json:"subdomain"` JwtSecret string `json:"jwtSecret"` BaseURL string `json:"baseUrl"` Plan string `json:"plan"` }
ProjectMetadata is information about the project associated with the API Key/
type Version ¶
type Version struct { Version string `json:"version"` VersionClean string `json:"version_clean"` Categories []string `json:"categories"` CodeName string `json:"codename"` IsStable bool `json:"is_stable"` IsBeta bool `json:"is_beta"` IsHidden bool `json:"is_hidden"` IsDeprecated bool `json:"is_deprecated"` ID string `json:"_id"` CreatedAt string `json:"createdAt"` ForkedFrom string `json:"forked_from"` ReleaseDate string `json:"releaseDate"` Project string `json:"project"` }
Version contains the details of each Version from the List endpoint
type VersionCreateOptions ¶
type VersionCreateOptions struct { Version string `json:"version"` CodeName string `json:"codename,omitempty"` From string `json:"from"` IsStable *bool `json:"is_stable,omitempty"` IsBeta *bool `json:"is_beta,omitempty"` IsHidden *bool `json:"is_hidden,omitempty"` IsDeprecated *bool `json:"is_deprecated,omitempty"` }
VersionCreateOptions is the API request body when creating a Version
type VersionListItem ¶
type VersionListItem struct { Version string `json:"version"` CodeName string `json:"codename"` IsStable bool `json:"is_stable"` IsBeta bool `json:"is_beta"` IsHidden bool `json:"is_hidden"` IsDeprecated bool `json:"is_deprecated"` ID string `json:"_id"` CreatedAt string `json:"createdAt"` }
VersionListItem contains the details of each Version from the List endpoint
type VersionUpdateOptions ¶
type VersionUpdateOptions struct { Version string `json:"version"` CodeName string `json:"codename,omitempty"` From string `json:"from"` IsStable *bool `json:"is_stable,omitempty"` IsBeta *bool `json:"is_beta,omitempty"` IsHidden *bool `json:"is_hidden,omitempty"` IsDeprecated *bool `json:"is_deprecated,omitempty"` }
VersionUpdateOptions is the API request body when updating a Version
type Versions ¶
type Versions interface { List(ctx context.Context) (*VersionsList, error) Get(ctx context.Context, versionId string) (*Version, error) Create(ctx context.Context, version VersionCreateOptions) (*Version, error) Update(ctx context.Context, versionId string, version VersionUpdateOptions) (*Version, error) Delete(ctx context.Context, versionId string) error }
Changelogs describes the API methods available for the Changelogs API https://docs.readme.com/reference/getcustompages
type VersionsList ¶
type VersionsList struct {
Items []*VersionListItem
}
VersionsList is the API response details of the List method