UNPKG

alpha-version-dce-check-in-api

Version:

API for taking attendance and checking people in.

67 lines (53 loc) 2.17 kB
// Import Grouper import { initGrouper, EventStateData } from 'dce-live-grouper'; // Import Mango import { CollectionInterface, Collection } from 'dce-mango'; // Import types import OccurrenceDocument from './shared/types/OccurrenceDocument'; /*------------------------------------------------------------------------*/ /* ---------------------------- Collections ----------------------------- */ /*------------------------------------------------------------------------*/ let groupCollection: CollectionInterface<EventStateData>; let occurrenceCollection: CollectionInterface<OccurrenceDocument>; /*------------------------------------------------------------------------*/ /* ----------------------------- Initialize ----------------------------- */ /*------------------------------------------------------------------------*/ const initCollections = (CollectionCons: typeof Collection) => { occurrenceCollection = new CollectionCons<OccurrenceDocument>( 'OccurrenceDocument', { uniqueIndexKey: 'id', indexKeys: [ 'courseId', 'ihid', ], }, ); const { eventCollection, } = initGrouper(CollectionCons); groupCollection = eventCollection; }; /*------------------------------------------------------------------------*/ /* ------------------------------ Getters ------------------------------- */ /*------------------------------------------------------------------------*/ const getOccurrenceCollection = (): CollectionInterface<OccurrenceDocument> => { if (!occurrenceCollection) { throw new Error('Occurrence collection has not been initiated.'); } return occurrenceCollection; }; const getGroupCollection = (): CollectionInterface<EventStateData> => { if (!groupCollection) { throw new Error('Group collection has not been initiated.'); } return groupCollection; }; /*------------------------------------------------------------------------*/ /* ------------------------------ Export -------------------------------- */ /*------------------------------------------------------------------------*/ export { initCollections, getOccurrenceCollection, getGroupCollection, };