@vigilant-broccoli/slackbots 0.0.8 → 0.0.10

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vigilant-broccoli/slackbots",
3
- "version": "0.0.8",
3
+ "version": "0.0.10",
4
4
  "type": "commonjs",
5
5
  "main": "./src/index.js",
6
6
  "types": "./src/index.d.ts",
@@ -12,6 +12,10 @@
12
12
  "node-cron": "^4.2.1",
13
13
  "better-sqlite3": "^12.4.1"
14
14
  },
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "https://github.com/iamharryliu/vigilant-broccoli"
18
+ },
15
19
  "publishConfig": {
16
20
  "access": "public"
17
21
  }
@@ -1,2 +1,3 @@
1
1
  import { AppConfig } from './types';
2
2
  export declare function createReminderSender(appConfig: AppConfig): () => Promise<void>;
3
+ export declare function createReminderPreviewer(appConfig: AppConfig): (userId: string) => Promise<void>;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createReminderSender = createReminderSender;
4
+ exports.createReminderPreviewer = createReminderPreviewer;
4
5
  const tslib_1 = require("tslib");
5
6
  const web_api_1 = require("@slack/web-api");
6
7
  const utils_1 = require("../lib/utils/utils");
@@ -14,51 +15,30 @@ function createReminderSender(appConfig) {
14
15
  return function sendReminders() {
15
16
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
16
17
  const client = getClient();
17
- const openAppUrl = appConfig.id
18
- ? yield getOpenAppUrl(client, appConfig.id)
19
- : undefined;
18
+ const botUserId = yield getBotUserId(client);
20
19
  const allUsers = yield utils_1.SlackUtils.getAllRealUsers(client);
21
20
  const userIds = allUsers.map(user => user.id);
22
21
  for (const userId of userIds) {
23
- yield postMessage(client, userId, appConfig, openAppUrl);
22
+ yield postMessage(client, userId, appConfig, botUserId);
24
23
  }
25
24
  });
26
25
  };
27
26
  }
28
- function postMessage(client, channel, appConfig, openAppUrl) {
27
+ function createReminderPreviewer(appConfig) {
28
+ return function previewReminder(userId) {
29
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
30
+ const client = getClient();
31
+ const botUserId = yield getBotUserId(client);
32
+ yield postMessage(client, userId, appConfig, botUserId);
33
+ });
34
+ };
35
+ }
36
+ function postMessage(client, channel, appConfig, botUserId) {
29
37
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
30
38
  const { copy } = appConfig;
31
- const blocks = [
32
- {
33
- type: 'section',
34
- text: {
35
- type: 'mrkdwn',
36
- text: copy.getReminderDmText(appConfig.APP_NAME, channel, appConfig.id),
37
- },
38
- },
39
- ];
40
- if (openAppUrl) {
41
- blocks.push({
42
- type: 'actions',
43
- elements: [
44
- {
45
- type: 'button',
46
- text: {
47
- type: 'plain_text',
48
- text: copy.COMMON.OPEN_APP,
49
- emoji: true,
50
- },
51
- url: openAppUrl,
52
- },
53
- ],
54
- });
55
- }
39
+ const text = copy.getReminderDmText(appConfig.APP_NAME, botUserId);
56
40
  try {
57
- yield client.chat.postMessage({
58
- channel,
59
- text: copy.getReminderDmText(appConfig.APP_NAME, channel, appConfig.id),
60
- blocks,
61
- });
41
+ yield client.chat.postMessage({ channel, text });
62
42
  }
63
43
  catch (error) {
64
44
  // eslint-disable-next-line no-console
@@ -66,10 +46,10 @@ function postMessage(client, channel, appConfig, openAppUrl) {
66
46
  }
67
47
  });
68
48
  }
69
- function getOpenAppUrl(client, appId) {
49
+ function getBotUserId(client) {
70
50
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
71
51
  const auth = yield client.auth.test();
72
- return `https://slack.com/app_redirect?app=${encodeURIComponent(appId)}&team=${encodeURIComponent(auth.team_id)}`;
52
+ return auth.user_id;
73
53
  });
74
54
  }
75
55
  //# sourceMappingURL=app-reminder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-reminder.js","sourceRoot":"","sources":["../../../../../../libs/@vigilant-broccoli/slackbots/src/office-presence-app/app-reminder.ts"],"names":[],"mappings":";;AAUA,oDAYC;;AAtBD,4CAA2C;AAC3C,8CAAgD;AAGhD,SAAS,SAAS;IAChB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAC1C,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC1D,OAAO,IAAI,mBAAS,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,SAAgB,oBAAoB,CAAC,SAAoB;IACvD,OAAO,SAAe,aAAa;;YACjC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAG,SAAS,CAAC,EAAE;gBAC7B,CAAC,CAAC,MAAM,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;gBAC3C,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,QAAQ,GAAG,MAAM,kBAAU,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAC1D,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;KAAA,CAAC;AACJ,CAAC;AAED,SAAe,WAAW,CACxB,MAAiB,EACjB,OAAe,EACf,SAAoB,EACpB,UAAmB;;QAEnB,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;QAC3B,MAAM,MAAM,GAQN;YACJ;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;iBACxE;aACF;SACF,CAAC;QAEF,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE;4BACJ,IAAI,EAAE,YAAY;4BAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;4BAC1B,KAAK,EAAE,IAAI;yBACZ;wBACD,GAAG,EAAE,UAAU;qBAChB;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC5B,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;gBACvE,MAAM;aACP,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;CAAA;AAED,SAAe,aAAa,CAAC,MAAiB,EAAE,KAAa;;QAC3D,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACtC,OAAO,sCAAsC,kBAAkB,CAC7D,KAAK,CACN,SAAS,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/C,CAAC;CAAA"}
1
+ {"version":3,"file":"app-reminder.js","sourceRoot":"","sources":["../../../../../../libs/@vigilant-broccoli/slackbots/src/office-presence-app/app-reminder.ts"],"names":[],"mappings":";;AAUA,oDAUC;AAED,0DAMC;;AA5BD,4CAA2C;AAC3C,8CAAgD;AAGhD,SAAS,SAAS;IAChB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAC1C,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC1D,OAAO,IAAI,mBAAS,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,SAAgB,oBAAoB,CAAC,SAAoB;IACvD,OAAO,SAAe,aAAa;;YACjC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,MAAM,kBAAU,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAC1D,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;KAAA,CAAC;AACJ,CAAC;AAED,SAAgB,uBAAuB,CAAC,SAAoB;IAC1D,OAAO,SAAe,eAAe,CAAC,MAAc;;YAClD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;YAC7C,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAC1D,CAAC;KAAA,CAAC;AACJ,CAAC;AAED,SAAe,WAAW,CACxB,MAAiB,EACjB,OAAe,EACf,SAAoB,EACpB,SAAkB;;QAElB,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;CAAA;AAED,SAAe,YAAY,CAAC,MAAiB;;QAC3C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CAAA"}
@@ -11,7 +11,6 @@ export declare const DEFAULT_APP_COPY: {
11
11
  CLOSE: string;
12
12
  SAVE: string;
13
13
  YES: string;
14
- OPEN_APP: string;
15
14
  };
16
15
  HOME_VIEW: {
17
16
  ASK_LUNCH_BUTTON: string;
@@ -21,7 +20,7 @@ export declare const DEFAULT_APP_COPY: {
21
20
  ADD_VISIT_DETAILS_BUTTON: string;
22
21
  CREATE_EVENT_BUTTON: string;
23
22
  WHO_IS_IN_OFFICE_MARKDOWN: string;
24
- NO_ONE_SCHEDULED_MARKDOWN: string;
23
+ NO_ONE_SCHEDULED: string;
25
24
  AFTERNOON_ONLY: string;
26
25
  MORNING_ONLY: string;
27
26
  };
@@ -67,6 +66,6 @@ export declare const DEFAULT_APP_COPY: {
67
66
  createdGroupChat(count: number): string;
68
67
  };
69
68
  getAppDescription(appName: string): string;
70
- getReminderDmText(appName: string, userId?: string, appId?: string): string;
69
+ getReminderDmText(appName: string, botUserId?: string): string;
71
70
  };
72
71
  export {};
@@ -27,7 +27,6 @@ exports.DEFAULT_APP_COPY = {
27
27
  CLOSE: 'Close',
28
28
  SAVE: 'Save',
29
29
  YES: 'Yes',
30
- OPEN_APP: 'Open App',
31
30
  },
32
31
  HOME_VIEW: {
33
32
  ASK_LUNCH_BUTTON: 'Ask about lunch 🍔',
@@ -37,7 +36,7 @@ exports.DEFAULT_APP_COPY = {
37
36
  ADD_VISIT_DETAILS_BUTTON: 'Add visit details. 🐶🏢🕐💬',
38
37
  CREATE_EVENT_BUTTON: 'Create Office Event 📅',
39
38
  WHO_IS_IN_OFFICE_MARKDOWN: "*Who's in the office?*",
40
- NO_ONE_SCHEDULED_MARKDOWN: '_No one scheduled_',
39
+ NO_ONE_SCHEDULED: 'No one scheduled',
41
40
  AFTERNOON_ONLY: ' | 🕐 Afternoon only',
42
41
  MORNING_ONLY: ' | 🕘 Morning only',
43
42
  },
@@ -89,12 +88,9 @@ exports.DEFAULT_APP_COPY = {
89
88
  getAppDescription(appName) {
90
89
  return `${appName} makes it easy to plan your office visits. Mark which office you are visiting, when you'll be in, whole day, morning, afternoon, or if you are bringing your dog. You can also leave a note for additional information about your visit ie _Bringing surdeg!_.`;
91
90
  },
92
- getReminderDmText(appName, userId, appId) {
93
- const userMention = userId ? `<@${userId}>` : 'Hey';
94
- const appMention = appId
95
- ? `<!subteam^${appId}|@${appName}>`
96
- : `@${appName}`;
97
- return `${userMention} 👋 Friendly reminder to plan for your office presence using ${appMention}!`;
91
+ getReminderDmText(appName, botUserId) {
92
+ const appMention = botUserId ? `<@${botUserId}>` : `@${appName}`;
93
+ return `Friendly reminder to plan your office presence using ${appMention}.\n\nClick the Home tab to get started!`;
98
94
  },
99
95
  };
100
96
  //# sourceMappingURL=app-copy.const.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-copy.const.js","sourceRoot":"","sources":["../../../../../../../libs/@vigilant-broccoli/slackbots/src/office-presence-app/consts/app-copy.const.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-copy.const.js","sourceRoot":"","sources":["../../../../../../../libs/@vigilant-broccoli/slackbots/src/office-presence-app/consts/app-copy.const.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,6 @@
1
+ export declare const APP_COMMAND: {
2
+ PREVIEW_REMINDER: string;
3
+ };
1
4
  export declare const APP_ACTION: {
2
5
  WORKDAY_CHECKBOXES: string;
3
6
  OPEN_SCHEDULE_MODAL: string;
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.APP_ACTION = void 0;
3
+ exports.APP_ACTION = exports.APP_COMMAND = void 0;
4
+ exports.APP_COMMAND = {
5
+ PREVIEW_REMINDER: '/preview-reminder',
6
+ };
4
7
  exports.APP_ACTION = {
5
8
  WORKDAY_CHECKBOXES: 'WORKDAY_CHECKBOXES',
6
9
  OPEN_SCHEDULE_MODAL: 'OPEN_SCHEDULE_MODAL',
@@ -1 +1 @@
1
- {"version":3,"file":"app.consts.js","sourceRoot":"","sources":["../../../../../../../libs/@vigilant-broccoli/slackbots/src/office-presence-app/consts/app.consts.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG;IACxB,kBAAkB,EAAE,oBAAoB;IACxC,mBAAmB,EAAE,qBAAqB;IAC1C,eAAe,EAAE,iBAAiB;IAClC,mBAAmB,EAAE,qBAAqB;IAC1C,oBAAoB,EAAE,sBAAsB;IAC5C,eAAe,EAAE,iBAAiB;IAClC,SAAS,EAAE,WAAW;IACtB,eAAe,EAAE,iBAAiB;IAClC,uBAAuB,EAAE,yBAAyB;IAClD,mBAAmB,EAAE,qBAAqB;IAC1C,uBAAuB,EAAE,yBAAyB;IAClD,UAAU,EAAE,YAAY;IACxB,YAAY,EAAE,cAAc;IAC5B,iBAAiB,EAAE,mBAAmB;CACvC,CAAC"}
1
+ {"version":3,"file":"app.consts.js","sourceRoot":"","sources":["../../../../../../../libs/@vigilant-broccoli/slackbots/src/office-presence-app/consts/app.consts.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG;IACzB,gBAAgB,EAAE,mBAAmB;CACtC,CAAC;AAEW,QAAA,UAAU,GAAG;IACxB,kBAAkB,EAAE,oBAAoB;IACxC,mBAAmB,EAAE,qBAAqB;IAC1C,eAAe,EAAE,iBAAiB;IAClC,mBAAmB,EAAE,qBAAqB;IAC1C,oBAAoB,EAAE,sBAAsB;IAC5C,eAAe,EAAE,iBAAiB;IAClC,SAAS,EAAE,WAAW;IACtB,eAAe,EAAE,iBAAiB;IAClC,uBAAuB,EAAE,yBAAyB;IAClD,mBAAmB,EAAE,qBAAqB;IAC1C,uBAAuB,EAAE,yBAAyB;IAClD,UAAU,EAAE,YAAY;IACxB,YAAY,EAAE,cAAc;IAC5B,iBAAiB,EAAE,mBAAmB;CACvC,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { AppCopyOverrides } from './consts/app-copy.const';
2
2
  export type OfficePresenceAppRunConfig = {
3
- id?: string;
4
3
  APP_NAME?: string;
5
4
  OFFICES?: string[];
6
5
  port?: number;
@@ -8,6 +7,7 @@ export type OfficePresenceAppRunConfig = {
8
7
  reminderTimezone?: string;
9
8
  enableReminders?: boolean;
10
9
  includeWeekends?: boolean;
10
+ daysAhead?: number;
11
11
  copy?: AppCopyOverrides;
12
12
  };
13
13
  export declare function runOfficePresenceApp(config?: OfficePresenceAppRunConfig): Promise<void>;
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.runOfficePresenceApp = runOfficePresenceApp;
4
4
  const tslib_1 = require("tslib");
5
- const cron = require("node-cron");
5
+ const cron = tslib_1.__importStar(require("node-cron"));
6
6
  const consts_1 = require("../lib/consts");
7
7
  const modal_utils_1 = require("../lib/utils/modal.utils");
8
8
  const utils_1 = require("../lib/utils/utils");
@@ -22,12 +22,12 @@ const DEFAULT_OFFICES = [];
22
22
  function runOfficePresenceApp() {
23
23
  return tslib_1.__awaiter(this, arguments, void 0, function* (config = {}) {
24
24
  var _a, _b, _c, _d;
25
- const { id, APP_NAME, OFFICES, includeWeekends, copy } = config;
25
+ const { APP_NAME, OFFICES, includeWeekends, daysAhead, copy } = config;
26
26
  const appConfig = {
27
- id,
28
27
  APP_NAME: APP_NAME !== null && APP_NAME !== void 0 ? APP_NAME : DEFAULT_APP_NAME,
29
28
  OFFICES: OFFICES !== null && OFFICES !== void 0 ? OFFICES : DEFAULT_OFFICES,
30
29
  includeWeekends,
30
+ daysAhead,
31
31
  copy: (0, app_copy_const_1.resolveAppCopy)(copy),
32
32
  };
33
33
  const publishHomeView = (0, view_utils_1.createPublishHomeView)(appConfig);
@@ -36,6 +36,7 @@ function runOfficePresenceApp() {
36
36
  const getCreateEventModal = (0, modals_const_1.createCreateEventModal)(appConfig);
37
37
  const getEditEventModal = (0, modals_const_1.createEditEventModal)(appConfig);
38
38
  const sendReminders = (0, app_reminder_1.createReminderSender)(appConfig);
39
+ const previewReminder = (0, app_reminder_1.createReminderPreviewer)(appConfig);
39
40
  const app = utils_1.SlackUtils.getSocketApp();
40
41
  app.event(consts_1.SLACK_EVENT.HOME_OPENED, (_a) => tslib_1.__awaiter(this, [_a], void 0, function* ({ event, client }) {
41
42
  yield publishHomeView(client, event);
@@ -111,6 +112,10 @@ function runOfficePresenceApp() {
111
112
  (0, action_utils_1.handleEditEventSubmit)(eventId, body, view);
112
113
  yield publishHomeView(client, body);
113
114
  }));
115
+ app.command(app_consts_1.APP_COMMAND.PREVIEW_REMINDER, (_a) => tslib_1.__awaiter(this, [_a], void 0, function* ({ ack, command }) {
116
+ yield ack();
117
+ yield previewReminder(command.user_id);
118
+ }));
114
119
  yield app.start((_a = config.port) !== null && _a !== void 0 ? _a : DEFAULT_PORT);
115
120
  // eslint-disable-next-line no-console
116
121
  console.log(`⚡️ ${appConfig.APP_NAME} is running!`);
@@ -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":";;AAkDA,oDAsJC;;AAnMD,kCAAkC;AAClC,0CAA4C;AAC5C,0DAA2D;AAC3D,8CAAgD;AAChD,wDAK+B;AAC/B,uDAQ8B;AAC9B,mDAA2D;AAC3D,oDAAiD;AACjD,+CAAkE;AAClE,iDAAsD;AAEtD,4DAA2E;AAc3E,MAAM,YAAY,GAAG,IAAI,CAAC;AAC1B,MAAM,qBAAqB,GAAG,WAAW,CAAC;AAC1C,MAAM,yBAAyB,GAAG,kBAAkB,CAAC;AACrD,MAAM,gBAAgB,GAAG,OAAO,CAAC;AACjC,MAAM,eAAe,GAAa,EAAE,CAAC;AAErC,sCAAsC;AACtC,SAAsB,oBAAoB;iEACxC,SAAqC,EAAE;;QAEvC,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QAChE,MAAM,SAAS,GAAc;YAC3B,EAAE;YACF,QAAQ,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,gBAAgB;YACtC,OAAO,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,eAAe;YACnC,eAAe;YACf,IAAI,EAAE,IAAA,+BAAc,EAAC,IAAI,CAAC;SAC3B,CAAC;QACF,MAAM,eAAe,GAAG,IAAA,kCAAqB,EAAC,SAAS,CAAC,CAAC;QACzD,MAAM,qBAAqB,GAAG,IAAA,uCAAwB,EAAC,SAAS,CAAC,CAAC;QAClE,MAAM,gBAAgB,GAAG,IAAA,kCAAmB,EAAC,SAAS,CAAC,CAAC;QACxD,MAAM,mBAAmB,GAAG,IAAA,qCAAsB,EAAC,SAAS,CAAC,CAAC;QAC9D,MAAM,iBAAiB,GAAG,IAAA,mCAAoB,EAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,aAAa,GAAG,IAAA,mCAAoB,EAAC,SAAS,CAAC,CAAC;QAEtD,MAAM,GAAG,GAAG,kBAAU,CAAC,YAAY,EAAE,CAAC;QAEtC,GAAG,CAAC,KAAK,CAAC,oBAAW,CAAC,WAAW,EAAE,KAA0B,EAAE,kDAArB,EAAE,KAAK,EAAE,MAAM,EAAE;YACzD,MAAM,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC,CAAA,CAAC,CAAC;QAEH,GAAG,CAAC,MAAM,CACR,uBAAU,CAAC,kBAAkB,EAC7B,KAA8B,EAAE,kDAAzB,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE;YAC1B,MAAM,GAAG,EAAE,CAAC;YACZ,IAAA,mCAAoB,EAAC,IAAI,CAAC,CAAC;YAC3B,MAAM,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC,CAAA,CACF,CAAC;QAEF,GAAG,CAAC,IAAI,CAAC,uBAAU,CAAC,eAAe,EAAE,KAAoC,EAAE,kDAA/B,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;YACrE,MAAM,GAAG,EAAE,CAAC;YACZ,IAAA,wCAAyB,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACtC,MAAM,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC,CAAA,CAAC,CAAC;QAEH,GAAG,CAAC,MAAM,CACR,uBAAU,CAAC,mBAAmB,EAC9B,6BAAe,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAC1D,CAAC;QAEF,GAAG,CAAC,MAAM,CACR,uBAAU,CAAC,oBAAoB,EAC/B,6BAAe,CAAC,4BAA4B,CAAC,gBAAgB,CAAC,CAC/D,CAAC;QAEF,GAAG,CAAC,MAAM,CACR,uBAAU,CAAC,uBAAuB,EAClC,6BAAe,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CACxD,CAAC;QAEF,GAAG,CAAC,IAAI,CACN,uBAAU,CAAC,mBAAmB,EAC9B,KAAoC,EAAE,kDAA/B,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;YAChC,MAAM,GAAG,EAAE,CAAC;YACZ,IAAA,sCAAuB,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACpC,MAAM,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC,CAAA,CACF,CAAC;QAEF,GAAG,CAAC,IAAI,CAAC,uBAAU,CAAC,SAAS,EAAE,KAA8B,EAAE,kDAAzB,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE;;YACzD,MAAM,GAAG,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAC3C,MAAM,aAAa,GAAa,EAAE,CAAC;YAEnC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;gBACnD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC9C,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,KAAI,MAAA,MAAM,CAAC,gBAAgB,0CAAE,MAAM,CAAA,EAAE,CAAC;wBACpE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;4BAC1C,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBAChC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM,IAAA,mCAAoB,EAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5E,CAAC,CAAA,CAAC,CAAC;QAEH,GAAG,CAAC,MAAM,CACR,uBAAU,CAAC,eAAe,EAC1B,oBAAoB,CAAC,SAAS,EAAE,eAAe,CAAC,CACjD,CAAC;QAEF,GAAG,CAAC,MAAM,CACR,IAAI,MAAM,CAAC,IAAI,uBAAU,CAAC,uBAAuB,QAAQ,CAAC,EAC1D,KAA8B,EAAE,kDAAzB,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE;YAC1B,MAAM,GAAG,EAAE,CAAC;YACZ,IAAA,0CAA2B,EAAC,IAAI,CAAC,CAAC;YAClC,MAAM,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC,CAAA,CACF,CAAC;QAEF,GAAG,CAAC,MAAM,CACR,IAAI,MAAM,CAAC,IAAI,uBAAU,CAAC,YAAY,QAAQ,CAAC,EAC/C,KAA8B,EAAE,kDAAzB,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE;YAC1B,MAAM,GAAG,EAAE,CAAC;YACZ,IAAA,gCAAiB,EAAC,IAAI,CAAC,CAAC;YACxB,MAAM,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC,CAAA,CACF,CAAC;QAEF,GAAG,CAAC,MAAM,CACR,IAAI,MAAM,CAAC,IAAI,uBAAU,CAAC,UAAU,QAAQ,CAAC,EAC7C,KAA8B,EAAE,kDAAzB,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE;YAC1B,MAAM,GAAG,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3C,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YAC7C,IAAI,CAAC,UAAU;gBAAE,OAAO;YACxB,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACzC,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;oBACtB,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,IAAI,EAAE,KAAK;iBACZ,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAA,CACF,CAAC;QAEF,GAAG,CAAC,IAAI,CACN,IAAI,MAAM,CAAC,IAAI,uBAAU,CAAC,iBAAiB,QAAQ,CAAC,EACpD,KAAoC,EAAE,kDAA/B,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;YAChC,MAAM,GAAG,EAAE,CAAC;YACZ,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;YACpC,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YAC/C,IAAI,CAAC,UAAU;gBAAE,OAAO;YACxB,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACzC,IAAA,oCAAqB,EAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC3C,MAAM,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC,CAAA,CACF,CAAC;QAEF,MAAM,GAAG,CAAC,KAAK,CAAC,MAAA,MAAM,CAAC,IAAI,mCAAI,YAAY,CAAC,CAAC;QAC7C,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,MAAM,SAAS,CAAC,QAAQ,cAAc,CAAC,CAAC;QAEpD,IAAI,MAAA,MAAM,CAAC,eAAe,mCAAI,IAAI,EAAE,CAAC;YACnC,IAAI,CAAC,QAAQ,CACX,MAAA,MAAM,CAAC,YAAY,mCAAI,qBAAqB,EAC5C,GAAS,EAAE;gBACT,MAAM,aAAa,EAAE,CAAC;YACxB,CAAC,CAAA,EACD;gBACE,QAAQ,EAAE,MAAA,MAAM,CAAC,gBAAgB,mCAAI,yBAAyB;aAC/D,CACF,CAAC;QACJ,CAAC;IACH,CAAC;CAAA;AAED,SAAS,oBAAoB,CAC3B,SAAoB,EACpB,eAAyD;IAEzD,OAAO,SAAe,oBAAoB;qEAAC,EACzC,IAAI,EACJ,GAAG,EACH,MAAM,GACqD;YAC3D,MAAM,GAAG,EAAE,CAAC;YAEZ,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAErD,MAAM,YAAY,GAAG,IAAA,2BAAgB,GAAE,CAAC;YACxC,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YAC3C,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;YACtC,QAAQ,CAAC,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;YAC9D,IAAA,uBAAY,EAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YACtC,MAAM,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC;KAAA,CAAC;AACJ,CAAC"}
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,9 +1,9 @@
1
1
  import { AppCopy } from './consts/app-copy.const';
2
2
  export type AppConfig = {
3
- id?: string;
4
3
  APP_NAME: string;
5
4
  OFFICES: string[];
6
5
  includeWeekends?: boolean;
6
+ daysAhead?: number;
7
7
  copy: AppCopy;
8
8
  };
9
9
  export declare const PRESENCE_TIME: {
@@ -1,4 +1,4 @@
1
- export declare function formatDateShort(date: Date): string;
2
1
  export declare function formatDateLong(date: Date): string;
3
2
  export declare function formatISODateLocal(date: Date): string;
3
+ export declare function getWeekNumber(date: Date): number;
4
4
  export declare function getUpcomingWeekdays(numDays?: number, includeWeekends?: boolean): Date[];
@@ -1,16 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.formatDateShort = formatDateShort;
4
3
  exports.formatDateLong = formatDateLong;
5
4
  exports.formatISODateLocal = formatISODateLocal;
5
+ exports.getWeekNumber = getWeekNumber;
6
6
  exports.getUpcomingWeekdays = getUpcomingWeekdays;
7
7
  const data_consts_1 = require("../consts/data.consts");
8
- function formatDateShort(date) {
9
- const dayName = data_consts_1.WEEKDAYS[date.getDay()];
10
- const d = String(date.getDate()).padStart(2, '0');
11
- const m = String(date.getMonth() + 1).padStart(2, '0');
12
- return `${dayName} ${d}/${m}`;
13
- }
14
8
  function formatDateLong(date) {
15
9
  const dayName = data_consts_1.WEEKDAYS[date.getDay()];
16
10
  const dayNumber = date.getDate();
@@ -28,6 +22,12 @@ function formatISODateLocal(date) {
28
22
  const d = String(date.getDate()).padStart(2, '0');
29
23
  return `${y}-${m}-${d}`;
30
24
  }
25
+ function getWeekNumber(date) {
26
+ const d = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()));
27
+ d.setUTCDate(d.getUTCDate() + 4 - (d.getUTCDay() || 7));
28
+ const yearStart = new Date(Date.UTC(d.getUTCFullYear(), 0, 1));
29
+ return Math.ceil(((d.getTime() - yearStart.getTime()) / 86400000 + 1) / 7);
30
+ }
31
31
  function getUpcomingWeekdays(numDays = 10, includeWeekends = false) {
32
32
  const today = new Date();
33
33
  const days = [];
@@ -1 +1 @@
1
- {"version":3,"file":"date.utils.js","sourceRoot":"","sources":["../../../../../../../libs/@vigilant-broccoli/slackbots/src/office-presence-app/utils/date.utils.ts"],"names":[],"mappings":";;AAEA,0CAKC;AAED,wCAKC;AAQD,gDAKC;AAED,kDAcC;AA3CD,uDAAyD;AAEzD,SAAgB,eAAe,CAAC,IAAU;IACxC,MAAM,OAAO,GAAG,sBAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAClD,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACvD,OAAO,GAAG,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAChC,CAAC;AAED,SAAgB,cAAc,CAAC,IAAU;IACvC,MAAM,OAAO,GAAG,sBAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,oBAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1C,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,SAAS,EAAE,CAAC;AACjD,CAAC;AAED,SAAS,OAAO,CAAC,IAAU,EAAE,IAAY;IACvC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACpC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,kBAAkB,CAAC,IAAU;IAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC7B,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACvD,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAClD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC1B,CAAC;AAED,SAAgB,mBAAmB,CACjC,OAAO,GAAG,EAAE,EACZ,eAAe,GAAG,KAAK;IAEvB,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;IACzB,MAAM,IAAI,GAAW,EAAE,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QACjC,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC5B,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QACvB,IAAI,eAAe,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"date.utils.js","sourceRoot":"","sources":["../../../../../../../libs/@vigilant-broccoli/slackbots/src/office-presence-app/utils/date.utils.ts"],"names":[],"mappings":";;AAEA,wCAKC;AAQD,gDAKC;AAED,sCAOC;AAED,kDAcC;AA7CD,uDAAyD;AAEzD,SAAgB,cAAc,CAAC,IAAU;IACvC,MAAM,OAAO,GAAG,sBAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,oBAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1C,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,SAAS,EAAE,CAAC;AACjD,CAAC;AAED,SAAS,OAAO,CAAC,IAAU,EAAE,IAAY;IACvC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACpC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,kBAAkB,CAAC,IAAU;IAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC7B,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACvD,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAClD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC1B,CAAC;AAED,SAAgB,aAAa,CAAC,IAAU;IACtC,MAAM,CAAC,GAAG,IAAI,IAAI,CAChB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAC9D,CAAC;IACF,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/D,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,SAAgB,mBAAmB,CACjC,OAAO,GAAG,EAAE,EACZ,eAAe,GAAG,KAAK;IAEvB,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;IACzB,MAAM,IAAI,GAAW,EAAE,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QACjC,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC5B,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QACvB,IAAI,eAAe,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -10,9 +10,10 @@ exports.loadEventById = loadEventById;
10
10
  exports.updateEventAttendees = updateEventAttendees;
11
11
  exports.deleteEvent = deleteEvent;
12
12
  exports.updateEvent = updateEvent;
13
- const Database = require("better-sqlite3");
13
+ const tslib_1 = require("tslib");
14
+ const better_sqlite3_1 = tslib_1.__importDefault(require("better-sqlite3"));
14
15
  const date_utils_1 = require("./date.utils");
15
- const db = new Database('state.db');
16
+ const db = new better_sqlite3_1.default('state.db');
16
17
  db.prepare(`
17
18
  CREATE TABLE IF NOT EXISTS user_presences (
18
19
  user_id TEXT NOT NULL,
@@ -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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"}
@@ -4,6 +4,7 @@ exports.createPublishHomeView = createPublishHomeView;
4
4
  exports.buildModalDateOptionSlackBlocks = buildModalDateOptionSlackBlocks;
5
5
  const tslib_1 = require("tslib");
6
6
  const db_utils_1 = require("./db.utils");
7
+ const data_consts_1 = require("../consts/data.consts");
7
8
  const types_1 = require("../types");
8
9
  const view_builder_utils_1 = require("../../lib/utils/view-builder.utils");
9
10
  const date_utils_1 = require("./date.utils");
@@ -19,20 +20,28 @@ function createPublishHomeView(appConfig) {
19
20
  });
20
21
  };
21
22
  }
23
+ const MONDAY = 1;
24
+ function formatDateWithWeek(date, index) {
25
+ const showWeek = index === 0 || date.getDay() === MONDAY;
26
+ return showWeek
27
+ ? `${(0, date_utils_1.formatDateLong)(date)} - Week ${(0, date_utils_1.getWeekNumber)(date)}`
28
+ : (0, date_utils_1.formatDateLong)(date);
29
+ }
22
30
  function buildModalDateOptionSlackBlocks(dates) {
23
- return dates.map(date => ({
24
- text: view_builder_utils_1.SlackViewBuilder.generatePlainText((0, date_utils_1.formatDateShort)(date)),
31
+ return dates.map((date, index) => ({
32
+ text: view_builder_utils_1.SlackViewBuilder.generatePlainText(formatDateWithWeek(date, index)),
25
33
  value: (0, date_utils_1.formatISODateLocal)(date),
26
34
  }));
27
35
  }
28
36
  function getHomeView(userId, appConfig) {
37
+ var _a;
29
38
  const { copy } = appConfig;
30
39
  const userPresences = (0, db_utils_1.loadAllPresences)();
31
40
  if (!userPresences[userId]) {
32
41
  userPresences[userId] = {};
33
42
  }
34
43
  const selected = Object.keys(userPresences[userId]);
35
- const dates = (0, date_utils_1.getUpcomingWeekdays)(10, appConfig.includeWeekends);
44
+ const dates = (0, date_utils_1.getUpcomingWeekdays)((_a = appConfig.daysAhead) !== null && _a !== void 0 ? _a : 14, appConfig.includeWeekends);
36
45
  const options = buildModalDateOptionSlackBlocks(dates);
37
46
  const initial = options.filter(opt => selected.includes(opt.value));
38
47
  const today = (0, date_utils_1.formatISODateLocal)(new Date());
@@ -95,25 +104,22 @@ function buildPresenceBlocks(days, userPresences, currentUserId, copy) {
95
104
  view_builder_utils_1.SlackViewBuilder.generateMarkdownSection(copy.HOME_VIEW.WHO_IS_IN_OFFICE_MARKDOWN),
96
105
  ];
97
106
  const allEvents = (0, db_utils_1.loadAllEvents)();
98
- for (const date of days) {
107
+ days.forEach((date, index) => {
99
108
  const iso = (0, date_utils_1.formatISODateLocal)(date);
100
109
  const eventsForDay = allEvents
101
110
  .filter(event => event.date === iso)
102
111
  .sort((a, b) => a.time.localeCompare(b.time));
103
- const formattedPresences = Object.entries(userPresences)
112
+ const dayPresences = Object.entries(userPresences)
104
113
  .filter(([_, presence]) => presence === null || presence === void 0 ? void 0 : presence[iso])
105
- .map(([u, presence]) => {
106
- const dayPresence = presence[iso];
107
- return formatPresence(u, dayPresence, eventsForDay, copy);
108
- });
109
- const presenceText = formattedPresences.length > 0
110
- ? formattedPresences.join('\n')
111
- : copy.HOME_VIEW.NO_ONE_SCHEDULED_MARKDOWN;
112
- blocks.push(view_builder_utils_1.SlackViewBuilder.generateMarkdownSection(`*${(0, date_utils_1.formatDateLong)(date)}*\n${presenceText}`));
114
+ .map(([u, presence]) => ({ userId: u, presence: presence[iso] }));
115
+ const formattedPresences = dayPresences.map(({ userId, presence }) => formatPresence(userId, presence, eventsForDay, copy));
116
+ const datePrefix = `*${formatDateWithWeek(date, index)}*`;
117
+ const sectionText = buildDaySectionText(datePrefix, dayPresences.map(({ presence }) => presence), formattedPresences, copy);
118
+ blocks.push(view_builder_utils_1.SlackViewBuilder.generateMarkdownSection(sectionText));
113
119
  if (eventsForDay.length > 0) {
114
120
  blocks.push(...buildEventBlocks(eventsForDay, currentUserId));
115
121
  }
116
- }
122
+ });
117
123
  return blocks;
118
124
  }
119
125
  function buildEventBlocks(events, currentUserId) {
@@ -124,7 +130,10 @@ function buildEventBlocks(events, currentUserId) {
124
130
  const isAttending = ((_b = event.attendees) === null || _b === void 0 ? void 0 : _b.includes(currentUserId)) || false;
125
131
  const isCreator = event.creatorId === currentUserId;
126
132
  const descriptionText = event.description ? ` - ${event.description}` : '';
127
- const eventText = `${event.name} @ ${event.time} by <@${event.creatorId}> - (${attendeeCount} attending)${descriptionText}`;
133
+ const fullEventText = `${event.name} @ ${event.time} by <@${event.creatorId}> - (${attendeeCount} attending)${descriptionText}`;
134
+ const eventText = fullEventText.length > data_consts_1.INPUT_MAX_LENGTH
135
+ ? fullEventText.substring(0, data_consts_1.INPUT_MAX_LENGTH - 1) + '…'
136
+ : fullEventText;
128
137
  const checkboxOption = {
129
138
  text: {
130
139
  type: 'plain_text',
@@ -184,6 +193,30 @@ function buildEventBlocks(events, currentUserId) {
184
193
  }
185
194
  return blocks;
186
195
  }
196
+ function buildDaySectionText(datePrefix, presences, formattedPresences, copy) {
197
+ const count = presences.length;
198
+ if (count === 0) {
199
+ return `${datePrefix} - _${copy.HOME_VIEW.NO_ONE_SCHEDULED}_`;
200
+ }
201
+ const officeBreakdown = buildOfficeBreakdown(presences);
202
+ const breakdownSuffix = officeBreakdown ? ` (${officeBreakdown})` : '';
203
+ const peopleLabel = count === 1 ? 'person' : 'people';
204
+ return `${datePrefix} - *${count} ${peopleLabel}${breakdownSuffix}*\n${formattedPresences.join('\n')}`;
205
+ }
206
+ function buildOfficeBreakdown(presences) {
207
+ var _a;
208
+ const counts = new Map();
209
+ for (const presence of presences) {
210
+ if (!(presence === null || presence === void 0 ? void 0 : presence.office))
211
+ continue;
212
+ counts.set(presence.office, ((_a = counts.get(presence.office)) !== null && _a !== void 0 ? _a : 0) + 1);
213
+ }
214
+ if (counts.size === 0)
215
+ return '';
216
+ return Array.from(counts.entries())
217
+ .map(([office, n]) => `${office}: ${n}`)
218
+ .join(', ');
219
+ }
187
220
  function formatPresence(u, presence, eventsForDay, copy) {
188
221
  if (!presence)
189
222
  return `<@${u}>`;
@@ -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":"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"}
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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"}