/
defaults.ts
61 lines (59 loc) · 1.57 KB
/
defaults.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import { IHubEvent } from "../core/types/IHubEvent";
import { getDefaultEventDatesAndTimes } from "./_internal/getDefaultEventDatesAndTimes";
import {
EventAccess,
EventAttendanceType,
EventStatus,
IEvent,
} from "./api/orval/api/orval-events";
import { HubEventAttendanceType } from "./types";
/**
* Builds a partial IHubEvent (entity) with default values
*/
export function buildDefaultEventEntity(): Partial<IHubEvent> {
const dates = getDefaultEventDatesAndTimes();
return {
access: "private",
allowRegistration: true,
attendanceType: HubEventAttendanceType.InPerson,
categories: [],
inPersonCapacity: null,
isAllDay: false,
isCanceled: false,
isDiscussable: true,
isPlanned: true,
isRemoved: false,
name: "",
notifyAttendees: true,
onlineCapacity: null,
onlineDetails: null,
onlineUrl: null,
references: [],
schemaVersion: 1,
tags: [],
readGroupIds: [],
editGroupIds: [],
...dates,
};
}
/**
* Builds a partial IEvent (record) with default values
*/
export function buildDefaultEventRecord(): Partial<IEvent> {
const { startDateTime, endDateTime } = getDefaultEventDatesAndTimes();
return {
access: EventAccess.PRIVATE,
allDay: false,
allowRegistration: true,
attendanceType: [EventAttendanceType.IN_PERSON],
categories: [],
editGroups: [],
endDateTime: endDateTime.toISOString(),
notifyAttendees: true,
readGroups: [],
startDateTime: startDateTime.toISOString(),
status: EventStatus.PLANNED,
tags: [],
title: "",
} as Partial<IEvent>;
}