@vigilant-broccoli/slackbots 0.0.14 → 0.0.16

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.
@@ -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.createModalHandler(getInputScheduleModal));
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":"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"}
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":";;;AAUa,QAAA,aAAa,GAAG;IAC3B,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;CACd,CAAC"}
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.date_block.date.selected_options || [];
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.office_block) === null || _a === void 0 ? void 0 : _a.office.selected_option) === null || _b === void 0 ? void 0 : _b.value;
41
- const presenceTime = (_c = view.state.values.presence_block.presence.selected_option) === null || _c === void 0 ? void 0 : _c.value;
42
- const isBringingDog = view.state.values.dog_block.dog
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.message_block.message.value || '');
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.event_name_block.event_name.value || '');
86
- const eventDate = ((_a = view.state.values.event_date_block.event_date.selected_option) === null || _a === void 0 ? void 0 : _a.value) || '';
87
- const eventHour = ((_b = view.state.values.event_time_hour_block.event_time_hour.selected_option) === null || _b === void 0 ? void 0 : _b.value) || '12';
88
- const eventMinute = ((_c = view.state.values.event_time_minute_block.event_time_minute.selected_option) === null || _c === void 0 ? void 0 : _c.value) || '0';
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.event_description_block.event_description.value || '');
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.event_name_block.event_name.value || '');
144
- const eventDate = ((_a = view.state.values.event_date_block.event_date.selected_option) === null || _a === void 0 ? void 0 : _a.value) || '';
145
- const eventHour = ((_b = view.state.values.event_time_hour_block.event_time_hour.selected_option) === null || _b === void 0 ? void 0 : _b.value) || '12';
146
- const eventMinute = ((_c = view.state.values.event_time_minute_block.event_time_minute.selected_option) === null || _c === void 0 ? void 0 : _c.value) || '0';
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.event_description_block.event_description.value || '');
149
- const selectedUsers = view.state.values.event_attendees_block.event_attendees.selected_users ||
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":"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"}
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":"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"}
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 dates = (0, date_utils_1.getUpcomingWeekdays)((_a = appConfig.daysAhead) !== null && _a !== void 0 ? _a : 14, appConfig.includeWeekends);
44
- const options = buildModalDateOptionSlackBlocks(dates);
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);
@@ -55,16 +61,27 @@ function getHomeView(userId, appConfig) {
55
61
  elements: [
56
62
  {
57
63
  type: 'button',
58
- text: slack_workspace_1.SlackViewBuilder.generatePlainText(copy.HOME_VIEW.CREATE_EVENT_BUTTON),
59
- action_id: app_consts_1.APP_ACTION.OPEN_CREATE_EVENT_MODAL,
64
+ text: slack_workspace_1.SlackViewBuilder.generatePlainText(copy.HOME_VIEW.USER_SETTINGS_BUTTON),
65
+ action_id: app_consts_1.APP_ACTION.OPEN_SETTINGS_MODAL,
60
66
  },
61
67
  ],
62
68
  },
63
- ...(isCheckedInToday
64
- ? [
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 })) }),
70
+ {
71
+ type: 'actions',
72
+ elements: [
73
+ {
74
+ type: 'button',
75
+ text: slack_workspace_1.SlackViewBuilder.generatePlainText(copy.HOME_VIEW.ADD_VISIT_DETAILS_BUTTON),
76
+ action_id: app_consts_1.APP_ACTION.OPEN_SCHEDULE_MODAL,
77
+ },
65
78
  {
66
- type: 'actions',
67
- elements: [
79
+ type: 'button',
80
+ text: slack_workspace_1.SlackViewBuilder.generatePlainText(copy.HOME_VIEW.CREATE_EVENT_BUTTON),
81
+ action_id: app_consts_1.APP_ACTION.OPEN_CREATE_EVENT_MODAL,
82
+ },
83
+ ...(isCheckedInToday
84
+ ? [
68
85
  {
69
86
  type: 'button',
70
87
  text: slack_workspace_1.SlackViewBuilder.generatePlainText(copy.HOME_VIEW.ASK_LUNCH_BUTTON),
@@ -77,28 +94,16 @@ function getHomeView(userId, appConfig) {
77
94
  action_id: app_consts_1.APP_ACTION.SUBMIT_CHECKOUT,
78
95
  style: 'primary',
79
96
  },
80
- ],
81
- },
82
- slack_workspace_1.SlackViewBuilder.DIVIDER,
83
- ]
84
- : []),
85
- 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 })) }),
86
- {
87
- type: 'actions',
88
- elements: [
89
- {
90
- type: 'button',
91
- text: slack_workspace_1.SlackViewBuilder.generatePlainText(copy.HOME_VIEW.ADD_VISIT_DETAILS_BUTTON),
92
- action_id: app_consts_1.APP_ACTION.OPEN_SCHEDULE_MODAL,
93
- },
97
+ ]
98
+ : []),
94
99
  ],
95
100
  },
96
101
  slack_workspace_1.SlackViewBuilder.DIVIDER,
97
- ...buildPresenceBlocks(dates, userPresences, userId, copy),
102
+ ...buildPresenceBlocks(presenceDates, userPresences, userId, copy, showTeamCount),
98
103
  ],
99
104
  };
100
105
  }
101
- function buildPresenceBlocks(days, userPresences, currentUserId, copy) {
106
+ function buildPresenceBlocks(days, userPresences, currentUserId, copy, showTeamCount) {
102
107
  const blocks = [
103
108
  slack_workspace_1.SlackViewBuilder.generateMarkdownSection(copy.HOME_VIEW.WHO_IS_IN_OFFICE_MARKDOWN),
104
109
  ];
@@ -113,15 +118,15 @@ function buildPresenceBlocks(days, userPresences, currentUserId, copy) {
113
118
  .map(([u, presence]) => ({ userId: u, presence: presence[iso] }));
114
119
  const formattedPresences = dayPresences.map(({ userId, presence }) => formatPresence(userId, presence, eventsForDay, copy));
115
120
  const datePrefix = `*${formatDateWithWeek(date, index)}*`;
116
- const sectionText = buildDaySectionText(datePrefix, dayPresences.map(({ presence }) => presence), formattedPresences, copy);
121
+ const sectionText = buildDaySectionText(datePrefix, dayPresences.map(({ presence }) => presence), formattedPresences, copy, showTeamCount);
117
122
  blocks.push(slack_workspace_1.SlackViewBuilder.generateMarkdownSection(sectionText));
118
123
  if (eventsForDay.length > 0) {
119
- blocks.push(...buildEventBlocks(eventsForDay, currentUserId));
124
+ blocks.push(...buildEventBlocks(eventsForDay, currentUserId, copy));
120
125
  }
121
126
  });
122
127
  return blocks;
123
128
  }
124
- function buildEventBlocks(events, currentUserId) {
129
+ function buildEventBlocks(events, currentUserId, copy) {
125
130
  var _a, _b;
126
131
  const blocks = [];
127
132
  for (const event of events) {
@@ -144,38 +149,23 @@ function buildEventBlocks(events, currentUserId) {
144
149
  elements: [
145
150
  {
146
151
  type: 'button',
147
- text: {
148
- type: 'plain_text',
149
- text: 'Edit',
150
- },
152
+ text: slack_workspace_1.SlackViewBuilder.generatePlainText(copy.HOME_VIEW.EDIT_EVENT_BUTTON),
151
153
  action_id: `${app_consts_1.APP_ACTION.EDIT_EVENT}_${event.id}`,
152
154
  style: 'primary',
153
155
  },
154
156
  {
155
157
  type: 'button',
156
- text: {
157
- type: 'plain_text',
158
- text: 'Delete',
159
- },
158
+ text: slack_workspace_1.SlackViewBuilder.generatePlainText(copy.HOME_VIEW.DELETE_EVENT_BUTTON),
160
159
  action_id: `${app_consts_1.APP_ACTION.DELETE_EVENT}_${event.id}`,
161
160
  style: 'danger',
162
161
  confirm: {
163
- title: {
164
- type: 'plain_text',
165
- text: 'Delete event?',
166
- },
162
+ title: slack_workspace_1.SlackViewBuilder.generatePlainText(copy.HOME_VIEW.DELETE_EVENT_CONFIRM_TITLE),
167
163
  text: {
168
164
  type: 'mrkdwn',
169
165
  text: `Delete *${event.name}* on ${event.date} at ${event.time}?`,
170
166
  },
171
- confirm: {
172
- type: 'plain_text',
173
- text: 'Delete',
174
- },
175
- deny: {
176
- type: 'plain_text',
177
- text: 'Cancel',
178
- },
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),
179
169
  },
180
170
  },
181
171
  ],
@@ -184,15 +174,17 @@ function buildEventBlocks(events, currentUserId) {
184
174
  }
185
175
  return blocks;
186
176
  }
187
- function buildDaySectionText(datePrefix, presences, formattedPresences, copy) {
177
+ function buildDaySectionText(datePrefix, presences, formattedPresences, copy, showTeamCount) {
188
178
  const count = presences.length;
189
179
  if (count === 0) {
190
180
  return `${datePrefix} - _${copy.HOME_VIEW.NO_ONE_SCHEDULED}_`;
191
181
  }
192
- const peopleLabel = count === 1 ? 'person' : 'people';
193
- const officeBreakdown = buildOfficeBreakdown(presences);
182
+ const countLabel = showTeamCount
183
+ ? ` - *${count} ${count === 1 ? copy.HOME_VIEW.PERSON : copy.HOME_VIEW.PEOPLE}*`
184
+ : '';
185
+ const officeBreakdown = showTeamCount ? buildOfficeBreakdown(presences) : '';
194
186
  const breakdownLine = officeBreakdown ? `\n_${officeBreakdown}_` : '';
195
- return `${datePrefix} - *${count} ${peopleLabel}*\n${formattedPresences.join('\n')}${breakdownLine}`;
187
+ return `${datePrefix}${countLabel}\n${formattedPresences.join('\n')}${breakdownLine}`;
196
188
  }
197
189
  function buildOfficeBreakdown(presences) {
198
190
  var _a;