Skip to content

Repository files navigation

Moonbase Documentation

How it works

Project Status

A project managed by Moonbase can be in 1 of 4 states:

  • Staged - A user is making changes to this project.

    • When the project is submitted it transitions to the ‘Pending Approval’ state.
    • Any modifications may be made to a project in this state.
  • Pending Approval - The project has been submitted to moderators for approval. Project modifications cannot be made in this state

    • The project can be withdrawn by a user to return it to the ‘Staged’ state.
    • A rejected project will be returned to the ‘Staged’ state.
    • An approved project will transition to the ‘Pending Release’ state.
  • Pending Release - The project has been approved by the moderators and requires final user signal to publish the project publicly. Project modifications cannot be made in this state.

    • The project can be withdrawn by a user to return it to the ‘Staged’ state.
    • The project can be released by owning user to publish the project publicly, transitioning it to the ‘Released’ state.
  • Released - The project has been published to Moonbase and will now be publicly accessible. Project modifications cannot be made in this state.

    • If a project version absolutely MUST be removed and the issue cannot be remedied by a new project version then this can be done from the Moonbase backend dashboard.

Authentication

Generally unless a user is intending to upload and/or publish projects to Moonbase there is no need to authenticate. All published projects are made available via the API without the need of authentication.

Authentication is tied to the talk.codea.io forum and requires the user to have a forum account in order to authenticate.

Obtaining an API key

This is done in 3 steps:

  1. A HTTP GET request is made to /v1/auth/authenticate.
    • This returns a json object containing 2 URLs; stage1Url & stage2Url.
  2. A web browser is used to navigate to stage1Url which will prompt the user to login to the talk.codea.io forum. Once the user has logged in they will see a message that reads ‘User successfully authenticated! Please close this page’. The web browser may now be closed.
  3. A HTTP GET request is then made to the stage2Url from the first call.
    • This returns a JSON object containing an api_key entry. This is the user’s final API key that should be provided when making any API requests requiring authentication.

API

Full API documentation is available in DOCS.md.

About

Codea Community Repository Server (previously WebRepo)

Resources

Stars

1 star

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages