// ----------------------------------------------------------------------------- // Enum Typedefs // ----------------------------------------------------------------------------- /** * @typedef {"name" | "created_at" | "updated_at" | "competition_status"} AppSortBy */ /** * The actual status of the competition. * @typedef {"pending" | "active" | "closed"} CompetitionStatus */ /** * @typedef {"asc" | "desc"} SortOrder */ /** * The actual status of the competition. * @typedef {"basic" | "premium"} VoteType */ // ----------------------------------------------------------------------------- // Model Typedefs // ----------------------------------------------------------------------------- /** * A competition is a race game for the competitors to collect more vote points. * @typedef {Object} Competition * @property {string} guid Internal unique identifier for this competition. * @property {string} name * @property {CompetitionStatus} status * @property {string} start_at * @property {string} end_at * @property {string} created_at * @property {string} updated_at */ /** * The competition participant is a competitor who is playing in a specific competition and he/she be able to win that. * @typedef {Object} CompetitionParticipant * @property {string} guid Internal unique identifier for this competition_participant. * @property {string} competition_id * @property {string} competitor_id */ /** * The competitor can who can participate in a competition. * @typedef {Object} Competitor * @property {string} guid Internal unique identifier for this competitor. * @property {string} name */ /** * The vote is created by voter and it concern for a competition_participant * @typedef {Object} Vote * @property {string} guid Internal unique identifier for this voter. * @property {string} competition_participant_id * @property {string} voter_id * @property {string} type * @property {number} points */ /** * The voter can vote for competition_participant. * @typedef {Object} Voter * @property {string} guid Internal unique identifier for this voter. * @property {string} name * @property {string} asdf */ // ----------------------------------------------------------------------------- // Union Typedefs // -----------------------------------------------------------------------------