@churchapps/helpers 1.0.37 → 1.0.39

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 (77) hide show
  1. package/.prettierrc +12 -0
  2. package/CLAUDE.md +90 -0
  3. package/dist/ApiHelper.d.ts.map +1 -1
  4. package/dist/ApiHelper.js +92 -110
  5. package/dist/ApiHelper.js.map +1 -1
  6. package/dist/AppearanceHelper.js +12 -12
  7. package/dist/AppearanceHelper.js.map +1 -1
  8. package/dist/ArrayHelper.d.ts +1 -1
  9. package/dist/ArrayHelper.d.ts.map +1 -1
  10. package/dist/ArrayHelper.js +5 -4
  11. package/dist/ArrayHelper.js.map +1 -1
  12. package/dist/DateHelper.d.ts.map +1 -1
  13. package/dist/DateHelper.js +5 -4
  14. package/dist/DateHelper.js.map +1 -1
  15. package/dist/ErrorHelper.d.ts +2 -2
  16. package/dist/ErrorHelper.d.ts.map +1 -1
  17. package/dist/ErrorHelper.js.map +1 -1
  18. package/dist/EventHelper.js +1 -2
  19. package/dist/EventHelper.js.map +1 -1
  20. package/dist/FileHelper.d.ts.map +1 -1
  21. package/dist/FileHelper.js +8 -1
  22. package/dist/FileHelper.js.map +1 -1
  23. package/dist/PersonHelper.js +12 -8
  24. package/dist/PersonHelper.js.map +1 -1
  25. package/dist/UniqueIdHelper.d.ts.map +1 -1
  26. package/dist/UniqueIdHelper.js +2 -2
  27. package/dist/UniqueIdHelper.js.map +1 -1
  28. package/dist/UserHelper.js +3 -12
  29. package/dist/UserHelper.js.map +1 -1
  30. package/dist/index.d.ts +4 -1
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +9 -3
  33. package/dist/index.js.map +1 -1
  34. package/dist/interfaces/Access.d.ts +1 -1
  35. package/dist/interfaces/Access.d.ts.map +1 -1
  36. package/dist/interfaces/Attendance.d.ts.map +1 -1
  37. package/dist/interfaces/Content.d.ts.map +1 -1
  38. package/dist/interfaces/Doing.d.ts.map +1 -1
  39. package/dist/interfaces/Donation.d.ts.map +1 -1
  40. package/dist/interfaces/Donation.js +9 -15
  41. package/dist/interfaces/Donation.js.map +1 -1
  42. package/dist/interfaces/Error.d.ts +1 -1
  43. package/dist/interfaces/Error.d.ts.map +1 -1
  44. package/dist/interfaces/Error.js +0 -1
  45. package/dist/interfaces/Error.js.map +1 -1
  46. package/dist/interfaces/Membership.d.ts.map +1 -1
  47. package/dist/interfaces/Messaging.d.ts.map +1 -1
  48. package/dist/interfaces/Permissions.d.ts.map +1 -1
  49. package/dist/interfaces/Permissions.js +31 -7
  50. package/dist/interfaces/Permissions.js.map +1 -1
  51. package/dist/interfaces/Reporting.d.ts.map +1 -1
  52. package/dist/interfaces/index.d.ts.map +1 -1
  53. package/dist/interfaces/index.js.map +1 -1
  54. package/eslint.config.js +33 -0
  55. package/package.json +17 -4
  56. package/src/ApiHelper.ts +7 -4
  57. package/src/AppearanceHelper.ts +8 -8
  58. package/src/ArrayHelper.ts +2 -1
  59. package/src/DateHelper.ts +3 -2
  60. package/src/ErrorHelper.ts +2 -2
  61. package/src/FileHelper.ts +6 -2
  62. package/src/UniqueIdHelper.ts +2 -2
  63. package/src/UserHelper.ts +1 -1
  64. package/src/index.ts +6 -3
  65. package/src/interfaces/Access.ts +137 -24
  66. package/src/interfaces/Attendance.ts +45 -8
  67. package/src/interfaces/Content.ts +84 -10
  68. package/src/interfaces/Doing.ts +93 -11
  69. package/src/interfaces/Donation.ts +145 -45
  70. package/src/interfaces/Error.ts +17 -17
  71. package/src/interfaces/Membership.ts +183 -52
  72. package/src/interfaces/Messaging.ts +96 -12
  73. package/src/interfaces/Permissions.ts +92 -71
  74. package/src/interfaces/Reporting.ts +41 -7
  75. package/src/interfaces/UserContextInterface.ts +13 -13
  76. package/src/interfaces/index.ts +13 -14
  77. package/tsconfig.json +6 -6
@@ -1,10 +1,84 @@
1
- export interface LinkInterface { id?: string; churchId?: string; url?: string; text?: string; sort?: number; linkType: string; linkData: string; icon: string; category: string; parentId?: string; children?: any }
2
- export interface SermonInterface { id?: string, churchId?: string, playlistId?: string, videoType?: string, videoData?: string, videoUrl?: string, title?: string, description?: string, publishDate?: Date, thumbnail?: string, duration?: number, permanentUrl?: boolean }
3
- export interface PlaylistInterface { id?: string, churchId?: string, title?: string, description?: string, publishDate?: Date, thumbnail?: string }
4
- export interface StreamingServiceInterface { id?: string, churchId?: string, serviceTime?: Date, earlyStart?: number, duration: number, chatBefore: number, chatAfter: number, provider: string, providerKey: string, videoUrl: string, timezoneOffset: number, recurring: boolean, label: string, sermonId?: string }
5
- export interface EventInterface { id?: string; churchId?: string; groupId?: string; start?: Date; end?:Date, title?: string; description?: string; allDay?: boolean; visibility?:string; recurrenceRule?:string; exceptionDates?:Date[] }
6
- export interface EventExceptionInterface { id?: string; churchId?: string; eventId?: string; exceptionDate?: Date; }
7
- export interface CuratedCalendarInterface { id?: string, churchId?: string, name?:string }
8
- export interface CuratedEventInterface { id?: string, churchId?: string, curratedCalendarId?: string, groupId?: string, eventId?: string }
9
- export interface CuratedEventWithEventInterface extends EventInterface, CuratedEventInterface {}
10
- export type VisibilityOptions = "public" | "private" | "hidden";
1
+ export interface LinkInterface {
2
+ id?: string;
3
+ churchId?: string;
4
+ url?: string;
5
+ text?: string;
6
+ sort?: number;
7
+ linkType: string;
8
+ linkData: string;
9
+ icon: string;
10
+ category: string;
11
+ parentId?: string;
12
+ children?: any;
13
+ }
14
+ export interface SermonInterface {
15
+ id?: string;
16
+ churchId?: string;
17
+ playlistId?: string;
18
+ videoType?: string;
19
+ videoData?: string;
20
+ videoUrl?: string;
21
+ title?: string;
22
+ description?: string;
23
+ publishDate?: Date;
24
+ thumbnail?: string;
25
+ duration?: number;
26
+ permanentUrl?: boolean;
27
+ }
28
+ export interface PlaylistInterface {
29
+ id?: string;
30
+ churchId?: string;
31
+ title?: string;
32
+ description?: string;
33
+ publishDate?: Date;
34
+ thumbnail?: string;
35
+ }
36
+ export interface StreamingServiceInterface {
37
+ id?: string;
38
+ churchId?: string;
39
+ serviceTime?: Date;
40
+ earlyStart?: number;
41
+ duration: number;
42
+ chatBefore: number;
43
+ chatAfter: number;
44
+ provider: string;
45
+ providerKey: string;
46
+ videoUrl: string;
47
+ timezoneOffset: number;
48
+ recurring: boolean;
49
+ label: string;
50
+ sermonId?: string;
51
+ }
52
+ export interface EventInterface {
53
+ id?: string;
54
+ churchId?: string;
55
+ groupId?: string;
56
+ start?: Date;
57
+ end?: Date;
58
+ title?: string;
59
+ description?: string;
60
+ allDay?: boolean;
61
+ visibility?: string;
62
+ recurrenceRule?: string;
63
+ exceptionDates?: Date[];
64
+ }
65
+ export interface EventExceptionInterface {
66
+ id?: string;
67
+ churchId?: string;
68
+ eventId?: string;
69
+ exceptionDate?: Date;
70
+ }
71
+ export interface CuratedCalendarInterface {
72
+ id?: string;
73
+ churchId?: string;
74
+ name?: string;
75
+ }
76
+ export interface CuratedEventInterface {
77
+ id?: string;
78
+ churchId?: string;
79
+ curratedCalendarId?: string;
80
+ groupId?: string;
81
+ eventId?: string;
82
+ }
83
+ export interface CuratedEventWithEventInterface extends EventInterface, CuratedEventInterface {}
84
+ export type VisibilityOptions = "public" | "private" | "hidden";
@@ -1,11 +1,93 @@
1
- export interface ActionInterface { id?: string, automationId?: string, actionType?: string, actionData?: string }
2
- export interface AutomationInterface { id?: string, title: string, recurs: string, active: boolean }
3
- export interface ConditionInterface { id?: string, conjunctionId?: string, field?: string, fieldData?: string, operator?: string, value?: string, label?: string }
4
- export interface ConjunctionInterface { id?: string, automationId?: string, parentId?: string, groupType?: string, conjunctions?: ConjunctionInterface[], conditions?: ConditionInterface[] }
5
- export interface TaskInterface { id?: string, taskNumber?: number, taskType?: string, dateCreated?: Date, dateClosed?: Date, associatedWithType?: string, associatedWithId?: string, associatedWithLabel?: string, createdByType?: string, createdById?: string, createdByLabel?: string, assignedToType?: string, assignedToId?: string, assignedToLabel?: string, title?: string, status?: string, automationId?: string, conversationId?: string, data?: string }
6
-
7
- export interface PlanInterface { id?: string, churchId?:string, name?: string, ministryId?:string, serviceDate?: Date, notes?: string }
8
- export interface PositionInterface { id?: string, churchId?:string, planId?:string, categoryName?:string, name?: string, count?:number, groupId?:string }
9
- export interface AssignmentInterface { id?: string, churchId?:string, positionId?:string, personId?:string, status?:string, notified?:Date }
10
- export interface TimeInterface { id?: string, churchId?:string, planId?:string, displayName?:string, startTime?:Date, endTime?:Date, teams?:string, teamList?:string[] }
11
- export interface BlockoutDateInterface { id?: string; churchId?: string; personId?: string; startDate?: Date; endDate?: Date; }
1
+ export interface ActionInterface {
2
+ id?: string;
3
+ automationId?: string;
4
+ actionType?: string;
5
+ actionData?: string;
6
+ }
7
+ export interface AutomationInterface {
8
+ id?: string;
9
+ title: string;
10
+ recurs: string;
11
+ active: boolean;
12
+ }
13
+ export interface ConditionInterface {
14
+ id?: string;
15
+ conjunctionId?: string;
16
+ field?: string;
17
+ fieldData?: string;
18
+ operator?: string;
19
+ value?: string;
20
+ label?: string;
21
+ }
22
+ export interface ConjunctionInterface {
23
+ id?: string;
24
+ automationId?: string;
25
+ parentId?: string;
26
+ groupType?: string;
27
+ conjunctions?: ConjunctionInterface[];
28
+ conditions?: ConditionInterface[];
29
+ }
30
+ export interface TaskInterface {
31
+ id?: string;
32
+ taskNumber?: number;
33
+ taskType?: string;
34
+ dateCreated?: Date;
35
+ dateClosed?: Date;
36
+ associatedWithType?: string;
37
+ associatedWithId?: string;
38
+ associatedWithLabel?: string;
39
+ createdByType?: string;
40
+ createdById?: string;
41
+ createdByLabel?: string;
42
+ assignedToType?: string;
43
+ assignedToId?: string;
44
+ assignedToLabel?: string;
45
+ title?: string;
46
+ status?: string;
47
+ automationId?: string;
48
+ conversationId?: string;
49
+ data?: string;
50
+ }
51
+
52
+ export interface PlanInterface {
53
+ id?: string;
54
+ churchId?: string;
55
+ name?: string;
56
+ ministryId?: string;
57
+ serviceDate?: Date;
58
+ notes?: string;
59
+ }
60
+ export interface PositionInterface {
61
+ id?: string;
62
+ churchId?: string;
63
+ planId?: string;
64
+ categoryName?: string;
65
+ name?: string;
66
+ count?: number;
67
+ groupId?: string;
68
+ }
69
+ export interface AssignmentInterface {
70
+ id?: string;
71
+ churchId?: string;
72
+ positionId?: string;
73
+ personId?: string;
74
+ status?: string;
75
+ notified?: Date;
76
+ }
77
+ export interface TimeInterface {
78
+ id?: string;
79
+ churchId?: string;
80
+ planId?: string;
81
+ displayName?: string;
82
+ startTime?: Date;
83
+ endTime?: Date;
84
+ teams?: string;
85
+ teamList?: string[];
86
+ }
87
+ export interface BlockoutDateInterface {
88
+ id?: string;
89
+ churchId?: string;
90
+ personId?: string;
91
+ startDate?: Date;
92
+ endDate?: Date;
93
+ }
@@ -1,45 +1,145 @@
1
- import { PersonInterface } from "."
2
-
3
- export interface DonationBatchInterface { id?: string, name?: string, batchDate?: Date, donationCount?: number, totalAmount?: number }
4
- export interface DonationInterface { id?: string, batchId?: string, personId?: string, donationDate?: Date, amount?: number, method?: string, methodDetails?: string, notes?: string, person?: PersonInterface, fund?: FundInterface }
5
- export interface DonationSummaryInterface { week: number, donations?: DonationSummaryDonation[] }
6
- export interface DonationSummaryDonation { totalAmount: number, fund?: FundInterface }
7
- export interface FundInterface { id: string, name: string, taxDeductible?: boolean, amount?: number }
8
- export interface FundDonationInterface { id?: string, donationId?: string, fundId?: string, amount?: number, donation?: DonationInterface }
9
- export interface PaymentMethodInterface { id?: string, churchId?: string, personId?: string, customerId?: string, email?: string, name?: string }
10
- export interface StripeCardUpdateInterface { paymentMethodId: string, cardData: StripeCardDataInterface, personId?: string }
11
- export interface StripeCardDataInterface { card: StripeCardExpirationInterface }
12
- export interface StripeCardExpirationInterface { exp_month: string, exp_year: string }
13
- export interface StripeBankAccountInterface { account_holder_name: any, account_holder_type: any, country: string, currency: string, account_number: any, routing_number: any }
14
- export interface StripeBankAccountUpdateInterface { paymentMethodId: string, customerId: string, personId?: string, bankData: StripeBankAccountHolderDataInterface }
15
- export interface StripeBankAccountHolderDataInterface { account_holder_name: string, account_holder_type: string }
16
- export interface StripeBankAccountVerifyInterface { customerId: string, paymentMethodId: string, amountData: { amounts: string[] } }
17
- export interface StripePersonDonationInterface { id: string, email: string, name: string };
18
- export interface StripeFundDonationInterface { id: string, amount: number, name?: string };
19
- export interface StripeDonationInterface { id?: string, type?: string, amount?: number, customerId?: string, billing_cycle_anchor?: number, proration_behavior?: string, interval?: StripeDonationIntervalInterface, person?: StripePersonDonationInterface, funds?: StripeFundDonationInterface[], notes?: string, churchId?: string };
20
- export interface StripeDonationIntervalInterface { interval: string, interval_count: number };
21
- export interface SubscriptionInterface { id: string, funds: [], billing_cycle_anchor: number, default_payment_method: string, default_source: string, plan: { amount: number, interval: string, interval_count: number }, customer: string };
22
-
23
- export class StripePaymentMethod {
24
- id: string;
25
- type: string;
26
- name: string;
27
- last4: string;
28
- exp_month?: string;
29
- exp_year?: string;
30
- status?: string;
31
- account_holder_name?: string;
32
- account_holder_type?: string;
33
-
34
- constructor(obj?: any) {
35
- this.id = obj?.id || null;
36
- this.type = obj?.type || (obj?.object && obj.object === "bank_account" ? "bank" : null);
37
- this.name = obj?.card?.brand || obj?.bank_name || null;
38
- this.last4 = obj?.last4 || obj?.card?.last4 || null;
39
- this.exp_month = obj?.exp_month || obj?.card?.exp_month || null;
40
- this.exp_year = obj?.exp_year || obj?.card?.exp_year || null;
41
- this.status = obj?.status || null;
42
- this.account_holder_name = obj?.account_holder_name || "";
43
- this.account_holder_type = obj?.account_holder_type || "individual";
44
- }
45
- }
1
+ import { PersonInterface } from ".";
2
+
3
+ export interface DonationBatchInterface {
4
+ id?: string;
5
+ name?: string;
6
+ batchDate?: Date;
7
+ donationCount?: number;
8
+ totalAmount?: number;
9
+ }
10
+ export interface DonationInterface {
11
+ id?: string;
12
+ batchId?: string;
13
+ personId?: string;
14
+ donationDate?: Date;
15
+ amount?: number;
16
+ method?: string;
17
+ methodDetails?: string;
18
+ notes?: string;
19
+ person?: PersonInterface;
20
+ fund?: FundInterface;
21
+ }
22
+ export interface DonationSummaryInterface {
23
+ week: number;
24
+ donations?: DonationSummaryDonation[];
25
+ }
26
+ export interface DonationSummaryDonation {
27
+ totalAmount: number;
28
+ fund?: FundInterface;
29
+ }
30
+ export interface FundInterface {
31
+ id: string;
32
+ name: string;
33
+ taxDeductible?: boolean;
34
+ amount?: number;
35
+ }
36
+ export interface FundDonationInterface {
37
+ id?: string;
38
+ donationId?: string;
39
+ fundId?: string;
40
+ amount?: number;
41
+ donation?: DonationInterface;
42
+ }
43
+ export interface PaymentMethodInterface {
44
+ id?: string;
45
+ churchId?: string;
46
+ personId?: string;
47
+ customerId?: string;
48
+ email?: string;
49
+ name?: string;
50
+ }
51
+ export interface StripeCardUpdateInterface {
52
+ paymentMethodId: string;
53
+ cardData: StripeCardDataInterface;
54
+ personId?: string;
55
+ }
56
+ export interface StripeCardDataInterface {
57
+ card: StripeCardExpirationInterface;
58
+ }
59
+ export interface StripeCardExpirationInterface {
60
+ exp_month: string;
61
+ exp_year: string;
62
+ }
63
+ export interface StripeBankAccountInterface {
64
+ account_holder_name: any;
65
+ account_holder_type: any;
66
+ country: string;
67
+ currency: string;
68
+ account_number: any;
69
+ routing_number: any;
70
+ }
71
+ export interface StripeBankAccountUpdateInterface {
72
+ paymentMethodId: string;
73
+ customerId: string;
74
+ personId?: string;
75
+ bankData: StripeBankAccountHolderDataInterface;
76
+ }
77
+ export interface StripeBankAccountHolderDataInterface {
78
+ account_holder_name: string;
79
+ account_holder_type: string;
80
+ }
81
+ export interface StripeBankAccountVerifyInterface {
82
+ customerId: string;
83
+ paymentMethodId: string;
84
+ amountData: { amounts: string[] };
85
+ }
86
+ export interface StripePersonDonationInterface {
87
+ id: string;
88
+ email: string;
89
+ name: string;
90
+ }
91
+ export interface StripeFundDonationInterface {
92
+ id: string;
93
+ amount: number;
94
+ name?: string;
95
+ }
96
+ export interface StripeDonationInterface {
97
+ id?: string;
98
+ type?: string;
99
+ amount?: number;
100
+ customerId?: string;
101
+ billing_cycle_anchor?: number;
102
+ proration_behavior?: string;
103
+ interval?: StripeDonationIntervalInterface;
104
+ person?: StripePersonDonationInterface;
105
+ funds?: StripeFundDonationInterface[];
106
+ notes?: string;
107
+ churchId?: string;
108
+ }
109
+ export interface StripeDonationIntervalInterface {
110
+ interval: string;
111
+ interval_count: number;
112
+ }
113
+ export interface SubscriptionInterface {
114
+ id: string;
115
+ funds: [];
116
+ billing_cycle_anchor: number;
117
+ default_payment_method: string;
118
+ default_source: string;
119
+ plan: { amount: number; interval: string; interval_count: number };
120
+ customer: string;
121
+ }
122
+
123
+ export class StripePaymentMethod {
124
+ id: string;
125
+ type: string;
126
+ name: string;
127
+ last4: string;
128
+ exp_month?: string;
129
+ exp_year?: string;
130
+ status?: string;
131
+ account_holder_name?: string;
132
+ account_holder_type?: string;
133
+
134
+ constructor(obj?: any) {
135
+ this.id = obj?.id || null;
136
+ this.type = obj?.type || (obj?.object && obj.object === "bank_account" ? "bank" : null);
137
+ this.name = obj?.card?.brand || obj?.bank_name || null;
138
+ this.last4 = obj?.last4 || obj?.card?.last4 || null;
139
+ this.exp_month = obj?.exp_month || obj?.card?.exp_month || null;
140
+ this.exp_year = obj?.exp_year || obj?.card?.exp_year || null;
141
+ this.status = obj?.status || null;
142
+ this.account_holder_name = obj?.account_holder_name || "";
143
+ this.account_holder_type = obj?.account_holder_type || "individual";
144
+ }
145
+ }
@@ -1,17 +1,17 @@
1
- export interface ErrorLogInterface {
2
- application?: string,
3
- errorTime?: Date,
4
- userId?: string,
5
- churchId?: string,
6
- originUrl?: string,
7
- errorType?: string,
8
- message?: string,
9
- details?: string,
10
- };
11
-
12
- export interface ErrrorAppDataInterface {
13
- churchId: string,
14
- userId: string,
15
- originUrl: string,
16
- application: string
17
- }
1
+ export interface ErrorLogInterface {
2
+ application?: string;
3
+ errorTime?: Date;
4
+ userId?: string;
5
+ churchId?: string;
6
+ originUrl?: string;
7
+ errorType?: string;
8
+ message?: string;
9
+ details?: string;
10
+ }
11
+
12
+ export interface ErrorAppDataInterface {
13
+ churchId: string;
14
+ userId: string;
15
+ originUrl: string;
16
+ application: string;
17
+ }
@@ -1,52 +1,183 @@
1
- export interface AnswerInterface { id?: string, value?: string, questionId?: string, formSubmissionId?: string, required?: boolean }
2
- export interface CampusInterface { id?: string, name?: string }
3
- export interface ContactInfoInterface { address1?: string, address2?: string, city?: string, state?: string, zip?: string, homePhone?: string, mobilePhone?: string, workPhone?: string, email?: string, pager?: string, fax?: string, skype?: string, workEmail?: string }
4
- export interface FormInterface { id?: string, name?: string, contentType?: string, restricted?: boolean, accessStartTime?: Date, accessEndTime?: Date, archived: boolean, action?: string }
5
- export interface FormSubmissionInterface { id?: string, formId?: string, contentType?: string, contentId?: string, form?: FormInterface, answers?: AnswerInterface[], questions?: QuestionInterface[] }
6
- export interface GroupInterface { id?: string, name?: string, categoryName?: string, memberCount?: number, trackAttendance?: boolean, parentPickup?: boolean, printNametag?: boolean, about?: string, photoUrl?: string, tags?: string, meetingTime?: string, meetingLocation?: string, labelArray?: string[], slug?: string }
7
- export interface GroupMemberInterface { id?: string, personId: string, person?: PersonInterface, groupId: string, group?: GroupInterface, leader?: boolean }
8
- export interface GroupServiceTimeInterface { id?: string, groupId?: string, serviceTimeId?: string, serviceTime?: ServiceTimeInterface }
9
- export interface HouseholdInterface { id?: string, name?: string }
10
- export interface HouseholdMemberInterface { id?: string, householdId?: string, household?: HouseholdInterface, personId?: string, person?: PersonInterface, role?: string }
11
- export interface NameInterface { first?: string, middle?: string, last?: string, nick?: string, display?: string, title?: string, suffix?: string }
12
- export interface SearchCondition { field: string, operator: string, value: string }
13
- export interface VisibilityPreferenceInterface { id?: string, churchId?: string, personId?: string, address?: string, phoneNumber?: string, email?: string }
14
-
15
- export interface PersonInterface {
16
- id?: string,
17
- name: NameInterface,
18
- contactInfo: ContactInfoInterface,
19
- membershipStatus?: string,
20
- gender?: string,
21
- birthDate?: Date,
22
- maritalStatus?: string,
23
- anniversary?: Date,
24
- photo?: string,
25
- photoUpdated?: Date,
26
- householdId?: string,
27
- householdRole?: string,
28
- userId?: string,
29
- school?: string,
30
- grade?: string,
31
- graduationDate?: string,
32
- employer?: string,
33
- formSubmissions?: [FormSubmissionInterface]
34
- child?: boolean,
35
- inactiveReason?: string,
36
- inactiveDate?: Date,
37
- servicesUser?: boolean,
38
- calendarUser?: boolean,
39
- checkInsUser?: boolean,
40
- registrationsUser?: boolean,
41
- givingUser?: boolean,
42
- groupsUser?: boolean,
43
- conversationId?: string,
44
- optedOut?: boolean,
45
- nametagNotes?: string
46
- }
47
- export interface QuestionInterface { id?: string, formId?: string, title?: string, fieldType?: string, placeholder?: string, description?: string, required?: boolean, choices?: [{ value?: string, text?: string }] }
48
- export interface ServiceInterface { id?: string, campusId?: string, name?: string, campus?: CampusInterface }
49
- export interface ServiceTimeInterface { id?: string, name?: string, longName?: string, serviceId?: string, groups?: GroupInterface[] }
50
- export interface MemberPermissionInterface { id?: string, churchId?: string, memberId?: string, contentType?: string, contentId?: string, action?: string, personName: string, formName?: string, emailNotification?: boolean }
51
- export interface FormMemberInterface { person?: PersonInterface, access?: string }
52
- export interface FormMemberListInterface { members?: FormMemberInterface[] }
1
+ export interface AnswerInterface {
2
+ id?: string;
3
+ value?: string;
4
+ questionId?: string;
5
+ formSubmissionId?: string;
6
+ required?: boolean;
7
+ }
8
+ export interface CampusInterface {
9
+ id?: string;
10
+ name?: string;
11
+ }
12
+ export interface ContactInfoInterface {
13
+ address1?: string;
14
+ address2?: string;
15
+ city?: string;
16
+ state?: string;
17
+ zip?: string;
18
+ homePhone?: string;
19
+ mobilePhone?: string;
20
+ workPhone?: string;
21
+ email?: string;
22
+ pager?: string;
23
+ fax?: string;
24
+ skype?: string;
25
+ workEmail?: string;
26
+ }
27
+ export interface FormInterface {
28
+ id?: string;
29
+ name?: string;
30
+ contentType?: string;
31
+ restricted?: boolean;
32
+ accessStartTime?: Date;
33
+ accessEndTime?: Date;
34
+ archived: boolean;
35
+ action?: string;
36
+ }
37
+ export interface FormSubmissionInterface {
38
+ id?: string;
39
+ formId?: string;
40
+ contentType?: string;
41
+ contentId?: string;
42
+ form?: FormInterface;
43
+ answers?: AnswerInterface[];
44
+ questions?: QuestionInterface[];
45
+ }
46
+ export interface GroupInterface {
47
+ id?: string;
48
+ name?: string;
49
+ categoryName?: string;
50
+ memberCount?: number;
51
+ trackAttendance?: boolean;
52
+ parentPickup?: boolean;
53
+ printNametag?: boolean;
54
+ about?: string;
55
+ photoUrl?: string;
56
+ tags?: string;
57
+ meetingTime?: string;
58
+ meetingLocation?: string;
59
+ labelArray?: string[];
60
+ slug?: string;
61
+ }
62
+ export interface GroupMemberInterface {
63
+ id?: string;
64
+ personId: string;
65
+ person?: PersonInterface;
66
+ groupId: string;
67
+ group?: GroupInterface;
68
+ leader?: boolean;
69
+ }
70
+ export interface GroupServiceTimeInterface {
71
+ id?: string;
72
+ groupId?: string;
73
+ serviceTimeId?: string;
74
+ serviceTime?: ServiceTimeInterface;
75
+ }
76
+ export interface HouseholdInterface {
77
+ id?: string;
78
+ name?: string;
79
+ }
80
+ export interface HouseholdMemberInterface {
81
+ id?: string;
82
+ householdId?: string;
83
+ household?: HouseholdInterface;
84
+ personId?: string;
85
+ person?: PersonInterface;
86
+ role?: string;
87
+ }
88
+ export interface NameInterface {
89
+ first?: string;
90
+ middle?: string;
91
+ last?: string;
92
+ nick?: string;
93
+ display?: string;
94
+ title?: string;
95
+ suffix?: string;
96
+ }
97
+ export interface SearchCondition {
98
+ field: string;
99
+ operator: string;
100
+ value: string;
101
+ }
102
+ export interface VisibilityPreferenceInterface {
103
+ id?: string;
104
+ churchId?: string;
105
+ personId?: string;
106
+ address?: string;
107
+ phoneNumber?: string;
108
+ email?: string;
109
+ }
110
+
111
+ export interface PersonInterface {
112
+ id?: string;
113
+ name: NameInterface;
114
+ contactInfo: ContactInfoInterface;
115
+ membershipStatus?: string;
116
+ gender?: string;
117
+ birthDate?: Date;
118
+ maritalStatus?: string;
119
+ anniversary?: Date;
120
+ photo?: string;
121
+ photoUpdated?: Date;
122
+ householdId?: string;
123
+ householdRole?: string;
124
+ userId?: string;
125
+ school?: string;
126
+ grade?: string;
127
+ graduationDate?: string;
128
+ employer?: string;
129
+ formSubmissions?: [FormSubmissionInterface];
130
+ child?: boolean;
131
+ inactiveReason?: string;
132
+ inactiveDate?: Date;
133
+ servicesUser?: boolean;
134
+ calendarUser?: boolean;
135
+ checkInsUser?: boolean;
136
+ registrationsUser?: boolean;
137
+ givingUser?: boolean;
138
+ groupsUser?: boolean;
139
+ conversationId?: string;
140
+ optedOut?: boolean;
141
+ nametagNotes?: string;
142
+ }
143
+ export interface QuestionInterface {
144
+ id?: string;
145
+ formId?: string;
146
+ title?: string;
147
+ fieldType?: string;
148
+ placeholder?: string;
149
+ description?: string;
150
+ required?: boolean;
151
+ choices?: [{ value?: string; text?: string }];
152
+ }
153
+ export interface ServiceInterface {
154
+ id?: string;
155
+ campusId?: string;
156
+ name?: string;
157
+ campus?: CampusInterface;
158
+ }
159
+ export interface ServiceTimeInterface {
160
+ id?: string;
161
+ name?: string;
162
+ longName?: string;
163
+ serviceId?: string;
164
+ groups?: GroupInterface[];
165
+ }
166
+ export interface MemberPermissionInterface {
167
+ id?: string;
168
+ churchId?: string;
169
+ memberId?: string;
170
+ contentType?: string;
171
+ contentId?: string;
172
+ action?: string;
173
+ personName: string;
174
+ formName?: string;
175
+ emailNotification?: boolean;
176
+ }
177
+ export interface FormMemberInterface {
178
+ person?: PersonInterface;
179
+ access?: string;
180
+ }
181
+ export interface FormMemberListInterface {
182
+ members?: FormMemberInterface[];
183
+ }