shared::api::endpoints::jig::codes

Struct Create

Source
pub struct Create;
Expand description

TODO: update these docs. Out of date. Create a player session from a jig. Requestor needs permissions over the jig.

§Flow

  1. Author/admin creates a player session using POST /v1/jig/player
    • This is represented by a session code/index
  2. Unauthed user instantiates the player session. This creates an instance of a session. POST /v1/jig/player/session returns:
    • A short lived token, which identifies the guest user and the session instance.
    • The player session settings.
    • JigId of the JIG on which the session was created.
  3. Unauthed user posts short lived token to complete the instance. POST /v1/jig/player/session/complete
    • This increments the play count of the jig.
    • Deletes the completed instance from the DB.

The hierarchy here is Jig -> Player Session -> Session Instance, where each arrow is a one-to-many mapping.

Each level is uniquely identified by JigId -> JigCode -> token.

§Errors

§Note

The code is computed with the following procedure:

  1. Generate a random code in the range 0..MAX

Trait Implementations§

Source§

impl ApiEndpoint for Create

Source§

const METHOD: Method = Method::Post

The method used to make a request to the endpoint.
Source§

type Path = JigPlayerSessionCreatePath

The path type for this endpoint.
Source§

type Req = JigPlayerSessionCreateRequest

The request type for this endpoint.
Source§

type Res = JigPlayerSessionCreateResponse

The response type for this endpoint.
Source§

type Err = EmptyError

The (inner) error type for this endpoint.

Auto Trait Implementations§

§

impl Freeze for Create

§

impl RefUnwindSafe for Create

§

impl Send for Create

§

impl Sync for Create

§

impl Unpin for Create

§

impl UnwindSafe for Create

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T