Calendar Members

Methods and related types for `scrims.calendarMembers`.

Calendar Members (scrims.calendarMembers)

Table of Contents

Methods

Method Signature
create create(calendarMember: CalendarMemberCreateInput) => Promise<ScrimsCalendarMember>
fetch fetch(calendarId: string, memberId: string) => Promise<ScrimsCalendarMember>
fetchByNameOrEmail fetchByNameOrEmail(calendarId: string, usernameOrEmail: string) => Promise<ScrimsCalendarMember[]>
fetchAll fetchAll(calendarId: string) => Promise<ScrimsCalendarMember[]>
update update(calendarId: string, memberId: string, data: JsonObject) => Promise<ScrimsCalendarMember>
remove remove(calendarId: string, memberId: string) => Promise<boolean>

Method Signatures

create

create(
  calendarMember: CalendarMemberCreateInput,
): Promise<ScrimsCalendarMember>

fetch

fetch(
  calendarId: string,
  memberId: string,
): Promise<ScrimsCalendarMember>

fetchByNameOrEmail

fetchByNameOrEmail(
  calendarId: string,
  usernameOrEmail: string,
): Promise<ScrimsCalendarMember[]>

fetchAll

fetchAll(
  calendarId: string,
): Promise<ScrimsCalendarMember[]>

update

update(
  calendarId: string,
  memberId: string,
  data: JsonObject,
): Promise<ScrimsCalendarMember>

remove

remove(
  calendarId: string,
  memberId: string,
): Promise<boolean>

Related Type References

JsonObject

type JsonObject = Record<string, unknown>;

ScrimsCalendar

type ScrimsCalendar = JsonObject
  & {
        _id?: string;
        owner_id?: string;
        title?: string;
        description?: string;
        icon_url?: string;
        cover_url?: string;
        host_roles?: string[];
        public?: boolean;
        default_event?: DefaultEvent;
        type?: string;
        extensions?: string[];
        meta?: JsonObject;
        parent_calendar?: string;
        sub_calendars_label?: string;
        main_calendar_label?: string;
        created_at?: string | Date;
        updated_at?: string | Date;
        active_for_me?: boolean;
        has_v2_access?: boolean;
        archived?: boolean;
      };

ScrimsCalendarMember

type ScrimsCalendarMember = JsonObject
  & {
        _id?: string;
        calendar?: string | ScrimsCalendar;
        member?: string | ScrimsMember;
        permissions?: number;
        permissions_override?: number;
        roles?: string[] | ScrimsRole[];
        created_at?: string | Date;
        updated_at?: string | Date;
      };

ScrimsMember

type ScrimsMember = JsonObject
  & {
        _id?: string;
        email?: string;
        is_paid?: boolean;
        image?: string;
        preferred_timezone?: string;
        username?: string;
        name?: string;
        super_admin?: boolean;
        moderator_status?: string;
      };

ScrimsRole

type ScrimsRole = JsonObject
  & {
        _id?: string;
        name?: string;
        description?: string;
        permissions?: number | string;
        calendar?: string;
        color?: number;
        hoist?: boolean;
        icon?: string;
        managed?: boolean;
        mentionable?: boolean;
        rawPosition?: number;
        tags?: JsonObject;
        unicodeEmoji?: string;
        created_at?: string | Date;
        updated_at?: string | Date;
      };

DefaultEvent

type DefaultEvent = JsonObject
  & {
        allowed_roles?: string[];
        banned_roles?: string[];
        assign_roles?: string[];
        remove_assigned_roles?: boolean;
        descriptions?: EventDescription;
        duration?: boolean;
        primarily_hosting?: boolean;
        notifications?: EventNotification[];
        send_notifications?: boolean;
        created_at?: string | Date;
        updated_at?: string | Date;
      };

EventDescription

type EventDescription = JsonObject
  & {
        description?: string;
        objectives?: string[];
        specialNotes?: string[];
      };

EventNotification

type EventNotification = JsonObject
  & {
        message?: string;
        status?: number;
        before_in_minutes?: number;
        recipient?: string;
        ticket_type?: string;
      };

CalendarMemberCreateInput

type CalendarMemberCreateInput = JsonObject
  & {
        member: string;
        calendar: string;
        roles: string[];
        permissions_override?: number;
        permissions?: number;
      };