@bwi-mentorspaces/application-utils-npm 0.0.61 → 0.0.64

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.
@@ -1,5 +1,5 @@
1
- import { ICronofyAccessToken, ICronofyApplicationCalendar, ICronofyConfig, ICronofyElementTokenParams, ICronofyElementTokenResponse } from "./models";
2
- import { ICronofyAvailabilityRulesPostParams } from "./models/_/cronofy.data";
1
+ import { ICronofyAccessToken, ICronofyApplicationCalendar, ICronofyConfig, ICronofyElementTokenParams, ICronofyElementTokenResponse, ICronofyListCalendarProfileResponse } from "./models";
2
+ import { ICronofyAvailabilityRulesPostParams, ICronofyCreateEventParams, ICronofyDeleteEventParams } from "./models/_/cronofy.data";
3
3
  export declare class CronofyAPI {
4
4
  private _cronofy;
5
5
  constructor(config: ICronofyConfig);
@@ -45,4 +45,25 @@ export declare class CronofyAPI {
45
45
  * @returns {Promise<boolean>} Returns true if the request was successful
46
46
  */
47
47
  upsertAvailabilityRule(accessToken: string, params: ICronofyAvailabilityRulesPostParams): Promise<boolean>;
48
+ /**
49
+ * Fetch user's calendar profile
50
+ *
51
+ * @param {string} accessToken The Cronofy calendar access token
52
+ * @returns {Promise<ICronofyListCalendarProfileResponse[]>} Returns the user's calendar profile list
53
+ */
54
+ getUserCalendarProfile(accessToken: string): Promise<ICronofyListCalendarProfileResponse[]>;
55
+ /**
56
+ * Create or update a Cronofy calendar event.
57
+ *
58
+ * @param {ICronofyCreateEventParams} params Parameters for the Cronofy availability rules POST API
59
+ * @returns {Promise<boolean>} Returns true if the request was successful
60
+ */
61
+ upsertCalendarEvent(accessToken: string, params: ICronofyCreateEventParams): Promise<boolean>;
62
+ /**
63
+ * Delete a Cronofy calendar event.
64
+ *
65
+ * @param {ICronofyDeleteEventParams} params Parameters for the Cronofy availability rules POST API
66
+ * @returns {Promise<boolean>} Returns true if the request was successful
67
+ */
68
+ deleteCalendarEvent(accessToken: string, params: ICronofyDeleteEventParams): Promise<boolean>;
48
69
  }
@@ -110,6 +110,42 @@ let CronofyAPI = class CronofyAPI {
110
110
  return res && res.availability_rule && res && res.availability_rule.availability_rule_id;
111
111
  });
112
112
  }
113
+ /**
114
+ * Fetch user's calendar profile
115
+ *
116
+ * @param {string} accessToken The Cronofy calendar access token
117
+ * @returns {Promise<ICronofyListCalendarProfileResponse[]>} Returns the user's calendar profile list
118
+ */
119
+ getUserCalendarProfile(accessToken) {
120
+ return __awaiter(this, void 0, void 0, function* () {
121
+ const res = yield this._cronofy.listCalendars({ access_token: accessToken });
122
+ return res.calendars;
123
+ });
124
+ }
125
+ /**
126
+ * Create or update a Cronofy calendar event.
127
+ *
128
+ * @param {ICronofyCreateEventParams} params Parameters for the Cronofy availability rules POST API
129
+ * @returns {Promise<boolean>} Returns true if the request was successful
130
+ */
131
+ upsertCalendarEvent(accessToken, params) {
132
+ return __awaiter(this, void 0, void 0, function* () {
133
+ const res = yield this._cronofy.createEvent(Object.assign({ access_token: accessToken }, params));
134
+ return res;
135
+ });
136
+ }
137
+ /**
138
+ * Delete a Cronofy calendar event.
139
+ *
140
+ * @param {ICronofyDeleteEventParams} params Parameters for the Cronofy availability rules POST API
141
+ * @returns {Promise<boolean>} Returns true if the request was successful
142
+ */
143
+ deleteCalendarEvent(accessToken, params) {
144
+ return __awaiter(this, void 0, void 0, function* () {
145
+ const res = yield this._cronofy.deleteEvent(Object.assign({ access_token: accessToken }, params));
146
+ return res;
147
+ });
148
+ }
113
149
  };
114
150
  CronofyAPI = __decorate([
115
151
  (0, tsyringe_1.injectable)(),
@@ -1 +1 @@
1
- {"version":3,"file":"cronofy.api.js","sourceRoot":"","sources":["../../../calendar/cronofy/cronofy.api.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAA8B;AAC9B,uCAAsC;AAM/B,IAAM,UAAU,GAAhB,MAAM,UAAU;IAGnB,YAAY,MAAsB;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAO,CAAC;YACxB,SAAS,EAAE,MAAM,CAAC,QAAQ;YAC1B,aAAa,EAAE,MAAM,CAAC,YAAY;YAClC,WAAW,EAAE,MAAM,CAAC,UAAU;SACjC,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACU,yBAAyB,CAAC,UAAkB;;YACrD,MAAM,OAAO,GAAG,EAAE,uBAAuB,EAAE,UAAU,EAAE,CAAC;YACxD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YACrE,OAAO,WAAW,CAAC;QACvB,CAAC;KAAA;IAED;;;;;OAKG;IACU,kBAAkB,CAAC,YAAoB;;YAChD,MAAM,OAAO,GAAG,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;YAChD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACpE,OAAO,WAAW,CAAC;QACvB,CAAC;KAAA;IAED;;;;;;OAMG;IACU,kBAAkB,CAAC,QAAgB,EAAE,WAAmB;;YACjE,MAAM,OAAO,GAAG;gBACZ,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,WAAW;aAC5B,CAAC;YACF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACpE,OAAO,WAAW,CAAC;QACvB,CAAC;KAAA;IAED;;;;;OAKG;IACU,mBAAmB,CAAC,MAAkC;;YAC/D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACrE,OAAO,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1E,CAAC;KAAA;IAED;;;;OAIG;IACU,mBAAmB,CAAC,KAAa;;YAC1C,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACrD,CAAC;KAAA;IAED;;;;;OAKG;IACU,sBAAsB,CAAC,WAAmB,EAAE,MAA2C;;YAChG,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,sBAAsB,iBAAG,YAAY,EAAE,WAAW,IAAK,MAAM,EAAG,CAAC;YACjG,OAAO,GAAG,IAAI,GAAG,CAAC,iBAAiB,IAAI,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,oBAAoB,CAAC;QAC7F,CAAC;KAAA;CACJ,CAAA;AAlFY,UAAU;IADtB,IAAA,qBAAU,GAAE;;GACA,UAAU,CAkFtB;AAlFY,gCAAU"}
1
+ {"version":3,"file":"cronofy.api.js","sourceRoot":"","sources":["../../../calendar/cronofy/cronofy.api.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,9 @@ export interface ICronofyApplicationCalendar {
33
33
  profile_name: string;
34
34
  };
35
35
  }
36
+ export interface ICronofyListCalendarProfileResponse {
37
+ calendar_id: string;
38
+ }
36
39
  /**
37
40
  * Cronofy Element Token Request Parameters data interface
38
41
  */
@@ -68,3 +71,21 @@ export interface ICronofyAvailabilityRulesWeeklyPeriod {
68
71
  start_time: string;
69
72
  end_time: string;
70
73
  }
74
+ /**
75
+ * Cronofy create/update calendar event post request parameters interface
76
+ */
77
+ export interface ICronofyCreateEventParams {
78
+ calendar_id: string;
79
+ event_id: string;
80
+ summary: string;
81
+ description: string;
82
+ start: Date;
83
+ end: Date;
84
+ }
85
+ /**
86
+ * Cronofy delete calendar event delete request parameters interface
87
+ */
88
+ export interface ICronofyDeleteEventParams {
89
+ calendar_id: string;
90
+ event_id: string;
91
+ }
@@ -1,3 +1,3 @@
1
1
  import { ICronofyConfig } from "./_/cronofy.config";
2
- import { ICronofyAccessToken, ICronofyElementTokenParams, ICronofyElementTokenResponse, ICronofyApplicationCalendar, ICronofyAvailabilityRulesPostParams, ICronofyAvailabilityRulesWeeklyPeriod } from "./_/cronofy.data";
3
- export { ICronofyAccessToken, ICronofyConfig, ICronofyElementTokenParams, ICronofyElementTokenResponse, ICronofyApplicationCalendar, ICronofyAvailabilityRulesPostParams, ICronofyAvailabilityRulesWeeklyPeriod };
2
+ import { ICronofyAccessToken, ICronofyElementTokenParams, ICronofyElementTokenResponse, ICronofyApplicationCalendar, ICronofyAvailabilityRulesPostParams, ICronofyAvailabilityRulesWeeklyPeriod, ICronofyCreateEventParams, ICronofyDeleteEventParams, ICronofyListCalendarProfileResponse } from "./_/cronofy.data";
3
+ export { ICronofyAccessToken, ICronofyConfig, ICronofyElementTokenParams, ICronofyElementTokenResponse, ICronofyApplicationCalendar, ICronofyAvailabilityRulesPostParams, ICronofyAvailabilityRulesWeeklyPeriod, ICronofyCreateEventParams, ICronofyDeleteEventParams, ICronofyListCalendarProfileResponse };
@@ -43,6 +43,7 @@ export interface IEventTypesData {
43
43
  sessionRef: string;
44
44
  sessionId: number;
45
45
  attendeeType: string;
46
+ attendeeRef?: string;
46
47
  };
47
48
  [CustomEventType.SessionRSVP]: {
48
49
  title: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bwi-mentorspaces/application-utils-npm",
3
- "version": "0.0.61",
3
+ "version": "0.0.64",
4
4
  "description": "Mentor Spaces npm packages for reusable models, utils, and abstracted, commonly used processes for DB Repo, Logging, etc.",
5
5
  "author": {
6
6
  "name": "Mentor Spaces",