Recapp Code Reference
    Preparing search index...

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    collectionName: string
    connector: DbClient = ...
    state: State = ...

    Methods

    • Parameters

      • from: ActorRef

      Returns Promise<
          [
              UserRole: AccessRole,
              UserID: string & BRAND<"UID">,
              IsTemporaryAccount: boolean,
          ],
      >

    • Parameters

      • uid: string & BRAND<"UID">

      Returns Promise<
          MaybeBase<
              {
                  active: boolean;
                  archived?: Timestamp;
                  created: Timestamp;
                  email?: string;
                  fingerprint?: string;
                  initialQuiz?: string;
                  isTemporary: boolean;
                  lastLogin: Timestamp;
                  nickname?: string;
                  quizUsage: Map<
                      string & BRAND<"UID">,
                      { name?: string; type: "NAME" | "NICKNAME" | "ANONYMOUS" },
                  >;
                  role: "STUDENT" | "TEACHER" | "ADMIN";
                  uid: string & BRAND<"UID">;
                  updated: Timestamp;
                  username: string;
              },
          >,
      >

    • Abstract method that handles all incoming messages

      Parameters

      • from: ActorRef

        actor that has send the message

      • message:
            | { UserStoreMessage: "Create" } & {
                value: {
                    active: boolean;
                    archived?: Timestamp;
                    created: Timestamp;
                    email?: string;
                    fingerprint?: string;
                    initialQuiz?: string;
                    isTemporary: boolean;
                    lastLogin: Timestamp;
                    nickname?: string;
                    quizUsage: Map<
                        string & BRAND<"UID">,
                        { name?: string; type: "NAME" | "NICKNAME" | "ANONYMOUS" },
                    >;
                    role: "STUDENT" | "TEACHER" | "ADMIN";
                    uid: string & BRAND<"UID">;
                    updated: Timestamp;
                    username: string;
                };
            }
            | { UserStoreMessage: "Update" } & {
                value: Partial<
                    {
                        active: boolean;
                        archived?: Timestamp;
                        created: Timestamp;
                        email?: string;
                        fingerprint?: string;
                        initialQuiz?: string;
                        isTemporary: boolean;
                        lastLogin: Timestamp;
                        nickname?: string;
                        quizUsage: Map<
                            string & BRAND<"UID">,
                            { name?: string; type: "NAME" | "NICKNAME" | "ANONYMOUS" },
                        >;
                        role: "STUDENT" | "TEACHER" | "ADMIN";
                        uid: string & BRAND<"UID">;
                        updated: Timestamp;
                        username: string;
                    },
                > & { uid: string & BRAND<"UID"> };
            }
            | { UserStoreMessage: "GetAll" } & { value: {} }
            | { UserStoreMessage: "SubscribeToCollection" } & { value: string[] }
            | { UserStoreMessage: "UnsubscribeFromCollection" } & { value: {} }
            | { UserStoreMessage: "Get" } & { value: string & BRAND<"UID"> }
            | { UserStoreMessage: "Has" } & { value: string & BRAND<"UID"> }
            | { UserStoreMessage: "SubscribeTo" } & { value: string & BRAND<"UID"> }
            | { UserStoreMessage: "UnsubscribeFrom" } & {
                value: string & BRAND<"UID">;
            }
            | { UserStoreMessage: "Find" } & {
                value: { query: string; role: "STUDENT" | "TEACHER" | "ADMIN" };
            }
            | { UserStoreMessage: "GetOwn" } & { value: {} }
            | { UserStoreMessage: "GetRole" } & { value: string & BRAND<"UID"> }
            | { UserStoreMessage: "GetByFingerprint" } & { value: string }
            | { UserStoreMessage: "GetNames" } & { value: (string & BRAND<"UID">)[] }
            | { UserStoreMessage: "GetTeachers" } & { value: {} }
            | { UserStoreMessage: "IsNicknameUnique" } & { value: string }
            | { UserStoreMessage: "Remove" } & { value: string & BRAND<"UID"> }

        message type

      Returns Promise<ResultType>

      promised return value. If the caller used ask, this value will be returned to the calling actor

    • Parameters

      • entity: {
            active: boolean;
            archived?: Timestamp;
            created: Timestamp;
            email?: string;
            fingerprint?: string;
            initialQuiz?: string;
            isTemporary: boolean;
            lastLogin: Timestamp;
            nickname?: string;
            quizUsage: Map<
                string & BRAND<"UID">,
                { name?: string; type: "NAME" | "NICKNAME" | "ANONYMOUS" },
            >;
            role: "STUDENT" | "TEACHER" | "ADMIN";
            uid: string & BRAND<"UID">;
            updated: Timestamp;
            username: string;
        }

      Returns Promise<
          {
              active: boolean;
              archived?: Timestamp;
              created: Timestamp;
              email?: string;
              fingerprint?: string;
              initialQuiz?: string;
              isTemporary: boolean;
              lastLogin: Timestamp;
              nickname?: string;
              quizUsage: Map<
                  string & BRAND<"UID">,
                  { name?: string; type: "NAME" | "NICKNAME" | "ANONYMOUS" },
              >;
              role: "STUDENT" | "TEACHER" | "ADMIN";
              uid: string & BRAND<"UID">;
              updated: Timestamp;
              username: string;
          },
      >

    • Parameters

      • draft: State
      • user: {
            active: boolean;
            archived?: Timestamp;
            created: Timestamp;
            email?: string;
            fingerprint?: string;
            initialQuiz?: string;
            isTemporary: boolean;
            lastLogin: Timestamp;
            nickname?: string;
            quizUsage: Map<
                string & BRAND<"UID">,
                { name?: string; type: "NAME" | "NICKNAME" | "ANONYMOUS" },
            >;
            role: "STUDENT" | "TEACHER" | "ADMIN";
            uid: string & BRAND<"UID">;
            updated: Timestamp;
            username: string;
        }

      Returns void