event-app-api
Version:
Package for easy access to Event App API
92 lines (91 loc) • 3.14 kB
TypeScript
import { ACTION_CATEGORY, ACTION_NAME, ACTION_RESOURCE_NAME } from "../constants/api";
export type ObjectValue<T extends Record<string, unknown>> = T[keyof T];
export type ValidAttendeeAction = ObjectValue<typeof ATTENDEE_ACTION>;
export declare const ATTENDEE_ACTION: {
readonly VIEW_PROFILE: "view-profile";
readonly DOWNLOAD_CLICK: "download-click";
readonly CONTACT_CLICK_CHAT: "contact-click-chat";
readonly CONTACT_CLICK_GROUP_CHAT: "contact-click-group-chat";
readonly CONTACT_CLICK_PIN: "contact-click-pin";
readonly CONTACT_CLICK_UNPIN: "contact-click-unpin";
readonly WEBSITE_CLICK_1: "website1-click";
readonly WEBSITE_CLICK_2: "website2-click";
readonly PHONE_CLICK: "phone-click";
readonly MOBILE_CLICK: "mobile-click";
readonly EMAIL_CLICK: "email-click";
readonly SOCIAL_MEDIA_CLICK: "social-media-click";
readonly CREATE_CHAT: "create";
readonly CONTACT_CLICK_MEETING: "contact-click-meeting";
};
export type ValidExhibitionAction = ObjectValue<typeof EXHIBITION_ACTION>;
export declare const EXHIBITION_ACTION: {
readonly VIEW_BOOTH: "view-booth";
readonly DOWNLOAD_CLICK: "download-click";
readonly VIDEO_CLICK: "video-click";
readonly CONTACT_CLICK_CHAT: "contact-click-chat";
readonly CONTACT_CLICK_PIN: "contact-click-pin";
readonly CONTACT_CLICK_UNPIN: "contact-click-unpin";
readonly CONTACT_CLICK_MEETING: "contact-click-meeting";
readonly SESSION_CLICK: "session-click";
readonly WEBSITE_CLICK: "website-click";
readonly PHONE_CLICK: "phone-click";
readonly EMAIL_CLICK: "email-click";
readonly SOCIAL_MEDIA_CLICK: "social-media-click";
readonly SESSION_SAVED_SEAT: "session-saved-seat";
readonly PINNED_BOOTH: "pinned-booth";
readonly UNPINNED_BOOTH: "unpinned-booth";
};
export type Address = {
city: string;
state: string;
street: string;
country: string;
postalCode: string;
};
export type SuccessResponse = {
message: string;
message_code: number;
status: number;
};
export type BadgeConfig = {
coffeeCode: string;
type: "bluetooth" | "ip";
printerModel: string;
qrCodeValue: string;
printerPaperSize: string;
};
export type ActionName = ObjectValue<typeof ACTION_NAME>;
export type ActionCategory = ObjectValue<typeof ACTION_CATEGORY>;
export type ActionResourceName = ObjectValue<typeof ACTION_RESOURCE_NAME>;
export type ExhibitionReport = {
event: string;
exhibition: string;
action: ActionName;
category: ActionCategory;
reference: string;
type: string;
resource: ActionResourceName;
};
export type ChatReference = {
initiator: string;
invited: string[];
message: string;
conversation: string;
};
export type AttendeeReport = {
event: string;
action: ActionName;
category: ActionCategory;
reference: string | ChatReference;
type: string;
resource: ActionResourceName;
};
export type SessionReport = {
event: string;
session: string;
action: ActionName;
category: ActionCategory;
reference: string;
type: any;
resource: ActionResourceName;
};