Global

Type Definitions

Field

A Field describes a YAML field's properties.
Properties:
Name Type Description
name string Name of the field
type string Basic data type of the field.
is_required boolean Whether the field is required.
is_array boolean Whether the field has an array of values.
format string Special formatting rules to use for the field.
special string | Array.<string> Special tags governing how the field is rendered in the Workshop Builder Tool
value any | Array.<any> Value for the field.
key string Key used to retrieve the field in the template metadata.

File

A File represents a single file on a GitHub repository.
Properties:
Name Type Description
url string GitHub URL of the file.
path string Portion of the file's url after the repository route.
remoteContent string Content of the file on GitHub.
content string Content of the file in the Workshop Builder Tool memory.
sha string SHA-1 hash of the last file state.
busyFlag boolean Whether the File is locked for editing due to ongoing backend activity.
hasChanged boolean Whether the content differs from the remoteContent.
yaml Object YAML portion of the content decomposed into an object.
yamlParseError string | null Most recent error when trying to parse the file YAML.
body string Non-YAML portion of the content.

GHBuildStatus

Properties:
Name Type Description
created_at string A date string giving the time the build was created.
status string A string describing the status of the build.
error Object An object describing the error with the build, if any.

Repository

A Repository represents a complete GitHub repository.
Properties:
Name Type Attributes Description
url string GitHub URL of the repository.
topics Array.<string> GitHub tags for the repository.
isMain boolean Whether this repository is the repository being built by the Workshop Builder Tool.
name string Repository name on GitHub.
ownerLogin string Repository owner login name on GitHub.
config File Configuration file _config.yml.
files Array.<File> Files in the repository.
episodes Array.<File> Episode files in the repository.
episode_template File <optional>
Template for new episodes.
busyFlag boolean Whether the repository is being modified or saved to GitHub.
extraFiles Object.<string, (File|Array.<File>)> Additional non-episode files that can be customised.

returnResponse(error, response) → {void}

Callback to return the results of the API interaction to the client. Returns a status of 500 if error is set, otherwise returns the status given in response.
Parameters:
Name Type Description
error Error An error encountered while using the API.
response Object HTTPResponse-like object returned to the client.
Returns:
void

Schedule

Properties:
Name Type Description
days Array.<ScheduleDay> The days in the schedule.
unassignedItems Array.<File> The episodes not assigned to any day.

ScheduleDay

Properties:
Name Type Description
number Number The number of the day in the schedule.
items Array.<File> The episodes occurring on the day.

StoreContext

The context provided to store actions within VueX operations.
Properties:
Name Type Attributes Description
state Object <optional>
Current store state.
getters Object <optional>
Current store getters.
commit Object <optional>
Current store mutations.
rootSate Object <optional>
Current root store state.
rootGetters Object <optional>
Current root store getters.

Template

A GitHub Template repository. Templates are used to create new repositories. When a repository is created form a template, the files from the template are copied, but the git history is not.
Properties:
Name Type Description
url string GitHub URL of the repository.
topics Array.<string> GitHub tags for the repository.
name string Repository name on GitHub.
ownerLogin string Repository owner login name on GitHub.
description string Repository description on GitHub.