mp-js-api 0.0.4 → 0.0.5

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.
Files changed (52) hide show
  1. package/dist/api.d.ts +74 -0
  2. package/dist/api.d.ts.map +1 -0
  3. package/dist/api.js +158 -0
  4. package/dist/index.d.ts +51 -48
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +72 -317
  7. package/dist/tables/addresses.d.ts +0 -2
  8. package/dist/tables/addresses.d.ts.map +1 -1
  9. package/dist/tables/addresses.js +0 -58
  10. package/dist/tables/contact-attributes.d.ts +0 -2
  11. package/dist/tables/contact-attributes.d.ts.map +1 -1
  12. package/dist/tables/contact-attributes.js +0 -22
  13. package/dist/tables/contacts.d.ts +0 -2
  14. package/dist/tables/contacts.d.ts.map +1 -1
  15. package/dist/tables/contacts.js +0 -112
  16. package/dist/tables/event-participants.d.ts +0 -2
  17. package/dist/tables/event-participants.d.ts.map +1 -1
  18. package/dist/tables/event-participants.js +0 -50
  19. package/dist/tables/events.d.ts +0 -2
  20. package/dist/tables/events.d.ts.map +1 -1
  21. package/dist/tables/events.js +0 -120
  22. package/dist/tables/from-response-answers.d.ts +6 -6
  23. package/dist/tables/from-response-answers.d.ts.map +1 -1
  24. package/dist/tables/group-participants.d.ts +0 -2
  25. package/dist/tables/group-participants.d.ts.map +1 -1
  26. package/dist/tables/group-participants.js +0 -64
  27. package/dist/tables/groups.d.ts +0 -2
  28. package/dist/tables/groups.d.ts.map +1 -1
  29. package/dist/tables/groups.js +0 -106
  30. package/dist/tables/households.d.ts +0 -2
  31. package/dist/tables/households.d.ts.map +1 -1
  32. package/dist/tables/households.js +0 -58
  33. package/dist/tables/participants.d.ts +0 -2
  34. package/dist/tables/participants.d.ts.map +1 -1
  35. package/dist/tables/participants.js +0 -66
  36. package/dist/utils/strings.d.ts +14 -5
  37. package/dist/utils/strings.d.ts.map +1 -1
  38. package/dist/utils/strings.js +28 -15
  39. package/package.json +1 -1
  40. package/src/api.ts +266 -0
  41. package/src/index.ts +197 -435
  42. package/src/tables/addresses.ts +1 -59
  43. package/src/tables/contact-attributes.ts +0 -23
  44. package/src/tables/contacts.ts +0 -118
  45. package/src/tables/event-participants.ts +1 -51
  46. package/src/tables/events.ts +0 -119
  47. package/src/tables/from-response-answers.ts +6 -8
  48. package/src/tables/group-participants.ts +55 -119
  49. package/src/tables/groups.ts +1 -107
  50. package/src/tables/households.ts +0 -58
  51. package/src/tables/participants.ts +1 -67
  52. package/src/utils/strings.ts +31 -17
package/dist/index.js CHANGED
@@ -1,353 +1,108 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.createMPInstance = void 0;
7
- const axios_1 = __importDefault(require("axios"));
8
- const url_1 = require("url");
9
- const contacts_1 = require("./tables/contacts");
10
- const participants_1 = require("./tables/participants");
11
- const event_participants_1 = require("./tables/event-participants");
12
- const group_participants_1 = require("./tables/group-participants");
13
- const contacts_2 = require("./tables/contacts");
14
- const participants_2 = require("./tables/participants");
15
- const events_1 = require("./tables/events");
16
- const groups_1 = require("./tables/groups");
17
- const event_participants_2 = require("./tables/event-participants");
18
- const group_participants_2 = require("./tables/group-participants");
19
- const households_1 = require("./tables/households");
20
- const addresses_1 = require("./tables/addresses");
21
- const contact_attributes_1 = require("./tables/contact-attributes");
3
+ exports.escapeSql = exports.stringifyURLParams = exports.convertToSnakeCase = exports.convertToCamelCase = exports.createMPInstance = void 0;
4
+ const api_1 = require("./api");
22
5
  const strings_1 = require("./utils/strings");
23
- const createTokenGetter = (auth) => {
24
- let token;
25
- return async () => {
26
- // If the token is near expiration, get a new one.
27
- if (!token || token.expiration - 60000 < Date.now()) {
28
- const tokenRes = await axios_1.default.post('https://mp.revival.com/ministryplatformapi/oauth/connect/token', new url_1.URLSearchParams({
29
- grant_type: 'client_credentials',
30
- scope: 'http://www.thinkministry.com/dataplatform/scopes/all',
31
- }).toString(), { auth });
32
- const [, payload] = tokenRes.data.access_token.split('.');
33
- try {
34
- const jsonPayload = JSON.parse(Buffer.from(payload, 'base64url').toString());
35
- token = {
36
- digest: tokenRes.data.access_token,
37
- expiration: jsonPayload.exp * 1000,
38
- };
39
- return token.digest;
40
- }
41
- catch (err) {
42
- console.error(err);
43
- }
44
- }
45
- else {
46
- return token.digest;
47
- }
48
- };
49
- };
50
- const stringifyMPOptions = (mpOptions = {}) => (0, strings_1.escapeSql)(Object.entries(mpOptions).reduce((acc, [key, value]) => {
51
- if (!acc) {
52
- acc += `?$${key}=${value}`;
53
- }
54
- else {
55
- acc += `&$${key}=${value}`;
56
- }
57
- return acc;
58
- }, ''));
6
+ Object.defineProperty(exports, "convertToCamelCase", { enumerable: true, get: function () { return strings_1.convertToCamelCase; } });
7
+ Object.defineProperty(exports, "convertToSnakeCase", { enumerable: true, get: function () { return strings_1.convertToSnakeCase; } });
8
+ Object.defineProperty(exports, "escapeSql", { enumerable: true, get: function () { return strings_1.escapeSql; } });
9
+ Object.defineProperty(exports, "stringifyURLParams", { enumerable: true, get: function () { return strings_1.stringifyURLParams; } });
59
10
  const createMPInstance = ({ auth }) => {
60
- /**
61
- * Gets MP oauth token.
62
- * @returns token
63
- */
64
- const getToken = createTokenGetter(auth);
65
- const api = axios_1.default.create({
66
- baseURL: 'https://mp.revival.com/ministryplatformapi',
67
- });
68
- const get = async (url, mpOptions, config) => api.get(url + stringifyMPOptions(mpOptions), {
69
- ...config,
70
- headers: {
71
- ...config?.headers,
72
- Authorization: `Bearer ${await getToken()}`,
73
- },
74
- });
75
- const post = async (url, data, config) => api.post(url, data, {
76
- ...config,
77
- headers: {
78
- ...config?.headers,
79
- Authorization: `Bearer ${await getToken()}`,
80
- },
81
- });
82
- const put = async (url, data, config) => api.put(url, data, {
83
- ...config,
84
- headers: {
85
- ...config?.headers,
86
- Authorization: `Bearer ${await getToken()}`,
87
- },
88
- });
11
+ const { getOne, getMultiple, create, update, get, post, put, getError } = (0, api_1.createApiBase)({ auth });
89
12
  return {
13
+ getOne,
14
+ getMultiple,
15
+ create,
16
+ update,
90
17
  get,
91
18
  post,
92
19
  put,
93
- async getContact(id, options = {}) {
94
- try {
95
- const res = await get(`/tables/contacts/${id}`, options);
96
- return res.data[0] ? (0, contacts_2.mapContactRecord)(res.data[0]) : undefined;
97
- }
98
- catch (err) {
99
- return { error: err };
100
- }
20
+ async getContact(id, mpOptions = {}) {
21
+ return getOne({ path: `/tables/contacts`, id, mpOptions });
22
+ },
23
+ async getHousehold(id, mpOptions = {}) {
24
+ return getOne({ path: `/tables/households`, id, mpOptions });
25
+ },
26
+ async getAddress(id, mpOptions = {}) {
27
+ return getOne({ path: `/tables/addresses`, id, mpOptions });
28
+ },
29
+ async getParticipant(id, mpOptions = {}) {
30
+ return getOne({ path: `/tables/participants`, id, mpOptions });
101
31
  },
102
- async getHousehold(id, options = {}) {
103
- try {
104
- const res = await get(`/tables/households/${id}`, options);
105
- return res.data[0]
106
- ? (0, households_1.mapHouseholdRecord)(res.data[0])
107
- : undefined;
108
- }
109
- catch (err) {
110
- return { error: err };
111
- }
32
+ async getContactAttribute(id, mpOptions = {}) {
33
+ return getOne({ path: `/tables/participants`, id, mpOptions });
112
34
  },
113
- async getAddress(id, options = {}) {
114
- try {
115
- const res = await get(`/tables/addresses/${id}`, options);
116
- return res.data[0] ? (0, strings_1.convertToCamelCase)(res.data[0]) : undefined;
117
- }
118
- catch (err) {
119
- return { error: err };
120
- }
35
+ async getEvent(id, mpOptions = {}) {
36
+ return getOne({ path: `/tables/events`, id, mpOptions });
121
37
  },
122
- async getParticipant(id, options = {}) {
123
- try {
124
- const res = await get(`/tables/participants/${id}`, options);
125
- return res.data[0]
126
- ? (0, participants_2.mapParticipantRecord)(res.data[0])
127
- : undefined;
128
- }
129
- catch (err) {
130
- return { error: err };
131
- }
38
+ async getGroup(id, mpOptions = {}) {
39
+ return getOne({ path: `/tables/groups`, id, mpOptions });
132
40
  },
133
- async getEvent(id, options = {}) {
134
- try {
135
- const res = await get(`/tables/events/${id}`, options);
136
- return res.data[0] ? (0, strings_1.convertToCamelCase)(res.data[0]) : undefined;
137
- }
138
- catch (err) {
139
- return { error: err };
140
- }
41
+ async getEventParticipant(id, mpOptions = {}) {
42
+ return getOne({ path: `/tables/event_participants`, id, mpOptions });
141
43
  },
142
- async getGroup(id, options = {}) {
143
- try {
144
- const res = await get(`/tables/groups/${id}`, options);
145
- return res.data[0] ? (0, groups_1.mapGroupRecord)(res.data[0]) : undefined;
146
- }
147
- catch (err) {
148
- return { error: err };
149
- }
44
+ async getGroupParticipant(id, mpOptions = {}) {
45
+ return getOne({ path: `/tables/group_participants`, id, mpOptions });
150
46
  },
151
- async getEventParticipant(id, options = {}) {
152
- try {
153
- const res = await get(`/tables/event_participants/${id}`, options);
154
- return res.data[0]
155
- ? (0, event_participants_2.mapEventParticipantRecord)(res.data[0])
156
- : undefined;
157
- }
158
- catch (err) {
159
- return { error: err };
160
- }
47
+ async getFormResponse(id, mpOptions = {}) {
48
+ return getOne({ path: `/tables/form_responses`, id, mpOptions });
161
49
  },
162
- async getGroupParticipant(id, options = {}) {
163
- try {
164
- const res = await get(`/tables/group_participants/${id}`, options);
165
- return res.data[0]
166
- ? (0, group_participants_2.mapGroupParticipantRecord)(res.data[0])
167
- : undefined;
168
- }
169
- catch (err) {
170
- return { error: err };
171
- }
50
+ async getContacts(mpOptions = {}) {
51
+ return getMultiple({ path: `/tables/contacts`, mpOptions });
172
52
  },
173
- async getContacts(options = {}) {
174
- try {
175
- const res = await get(`/tables/contacts`, options);
176
- return res.data.map(contacts_2.mapContactRecord);
177
- }
178
- catch (err) {
179
- return { error: err };
180
- }
53
+ async getHouseholds(mpOptions = {}) {
54
+ return getMultiple({ path: `/tables/households`, mpOptions });
181
55
  },
182
- async getHouseholds(options = {}) {
183
- try {
184
- const res = await get(`/tables/households`, options);
185
- return res.data.map(households_1.mapHouseholdRecord);
186
- }
187
- catch (err) {
188
- return { error: err };
189
- }
56
+ async getAddresses(mpOptions = {}) {
57
+ return getMultiple({ path: `/tables/addresses`, mpOptions });
190
58
  },
191
- async getAddresses(options = {}) {
192
- try {
193
- const res = await get(`/tables/addresses`, options);
194
- return res.data.map(addresses_1.mapAddressRecord);
195
- }
196
- catch (err) {
197
- return { error: err };
198
- }
59
+ async getParticipants(mpOptions = {}) {
60
+ return getMultiple({ path: `/tables/participants`, mpOptions });
199
61
  },
200
- async getParticipants(options = {}) {
201
- try {
202
- const res = await get(`/tables/participants`, options);
203
- return res.data.map(participants_2.mapParticipantRecord);
204
- }
205
- catch (err) {
206
- return { error: err };
207
- }
62
+ async getEvents(mpOptions = {}) {
63
+ return getMultiple({ path: `/tables/events`, mpOptions });
208
64
  },
209
- async getEvents(options = {}) {
210
- try {
211
- const res = await get(`/tables/events`, options);
212
- return res.data.map(events_1.mapEventRecord);
213
- }
214
- catch (err) {
215
- return { error: err };
216
- }
65
+ async getGroups(mpOptions = {}) {
66
+ return getMultiple({ path: `/tables/groups`, mpOptions });
217
67
  },
218
- async getGroups(options = {}) {
219
- try {
220
- const res = await get(`/tables/groups`, options);
221
- return res.data.map(groups_1.mapGroupRecord);
222
- }
223
- catch (err) {
224
- return { error: err };
225
- }
68
+ async getEventParticipants(mpOptions = {}) {
69
+ return getMultiple({ path: `/tables/event_participants`, mpOptions });
226
70
  },
227
- async getEventParticipants(options = {}) {
228
- try {
229
- const res = await get(`/tables/event_participants`, options);
230
- return res.data.map(event_participants_2.mapEventParticipantRecord);
231
- }
232
- catch (err) {
233
- return { error: err };
234
- }
71
+ async getGroupParticipants(mpOptions = {}) {
72
+ return getMultiple({ path: `/tables/group_participants`, mpOptions });
235
73
  },
236
- async getGroupParticipants(options = {}) {
237
- try {
238
- const res = await get(`/tables/group_participants`, options);
239
- return res.data.map(group_participants_2.mapGroupParticipantRecord);
240
- }
241
- catch (err) {
242
- return { error: err };
243
- }
74
+ async createContact(params, mpOptions = {}) {
75
+ return create({ path: `/tables/contacts`, mpOptions, params });
244
76
  },
245
- async createContact(params, options = {}) {
246
- const query = stringifyMPOptions(options);
247
- try {
248
- const res = await post(`/tables/contacts${query}`, [(0, contacts_1.mapContactToContactRecord)(params)]);
249
- return (0, contacts_2.mapContactRecord)(res.data[0]);
250
- }
251
- catch (err) {
252
- return { error: err };
253
- }
77
+ async createHousehold(params, mpOptions) {
78
+ return create({ path: `/tables/households`, mpOptions, params });
254
79
  },
255
- async createHousehold(params, options = {}) {
256
- const query = stringifyMPOptions(options);
257
- try {
258
- const res = await post(`/tables/households${query}`, [(0, households_1.mapHouseholdToHouseholdRecord)(params)]);
259
- return (0, households_1.mapHouseholdRecord)(res.data[0]);
260
- }
261
- catch (err) {
262
- return { error: err };
263
- }
80
+ async createAddress(params, mpOptions) {
81
+ return create({ path: `/tables/addresses`, mpOptions, params });
264
82
  },
265
- async createAddress(params, options = {}) {
266
- const query = stringifyMPOptions(options);
267
- try {
268
- const res = await post(`/tables/addresses${query}`, [(0, addresses_1.mapAddressToAddressRecord)(params)]);
269
- return (0, addresses_1.mapAddressRecord)(res.data[0]);
270
- }
271
- catch (err) {
272
- return { error: err };
273
- }
83
+ async createParticipant(params, mpOptions) {
84
+ return create({ path: `/tables/participants`, mpOptions, params });
274
85
  },
275
- async createParticipant(params, options = {}) {
276
- const query = stringifyMPOptions(options);
277
- try {
278
- const res = await post(`/tables/participants${query}`, [(0, participants_1.mapParticipantToParticipantRecord)(params)]);
279
- return (0, participants_2.mapParticipantRecord)(res.data[0]);
280
- }
281
- catch (err) {
282
- return { error: err };
283
- }
86
+ async createEventParticipant(params, mpOptions) {
87
+ return create({ path: `/tables/event_participants`, mpOptions, params });
284
88
  },
285
- async createEventParticipant(params, options = {}) {
286
- const query = stringifyMPOptions(options);
287
- try {
288
- const res = await post(`/tables/event_participants${query}`, [
289
- (0, event_participants_1.mapEventParticipantToEventParticipantRecord)(params),
290
- ]);
291
- return (0, event_participants_2.mapEventParticipantRecord)(res.data[0]);
292
- }
293
- catch (err) {
294
- return { error: err };
295
- }
89
+ async createGroupParticipant(params, mpOptions) {
90
+ return create({ path: `/tables/group_participants`, mpOptions, params });
296
91
  },
297
- async createGroupParticipant(params, options = {}) {
298
- const query = stringifyMPOptions(options);
299
- try {
300
- const res = await post(`/tables/group_participants${query}`, [
301
- (0, group_participants_1.mapGroupParticipantToGroupParticipantRecord)(params),
302
- ]);
303
- return (0, group_participants_2.mapGroupParticipantRecord)(res.data[0]);
304
- }
305
- catch (err) {
306
- return { error: err };
307
- }
92
+ async createContactAttribute(params, mpOptions) {
93
+ return create({ path: `/tables/contact_attributes`, mpOptions, params });
308
94
  },
309
- async createContactAttribute(params, options = {}) {
310
- const query = stringifyMPOptions(options);
311
- try {
312
- const res = await post(`/tables/contact_attributes${query}`, [
313
- (0, contact_attributes_1.mapContactAttributeToContactAttributeRecord)(params),
314
- ]);
315
- return (0, contact_attributes_1.mapContactAttributeRecord)(res.data[0]);
316
- }
317
- catch (err) {
318
- return { error: err };
319
- }
95
+ async createFormResponse(params, mpOptions) {
96
+ return create({ path: `/tables/form_responses`, mpOptions, params });
320
97
  },
321
- async createFormResponse(params, options = {}) {
322
- const query = stringifyMPOptions(options);
323
- try {
324
- const res = await post(`/tables/form_responses${query}`, [
325
- (0, strings_1.convertToSnakeCase)(params)
326
- ]);
327
- return (0, strings_1.convertToCamelCase)(res.data[0]);
328
- }
329
- catch (err) {
330
- return { error: err };
331
- }
98
+ async createFormResponseAnswers(params, mpOptions) {
99
+ return create({ path: `/tables/form_response_answers`, mpOptions, params });
332
100
  },
333
- async updateContacts(contacts, options = {}) {
334
- const query = stringifyMPOptions(options);
335
- try {
336
- const res = await put(`/tables/contacts${query}`, contacts.map(contacts_1.mapContactToContactRecord));
337
- return res.data.map(contacts_2.mapContactRecord);
338
- }
339
- catch (err) {
340
- return { error: err };
341
- }
101
+ async updateContacts(params, mpOptions) {
102
+ return update({ path: `/tables/contacts`, mpOptions, params });
342
103
  },
343
- async updateEventParticipants(eventParticipants, options = {}) {
344
- try {
345
- const res = await put(`/tables/event_participants`, eventParticipants.map(event_participants_1.mapEventParticipantToEventParticipantRecord));
346
- return res.data.map(event_participants_2.mapEventParticipantRecord);
347
- }
348
- catch (err) {
349
- return { error: err };
350
- }
104
+ async updateEventParticipants(params, mpOptions) {
105
+ return update({ path: `/tables/event_participants`, mpOptions, params });
351
106
  },
352
107
  };
353
108
  };
@@ -50,6 +50,4 @@ export interface Address {
50
50
  lastGeoCodeAttempt: null | string;
51
51
  country: null | string;
52
52
  }
53
- export declare function mapAddressRecord(addressRecord: AddressRecord): Address;
54
- export declare function mapAddressToAddressRecord(address: Address): AddressRecord;
55
53
  //# sourceMappingURL=addresses.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"addresses.d.ts","sourceRoot":"","sources":["../../src/tables/addresses.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,IAAI,GAAG,MAAM,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,IAAI,GAAG,MAAM,CAAC;IAC7B,UAAU,EAAE,IAAI,GAAG,MAAM,CAAC;IAC1B,mBAAmB,EAAE,IAAI,GAAG,MAAM,CAAC;IACnC,0BAA0B,EAAE,IAAI,GAAG,MAAM,CAAC;IAC1C,QAAQ,EAAE,IAAI,GAAG,MAAM,CAAC;IACxB,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,QAAQ,EAAE,IAAI,GAAG,MAAM,CAAC;IACxB,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,QAAQ,EAAE,IAAI,GAAG,MAAM,CAAC;IACxB,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,uBAAuB,EAAE,IAAI,GAAG,MAAM,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,oBAAoB,EAAE,IAAI,GAAG,MAAM,CAAC;IACpC,OAAO,EAAE,IAAI,GAAG,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,OAAO;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,IAAI,GAAG,MAAM,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,IAAI,GAAG,MAAM,CAAC;IAC5B,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,iBAAiB,EAAE,IAAI,GAAG,MAAM,CAAC;IACjC,uBAAuB,EAAE,IAAI,GAAG,MAAM,CAAC;IACvC,QAAQ,EAAE,IAAI,GAAG,MAAM,CAAC;IACxB,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,QAAQ,EAAE,IAAI,GAAG,MAAM,CAAC;IACxB,QAAQ,EAAE,IAAI,GAAG,MAAM,CAAC;IACxB,OAAO,EAAE,IAAI,GAAG,MAAM,CAAC;IACvB,QAAQ,EAAE,IAAI,GAAG,MAAM,CAAC;IACxB,qBAAqB,EAAE,IAAI,GAAG,MAAM,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,kBAAkB,EAAE,IAAI,GAAG,MAAM,CAAC;IAClC,OAAO,EAAE,IAAI,GAAG,MAAM,CAAC;CAC1B;AAED,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CA2BtE;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CA2BzE"}
1
+ {"version":3,"file":"addresses.d.ts","sourceRoot":"","sources":["../../src/tables/addresses.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,IAAI,GAAG,MAAM,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,IAAI,GAAG,MAAM,CAAC;IAC7B,UAAU,EAAE,IAAI,GAAG,MAAM,CAAC;IAC1B,mBAAmB,EAAE,IAAI,GAAG,MAAM,CAAC;IACnC,0BAA0B,EAAE,IAAI,GAAG,MAAM,CAAC;IAC1C,QAAQ,EAAE,IAAI,GAAG,MAAM,CAAC;IACxB,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,QAAQ,EAAE,IAAI,GAAG,MAAM,CAAC;IACxB,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,QAAQ,EAAE,IAAI,GAAG,MAAM,CAAC;IACxB,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,uBAAuB,EAAE,IAAI,GAAG,MAAM,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,oBAAoB,EAAE,IAAI,GAAG,MAAM,CAAC;IACpC,OAAO,EAAE,IAAI,GAAG,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,OAAO;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,IAAI,GAAG,MAAM,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,IAAI,GAAG,MAAM,CAAC;IAC5B,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,iBAAiB,EAAE,IAAI,GAAG,MAAM,CAAC;IACjC,uBAAuB,EAAE,IAAI,GAAG,MAAM,CAAC;IACvC,QAAQ,EAAE,IAAI,GAAG,MAAM,CAAC;IACxB,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,QAAQ,EAAE,IAAI,GAAG,MAAM,CAAC;IACxB,QAAQ,EAAE,IAAI,GAAG,MAAM,CAAC;IACxB,OAAO,EAAE,IAAI,GAAG,MAAM,CAAC;IACvB,QAAQ,EAAE,IAAI,GAAG,MAAM,CAAC;IACxB,qBAAqB,EAAE,IAAI,GAAG,MAAM,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,kBAAkB,EAAE,IAAI,GAAG,MAAM,CAAC;IAClC,OAAO,EAAE,IAAI,GAAG,MAAM,CAAC;CAC1B"}
@@ -1,60 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mapAddressRecord = mapAddressRecord;
4
- exports.mapAddressToAddressRecord = mapAddressToAddressRecord;
5
- function mapAddressRecord(addressRecord) {
6
- return {
7
- addressID: addressRecord.Address_ID,
8
- addressLine1: addressRecord.Address_Line_1,
9
- addressLine2: addressRecord.Address_Line_2,
10
- city: addressRecord.City,
11
- stateRegion: addressRecord['State/Region'],
12
- postalCode: addressRecord.Postal_Code,
13
- foreignCountry: addressRecord.Foreign_Country,
14
- countryCode: addressRecord.Country_Code,
15
- carrierRoute: addressRecord.Carrier_Route,
16
- lotNumber: addressRecord.Lot_Number,
17
- deliveryPointCode: addressRecord.Delivery_Point_Code,
18
- deliveryPointCheckDigit: addressRecord.Delivery_Point_Check_Digit,
19
- latitude: addressRecord.Latitude,
20
- longitude: addressRecord.Longitude,
21
- altitude: addressRecord.Altitude,
22
- timeZone: addressRecord.Time_Zone,
23
- barCode: addressRecord.Bar_Code,
24
- areaCode: addressRecord.Area_Code,
25
- lastValidationAttempt: addressRecord.Last_Validation_Attempt,
26
- county: addressRecord.County,
27
- validated: addressRecord.Validated,
28
- doNotValidate: addressRecord.Do_Not_Validate,
29
- lastGeoCodeAttempt: addressRecord.Last_GeoCode_Attempt,
30
- country: addressRecord.Country,
31
- };
32
- }
33
- function mapAddressToAddressRecord(address) {
34
- return {
35
- Address_ID: address.addressID,
36
- Address_Line_1: address.addressLine1,
37
- Address_Line_2: address.addressLine2,
38
- City: address.city,
39
- ['State/Region']: address.stateRegion,
40
- Postal_Code: address.postalCode,
41
- Foreign_Country: address.foreignCountry,
42
- Country_Code: address.countryCode,
43
- Carrier_Route: address.carrierRoute,
44
- Lot_Number: address.lotNumber,
45
- Delivery_Point_Code: address.deliveryPointCode,
46
- Delivery_Point_Check_Digit: address.deliveryPointCheckDigit,
47
- Latitude: address.latitude,
48
- Longitude: address.longitude,
49
- Altitude: address.altitude,
50
- Time_Zone: address.timeZone,
51
- Bar_Code: address.barCode,
52
- Area_Code: address.areaCode,
53
- Last_Validation_Attempt: address.lastValidationAttempt,
54
- County: address.county,
55
- Validated: address.validated,
56
- Do_Not_Validate: address.doNotValidate,
57
- Last_GeoCode_Attempt: address.lastGeoCodeAttempt,
58
- Country: address.country,
59
- };
60
- }
@@ -14,6 +14,4 @@ export interface ContactAttribute {
14
14
  endDate?: string | null;
15
15
  notes?: string | null;
16
16
  }
17
- export declare function mapContactAttributeRecord(originalObject: ContactAttributeRecord): ContactAttribute;
18
- export declare function mapContactAttributeToContactAttributeRecord(contactAttribute: ContactAttribute): ContactAttributeRecord;
19
17
  //# sourceMappingURL=contact-attributes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contact-attributes.d.ts","sourceRoot":"","sources":["../../src/tables/contact-attributes.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAGD,wBAAgB,yBAAyB,CAAC,cAAc,EAAE,sBAAsB,GAAG,gBAAgB,CASlG;AAED,wBAAgB,2CAA2C,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,sBAAsB,CAStH"}
1
+ {"version":3,"file":"contact-attributes.d.ts","sourceRoot":"","sources":["../../src/tables/contact-attributes.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB"}
@@ -1,24 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mapContactAttributeRecord = mapContactAttributeRecord;
4
- exports.mapContactAttributeToContactAttributeRecord = mapContactAttributeToContactAttributeRecord;
5
- function mapContactAttributeRecord(originalObject) {
6
- return {
7
- contactAttributeID: originalObject.Contact_Attribute_ID,
8
- contactID: originalObject.Contact_ID,
9
- attributeID: originalObject.Attribute_ID,
10
- startDate: originalObject.Start_Date,
11
- endDate: originalObject.End_Date,
12
- notes: originalObject.Notes
13
- };
14
- }
15
- function mapContactAttributeToContactAttributeRecord(contactAttribute) {
16
- return {
17
- Contact_Attribute_ID: contactAttribute.contactAttributeID,
18
- Contact_ID: contactAttribute.contactID,
19
- Attribute_ID: contactAttribute.attributeID,
20
- Start_Date: contactAttribute.startDate,
21
- End_Date: contactAttribute.endDate,
22
- Notes: contactAttribute.notes
23
- };
24
- }
@@ -100,6 +100,4 @@ export interface Contact {
100
100
  otherInformation: unknown | null;
101
101
  communicationPreferences: unknown | null;
102
102
  }
103
- export declare const mapContactRecord: (record: ContactRecord) => Contact;
104
- export declare const mapContactToContactRecord: <T extends Contact | Partial<Contact> = Contact>(contact: Contact | Partial<Contact>) => T extends Contact ? ContactRecord : Partial<ContactRecord>;
105
103
  //# sourceMappingURL=contacts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contacts.d.ts","sourceRoot":"","sources":["../../src/tables/contacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contacts.d.ts","sourceRoot":"","sources":["../../src/tables/contacts.ts"],"names":[],"mappings":"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"}