@vigilant-broccoli/slackbots 0.0.15 → 0.0.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/src/office-presence-app/consts/app-copy.const.d.ts +14 -0
- package/src/office-presence-app/consts/app-copy.const.js +15 -1
- package/src/office-presence-app/consts/app-copy.const.js.map +1 -1
- package/src/office-presence-app/consts/data.consts.d.ts +34 -0
- package/src/office-presence-app/consts/data.consts.js +35 -1
- package/src/office-presence-app/consts/data.consts.js.map +1 -1
- package/src/office-presence-app/consts/modals.const.d.ts +2 -1
- package/src/office-presence-app/consts/modals.const.js +136 -44
- package/src/office-presence-app/consts/modals.const.js.map +1 -1
- package/src/office-presence-app/office-presence-app.d.ts +3 -0
- package/src/office-presence-app/office-presence-app.js +15 -2
- package/src/office-presence-app/office-presence-app.js.map +1 -1
- package/src/office-presence-app/types.d.ts +16 -0
- package/src/office-presence-app/types.js.map +1 -1
- package/src/office-presence-app/utils/action.utils.d.ts +1 -0
- package/src/office-presence-app/utils/action.utils.js +43 -21
- package/src/office-presence-app/utils/action.utils.js.map +1 -1
- package/src/office-presence-app/utils/db.utils.d.ts +3 -1
- package/src/office-presence-app/utils/db.utils.js +53 -0
- package/src/office-presence-app/utils/db.utils.js.map +1 -1
- package/src/office-presence-app/utils/view.utils.js +49 -52
- package/src/office-presence-app/utils/view.utils.js.map +1 -1
|
@@ -18,21 +18,28 @@ const DEFAULT_REMINDER_CRON = '0 8 * * 1';
|
|
|
18
18
|
const DEFAULT_REMINDER_TIMEZONE = 'Europe/Stockholm';
|
|
19
19
|
const DEFAULT_APP_NAME = 'OK-IN';
|
|
20
20
|
const DEFAULT_OFFICES = [];
|
|
21
|
+
const DEFAULT_SHOW_WEEKDAYS_ONLY = true;
|
|
22
|
+
const DEFAULT_SHOW_TEAM_COUNT = true;
|
|
23
|
+
const DEFAULT_WEEKS_AHEAD = 2;
|
|
21
24
|
// eslint-disable-next-line complexity
|
|
22
25
|
function runOfficePresenceApp() {
|
|
23
26
|
return tslib_1.__awaiter(this, arguments, void 0, function* (config = {}) {
|
|
24
27
|
var _a, _b, _c, _d;
|
|
25
|
-
const { APP_NAME, OFFICES, includeWeekends, daysAhead, copy } = config;
|
|
28
|
+
const { APP_NAME, OFFICES, includeWeekends, daysAhead, defaultShowWeekdaysOnly, defaultShowTeamCount, defaultWeeksAhead, copy, } = config;
|
|
26
29
|
const appConfig = {
|
|
27
30
|
APP_NAME: APP_NAME !== null && APP_NAME !== void 0 ? APP_NAME : DEFAULT_APP_NAME,
|
|
28
31
|
OFFICES: OFFICES !== null && OFFICES !== void 0 ? OFFICES : DEFAULT_OFFICES,
|
|
29
32
|
includeWeekends,
|
|
30
33
|
daysAhead,
|
|
34
|
+
defaultShowWeekdaysOnly: defaultShowWeekdaysOnly !== null && defaultShowWeekdaysOnly !== void 0 ? defaultShowWeekdaysOnly : DEFAULT_SHOW_WEEKDAYS_ONLY,
|
|
35
|
+
defaultShowTeamCount: defaultShowTeamCount !== null && defaultShowTeamCount !== void 0 ? defaultShowTeamCount : DEFAULT_SHOW_TEAM_COUNT,
|
|
36
|
+
defaultWeeksAhead: defaultWeeksAhead !== null && defaultWeeksAhead !== void 0 ? defaultWeeksAhead : DEFAULT_WEEKS_AHEAD,
|
|
31
37
|
copy: (0, app_copy_const_1.resolveAppCopy)(copy),
|
|
32
38
|
};
|
|
33
39
|
const publishHomeView = (0, view_utils_1.createPublishHomeView)(appConfig);
|
|
34
40
|
const getInputScheduleModal = (0, modals_const_1.createInputScheduleModal)(appConfig);
|
|
35
41
|
const getAskLunchModal = (0, modals_const_1.createAskLunchModal)(appConfig);
|
|
42
|
+
const getUserSettingsModal = (0, modals_const_1.createUserSettingsModal)(appConfig);
|
|
36
43
|
const getCreateEventModal = (0, modals_const_1.createCreateEventModal)(appConfig);
|
|
37
44
|
const getEditEventModal = (0, modals_const_1.createEditEventModal)(appConfig);
|
|
38
45
|
const sendReminders = (0, app_reminder_1.createReminderSender)(appConfig);
|
|
@@ -51,7 +58,13 @@ function runOfficePresenceApp() {
|
|
|
51
58
|
(0, action_utils_1.handleScheduleModalSubmit)(body, view);
|
|
52
59
|
yield publishHomeView(client, body);
|
|
53
60
|
}));
|
|
54
|
-
app.action(app_consts_1.APP_ACTION.OPEN_SCHEDULE_MODAL, modal_utils_1.SlackModalUtils.
|
|
61
|
+
app.action(app_consts_1.APP_ACTION.OPEN_SCHEDULE_MODAL, modal_utils_1.SlackModalUtils.createModalHandlerWithUserId(getInputScheduleModal));
|
|
62
|
+
app.action(app_consts_1.APP_ACTION.OPEN_SETTINGS_MODAL, modal_utils_1.SlackModalUtils.createModalHandlerWithUserId(getUserSettingsModal));
|
|
63
|
+
app.view(app_consts_1.APP_ACTION.SUBMIT_SETTINGS, (_a) => tslib_1.__awaiter(this, [_a], void 0, function* ({ ack, body, view, client }) {
|
|
64
|
+
yield ack();
|
|
65
|
+
(0, action_utils_1.handleSettingsModalSubmit)(body, view);
|
|
66
|
+
yield publishHomeView(client, body);
|
|
67
|
+
}));
|
|
55
68
|
app.action(app_consts_1.APP_ACTION.OPEN_ASK_LUNCH_MODAL, modal_utils_1.SlackModalUtils.createModalHandlerWithUserId(getAskLunchModal));
|
|
56
69
|
app.action(app_consts_1.APP_ACTION.OPEN_CREATE_EVENT_MODAL, modal_utils_1.SlackModalUtils.createModalHandler(getCreateEventModal));
|
|
57
70
|
app.view(app_consts_1.APP_ACTION.SUBMIT_CREATE_EVENT, (_a) => tslib_1.__awaiter(this, [_a], void 0, function* ({ ack, body, view, client }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"office-presence-app.js","sourceRoot":"","sources":["../../../../../../libs/@vigilant-broccoli/slackbots/src/office-presence-app/office-presence-app.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"office-presence-app.js","sourceRoot":"","sources":["../../../../../../libs/@vigilant-broccoli/slackbots/src/office-presence-app/office-presence-app.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,9 @@ export type AppConfig = {
|
|
|
4
4
|
OFFICES: string[];
|
|
5
5
|
includeWeekends?: boolean;
|
|
6
6
|
daysAhead?: number;
|
|
7
|
+
defaultShowWeekdaysOnly: boolean;
|
|
8
|
+
defaultShowTeamCount: boolean;
|
|
9
|
+
defaultWeeksAhead: number;
|
|
7
10
|
copy: AppCopy;
|
|
8
11
|
};
|
|
9
12
|
export declare const PRESENCE_TIME: {
|
|
@@ -45,3 +48,16 @@ export type OfficeEventRow = {
|
|
|
45
48
|
description?: string;
|
|
46
49
|
attendees?: string;
|
|
47
50
|
};
|
|
51
|
+
export type UserSettings = {
|
|
52
|
+
defaultOffice?: string;
|
|
53
|
+
showWeekdaysOnly?: boolean;
|
|
54
|
+
showTeamCount?: boolean;
|
|
55
|
+
weeksAhead?: number;
|
|
56
|
+
};
|
|
57
|
+
export type UserSettingsRow = {
|
|
58
|
+
user_id: string;
|
|
59
|
+
default_office?: string;
|
|
60
|
+
show_weekdays_only?: number;
|
|
61
|
+
show_team_count?: number;
|
|
62
|
+
weeks_ahead?: number;
|
|
63
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../libs/@vigilant-broccoli/slackbots/src/office-presence-app/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../libs/@vigilant-broccoli/slackbots/src/office-presence-app/types.ts"],"names":[],"mappings":";;;AAaa,QAAA,aAAa,GAAG;IAC3B,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;CACd,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { AppCopy } from '../consts/app-copy.const';
|
|
|
4
4
|
export declare function handleCheckboxAction(body: BlockAction): void;
|
|
5
5
|
export declare function handleScheduleModalSubmit(body: SlackViewAction, view: ViewOutput): void;
|
|
6
6
|
export declare function handleAskLunchAction(userId: string, selectedUserIds: string[], client: WebClient, copy: AppCopy): Promise<void>;
|
|
7
|
+
export declare function handleSettingsModalSubmit(body: SlackViewAction, view: ViewOutput): void;
|
|
7
8
|
export declare function handleCreateEventSubmit(body: SlackViewAction, view: ViewOutput): void;
|
|
8
9
|
export declare function handleEventAttendanceToggle(body: BlockAction): void;
|
|
9
10
|
export declare function handleDeleteEvent(body: BlockAction): void;
|
|
@@ -3,12 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.handleCheckboxAction = handleCheckboxAction;
|
|
4
4
|
exports.handleScheduleModalSubmit = handleScheduleModalSubmit;
|
|
5
5
|
exports.handleAskLunchAction = handleAskLunchAction;
|
|
6
|
+
exports.handleSettingsModalSubmit = handleSettingsModalSubmit;
|
|
6
7
|
exports.handleCreateEventSubmit = handleCreateEventSubmit;
|
|
7
8
|
exports.handleEventAttendanceToggle = handleEventAttendanceToggle;
|
|
8
9
|
exports.handleDeleteEvent = handleDeleteEvent;
|
|
9
10
|
exports.handleEditEventSubmit = handleEditEventSubmit;
|
|
10
11
|
const tslib_1 = require("tslib");
|
|
11
12
|
const db_utils_1 = require("./db.utils");
|
|
13
|
+
const data_consts_1 = require("../consts/data.consts");
|
|
12
14
|
const input_validation_utils_1 = require("./input-validation.utils");
|
|
13
15
|
function handleCheckboxAction(body) {
|
|
14
16
|
const action = body.actions[0];
|
|
@@ -19,11 +21,10 @@ function handleCheckboxAction(body) {
|
|
|
19
21
|
if (!userPresences[body.user.id]) {
|
|
20
22
|
userPresences[body.user.id] = {};
|
|
21
23
|
}
|
|
24
|
+
const { defaultOffice } = (0, db_utils_1.loadUserSettings)(body.user.id);
|
|
22
25
|
for (const date of selectedDates) {
|
|
23
26
|
(0, db_utils_1.savePresence)(body.user.id, date, userPresences[body.user.id][date] ||
|
|
24
|
-
{
|
|
25
|
-
isWholeDay: true,
|
|
26
|
-
});
|
|
27
|
+
{ office: defaultOffice });
|
|
27
28
|
}
|
|
28
29
|
for (const date of Object.keys(userPresences[body.user.id])) {
|
|
29
30
|
if (!selectedDates.includes(date)) {
|
|
@@ -35,20 +36,19 @@ function handleCheckboxAction(body) {
|
|
|
35
36
|
function handleScheduleModalSubmit(body, view) {
|
|
36
37
|
var _a, _b, _c;
|
|
37
38
|
const userId = body.user.id;
|
|
38
|
-
const dateOptions = view.state.values.
|
|
39
|
+
const dateOptions = view.state.values[data_consts_1.BLOCK_ID.DATE][data_consts_1.ACTION_ID.DATE].selected_options || [];
|
|
39
40
|
const selectedDates = dateOptions.map(opt => opt.value);
|
|
40
|
-
const office = (_b = (_a = view.state.values.
|
|
41
|
-
const presenceTime = (_c = view.state.values.
|
|
42
|
-
const isBringingDog = view.state.values.
|
|
41
|
+
const office = (_b = (_a = view.state.values[data_consts_1.BLOCK_ID.OFFICE]) === null || _a === void 0 ? void 0 : _a[data_consts_1.ACTION_ID.OFFICE].selected_option) === null || _b === void 0 ? void 0 : _b.value;
|
|
42
|
+
const presenceTime = (_c = view.state.values[data_consts_1.BLOCK_ID.PRESENCE][data_consts_1.ACTION_ID.PRESENCE].selected_option) === null || _c === void 0 ? void 0 : _c.value;
|
|
43
|
+
const isBringingDog = view.state.values[data_consts_1.BLOCK_ID.DOG][data_consts_1.ACTION_ID.DOG]
|
|
43
44
|
.selected_options.length > 0;
|
|
44
|
-
const message = (0, input_validation_utils_1.validateInput)(view.state.values.
|
|
45
|
+
const message = (0, input_validation_utils_1.validateInput)(view.state.values[data_consts_1.BLOCK_ID.MESSAGE][data_consts_1.ACTION_ID.MESSAGE].value || '');
|
|
45
46
|
const userPresence = {
|
|
46
47
|
office,
|
|
47
48
|
isBringingDog,
|
|
48
49
|
presenceTime,
|
|
49
50
|
message,
|
|
50
51
|
};
|
|
51
|
-
// Save for each selected date
|
|
52
52
|
selectedDates.forEach(date => {
|
|
53
53
|
(0, db_utils_1.savePresence)(userId, date, userPresence);
|
|
54
54
|
});
|
|
@@ -79,15 +79,34 @@ function handleAskLunchAction(userId, selectedUserIds, client, copy) {
|
|
|
79
79
|
});
|
|
80
80
|
});
|
|
81
81
|
}
|
|
82
|
+
function handleSettingsModalSubmit(body, view) {
|
|
83
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
84
|
+
const userId = body.user.id;
|
|
85
|
+
const defaultOffice = (_b = (_a = view.state.values[data_consts_1.BLOCK_ID.DEFAULT_OFFICE]) === null || _a === void 0 ? void 0 : _a[data_consts_1.ACTION_ID.DEFAULT_OFFICE].selected_option) === null || _b === void 0 ? void 0 : _b.value;
|
|
86
|
+
const showWeekdaysOnly = (_e = (_d = (_c = view.state.values[data_consts_1.BLOCK_ID.SHOW_WEEKDAYS_ONLY]) === null || _c === void 0 ? void 0 : _c[data_consts_1.ACTION_ID.SHOW_WEEKDAYS_ONLY].selected_options) === null || _d === void 0 ? void 0 : _d.some(o => o.value === data_consts_1.ACTION_ID.SHOW_WEEKDAYS_ONLY)) !== null && _e !== void 0 ? _e : false;
|
|
87
|
+
const showTeamCount = (_h = (_g = (_f = view.state.values[data_consts_1.BLOCK_ID.SHOW_TEAM_COUNT]) === null || _f === void 0 ? void 0 : _f[data_consts_1.ACTION_ID.SHOW_TEAM_COUNT].selected_options) === null || _g === void 0 ? void 0 : _g.some(o => o.value === data_consts_1.ACTION_ID.SHOW_TEAM_COUNT)) !== null && _h !== void 0 ? _h : false;
|
|
88
|
+
const weeksAheadStr = (_k = (_j = view.state.values[data_consts_1.BLOCK_ID.WEEKS_AHEAD]) === null || _j === void 0 ? void 0 : _j[data_consts_1.ACTION_ID.WEEKS_AHEAD].selected_option) === null || _k === void 0 ? void 0 : _k.value;
|
|
89
|
+
const weeksAhead = weeksAheadStr ? parseInt(weeksAheadStr, 10) : undefined;
|
|
90
|
+
const settings = {
|
|
91
|
+
defaultOffice,
|
|
92
|
+
showWeekdaysOnly,
|
|
93
|
+
showTeamCount,
|
|
94
|
+
weeksAhead,
|
|
95
|
+
};
|
|
96
|
+
(0, db_utils_1.saveUserSettings)(userId, settings);
|
|
97
|
+
}
|
|
82
98
|
function handleCreateEventSubmit(body, view) {
|
|
83
99
|
var _a, _b, _c;
|
|
84
100
|
const userId = body.user.id;
|
|
85
|
-
const eventName = (0, input_validation_utils_1.validateInput)(view.state.values.
|
|
86
|
-
const eventDate = ((_a = view.state.values.
|
|
87
|
-
const eventHour = ((_b = view.state.values.
|
|
88
|
-
|
|
101
|
+
const eventName = (0, input_validation_utils_1.validateInput)(view.state.values[data_consts_1.BLOCK_ID.EVENT_NAME][data_consts_1.ACTION_ID.EVENT_NAME].value || '');
|
|
102
|
+
const eventDate = ((_a = view.state.values[data_consts_1.BLOCK_ID.EVENT_DATE][data_consts_1.ACTION_ID.EVENT_DATE].selected_option) === null || _a === void 0 ? void 0 : _a.value) || '';
|
|
103
|
+
const eventHour = ((_b = view.state.values[data_consts_1.BLOCK_ID.EVENT_TIME_HOUR][data_consts_1.ACTION_ID.EVENT_TIME_HOUR]
|
|
104
|
+
.selected_option) === null || _b === void 0 ? void 0 : _b.value) || '12';
|
|
105
|
+
const eventMinute = ((_c = view.state.values[data_consts_1.BLOCK_ID.EVENT_TIME_MINUTE][data_consts_1.ACTION_ID.EVENT_TIME_MINUTE]
|
|
106
|
+
.selected_option) === null || _c === void 0 ? void 0 : _c.value) || '0';
|
|
89
107
|
const eventTime = `${eventHour.padStart(2, '0')}:${eventMinute.padStart(2, '0')}`;
|
|
90
|
-
const eventDescription = (0, input_validation_utils_1.validateInput)(view.state.values.
|
|
108
|
+
const eventDescription = (0, input_validation_utils_1.validateInput)(view.state.values[data_consts_1.BLOCK_ID.EVENT_DESCRIPTION][data_consts_1.ACTION_ID.EVENT_DESCRIPTION]
|
|
109
|
+
.value || '');
|
|
91
110
|
const event = {
|
|
92
111
|
name: eventName,
|
|
93
112
|
date: eventDate,
|
|
@@ -140,14 +159,17 @@ function handleDeleteEvent(body) {
|
|
|
140
159
|
}
|
|
141
160
|
function handleEditEventSubmit(eventId, body, view) {
|
|
142
161
|
var _a, _b, _c;
|
|
143
|
-
const eventName = (0, input_validation_utils_1.validateInput)(view.state.values.
|
|
144
|
-
const eventDate = ((_a = view.state.values.
|
|
145
|
-
const eventHour = ((_b = view.state.values.
|
|
146
|
-
|
|
162
|
+
const eventName = (0, input_validation_utils_1.validateInput)(view.state.values[data_consts_1.BLOCK_ID.EVENT_NAME][data_consts_1.ACTION_ID.EVENT_NAME].value || '');
|
|
163
|
+
const eventDate = ((_a = view.state.values[data_consts_1.BLOCK_ID.EVENT_DATE][data_consts_1.ACTION_ID.EVENT_DATE].selected_option) === null || _a === void 0 ? void 0 : _a.value) || '';
|
|
164
|
+
const eventHour = ((_b = view.state.values[data_consts_1.BLOCK_ID.EVENT_TIME_HOUR][data_consts_1.ACTION_ID.EVENT_TIME_HOUR]
|
|
165
|
+
.selected_option) === null || _b === void 0 ? void 0 : _b.value) || '12';
|
|
166
|
+
const eventMinute = ((_c = view.state.values[data_consts_1.BLOCK_ID.EVENT_TIME_MINUTE][data_consts_1.ACTION_ID.EVENT_TIME_MINUTE]
|
|
167
|
+
.selected_option) === null || _c === void 0 ? void 0 : _c.value) || '0';
|
|
147
168
|
const eventTime = `${eventHour.padStart(2, '0')}:${eventMinute.padStart(2, '0')}`;
|
|
148
|
-
const eventDescription = (0, input_validation_utils_1.validateInput)(view.state.values.
|
|
149
|
-
|
|
150
|
-
|
|
169
|
+
const eventDescription = (0, input_validation_utils_1.validateInput)(view.state.values[data_consts_1.BLOCK_ID.EVENT_DESCRIPTION][data_consts_1.ACTION_ID.EVENT_DESCRIPTION]
|
|
170
|
+
.value || '');
|
|
171
|
+
const selectedUsers = view.state.values[data_consts_1.BLOCK_ID.EVENT_ATTENDEES][data_consts_1.ACTION_ID.EVENT_ATTENDEES]
|
|
172
|
+
.selected_users || [];
|
|
151
173
|
const event = {
|
|
152
174
|
name: eventName,
|
|
153
175
|
date: eventDate,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.utils.js","sourceRoot":"","sources":["../../../../../../../libs/@vigilant-broccoli/slackbots/src/office-presence-app/utils/action.utils.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"action.utils.js","sourceRoot":"","sources":["../../../../../../../libs/@vigilant-broccoli/slackbots/src/office-presence-app/utils/action.utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { UserPresence, UserPresences, OfficeEvent } from '../types';
|
|
1
|
+
import { UserPresence, UserPresences, OfficeEvent, UserSettings } from '../types';
|
|
2
2
|
export declare function loadAllPresences(): UserPresences;
|
|
3
3
|
export declare function savePresence(userId: string, date: string, presence: UserPresence): void;
|
|
4
4
|
export declare function deletePresence(userId: string, date: string): void;
|
|
@@ -8,4 +8,6 @@ export declare function saveEvent(event: OfficeEvent): number;
|
|
|
8
8
|
export declare function loadEventById(eventId: number): OfficeEvent | null;
|
|
9
9
|
export declare function updateEventAttendees(eventId: number, attendees: string[]): void;
|
|
10
10
|
export declare function deleteEvent(eventId: number): void;
|
|
11
|
+
export declare function loadUserSettings(userId: string): UserSettings;
|
|
12
|
+
export declare function saveUserSettings(userId: string, settings: UserSettings): void;
|
|
11
13
|
export declare function updateEvent(eventId: number, event: OfficeEvent): void;
|
|
@@ -9,6 +9,8 @@ exports.saveEvent = saveEvent;
|
|
|
9
9
|
exports.loadEventById = loadEventById;
|
|
10
10
|
exports.updateEventAttendees = updateEventAttendees;
|
|
11
11
|
exports.deleteEvent = deleteEvent;
|
|
12
|
+
exports.loadUserSettings = loadUserSettings;
|
|
13
|
+
exports.saveUserSettings = saveUserSettings;
|
|
12
14
|
exports.updateEvent = updateEvent;
|
|
13
15
|
const tslib_1 = require("tslib");
|
|
14
16
|
const better_sqlite3_1 = tslib_1.__importDefault(require("better-sqlite3"));
|
|
@@ -36,6 +38,25 @@ db.prepare(`
|
|
|
36
38
|
attendees TEXT
|
|
37
39
|
)
|
|
38
40
|
`).run();
|
|
41
|
+
db.prepare(`
|
|
42
|
+
CREATE TABLE IF NOT EXISTS user_settings (
|
|
43
|
+
user_id TEXT PRIMARY KEY,
|
|
44
|
+
default_office TEXT,
|
|
45
|
+
show_weekdays_only INTEGER,
|
|
46
|
+
show_team_count INTEGER,
|
|
47
|
+
weeks_ahead INTEGER
|
|
48
|
+
)
|
|
49
|
+
`).run();
|
|
50
|
+
const userSettingsColumns = db.prepare(`PRAGMA table_info(user_settings)`).all().map(r => r.name);
|
|
51
|
+
for (const [col, type] of [
|
|
52
|
+
['show_weekdays_only', 'INTEGER'],
|
|
53
|
+
['show_team_count', 'INTEGER'],
|
|
54
|
+
['weeks_ahead', 'INTEGER'],
|
|
55
|
+
]) {
|
|
56
|
+
if (!userSettingsColumns.includes(col)) {
|
|
57
|
+
db.prepare(`ALTER TABLE user_settings ADD COLUMN ${col} ${type}`).run();
|
|
58
|
+
}
|
|
59
|
+
}
|
|
39
60
|
function loadAllPresences() {
|
|
40
61
|
const rows = db
|
|
41
62
|
.prepare('SELECT * FROM user_presences')
|
|
@@ -157,6 +178,38 @@ function updateEventAttendees(eventId, attendees) {
|
|
|
157
178
|
function deleteEvent(eventId) {
|
|
158
179
|
db.prepare('DELETE FROM office_events WHERE id = ?').run(eventId);
|
|
159
180
|
}
|
|
181
|
+
function loadUserSettings(userId) {
|
|
182
|
+
var _a;
|
|
183
|
+
const row = db
|
|
184
|
+
.prepare('SELECT * FROM user_settings WHERE user_id = ?')
|
|
185
|
+
.get(userId);
|
|
186
|
+
if (!row)
|
|
187
|
+
return {};
|
|
188
|
+
return {
|
|
189
|
+
defaultOffice: row.default_office,
|
|
190
|
+
showWeekdaysOnly: row.show_weekdays_only != null ? !!row.show_weekdays_only : undefined,
|
|
191
|
+
showTeamCount: row.show_team_count != null ? !!row.show_team_count : undefined,
|
|
192
|
+
weeksAhead: (_a = row.weeks_ahead) !== null && _a !== void 0 ? _a : undefined,
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
function saveUserSettings(userId, settings) {
|
|
196
|
+
var _a, _b;
|
|
197
|
+
db.prepare(`
|
|
198
|
+
INSERT INTO user_settings (user_id, default_office, show_weekdays_only, show_team_count, weeks_ahead)
|
|
199
|
+
VALUES (@user_id, @default_office, @show_weekdays_only, @show_team_count, @weeks_ahead)
|
|
200
|
+
ON CONFLICT(user_id) DO UPDATE SET
|
|
201
|
+
default_office=excluded.default_office,
|
|
202
|
+
show_weekdays_only=excluded.show_weekdays_only,
|
|
203
|
+
show_team_count=excluded.show_team_count,
|
|
204
|
+
weeks_ahead=excluded.weeks_ahead
|
|
205
|
+
`).run({
|
|
206
|
+
user_id: userId,
|
|
207
|
+
default_office: (_a = settings.defaultOffice) !== null && _a !== void 0 ? _a : null,
|
|
208
|
+
show_weekdays_only: settings.showWeekdaysOnly != null ? +settings.showWeekdaysOnly : null,
|
|
209
|
+
show_team_count: settings.showTeamCount != null ? +settings.showTeamCount : null,
|
|
210
|
+
weeks_ahead: (_b = settings.weeksAhead) !== null && _b !== void 0 ? _b : null,
|
|
211
|
+
});
|
|
212
|
+
}
|
|
160
213
|
function updateEvent(eventId, event) {
|
|
161
214
|
db.prepare(`
|
|
162
215
|
UPDATE office_events
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.utils.js","sourceRoot":"","sources":["../../../../../../../libs/@vigilant-broccoli/slackbots/src/office-presence-app/utils/db.utils.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"db.utils.js","sourceRoot":"","sources":["../../../../../../../libs/@vigilant-broccoli/slackbots/src/office-presence-app/utils/db.utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,15 +33,21 @@ function buildModalDateOptionSlackBlocks(dates) {
|
|
|
33
33
|
}));
|
|
34
34
|
}
|
|
35
35
|
function getHomeView(userId, appConfig) {
|
|
36
|
-
var _a;
|
|
36
|
+
var _a, _b, _c, _d;
|
|
37
37
|
const { copy } = appConfig;
|
|
38
|
+
const userSettings = (0, db_utils_1.loadUserSettings)(userId);
|
|
39
|
+
const showWeekdaysOnly = (_a = userSettings.showWeekdaysOnly) !== null && _a !== void 0 ? _a : appConfig.defaultShowWeekdaysOnly;
|
|
40
|
+
const showTeamCount = (_b = userSettings.showTeamCount) !== null && _b !== void 0 ? _b : appConfig.defaultShowTeamCount;
|
|
41
|
+
const weeksAhead = (_c = userSettings.weeksAhead) !== null && _c !== void 0 ? _c : appConfig.defaultWeeksAhead;
|
|
42
|
+
const includeWeekends = !showWeekdaysOnly;
|
|
38
43
|
const userPresences = (0, db_utils_1.loadAllPresences)();
|
|
39
44
|
if (!userPresences[userId]) {
|
|
40
45
|
userPresences[userId] = {};
|
|
41
46
|
}
|
|
42
47
|
const selected = Object.keys(userPresences[userId]);
|
|
43
|
-
const
|
|
44
|
-
const
|
|
48
|
+
const checkboxDates = (0, date_utils_1.getUpcomingWeekdays)((_d = appConfig.daysAhead) !== null && _d !== void 0 ? _d : 14, includeWeekends).slice(0, 10);
|
|
49
|
+
const presenceDates = (0, date_utils_1.getUpcomingWeekdays)(weeksAhead * 7, includeWeekends);
|
|
50
|
+
const options = buildModalDateOptionSlackBlocks(checkboxDates);
|
|
45
51
|
const initial = options.filter(opt => selected.includes(opt.value));
|
|
46
52
|
const today = (0, date_utils_1.formatISODateLocal)(new Date());
|
|
47
53
|
const isCheckedInToday = selected.includes(today);
|
|
@@ -50,28 +56,16 @@ function getHomeView(userId, appConfig) {
|
|
|
50
56
|
blocks: [
|
|
51
57
|
slack_workspace_1.SlackViewBuilder.generateHeader(appConfig.APP_NAME),
|
|
52
58
|
slack_workspace_1.SlackViewBuilder.generateMarkdownSection(copy.getAppDescription(appConfig.APP_NAME)),
|
|
53
|
-
|
|
54
|
-
|
|
59
|
+
{
|
|
60
|
+
type: 'actions',
|
|
61
|
+
elements: [
|
|
55
62
|
{
|
|
56
|
-
type: '
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
type: 'button',
|
|
60
|
-
text: slack_workspace_1.SlackViewBuilder.generatePlainText(copy.HOME_VIEW.ASK_LUNCH_BUTTON),
|
|
61
|
-
action_id: app_consts_1.APP_ACTION.OPEN_ASK_LUNCH_MODAL,
|
|
62
|
-
style: 'primary',
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
type: 'button',
|
|
66
|
-
text: slack_workspace_1.SlackViewBuilder.generatePlainText(copy.HOME_VIEW.CHECKOUT_BUTTON),
|
|
67
|
-
action_id: app_consts_1.APP_ACTION.SUBMIT_CHECKOUT,
|
|
68
|
-
style: 'primary',
|
|
69
|
-
},
|
|
70
|
-
],
|
|
63
|
+
type: 'button',
|
|
64
|
+
text: slack_workspace_1.SlackViewBuilder.generatePlainText(copy.HOME_VIEW.USER_SETTINGS_BUTTON),
|
|
65
|
+
action_id: app_consts_1.APP_ACTION.OPEN_SETTINGS_MODAL,
|
|
71
66
|
},
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
: []),
|
|
67
|
+
],
|
|
68
|
+
},
|
|
75
69
|
Object.assign(Object.assign({}, slack_workspace_1.SlackViewBuilder.generateMarkdownSection(copy.HOME_VIEW.SELECT_OFFICE_DAYS_MARKDOWN)), { accessory: Object.assign({ type: 'checkboxes', action_id: app_consts_1.APP_ACTION.WORKDAY_CHECKBOXES, options }, (initial.length > 0 && { initial_options: initial })) }),
|
|
76
70
|
{
|
|
77
71
|
type: 'actions',
|
|
@@ -86,14 +80,30 @@ function getHomeView(userId, appConfig) {
|
|
|
86
80
|
text: slack_workspace_1.SlackViewBuilder.generatePlainText(copy.HOME_VIEW.CREATE_EVENT_BUTTON),
|
|
87
81
|
action_id: app_consts_1.APP_ACTION.OPEN_CREATE_EVENT_MODAL,
|
|
88
82
|
},
|
|
83
|
+
...(isCheckedInToday
|
|
84
|
+
? [
|
|
85
|
+
{
|
|
86
|
+
type: 'button',
|
|
87
|
+
text: slack_workspace_1.SlackViewBuilder.generatePlainText(copy.HOME_VIEW.ASK_LUNCH_BUTTON),
|
|
88
|
+
action_id: app_consts_1.APP_ACTION.OPEN_ASK_LUNCH_MODAL,
|
|
89
|
+
style: 'primary',
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
type: 'button',
|
|
93
|
+
text: slack_workspace_1.SlackViewBuilder.generatePlainText(copy.HOME_VIEW.CHECKOUT_BUTTON),
|
|
94
|
+
action_id: app_consts_1.APP_ACTION.SUBMIT_CHECKOUT,
|
|
95
|
+
style: 'primary',
|
|
96
|
+
},
|
|
97
|
+
]
|
|
98
|
+
: []),
|
|
89
99
|
],
|
|
90
100
|
},
|
|
91
101
|
slack_workspace_1.SlackViewBuilder.DIVIDER,
|
|
92
|
-
...buildPresenceBlocks(
|
|
102
|
+
...buildPresenceBlocks(presenceDates, userPresences, userId, copy, showTeamCount),
|
|
93
103
|
],
|
|
94
104
|
};
|
|
95
105
|
}
|
|
96
|
-
function buildPresenceBlocks(days, userPresences, currentUserId, copy) {
|
|
106
|
+
function buildPresenceBlocks(days, userPresences, currentUserId, copy, showTeamCount) {
|
|
97
107
|
const blocks = [
|
|
98
108
|
slack_workspace_1.SlackViewBuilder.generateMarkdownSection(copy.HOME_VIEW.WHO_IS_IN_OFFICE_MARKDOWN),
|
|
99
109
|
];
|
|
@@ -108,15 +118,15 @@ function buildPresenceBlocks(days, userPresences, currentUserId, copy) {
|
|
|
108
118
|
.map(([u, presence]) => ({ userId: u, presence: presence[iso] }));
|
|
109
119
|
const formattedPresences = dayPresences.map(({ userId, presence }) => formatPresence(userId, presence, eventsForDay, copy));
|
|
110
120
|
const datePrefix = `*${formatDateWithWeek(date, index)}*`;
|
|
111
|
-
const sectionText = buildDaySectionText(datePrefix, dayPresences.map(({ presence }) => presence), formattedPresences, copy);
|
|
121
|
+
const sectionText = buildDaySectionText(datePrefix, dayPresences.map(({ presence }) => presence), formattedPresences, copy, showTeamCount);
|
|
112
122
|
blocks.push(slack_workspace_1.SlackViewBuilder.generateMarkdownSection(sectionText));
|
|
113
123
|
if (eventsForDay.length > 0) {
|
|
114
|
-
blocks.push(...buildEventBlocks(eventsForDay, currentUserId));
|
|
124
|
+
blocks.push(...buildEventBlocks(eventsForDay, currentUserId, copy));
|
|
115
125
|
}
|
|
116
126
|
});
|
|
117
127
|
return blocks;
|
|
118
128
|
}
|
|
119
|
-
function buildEventBlocks(events, currentUserId) {
|
|
129
|
+
function buildEventBlocks(events, currentUserId, copy) {
|
|
120
130
|
var _a, _b;
|
|
121
131
|
const blocks = [];
|
|
122
132
|
for (const event of events) {
|
|
@@ -139,38 +149,23 @@ function buildEventBlocks(events, currentUserId) {
|
|
|
139
149
|
elements: [
|
|
140
150
|
{
|
|
141
151
|
type: 'button',
|
|
142
|
-
text:
|
|
143
|
-
type: 'plain_text',
|
|
144
|
-
text: 'Edit',
|
|
145
|
-
},
|
|
152
|
+
text: slack_workspace_1.SlackViewBuilder.generatePlainText(copy.HOME_VIEW.EDIT_EVENT_BUTTON),
|
|
146
153
|
action_id: `${app_consts_1.APP_ACTION.EDIT_EVENT}_${event.id}`,
|
|
147
154
|
style: 'primary',
|
|
148
155
|
},
|
|
149
156
|
{
|
|
150
157
|
type: 'button',
|
|
151
|
-
text:
|
|
152
|
-
type: 'plain_text',
|
|
153
|
-
text: 'Delete',
|
|
154
|
-
},
|
|
158
|
+
text: slack_workspace_1.SlackViewBuilder.generatePlainText(copy.HOME_VIEW.DELETE_EVENT_BUTTON),
|
|
155
159
|
action_id: `${app_consts_1.APP_ACTION.DELETE_EVENT}_${event.id}`,
|
|
156
160
|
style: 'danger',
|
|
157
161
|
confirm: {
|
|
158
|
-
title:
|
|
159
|
-
type: 'plain_text',
|
|
160
|
-
text: 'Delete event?',
|
|
161
|
-
},
|
|
162
|
+
title: slack_workspace_1.SlackViewBuilder.generatePlainText(copy.HOME_VIEW.DELETE_EVENT_CONFIRM_TITLE),
|
|
162
163
|
text: {
|
|
163
164
|
type: 'mrkdwn',
|
|
164
165
|
text: `Delete *${event.name}* on ${event.date} at ${event.time}?`,
|
|
165
166
|
},
|
|
166
|
-
confirm:
|
|
167
|
-
|
|
168
|
-
text: 'Delete',
|
|
169
|
-
},
|
|
170
|
-
deny: {
|
|
171
|
-
type: 'plain_text',
|
|
172
|
-
text: 'Cancel',
|
|
173
|
-
},
|
|
167
|
+
confirm: slack_workspace_1.SlackViewBuilder.generatePlainText(copy.HOME_VIEW.DELETE_EVENT_BUTTON),
|
|
168
|
+
deny: slack_workspace_1.SlackViewBuilder.generatePlainText(copy.HOME_VIEW.DELETE_EVENT_CONFIRM_DENY),
|
|
174
169
|
},
|
|
175
170
|
},
|
|
176
171
|
],
|
|
@@ -179,15 +174,17 @@ function buildEventBlocks(events, currentUserId) {
|
|
|
179
174
|
}
|
|
180
175
|
return blocks;
|
|
181
176
|
}
|
|
182
|
-
function buildDaySectionText(datePrefix, presences, formattedPresences, copy) {
|
|
177
|
+
function buildDaySectionText(datePrefix, presences, formattedPresences, copy, showTeamCount) {
|
|
183
178
|
const count = presences.length;
|
|
184
179
|
if (count === 0) {
|
|
185
180
|
return `${datePrefix} - _${copy.HOME_VIEW.NO_ONE_SCHEDULED}_`;
|
|
186
181
|
}
|
|
187
|
-
const
|
|
188
|
-
|
|
182
|
+
const countLabel = showTeamCount
|
|
183
|
+
? ` - *${count} ${count === 1 ? copy.HOME_VIEW.PERSON : copy.HOME_VIEW.PEOPLE}*`
|
|
184
|
+
: '';
|
|
185
|
+
const officeBreakdown = showTeamCount ? buildOfficeBreakdown(presences) : '';
|
|
189
186
|
const breakdownLine = officeBreakdown ? `\n_${officeBreakdown}_` : '';
|
|
190
|
-
return `${datePrefix}
|
|
187
|
+
return `${datePrefix}${countLabel}\n${formattedPresences.join('\n')}${breakdownLine}`;
|
|
191
188
|
}
|
|
192
189
|
function buildOfficeBreakdown(presences) {
|
|
193
190
|
var _a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.utils.js","sourceRoot":"","sources":["../../../../../../../libs/@vigilant-broccoli/slackbots/src/office-presence-app/utils/view.utils.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"view.utils.js","sourceRoot":"","sources":["../../../../../../../libs/@vigilant-broccoli/slackbots/src/office-presence-app/utils/view.utils.ts"],"names":[],"mappings":"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"}
|