@things-factory/calendar 10.1.257 → 10.1.259

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,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EventList = exports.EventPatch = exports.NewEvent = void 0;
3
+ exports.EventImportResult = exports.ImportReadingInput = exports.ImportReadingFailureInput = exports.ImportedEventInput = exports.ImportedAttendanceInput = exports.ImportedAttendeeInput = exports.EventList = exports.EventPatch = exports.NewEvent = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const type_graphql_1 = require("type-graphql");
6
6
  const attendee_type_1 = require("../attendee/attendee-type");
@@ -79,4 +79,152 @@ tslib_1.__decorate([
79
79
  exports.EventList = EventList = tslib_1.__decorate([
80
80
  (0, type_graphql_1.ObjectType)({ description: 'A page of events' })
81
81
  ], EventList);
82
+ let ImportedAttendeeInput = class ImportedAttendeeInput {
83
+ };
84
+ exports.ImportedAttendeeInput = ImportedAttendeeInput;
85
+ tslib_1.__decorate([
86
+ (0, type_graphql_1.Field)({ description: 'Their e-mail address' }),
87
+ tslib_1.__metadata("design:type", String)
88
+ ], ImportedAttendeeInput.prototype, "email", void 0);
89
+ tslib_1.__decorate([
90
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Their name there' }),
91
+ tslib_1.__metadata("design:type", String)
92
+ ], ImportedAttendeeInput.prototype, "name", void 0);
93
+ tslib_1.__decorate([
94
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Their answer to the invitation there' }),
95
+ tslib_1.__metadata("design:type", String)
96
+ ], ImportedAttendeeInput.prototype, "response", void 0);
97
+ exports.ImportedAttendeeInput = ImportedAttendeeInput = tslib_1.__decorate([
98
+ (0, type_graphql_1.InputType)({ description: 'A person on an event brought in from another calendar' })
99
+ ], ImportedAttendeeInput);
100
+ let ImportedAttendanceInput = class ImportedAttendanceInput {
101
+ };
102
+ exports.ImportedAttendanceInput = ImportedAttendanceInput;
103
+ tslib_1.__decorate([
104
+ (0, type_graphql_1.Field)({ description: 'Their e-mail address' }),
105
+ tslib_1.__metadata("design:type", String)
106
+ ], ImportedAttendanceInput.prototype, "email", void 0);
107
+ tslib_1.__decorate([
108
+ (0, type_graphql_1.Field)(type => type_graphql_1.Int, { description: 'Seconds they were in it' }),
109
+ tslib_1.__metadata("design:type", Number)
110
+ ], ImportedAttendanceInput.prototype, "seconds", void 0);
111
+ exports.ImportedAttendanceInput = ImportedAttendanceInput = tslib_1.__decorate([
112
+ (0, type_graphql_1.InputType)({ description: 'How long one person was in an event, as the other calendar measured it' })
113
+ ], ImportedAttendanceInput);
114
+ let ImportedEventInput = class ImportedEventInput {
115
+ };
116
+ exports.ImportedEventInput = ImportedEventInput;
117
+ tslib_1.__decorate([
118
+ (0, type_graphql_1.Field)({ description: "The event's id there - one per occurrence of a series too" }),
119
+ tslib_1.__metadata("design:type", String)
120
+ ], ImportedEventInput.prototype, "id", void 0);
121
+ tslib_1.__decorate([
122
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Whose calendar it was read from' }),
123
+ tslib_1.__metadata("design:type", String)
124
+ ], ImportedEventInput.prototype, "mailbox", void 0);
125
+ tslib_1.__decorate([
126
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Its title' }),
127
+ tslib_1.__metadata("design:type", String)
128
+ ], ImportedEventInput.prototype, "subject", void 0);
129
+ tslib_1.__decorate([
130
+ (0, type_graphql_1.Field)({ description: 'When it starts, ISO 8601' }),
131
+ tslib_1.__metadata("design:type", String)
132
+ ], ImportedEventInput.prototype, "start", void 0);
133
+ tslib_1.__decorate([
134
+ (0, type_graphql_1.Field)({ description: 'When it ends, ISO 8601' }),
135
+ tslib_1.__metadata("design:type", String)
136
+ ], ImportedEventInput.prototype, "end", void 0);
137
+ tslib_1.__decorate([
138
+ (0, type_graphql_1.Field)({ nullable: true, description: "The organizer's e-mail address" }),
139
+ tslib_1.__metadata("design:type", String)
140
+ ], ImportedEventInput.prototype, "organizer", void 0);
141
+ tslib_1.__decorate([
142
+ (0, type_graphql_1.Field)(type => [ImportedAttendeeInput], { nullable: true, description: 'The people invited' }),
143
+ tslib_1.__metadata("design:type", Array)
144
+ ], ImportedEventInput.prototype, "attendees", void 0);
145
+ tslib_1.__decorate([
146
+ (0, type_graphql_1.Field)(type => [ImportedAttendanceInput], { nullable: true, description: 'How long each person was in it, when it was measured' }),
147
+ tslib_1.__metadata("design:type", Array)
148
+ ], ImportedEventInput.prototype, "attendance", void 0);
149
+ tslib_1.__decorate([
150
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Whether it is an online meeting' }),
151
+ tslib_1.__metadata("design:type", Boolean)
152
+ ], ImportedEventInput.prototype, "online", void 0);
153
+ tslib_1.__decorate([
154
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Where it takes place' }),
155
+ tslib_1.__metadata("design:type", String)
156
+ ], ImportedEventInput.prototype, "location", void 0);
157
+ tslib_1.__decorate([
158
+ (0, type_graphql_1.Field)({ nullable: true, description: "The answer of the calendar's owner" }),
159
+ tslib_1.__metadata("design:type", String)
160
+ ], ImportedEventInput.prototype, "response", void 0);
161
+ tslib_1.__decorate([
162
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Whether it was cancelled there' }),
163
+ tslib_1.__metadata("design:type", Boolean)
164
+ ], ImportedEventInput.prototype, "cancelled", void 0);
165
+ exports.ImportedEventInput = ImportedEventInput = tslib_1.__decorate([
166
+ (0, type_graphql_1.InputType)({ description: 'An event read from another calendar - the shape integration-msgraph msgraph-calendar-meetings answers' })
167
+ ], ImportedEventInput);
168
+ let ImportReadingFailureInput = class ImportReadingFailureInput {
169
+ };
170
+ exports.ImportReadingFailureInput = ImportReadingFailureInput;
171
+ tslib_1.__decorate([
172
+ (0, type_graphql_1.Field)({ description: 'The mailbox' }),
173
+ tslib_1.__metadata("design:type", String)
174
+ ], ImportReadingFailureInput.prototype, "mailbox", void 0);
175
+ tslib_1.__decorate([
176
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Why' }),
177
+ tslib_1.__metadata("design:type", String)
178
+ ], ImportReadingFailureInput.prototype, "reason", void 0);
179
+ exports.ImportReadingFailureInput = ImportReadingFailureInput = tslib_1.__decorate([
180
+ (0, type_graphql_1.InputType)({ description: 'A mailbox one reading could not read' })
181
+ ], ImportReadingFailureInput);
182
+ let ImportReadingInput = class ImportReadingInput {
183
+ };
184
+ exports.ImportReadingInput = ImportReadingInput;
185
+ tslib_1.__decorate([
186
+ (0, type_graphql_1.Field)({ description: 'The start of the window read, ISO 8601' }),
187
+ tslib_1.__metadata("design:type", String)
188
+ ], ImportReadingInput.prototype, "from", void 0);
189
+ tslib_1.__decorate([
190
+ (0, type_graphql_1.Field)({ description: 'The end of the window read, ISO 8601' }),
191
+ tslib_1.__metadata("design:type", String)
192
+ ], ImportReadingInput.prototype, "to", void 0);
193
+ tslib_1.__decorate([
194
+ (0, type_graphql_1.Field)(type => [String], { description: 'The mailboxes it could read' }),
195
+ tslib_1.__metadata("design:type", Array)
196
+ ], ImportReadingInput.prototype, "mailboxes", void 0);
197
+ tslib_1.__decorate([
198
+ (0, type_graphql_1.Field)(type => [ImportReadingFailureInput], { nullable: true, description: 'The mailboxes it could not read, and why' }),
199
+ tslib_1.__metadata("design:type", Array)
200
+ ], ImportReadingInput.prototype, "failed", void 0);
201
+ tslib_1.__decorate([
202
+ (0, type_graphql_1.Field)(type => [ImportedEventInput], { nullable: true, description: 'The events it read - brought in when no events are given apart' }),
203
+ tslib_1.__metadata("design:type", Array)
204
+ ], ImportReadingInput.prototype, "meetings", void 0);
205
+ exports.ImportReadingInput = ImportReadingInput = tslib_1.__decorate([
206
+ (0, type_graphql_1.InputType)({ description: 'What one reading of the other calendar covered - so an event it no longer has is known removed there' })
207
+ ], ImportReadingInput);
208
+ let EventImportResult = class EventImportResult {
209
+ };
210
+ exports.EventImportResult = EventImportResult;
211
+ tslib_1.__decorate([
212
+ (0, type_graphql_1.Field)(type => type_graphql_1.Int, { description: 'Events added' }),
213
+ tslib_1.__metadata("design:type", Number)
214
+ ], EventImportResult.prototype, "created", void 0);
215
+ tslib_1.__decorate([
216
+ (0, type_graphql_1.Field)(type => type_graphql_1.Int, { description: 'Events already here, changed to match' }),
217
+ tslib_1.__metadata("design:type", Number)
218
+ ], EventImportResult.prototype, "updated", void 0);
219
+ tslib_1.__decorate([
220
+ (0, type_graphql_1.Field)(type => type_graphql_1.Int, { description: 'Events left - no valid time' }),
221
+ tslib_1.__metadata("design:type", Number)
222
+ ], EventImportResult.prototype, "left", void 0);
223
+ tslib_1.__decorate([
224
+ (0, type_graphql_1.Field)(type => type_graphql_1.Int, { description: 'Events cancelled - removed in the calendar they came from' }),
225
+ tslib_1.__metadata("design:type", Number)
226
+ ], EventImportResult.prototype, "cancelled", void 0);
227
+ exports.EventImportResult = EventImportResult = tslib_1.__decorate([
228
+ (0, type_graphql_1.ObjectType)({ description: 'What bringing events in did' })
229
+ ], EventImportResult);
82
230
  //# sourceMappingURL=event-type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-type.js","sourceRoot":"","sources":["../../../server/service/event/event-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAgE;AAEhE,6DAAyD;AACzD,mCAA+B;AAGxB,IAAM,QAAQ,GAAd,MAAM,QAAQ;CAwBpB,CAAA;AAxBY,4BAAQ;AAEnB;IADC,IAAA,oBAAK,EAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;;sCAChC;AAGZ;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC;;6CAC9C;AAGpB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC;;0CACrD;AAGjB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,wCAAwC,EAAE,CAAC;;4CAC9D;AAGnB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,6DAA6D,EAAE,CAAC;;6CAClF;AAGpB;IADC,IAAA,oBAAK,EAAC,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC;sCACvC,IAAI;yCAAA;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;sCACvC,IAAI;uCAAA;AAGX;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,6BAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,+BAA+B,EAAE,CAAC;;2CACtE;mBAvBhB,QAAQ;IADpB,IAAA,wBAAS,EAAC,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;GAC3C,QAAQ,CAwBpB;AAGM,IAAM,UAAU,GAAhB,MAAM,UAAU;CAYtB,CAAA;AAZY,gCAAU;AAErB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;;wCAC/C;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC;;+CAC9C;AAGpB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC;;4CACrD;AAGjB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,8BAA8B,EAAE,CAAC;;+CACnD;qBAXT,UAAU;IADtB,IAAA,wBAAS,EAAC,EAAE,WAAW,EAAE,0DAA0D,EAAE,CAAC;GAC1E,UAAU,CAYtB;AAGM,IAAM,SAAS,GAAf,MAAM,SAAS;CAMrB,CAAA;AANY,8BAAS;AAEpB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,aAAK,CAAC,EAAE,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC;;wCACrD;AAGd;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,WAAW,EAAE,8BAA8B,EAAE,CAAC;;wCACvD;oBALF,SAAS;IADrB,IAAA,yBAAU,EAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;GACnC,SAAS,CAMrB","sourcesContent":["import { Field, InputType, Int, ObjectType } from 'type-graphql'\n\nimport { AttendeeInput } from '../attendee/attendee-type'\nimport { Event } from './event'\n\n@InputType({ description: 'A one-off event to create' })\nexport class NewEvent {\n @Field({ description: 'Name of the event' })\n name: string\n\n @Field({ nullable: true, description: 'What the event is about' })\n description?: string\n\n @Field({ nullable: true, description: 'Where the event takes place' })\n location?: string\n\n @Field({ nullable: true, description: 'Id of the calendar to put the event on' })\n calendarId?: string\n\n @Field({ nullable: true, description: 'Id of the person responsible; whoever creates it when empty' })\n organizerId?: string\n\n @Field({ description: 'When the event starts' })\n startAt: Date\n\n @Field({ description: 'When the event ends' })\n endAt: Date\n\n @Field(type => [AttendeeInput], { nullable: true, description: 'The people named on the event' })\n attendees?: AttendeeInput[]\n}\n\n@InputType({ description: 'What changes on an event, apart from its time and status' })\nexport class EventPatch {\n @Field({ nullable: true, description: 'Name of the event' })\n name?: string\n\n @Field({ nullable: true, description: 'What the event is about' })\n description?: string\n\n @Field({ nullable: true, description: 'Where the event takes place' })\n location?: string\n\n @Field({ nullable: true, description: 'Id of the person responsible' })\n organizerId?: string\n}\n\n@ObjectType({ description: 'A page of events' })\nexport class EventList {\n @Field(type => [Event], { description: 'The events on this page' })\n items: Event[]\n\n @Field(type => Int, { description: 'How many events match in all' })\n total: number\n}\n"]}
1
+ {"version":3,"file":"event-type.js","sourceRoot":"","sources":["../../../server/service/event/event-type.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, InputType, Int, ObjectType } from 'type-graphql'\n\nimport { AttendeeInput } from '../attendee/attendee-type'\nimport { Event } from './event'\n\n@InputType({ description: 'A one-off event to create' })\nexport class NewEvent {\n @Field({ description: 'Name of the event' })\n name: string\n\n @Field({ nullable: true, description: 'What the event is about' })\n description?: string\n\n @Field({ nullable: true, description: 'Where the event takes place' })\n location?: string\n\n @Field({ nullable: true, description: 'Id of the calendar to put the event on' })\n calendarId?: string\n\n @Field({ nullable: true, description: 'Id of the person responsible; whoever creates it when empty' })\n organizerId?: string\n\n @Field({ description: 'When the event starts' })\n startAt: Date\n\n @Field({ description: 'When the event ends' })\n endAt: Date\n\n @Field(type => [AttendeeInput], { nullable: true, description: 'The people named on the event' })\n attendees?: AttendeeInput[]\n}\n\n@InputType({ description: 'What changes on an event, apart from its time and status' })\nexport class EventPatch {\n @Field({ nullable: true, description: 'Name of the event' })\n name?: string\n\n @Field({ nullable: true, description: 'What the event is about' })\n description?: string\n\n @Field({ nullable: true, description: 'Where the event takes place' })\n location?: string\n\n @Field({ nullable: true, description: 'Id of the person responsible' })\n organizerId?: string\n}\n\n@ObjectType({ description: 'A page of events' })\nexport class EventList {\n @Field(type => [Event], { description: 'The events on this page' })\n items: Event[]\n\n @Field(type => Int, { description: 'How many events match in all' })\n total: number\n}\n\n@InputType({ description: 'A person on an event brought in from another calendar' })\nexport class ImportedAttendeeInput {\n @Field({ description: 'Their e-mail address' })\n email: string\n\n @Field({ nullable: true, description: 'Their name there' })\n name?: string\n\n @Field({ nullable: true, description: 'Their answer to the invitation there' })\n response?: string\n}\n\n@InputType({ description: 'How long one person was in an event, as the other calendar measured it' })\nexport class ImportedAttendanceInput {\n @Field({ description: 'Their e-mail address' })\n email: string\n\n @Field(type => Int, { description: 'Seconds they were in it' })\n seconds: number\n}\n\n@InputType({ description: 'An event read from another calendar - the shape integration-msgraph msgraph-calendar-meetings answers' })\nexport class ImportedEventInput {\n @Field({ description: \"The event's id there - one per occurrence of a series too\" })\n id: string\n\n @Field({ nullable: true, description: 'Whose calendar it was read from' })\n mailbox?: string\n\n @Field({ nullable: true, description: 'Its title' })\n subject?: string\n\n @Field({ description: 'When it starts, ISO 8601' })\n start: string\n\n @Field({ description: 'When it ends, ISO 8601' })\n end: string\n\n @Field({ nullable: true, description: \"The organizer's e-mail address\" })\n organizer?: string\n\n @Field(type => [ImportedAttendeeInput], { nullable: true, description: 'The people invited' })\n attendees?: ImportedAttendeeInput[]\n\n @Field(type => [ImportedAttendanceInput], { nullable: true, description: 'How long each person was in it, when it was measured' })\n attendance?: ImportedAttendanceInput[]\n\n @Field({ nullable: true, description: 'Whether it is an online meeting' })\n online?: boolean\n\n @Field({ nullable: true, description: 'Where it takes place' })\n location?: string\n\n @Field({ nullable: true, description: \"The answer of the calendar's owner\" })\n response?: string\n\n @Field({ nullable: true, description: 'Whether it was cancelled there' })\n cancelled?: boolean\n}\n\n@InputType({ description: 'A mailbox one reading could not read' })\nexport class ImportReadingFailureInput {\n @Field({ description: 'The mailbox' })\n mailbox: string\n\n @Field({ nullable: true, description: 'Why' })\n reason?: string\n}\n\n@InputType({ description: 'What one reading of the other calendar covered - so an event it no longer has is known removed there' })\nexport class ImportReadingInput {\n @Field({ description: 'The start of the window read, ISO 8601' })\n from: string\n\n @Field({ description: 'The end of the window read, ISO 8601' })\n to: string\n\n @Field(type => [String], { description: 'The mailboxes it could read' })\n mailboxes: string[]\n\n @Field(type => [ImportReadingFailureInput], { nullable: true, description: 'The mailboxes it could not read, and why' })\n failed?: ImportReadingFailureInput[]\n\n @Field(type => [ImportedEventInput], { nullable: true, description: 'The events it read - brought in when no events are given apart' })\n meetings?: ImportedEventInput[]\n}\n\n@ObjectType({ description: 'What bringing events in did' })\nexport class EventImportResult {\n @Field(type => Int, { description: 'Events added' })\n created: number\n\n @Field(type => Int, { description: 'Events already here, changed to match' })\n updated: number\n\n @Field(type => Int, { description: 'Events left - no valid time' })\n left: number\n\n @Field(type => Int, { description: 'Events cancelled - removed in the calendar they came from' })\n cancelled: number\n}\n"]}
@@ -24,6 +24,10 @@ export declare class Event {
24
24
  name: string;
25
25
  description?: string;
26
26
  location?: string;
27
+ /** Where an event brought in from another calendar came from (`importEvents`) - none for one made here. */
28
+ source?: string;
29
+ /** The event's id in that calendar - bringing it in again changes this row, never adds a second. */
30
+ externalId?: string;
27
31
  organizer?: User;
28
32
  organizerId?: string;
29
33
  createdAt?: Date;
@@ -91,6 +91,16 @@ tslib_1.__decorate([
91
91
  (0, type_graphql_1.Field)({ nullable: true, description: 'Where the event takes place' }),
92
92
  tslib_1.__metadata("design:type", String)
93
93
  ], Event.prototype, "location", void 0);
94
+ tslib_1.__decorate([
95
+ (0, typeorm_1.Column)({ nullable: true }),
96
+ (0, type_graphql_1.Field)({ nullable: true, description: 'The calendar it was brought in from, such as MSGRAPH; empty for an event made here' }),
97
+ tslib_1.__metadata("design:type", String)
98
+ ], Event.prototype, "source", void 0);
99
+ tslib_1.__decorate([
100
+ (0, typeorm_1.Column)({ nullable: true }),
101
+ (0, type_graphql_1.Field)({ nullable: true, description: "The event's id in the calendar it was brought in from" }),
102
+ tslib_1.__metadata("design:type", String)
103
+ ], Event.prototype, "externalId", void 0);
94
104
  tslib_1.__decorate([
95
105
  (0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
96
106
  (0, type_graphql_1.Field)(type => auth_base_1.User, { nullable: true, description: 'The person responsible for the event' }),
@@ -142,6 +152,10 @@ exports.Event = Event = tslib_1.__decorate([
142
152
  }),
143
153
  (0, typeorm_1.Index)('ix_event_1', (event) => [event.domain, event.startAt]),
144
154
  (0, typeorm_1.Index)('ix_event_2', (event) => [event.domain, event.calendar, event.startAt]),
155
+ (0, typeorm_1.Index)('ix_event_3', (event) => [event.domain, event.source, event.externalId], {
156
+ unique: true,
157
+ where: '"deleted_at" IS NULL AND "external_id" IS NOT NULL'
158
+ }),
145
159
  (0, type_graphql_1.ObjectType)({ description: 'Something that takes place at a time, on its own or as an occurrence of a series' })
146
160
  ], Event);
147
161
  //# sourceMappingURL=event.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"event.js","sourceRoot":"","sources":["../../../server/service/event/event.ts"],"names":[],"mappings":"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","sourcesContent":["import { Column, CreateDateColumn, DeleteDateColumn, Entity, Index, ManyToOne, PrimaryGeneratedColumn, RelationId, UpdateDateColumn } from 'typeorm'\nimport { Field, ID, ObjectType } from 'type-graphql'\n\nimport { Domain } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\n\nimport { Calendar } from '../calendar/calendar'\nimport { EventSeries } from '../event-series/event-series'\nimport { EventStatus } from './event-rules'\n\n/**\n * Something that takes place at a time — on its own, or as one occurrence of a series. An occurrence is named by its\n * series and `scheduledAt`, the time the rule gave it; postponing moves `startAt`/`endAt` and never `scheduledAt`, so\n * creating the series' occurrences again finds it and makes no second one.\n */\n@Entity()\n@Index('ix_event_0', (event: Event) => [event.domain, event.series, event.scheduledAt], {\n unique: true,\n where: '\"deleted_at\" IS NULL AND \"series_id\" IS NOT NULL'\n})\n@Index('ix_event_1', (event: Event) => [event.domain, event.startAt])\n@Index('ix_event_2', (event: Event) => [event.domain, event.calendar, event.startAt])\n@ObjectType({ description: 'Something that takes place at a time, on its own or as an occurrence of a series' })\nexport class Event {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID, { description: 'Unique identifier of the event' })\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field(type => Domain, { nullable: true, description: 'The domain the event belongs to' })\n domain?: Domain\n\n @RelationId((event: Event) => event.domain)\n domainId?: string\n\n @ManyToOne(type => Calendar, { nullable: true })\n @Field(type => Calendar, { nullable: true, description: 'The calendar the event belongs to, if any' })\n calendar?: Calendar\n\n @RelationId((event: Event) => event.calendar)\n @Field({ nullable: true, description: 'Id of the calendar the event belongs to' })\n calendarId?: string\n\n @ManyToOne(type => EventSeries, { nullable: true })\n @Field(type => EventSeries, { nullable: true, description: 'The series this event is an occurrence of; empty for a one-off event' })\n series?: EventSeries\n\n @RelationId((event: Event) => event.series)\n @Field({ nullable: true, description: 'Id of the series this event is an occurrence of' })\n seriesId?: string\n\n @Column()\n @Field({ description: 'The time the event was first given — the rule\\'s time for an occurrence. It never moves' })\n scheduledAt: Date\n\n @Column()\n @Field({ description: 'When the event starts' })\n startAt: Date\n\n @Column()\n @Field({ description: 'When the event ends' })\n endAt: Date\n\n @Column({ default: EventStatus.SCHEDULED })\n @Field(type => EventStatus, { description: 'Scheduled, postponed, cancelled or held' })\n status: EventStatus\n\n @Column({ type: 'text', nullable: true })\n @Field({ nullable: true, description: 'Why it was last postponed or cancelled' })\n statusReason?: string\n\n @Column()\n @Field({ description: 'Name of the event' })\n name: string\n\n @Column({ type: 'text', nullable: true })\n @Field({ nullable: true, description: 'What the event is about' })\n description?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true, description: 'Where the event takes place' })\n location?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true, description: 'The person responsible for the event' })\n organizer?: User\n\n @RelationId((event: Event) => event.organizer)\n @Field({ nullable: true, description: 'Id of the person responsible for the event' })\n organizerId?: string\n\n @CreateDateColumn()\n @Field({ nullable: true, description: 'Creation timestamp' })\n createdAt?: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true, description: 'Last update timestamp' })\n updatedAt?: Date\n\n @DeleteDateColumn()\n @Field({ nullable: true, description: 'Soft delete timestamp' })\n deletedAt?: Date\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true, description: 'Who created the event' })\n creator?: User\n\n @RelationId((event: Event) => event.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true, description: 'Who last changed the event' })\n updater?: User\n\n @RelationId((event: Event) => event.updater)\n updaterId?: string\n}\n"]}
1
+ {"version":3,"file":"event.js","sourceRoot":"","sources":["../../../server/service/event/event.ts"],"names":[],"mappings":"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","sourcesContent":["import { Column, CreateDateColumn, DeleteDateColumn, Entity, Index, ManyToOne, PrimaryGeneratedColumn, RelationId, UpdateDateColumn } from 'typeorm'\nimport { Field, ID, ObjectType } from 'type-graphql'\n\nimport { Domain } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\n\nimport { Calendar } from '../calendar/calendar'\nimport { EventSeries } from '../event-series/event-series'\nimport { EventStatus } from './event-rules'\n\n/**\n * Something that takes place at a time — on its own, or as one occurrence of a series. An occurrence is named by its\n * series and `scheduledAt`, the time the rule gave it; postponing moves `startAt`/`endAt` and never `scheduledAt`, so\n * creating the series' occurrences again finds it and makes no second one.\n */\n@Entity()\n@Index('ix_event_0', (event: Event) => [event.domain, event.series, event.scheduledAt], {\n unique: true,\n where: '\"deleted_at\" IS NULL AND \"series_id\" IS NOT NULL'\n})\n@Index('ix_event_1', (event: Event) => [event.domain, event.startAt])\n@Index('ix_event_2', (event: Event) => [event.domain, event.calendar, event.startAt])\n@Index('ix_event_3', (event: Event) => [event.domain, event.source, event.externalId], {\n unique: true,\n where: '\"deleted_at\" IS NULL AND \"external_id\" IS NOT NULL'\n})\n@ObjectType({ description: 'Something that takes place at a time, on its own or as an occurrence of a series' })\nexport class Event {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID, { description: 'Unique identifier of the event' })\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field(type => Domain, { nullable: true, description: 'The domain the event belongs to' })\n domain?: Domain\n\n @RelationId((event: Event) => event.domain)\n domainId?: string\n\n @ManyToOne(type => Calendar, { nullable: true })\n @Field(type => Calendar, { nullable: true, description: 'The calendar the event belongs to, if any' })\n calendar?: Calendar\n\n @RelationId((event: Event) => event.calendar)\n @Field({ nullable: true, description: 'Id of the calendar the event belongs to' })\n calendarId?: string\n\n @ManyToOne(type => EventSeries, { nullable: true })\n @Field(type => EventSeries, { nullable: true, description: 'The series this event is an occurrence of; empty for a one-off event' })\n series?: EventSeries\n\n @RelationId((event: Event) => event.series)\n @Field({ nullable: true, description: 'Id of the series this event is an occurrence of' })\n seriesId?: string\n\n @Column()\n @Field({ description: 'The time the event was first given — the rule\\'s time for an occurrence. It never moves' })\n scheduledAt: Date\n\n @Column()\n @Field({ description: 'When the event starts' })\n startAt: Date\n\n @Column()\n @Field({ description: 'When the event ends' })\n endAt: Date\n\n @Column({ default: EventStatus.SCHEDULED })\n @Field(type => EventStatus, { description: 'Scheduled, postponed, cancelled or held' })\n status: EventStatus\n\n @Column({ type: 'text', nullable: true })\n @Field({ nullable: true, description: 'Why it was last postponed or cancelled' })\n statusReason?: string\n\n @Column()\n @Field({ description: 'Name of the event' })\n name: string\n\n @Column({ type: 'text', nullable: true })\n @Field({ nullable: true, description: 'What the event is about' })\n description?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true, description: 'Where the event takes place' })\n location?: string\n\n /** Where an event brought in from another calendar came from (`importEvents`) - none for one made here. */\n @Column({ nullable: true })\n @Field({ nullable: true, description: 'The calendar it was brought in from, such as MSGRAPH; empty for an event made here' })\n source?: string\n\n /** The event's id in that calendar - bringing it in again changes this row, never adds a second. */\n @Column({ nullable: true })\n @Field({ nullable: true, description: \"The event's id in the calendar it was brought in from\" })\n externalId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true, description: 'The person responsible for the event' })\n organizer?: User\n\n @RelationId((event: Event) => event.organizer)\n @Field({ nullable: true, description: 'Id of the person responsible for the event' })\n organizerId?: string\n\n @CreateDateColumn()\n @Field({ nullable: true, description: 'Creation timestamp' })\n createdAt?: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true, description: 'Last update timestamp' })\n updatedAt?: Date\n\n @DeleteDateColumn()\n @Field({ nullable: true, description: 'Soft delete timestamp' })\n deletedAt?: Date\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true, description: 'Who created the event' })\n creator?: User\n\n @RelationId((event: Event) => event.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true, description: 'Who last changed the event' })\n updater?: User\n\n @RelationId((event: Event) => event.updater)\n updaterId?: string\n}\n"]}
@@ -10,10 +10,11 @@ export * from './attendee/attendee-type';
10
10
  export * from './calendar/calendar-service';
11
11
  export * from './calendar/working-days';
12
12
  export * from './event/event-service';
13
+ export { importEvents, mergedReadings, peopleOf } from './event/event-import';
13
14
  export * from './event-series/event-series-service';
14
15
  export * from './event-series/recurrence';
15
16
  export { attendeesOf } from './attendee/attendee-service';
16
- export declare const entities: (typeof import("./calendar/calendar").Calendar | typeof import("./event-series/event-series").EventSeries | typeof import("./event/event").Event | typeof import("./attendee/attendee").Attendee)[];
17
+ export declare const entities: (typeof import("./calendar/calendar").Calendar | typeof import("./event/event").Event | typeof import("./event-series/event-series").EventSeries | typeof import("./attendee/attendee").Attendee)[];
17
18
  export declare const subscribers: any[];
18
19
  export declare const schema: {
19
20
  resolverClasses: (typeof import("./calendar/calendar-query").CalendarQuery | typeof import("./calendar/calendar-mutation").CalendarMutation | typeof import("./calendar/working-days-resolver").WorkingDaysResolver | typeof import("./event/event-query").EventQuery | typeof import("./event/event-mutation").EventMutation | typeof import("./event-series/event-series-query").EventSeriesQuery | typeof import("./event-series/event-series-mutation").EventSeriesMutation | typeof import("./attendee/attendee-query").AttendeeQuery)[];
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.schema = exports.subscribers = exports.entities = exports.attendeesOf = void 0;
3
+ exports.schema = exports.subscribers = exports.entities = exports.attendeesOf = exports.peopleOf = exports.mergedReadings = exports.importEvents = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  /* EXPORT ENTITY TYPES */
6
6
  tslib_1.__exportStar(require("./calendar/calendar"), exports);
@@ -17,6 +17,10 @@ tslib_1.__exportStar(require("./attendee/attendee-type"), exports);
17
17
  tslib_1.__exportStar(require("./calendar/calendar-service"), exports);
18
18
  tslib_1.__exportStar(require("./calendar/working-days"), exports);
19
19
  tslib_1.__exportStar(require("./event/event-service"), exports);
20
+ var event_import_1 = require("./event/event-import");
21
+ Object.defineProperty(exports, "importEvents", { enumerable: true, get: function () { return event_import_1.importEvents; } });
22
+ Object.defineProperty(exports, "mergedReadings", { enumerable: true, get: function () { return event_import_1.mergedReadings; } });
23
+ Object.defineProperty(exports, "peopleOf", { enumerable: true, get: function () { return event_import_1.peopleOf; } });
20
24
  tslib_1.__exportStar(require("./event-series/event-series-service"), exports);
21
25
  tslib_1.__exportStar(require("./event-series/recurrence"), exports);
22
26
  var attendee_service_1 = require("./attendee/attendee-service");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/service/index.ts"],"names":[],"mappings":";;;;AAAA,yBAAyB;AACzB,8DAAmC;AACnC,wDAA6B;AAC7B,8DAAmC;AACnC,sEAA2C;AAC3C,8DAAmC;AAEnC,mCAAmC;AACnC,mEAAwC;AACxC,6DAAkC;AAClC,2EAAgD;AAChD,mEAAwC;AAExC,mGAAmG;AACnG,sEAA2C;AAC3C,kEAAuC;AACvC,gEAAqC;AACrC,8EAAmD;AACnD,oEAAyC;AACzC,gEAAyD;AAAhD,+GAAA,WAAW,OAAA;AAEpB,mCAAmC;AACnC,yCAA6H;AAC7H,mCAAiH;AACjH,iDAA0I;AAC1I,yCAA6H;AAEhH,QAAA,QAAQ,GAAG;IACtB,cAAc;IACd,GAAG,mBAAgB;IACnB,GAAG,gBAAa;IAChB,GAAG,uBAAmB;IACtB,GAAG,mBAAgB;CACpB,CAAA;AAEY,QAAA,WAAW,GAAG;IACzB,iBAAiB;IACjB,GAAG,sBAAmB;IACtB,GAAG,mBAAgB;IACnB,GAAG,0BAAsB;IACzB,GAAG,sBAAmB;CACvB,CAAA;AAEY,QAAA,MAAM,GAAG;IACpB,eAAe,EAAE;QACf,sBAAsB;QACtB,GAAG,oBAAiB;QACpB,GAAG,iBAAc;QACjB,GAAG,wBAAoB;QACvB,GAAG,oBAAiB;KACrB;CACF,CAAA","sourcesContent":["/* EXPORT ENTITY TYPES */\nexport * from './calendar/calendar'\nexport * from './event/event'\nexport * from './event/event-rules'\nexport * from './event-series/event-series'\nexport * from './attendee/attendee'\n\n/* EXPORT INPUT AND RESULT TYPES */\nexport * from './calendar/calendar-type'\nexport * from './event/event-type'\nexport * from './event-series/event-series-type'\nexport * from './attendee/attendee-type'\n\n/* EXPORT SERVICES — an application calls these inside its own transaction, behind its own doors */\nexport * from './calendar/calendar-service'\nexport * from './calendar/working-days'\nexport * from './event/event-service'\nexport * from './event-series/event-series-service'\nexport * from './event-series/recurrence'\nexport { attendeesOf } from './attendee/attendee-service'\n\n/* IMPORT ENTITIES AND RESOLVERS */\nimport { entities as CalendarEntities, resolvers as CalendarResolvers, subscribers as CalendarSubscribers } from './calendar'\nimport { entities as EventEntities, resolvers as EventResolvers, subscribers as EventSubscribers } from './event'\nimport { entities as EventSeriesEntities, resolvers as EventSeriesResolvers, subscribers as EventSeriesSubscribers } from './event-series'\nimport { entities as AttendeeEntities, resolvers as AttendeeResolvers, subscribers as AttendeeSubscribers } from './attendee'\n\nexport const entities = [\n /* ENTITIES */\n ...CalendarEntities,\n ...EventEntities,\n ...EventSeriesEntities,\n ...AttendeeEntities\n]\n\nexport const subscribers = [\n /* SUBSCRIBERS */\n ...CalendarSubscribers,\n ...EventSubscribers,\n ...EventSeriesSubscribers,\n ...AttendeeSubscribers\n]\n\nexport const schema = {\n resolverClasses: [\n /* RESOLVER CLASSES */\n ...CalendarResolvers,\n ...EventResolvers,\n ...EventSeriesResolvers,\n ...AttendeeResolvers\n ]\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/service/index.ts"],"names":[],"mappings":";;;;AAAA,yBAAyB;AACzB,8DAAmC;AACnC,wDAA6B;AAC7B,8DAAmC;AACnC,sEAA2C;AAC3C,8DAAmC;AAEnC,mCAAmC;AACnC,mEAAwC;AACxC,6DAAkC;AAClC,2EAAgD;AAChD,mEAAwC;AAExC,mGAAmG;AACnG,sEAA2C;AAC3C,kEAAuC;AACvC,gEAAqC;AACrC,qDAA6E;AAApE,4GAAA,YAAY,OAAA;AAAE,8GAAA,cAAc,OAAA;AAAE,wGAAA,QAAQ,OAAA;AAC/C,8EAAmD;AACnD,oEAAyC;AACzC,gEAAyD;AAAhD,+GAAA,WAAW,OAAA;AAEpB,mCAAmC;AACnC,yCAA6H;AAC7H,mCAAiH;AACjH,iDAA0I;AAC1I,yCAA6H;AAEhH,QAAA,QAAQ,GAAG;IACtB,cAAc;IACd,GAAG,mBAAgB;IACnB,GAAG,gBAAa;IAChB,GAAG,uBAAmB;IACtB,GAAG,mBAAgB;CACpB,CAAA;AAEY,QAAA,WAAW,GAAG;IACzB,iBAAiB;IACjB,GAAG,sBAAmB;IACtB,GAAG,mBAAgB;IACnB,GAAG,0BAAsB;IACzB,GAAG,sBAAmB;CACvB,CAAA;AAEY,QAAA,MAAM,GAAG;IACpB,eAAe,EAAE;QACf,sBAAsB;QACtB,GAAG,oBAAiB;QACpB,GAAG,iBAAc;QACjB,GAAG,wBAAoB;QACvB,GAAG,oBAAiB;KACrB;CACF,CAAA","sourcesContent":["/* EXPORT ENTITY TYPES */\nexport * from './calendar/calendar'\nexport * from './event/event'\nexport * from './event/event-rules'\nexport * from './event-series/event-series'\nexport * from './attendee/attendee'\n\n/* EXPORT INPUT AND RESULT TYPES */\nexport * from './calendar/calendar-type'\nexport * from './event/event-type'\nexport * from './event-series/event-series-type'\nexport * from './attendee/attendee-type'\n\n/* EXPORT SERVICES — an application calls these inside its own transaction, behind its own doors */\nexport * from './calendar/calendar-service'\nexport * from './calendar/working-days'\nexport * from './event/event-service'\nexport { importEvents, mergedReadings, peopleOf } from './event/event-import'\nexport * from './event-series/event-series-service'\nexport * from './event-series/recurrence'\nexport { attendeesOf } from './attendee/attendee-service'\n\n/* IMPORT ENTITIES AND RESOLVERS */\nimport { entities as CalendarEntities, resolvers as CalendarResolvers, subscribers as CalendarSubscribers } from './calendar'\nimport { entities as EventEntities, resolvers as EventResolvers, subscribers as EventSubscribers } from './event'\nimport { entities as EventSeriesEntities, resolvers as EventSeriesResolvers, subscribers as EventSeriesSubscribers } from './event-series'\nimport { entities as AttendeeEntities, resolvers as AttendeeResolvers, subscribers as AttendeeSubscribers } from './attendee'\n\nexport const entities = [\n /* ENTITIES */\n ...CalendarEntities,\n ...EventEntities,\n ...EventSeriesEntities,\n ...AttendeeEntities\n]\n\nexport const subscribers = [\n /* SUBSCRIBERS */\n ...CalendarSubscribers,\n ...EventSubscribers,\n ...EventSeriesSubscribers,\n ...AttendeeSubscribers\n]\n\nexport const schema = {\n resolverClasses: [\n /* RESOLVER CLASSES */\n ...CalendarResolvers,\n ...EventResolvers,\n ...EventSeriesResolvers,\n ...AttendeeResolvers\n ]\n}\n"]}