@memberjunction/integration-connectors 5.27.1 → 5.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/HubSpotConnector.d.ts +158 -7
- package/dist/HubSpotConnector.d.ts.map +1 -1
- package/dist/HubSpotConnector.js +1715 -116
- package/dist/HubSpotConnector.js.map +1 -1
- package/dist/YourMembershipConnector.d.ts +160 -5
- package/dist/YourMembershipConnector.d.ts.map +1 -1
- package/dist/YourMembershipConnector.js +3220 -102
- package/dist/YourMembershipConnector.js.map +1 -1
- package/package.json +5 -5
|
@@ -16,7 +16,7 @@ const MAX_RETRIES = 5;
|
|
|
16
16
|
/** HTTP request timeout in milliseconds */
|
|
17
17
|
const REQUEST_TIMEOUT_MS = 30000;
|
|
18
18
|
/** Minimum milliseconds between API requests to avoid rate limiting */
|
|
19
|
-
const MIN_REQUEST_INTERVAL_MS =
|
|
19
|
+
const MIN_REQUEST_INTERVAL_MS = 1000;
|
|
20
20
|
/** Number of members to enrich per batch before writing to DB */
|
|
21
21
|
const ENRICH_BATCH_SIZE = 500;
|
|
22
22
|
/** JSON parsing timeout in milliseconds */
|
|
@@ -28,6 +28,213 @@ const METADATA_KEYS = new Set([
|
|
|
28
28
|
'ResponseStatus', 'UsingRedis', 'AppInitTime', 'ServerID',
|
|
29
29
|
'ClientID', 'BypassCache', 'DateCached', 'Device',
|
|
30
30
|
]);
|
|
31
|
+
/**
|
|
32
|
+
* Endpoints that live under the /Ymc/ base URL instead of /Ams/.
|
|
33
|
+
* These are Career Center endpoints requiring the alternate base path.
|
|
34
|
+
*/
|
|
35
|
+
const YM_YMC_ENDPOINTS = new Set([
|
|
36
|
+
'jobalerts', 'jobalertscriteria', 'jobsearch',
|
|
37
|
+
'locationcoordinates', 'pinpoint', 'savedjobs', 'templates',
|
|
38
|
+
]);
|
|
39
|
+
/**
|
|
40
|
+
* Server-side date filter params for incremental sync, sourced directly from the
|
|
41
|
+
* research analysis (yourmembership_analysis.json → incremental.server_filter_params).
|
|
42
|
+
*
|
|
43
|
+
* Maps lowercase object name → the query param name to pass with the watermark ISO date.
|
|
44
|
+
* EventIDs is the only confirmed (high-confidence) server-side filter; the rest are
|
|
45
|
+
* "probable" — accepted at runtime, confirmed by integration testing.
|
|
46
|
+
*/
|
|
47
|
+
const YM_SERVER_FILTER_PARAMS = {
|
|
48
|
+
'eventids': 'LastModifiedDate', // server_side_filter (confirmed high confidence)
|
|
49
|
+
'campaignreports': 'FromDate', // server_side_filter_probable
|
|
50
|
+
'careeropenings': 'DateFrom', // server_side_filter_probable
|
|
51
|
+
'dashboarddata': 'EndDate', // server_side_filter_probable
|
|
52
|
+
'donationtransactions': 'DateFrom', // server_side_filter_probable
|
|
53
|
+
'duestionstransactions': 'DateFrom', // server_side_filter_probable — alias
|
|
54
|
+
'duestransactions': 'DateFrom', // server_side_filter_probable
|
|
55
|
+
'groupmembershiplogs': 'StartDate', // server_side_filter_probable
|
|
56
|
+
'invoiceitems': 'DateFrom', // server_side_filter_probable
|
|
57
|
+
'storeorderdetails': 'DateFrom', // server_side_filter_probable
|
|
58
|
+
'storeorders': 'StartDate', // server_side_filter_probable
|
|
59
|
+
'topcontributors': 'DateEnd', // server_side_filter_probable
|
|
60
|
+
'trendingposts': 'EndDate', // server_side_filter_probable
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Client-side watermark fields for endpoints that have no server-side date filter
|
|
64
|
+
* but include a date field in each record that can be used for client-side filtering.
|
|
65
|
+
* Maps lowercase object name → { fieldName, strategy }.
|
|
66
|
+
*
|
|
67
|
+
* 'partial' means only creation date is available (misses updates to existing records).
|
|
68
|
+
* 'full' means a last-updated timestamp is available (catches both creates and updates).
|
|
69
|
+
*
|
|
70
|
+
* Source: yourmembership_analysis.json → incremental.watermark_fields
|
|
71
|
+
*/
|
|
72
|
+
const YM_CLIENT_WATERMARK_FIELDS = {
|
|
73
|
+
'allcampaigns': { field: 'DateCreated', strategy: 'partial' },
|
|
74
|
+
// 'campaigns' is NOT here — it's parameterized (Campaigns/{id}) and routes via YM_PARENT_SCOPED
|
|
75
|
+
'memberlist': { field: 'LastUpdated', strategy: 'full' },
|
|
76
|
+
'membersprofiles': { field: 'LastUpdated', strategy: 'full' },
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* Parent-scoped endpoints that require enumerating parent IDs before fetching.
|
|
80
|
+
* Maps lowercase endpoint name → YMParentScopeConfig.
|
|
81
|
+
* pathTemplate uses {parentId} as placeholder for the resolved parent ID.
|
|
82
|
+
*/
|
|
83
|
+
const YM_PARENT_SCOPED = {
|
|
84
|
+
// ── Event-scoped ──────────────────────────────────────────────────
|
|
85
|
+
'eventalias': { parentType: 'Event', pathTemplate: 'Event/{parentId}/Alias' },
|
|
86
|
+
'eventattendeesessions': { parentType: 'Event', pathTemplate: 'Event/{parentId}/AttendeeTypeSessions' },
|
|
87
|
+
'eventattendeetypesessions': { parentType: 'Event', pathTemplate: 'Event/{parentId}/AttendeeTypeSessions' },
|
|
88
|
+
'eventattendeetypetickets': { parentType: 'Event', pathTemplate: 'Event/{parentId}/AttendeeTypeTickets' },
|
|
89
|
+
'eventattendeetypes': { parentType: 'Event', pathTemplate: 'Event/{parentId}/AttendeeTypes' },
|
|
90
|
+
'eventceuawards': { parentType: 'Event', pathTemplate: 'Event/{parentId}/CEUAwards' },
|
|
91
|
+
'eventcustomlabels': { parentType: 'Event', pathTemplate: 'Event/{parentId}/EventCustomLabels' },
|
|
92
|
+
'eventsessiongroups': { parentType: 'Event', pathTemplate: 'Event/{parentId}/EventSessionGroups' },
|
|
93
|
+
'eventsessions': { parentType: 'Event', pathTemplate: 'Event/{parentId}/Sessions' },
|
|
94
|
+
'eventtickets': { parentType: 'Event', pathTemplate: 'Event/{parentId}/Tickets' },
|
|
95
|
+
'eventvirtualmeetings': { parentType: 'Event', pathTemplate: 'Event/{parentId}/VirtualMeetings' },
|
|
96
|
+
'eventvirtualwebinars': { parentType: 'Event', pathTemplate: 'Event/{parentId}/VirtualWebinars' },
|
|
97
|
+
'eventvirtualusers': { parentType: 'Event', pathTemplate: 'Event/{parentId}/VirtualUsers' },
|
|
98
|
+
'eventregistrations': { parentType: 'Event', pathTemplate: 'Event/{parentId}/EventRegistrants' },
|
|
99
|
+
'eventregistrationids': { parentType: 'Event', pathTemplate: 'Event/{parentId}/EventRegistrationIDs' },
|
|
100
|
+
'registrationsessionrequest': { parentType: 'Event', pathTemplate: 'Event/{parentId}/EventRegistrationSessions' },
|
|
101
|
+
'eventsessionceuawards': { parentType: 'Event', pathTemplate: 'Event/{parentId}/Sessions' },
|
|
102
|
+
// ── Member-scoped ─────────────────────────────────────────────────
|
|
103
|
+
'basicmemberprofile': { parentType: 'Member', pathTemplate: 'Member/{parentId}/BasicMemberProfile' },
|
|
104
|
+
'connections': { parentType: 'Member', pathTemplate: 'Member/{parentId}/Connections' },
|
|
105
|
+
'contentproxy': { parentType: 'Member', pathTemplate: 'Member/{parentId}/ContentProxy' },
|
|
106
|
+
'donationhistory': { parentType: 'Member', pathTemplate: 'Member/{parentId}/DonationHistory' },
|
|
107
|
+
'engagementscores': { parentType: 'Member', pathTemplate: 'Member/{parentId}/EngagementScores' },
|
|
108
|
+
'favorites': { parentType: 'Member', pathTemplate: 'Member/{parentId}/Favorites' },
|
|
109
|
+
'memberfavorites': { parentType: 'Member', pathTemplate: 'Member/{parentId}/Favorites' },
|
|
110
|
+
'memberconfig': { parentType: 'Member', pathTemplate: 'Member/{parentId}/Config' },
|
|
111
|
+
'membergroups': { parentType: 'Member', pathTemplate: 'Member/{parentId}/Groups' },
|
|
112
|
+
'membernetworks': { parentType: 'Member', pathTemplate: 'Member/{parentId}/Networks' },
|
|
113
|
+
'memberprofile': { parentType: 'Member', pathTemplate: 'Member/{parentId}/MemberProfile' },
|
|
114
|
+
'memberpulse': { parentType: 'Member', pathTemplate: 'Member/{parentId}/MemberPulse' },
|
|
115
|
+
'messagefolders': { parentType: 'Member', pathTemplate: 'Member/{parentId}/MessageFolders' },
|
|
116
|
+
'messages': { parentType: 'Member', pathTemplate: 'Member/{parentId}/Messages' },
|
|
117
|
+
'notificationsubscription': { parentType: 'Member', pathTemplate: 'Member/{parentId}/NotificationSubscription' },
|
|
118
|
+
'wallcomments': { parentType: 'Member', pathTemplate: 'Member/{parentId}/WallComments' },
|
|
119
|
+
'wallpostfirst': { parentType: 'Member', pathTemplate: 'Member/{parentId}/WallPostFirst' },
|
|
120
|
+
'wallposts': { parentType: 'Member', pathTemplate: 'Member/{parentId}/WallPosts' },
|
|
121
|
+
// ── Additional Member-scoped (from research SOT) ─────────────────
|
|
122
|
+
'connectioncategorylist': { parentType: 'Member', pathTemplate: 'Member/{parentId}/ConnectionCategoryList' },
|
|
123
|
+
'connectionsuggestions': { parentType: 'Member', pathTemplate: 'Member/{parentId}/ConnectionSuggestions' },
|
|
124
|
+
'directorysearch': { parentType: 'Member', pathTemplate: 'Member/{parentId}/DirectorySearch' },
|
|
125
|
+
'eventregistrants': { parentType: 'Member', pathTemplate: 'Member/{parentId}/EventRegistrants' },
|
|
126
|
+
'eventsearch': { parentType: 'Member', pathTemplate: 'Member/{parentId}/EventSearch' },
|
|
127
|
+
'feeds': { parentType: 'Member', pathTemplate: 'Member/{parentId}/Feeds' },
|
|
128
|
+
'mediagalleryalbum': { parentType: 'Member', pathTemplate: 'Member/{parentId}/MediaGalleryAlbum' },
|
|
129
|
+
'networks': { parentType: 'Member', pathTemplate: 'Member/{parentId}/Networks' },
|
|
130
|
+
'networktypes': { parentType: 'Member', pathTemplate: 'Member/{parentId}/NetworkTypes' },
|
|
131
|
+
'networkscloud': { parentType: 'Member', pathTemplate: 'Member/{parentId}/NetworksCloud' },
|
|
132
|
+
'notifications': { parentType: 'Member', pathTemplate: 'Member/{parentId}/Notifications' },
|
|
133
|
+
'photos': { parentType: 'Member', pathTemplate: 'Member/{parentId}/Photos' },
|
|
134
|
+
'pushnotificationsconfig': { parentType: 'Member', pathTemplate: 'Member/{parentId}/PushNotificationsConfig' },
|
|
135
|
+
'sponsorposts': { parentType: 'Member', pathTemplate: 'Member/{parentId}/SponsorPosts' },
|
|
136
|
+
// ── /Ymc/ member-scoped (base URL handled separately) ────────────
|
|
137
|
+
'jobalerts': { parentType: 'Member', pathTemplate: 'Member/{parentId}/JobAlerts' },
|
|
138
|
+
'jobalertscriteria': { parentType: 'Member', pathTemplate: 'Member/{parentId}/JobAlertsCriteria' },
|
|
139
|
+
'jobsearch': { parentType: 'Member', pathTemplate: 'Member/{parentId}/JobSearch' },
|
|
140
|
+
'locationcoordinates': { parentType: 'Member', pathTemplate: 'Member/{parentId}/LocationCoordinates' },
|
|
141
|
+
'pinpoint': { parentType: 'Member', pathTemplate: 'Member/{parentId}/Pinpoint' },
|
|
142
|
+
'savedjobs': { parentType: 'Member', pathTemplate: 'Member/{parentId}/SavedJobs' },
|
|
143
|
+
'templates': { parentType: 'Member', pathTemplate: 'Member/{parentId}/Templates' },
|
|
144
|
+
// ── Custom-enumerated (IDs fetched from a secondary list endpoint) ─
|
|
145
|
+
// Locations/{countryId} — enumerate country IDs from Countries endpoint
|
|
146
|
+
'locations': {
|
|
147
|
+
parentType: 'Custom',
|
|
148
|
+
pathTemplate: 'Locations/{parentId}',
|
|
149
|
+
idSourcePath: 'Countries',
|
|
150
|
+
idResponseKey: 'countryList',
|
|
151
|
+
idField: 'countryId',
|
|
152
|
+
},
|
|
153
|
+
// MarkupRender/{MarkupId} — enumerate markup IDs from Markup list endpoint
|
|
154
|
+
'markuprender': {
|
|
155
|
+
parentType: 'Custom',
|
|
156
|
+
pathTemplate: 'MarkupRender/{parentId}',
|
|
157
|
+
idSourcePath: 'Markup',
|
|
158
|
+
idResponseKey: 'MarkupList',
|
|
159
|
+
idField: 'MarkupId',
|
|
160
|
+
},
|
|
161
|
+
// MemberReferrals/{ProfileID} — enumerate member IDs from PeopleIDs endpoint
|
|
162
|
+
'memberreferrals': { parentType: 'Member', pathTemplate: 'Member/{parentId}/MemberReferrals' },
|
|
163
|
+
// StoreOrders/{ProfileID} — enumerate member IDs from PeopleIDs endpoint (requires ProfileID)
|
|
164
|
+
'storeorders': { parentType: 'Member', pathTemplate: 'Member/{parentId}/StoreOrders' },
|
|
165
|
+
// GroupMembershipLogs/{GroupID} — enumerate group IDs from Groups endpoint
|
|
166
|
+
'groupmembershiplogs': { parentType: 'Group', pathTemplate: 'Group/{parentId}/MembershipLogs' },
|
|
167
|
+
// FinanceBatchDetails/{BatchId} — enumerate batch IDs from FinanceBatches endpoint
|
|
168
|
+
'financebatchdetails': {
|
|
169
|
+
parentType: 'Custom',
|
|
170
|
+
pathTemplate: 'FinanceBatchDetails/{parentId}',
|
|
171
|
+
idSourcePath: 'FinanceBatches',
|
|
172
|
+
idResponseKey: 'FinanceBatch',
|
|
173
|
+
idField: 'BatchID',
|
|
174
|
+
},
|
|
175
|
+
// CustomPageVersions/{PageID} — enumerate page IDs from CustomPages endpoint
|
|
176
|
+
'custompageversions': {
|
|
177
|
+
parentType: 'Custom',
|
|
178
|
+
pathTemplate: 'CustomPageVersions/{parentId}',
|
|
179
|
+
idSourcePath: 'CustomPages',
|
|
180
|
+
idResponseKey: 'CustomPages',
|
|
181
|
+
idField: 'PageID',
|
|
182
|
+
},
|
|
183
|
+
// MembershipModifiers/{MembershipID} — enumerate membership type IDs from Memberships
|
|
184
|
+
'membershipmodifiers': {
|
|
185
|
+
parentType: 'Custom',
|
|
186
|
+
pathTemplate: 'MembershipModifiers/{parentId}',
|
|
187
|
+
idSourcePath: 'Memberships/',
|
|
188
|
+
idResponseKey: 'membershipList',
|
|
189
|
+
idField: 'MemberTypeId',
|
|
190
|
+
},
|
|
191
|
+
// MembershipPromoCodes/{MembershipID}/ — enumerate membership type IDs from Memberships
|
|
192
|
+
'membershipPromoCodes': {
|
|
193
|
+
parentType: 'Custom',
|
|
194
|
+
pathTemplate: 'MembershipPromoCodes/{parentId}/',
|
|
195
|
+
idSourcePath: 'Memberships/',
|
|
196
|
+
idResponseKey: 'membershipList',
|
|
197
|
+
idField: 'MemberTypeId',
|
|
198
|
+
},
|
|
199
|
+
// MembershipRenewalReminder/{id} — enumerate membership type IDs from Memberships
|
|
200
|
+
'membershiprenewalremindergetrequest': {
|
|
201
|
+
parentType: 'Custom',
|
|
202
|
+
pathTemplate: 'MembershipRenewalReminder/{parentId}',
|
|
203
|
+
idSourcePath: 'Memberships/',
|
|
204
|
+
idResponseKey: 'membershipList',
|
|
205
|
+
idField: 'MemberTypeId',
|
|
206
|
+
},
|
|
207
|
+
// Campaigns/{CampaignId} — enumerate campaign IDs from AllCampaigns (response.Campaigns[].Id)
|
|
208
|
+
'campaigns': {
|
|
209
|
+
parentType: 'Custom',
|
|
210
|
+
pathTemplate: 'Campaigns/{parentId}',
|
|
211
|
+
idSourcePath: 'AllCampaigns',
|
|
212
|
+
idResponseKey: 'Campaigns',
|
|
213
|
+
idField: 'Id',
|
|
214
|
+
},
|
|
215
|
+
// CampaignReports/{CampaignId} — enumerate campaign IDs from AllCampaigns
|
|
216
|
+
'campaignreports': {
|
|
217
|
+
parentType: 'Custom',
|
|
218
|
+
pathTemplate: 'CampaignReports/{parentId}',
|
|
219
|
+
idSourcePath: 'AllCampaigns',
|
|
220
|
+
idResponseKey: 'Campaigns',
|
|
221
|
+
idField: 'Id',
|
|
222
|
+
},
|
|
223
|
+
// CampaignEmailListDuplicates/{ListId} — enumerate list IDs from CampaignEmailLists (response.CampaignEmailLists[].ListId)
|
|
224
|
+
'campaignemaillistduplicates': {
|
|
225
|
+
parentType: 'Custom',
|
|
226
|
+
pathTemplate: 'CampaignEmailListDuplicates/{parentId}',
|
|
227
|
+
idSourcePath: 'CampaignEmailLists',
|
|
228
|
+
idResponseKey: 'CampaignEmailLists',
|
|
229
|
+
idField: 'ListId',
|
|
230
|
+
},
|
|
231
|
+
// NOTE: Two parameterized endpoints are intentionally NOT in this map:
|
|
232
|
+
// - 'eventattendees': doubly nested (Member/{MemberId}/Event/{EventId}/EventAttendees) — needs
|
|
233
|
+
// both member and event IDs. Falls through to super.FetchChanges() which will fail. Requires
|
|
234
|
+
// custom FetchChanges logic if sync is needed.
|
|
235
|
+
// - 'customformfields': scoped by FormID (CustomForms/{FormID}/Fields) — no flat form list
|
|
236
|
+
// endpoint to enumerate IDs from. Requires manual form ID configuration if sync is needed.
|
|
237
|
+
};
|
|
31
238
|
// ─── Connector Implementation ───────────────────────────────────────
|
|
32
239
|
/**
|
|
33
240
|
* Connector for the YourMembership (YM) AMS REST API.
|
|
@@ -54,119 +261,2122 @@ const METADATA_KEYS = new Set([
|
|
|
54
261
|
* }
|
|
55
262
|
*/
|
|
56
263
|
// ─── Action Metadata Objects ──────────────────────────────────────────
|
|
264
|
+
/**
|
|
265
|
+
* All 123 YourMembership API objects — used for action generation and
|
|
266
|
+
* schema discovery (YM API has no programmatic schema endpoint).
|
|
267
|
+
* Same pattern as QuickBooks connector.
|
|
268
|
+
*/
|
|
57
269
|
const YM_ACTION_OBJECTS = [
|
|
270
|
+
// ── Membership ────────────────────────────────────────
|
|
271
|
+
{
|
|
272
|
+
Name: 'Members', DisplayName: 'Members',
|
|
273
|
+
Description: 'Organization members with profile, contact, and membership details', SupportsWrite: true,
|
|
274
|
+
Fields: [
|
|
275
|
+
{ Name: 'ProfileID', DisplayName: 'Profile ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Profile ID' },
|
|
276
|
+
{ Name: 'FirstName', DisplayName: 'First Name', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'First Name' },
|
|
277
|
+
{ Name: 'LastName', DisplayName: 'Last Name', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Last Name' },
|
|
278
|
+
{ Name: 'EmailAddr', DisplayName: 'Email', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Email' },
|
|
279
|
+
{ Name: 'MemberTypeCode', DisplayName: 'Member Type Code', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Member Type Code' },
|
|
280
|
+
{ Name: 'Status', DisplayName: 'Status', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Status' },
|
|
281
|
+
{ Name: 'Organization', DisplayName: 'Organization', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Organization' },
|
|
282
|
+
{ Name: 'Phone', DisplayName: 'Phone', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Phone' },
|
|
283
|
+
{ Name: 'Address1', DisplayName: 'Address 1', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Address 1' },
|
|
284
|
+
{ Name: 'Address2', DisplayName: 'Address 2', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Address 2' },
|
|
285
|
+
{ Name: 'City', DisplayName: 'City', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'City' },
|
|
286
|
+
{ Name: 'State', DisplayName: 'State', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'State' },
|
|
287
|
+
{ Name: 'PostalCode', DisplayName: 'Postal Code', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Postal Code' },
|
|
288
|
+
{ Name: 'Country', DisplayName: 'Country', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Country' },
|
|
289
|
+
{ Name: 'Title', DisplayName: 'Title', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Title' },
|
|
290
|
+
{ Name: 'JoinDate', DisplayName: 'Join Date', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Join Date' },
|
|
291
|
+
{ Name: 'RenewalDate', DisplayName: 'Renewal Date', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Renewal Date' },
|
|
292
|
+
{ Name: 'ExpirationDate', DisplayName: 'Expiration Date', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Expiration Date' },
|
|
293
|
+
{ Name: 'MemberSinceDate', DisplayName: 'Member Since', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Member Since' },
|
|
294
|
+
{ Name: 'WebsiteUrl', DisplayName: 'Website URL', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Website URL' },
|
|
295
|
+
],
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
Name: 'MemberTypes', DisplayName: 'Member Types',
|
|
299
|
+
Description: 'Classification types for members (e.g., Individual, Corporate, Student)', SupportsWrite: false,
|
|
300
|
+
Fields: [
|
|
301
|
+
{ Name: 'ID', DisplayName: 'Type ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Type ID' },
|
|
302
|
+
{ Name: 'TypeCode', DisplayName: 'Type Code', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Type Code' },
|
|
303
|
+
{ Name: 'Name', DisplayName: 'Name', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Name' },
|
|
304
|
+
{ Name: 'IsDefault', DisplayName: 'Is Default', Type: 'boolean', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Is Default' },
|
|
305
|
+
{ Name: 'PresetType', DisplayName: 'Preset Type', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Preset Type' },
|
|
306
|
+
{ Name: 'SortOrder', DisplayName: 'Sort Order', Type: 'number', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Sort Order' },
|
|
307
|
+
],
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
Name: 'Memberships', DisplayName: 'Memberships',
|
|
311
|
+
Description: 'Membership plans with dues amounts, proration rules, and invoice settings', SupportsWrite: false,
|
|
312
|
+
Fields: [
|
|
313
|
+
{ Name: 'Id', DisplayName: 'Membership ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Membership ID' },
|
|
314
|
+
{ Name: 'Code', DisplayName: 'Code', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Code' },
|
|
315
|
+
{ Name: 'Name', DisplayName: 'Name', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Name' },
|
|
316
|
+
{ Name: 'DuesAmount', DisplayName: 'Dues Amount', Type: 'number', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Dues Amount' },
|
|
317
|
+
{ Name: 'ProRatedDues', DisplayName: 'Pro-Rated Dues', Type: 'boolean', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Pro-Rated Dues' },
|
|
318
|
+
{ Name: 'AllowMultipleOpenInvoices', DisplayName: 'Allow Multiple Invoices', Type: 'boolean', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Allow Multiple Invoices' },
|
|
319
|
+
],
|
|
320
|
+
},
|
|
321
|
+
{
|
|
322
|
+
Name: 'MembersProfiles', DisplayName: 'Members Profiles',
|
|
323
|
+
Description: 'Comprehensive member profile data including custom fields, richer than basic member list', SupportsWrite: false,
|
|
324
|
+
Fields: [
|
|
325
|
+
{ Name: 'WebSiteMemberID', DisplayName: 'WebSiteMemberID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'WebSiteMemberID' },
|
|
326
|
+
{ Name: 'FirstName', DisplayName: 'First Name', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'First Name' },
|
|
327
|
+
{ Name: 'LastName', DisplayName: 'Last Name', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Last Name' },
|
|
328
|
+
{ Name: 'EmailAddress', DisplayName: 'Email', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Email' },
|
|
329
|
+
{ Name: 'Organization', DisplayName: 'Organization', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Organization' },
|
|
330
|
+
{ Name: 'Title', DisplayName: 'Title', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Title' },
|
|
331
|
+
{ Name: 'MemberTypeCode', DisplayName: 'Member Type Code', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Member Type Code' },
|
|
332
|
+
{ Name: 'Status', DisplayName: 'Status', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Status' },
|
|
333
|
+
{ Name: 'JoinDate', DisplayName: 'Join Date', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Join Date' },
|
|
334
|
+
{ Name: 'ExpirationDate', DisplayName: 'Expiration Date', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Expiration Date' },
|
|
335
|
+
{ Name: 'LastModifiedDate', DisplayName: 'Last Modified', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Last Modified' },
|
|
336
|
+
],
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
Name: 'PeopleIDs', DisplayName: 'People IDs',
|
|
340
|
+
Description: 'Member and non-member identity records for data synchronization with timestamp support', SupportsWrite: false,
|
|
341
|
+
Fields: [
|
|
342
|
+
{ Name: 'ProfileID', DisplayName: 'Profile ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Profile ID' },
|
|
343
|
+
{ Name: 'ID', DisplayName: 'Person ID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Person ID' },
|
|
344
|
+
{ Name: 'UserType', DisplayName: 'User Type', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'User Type' },
|
|
345
|
+
{ Name: 'DateRegistered', DisplayName: 'Date Registered', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Date Registered' },
|
|
346
|
+
],
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
Name: 'MemberSubAccounts', DisplayName: 'Member Sub Accounts',
|
|
350
|
+
Description: 'Sub-account relationships linking dependent members to primary accounts', SupportsWrite: false,
|
|
351
|
+
Fields: [
|
|
352
|
+
{ Name: 'ID', DisplayName: 'Sub-Account ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Sub-Account ID' },
|
|
353
|
+
{ Name: 'ParentID', DisplayName: 'Parent Member ID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Parent Member ID' },
|
|
354
|
+
{ Name: 'DateRegistered', DisplayName: 'Date Registered', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Date Registered' },
|
|
355
|
+
],
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
Name: 'MembershipModifiers', DisplayName: 'Membership Modifiers',
|
|
359
|
+
Description: 'Price modifier rules per membership plan (discounts, surcharges)', SupportsWrite: false,
|
|
360
|
+
Fields: [
|
|
361
|
+
{ Name: 'ID', DisplayName: 'Modifier ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Modifier ID' },
|
|
362
|
+
{ Name: 'MembershipID', DisplayName: 'Membership ID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Membership ID' },
|
|
363
|
+
{ Name: 'Name', DisplayName: 'Modifier Name', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Modifier Name' },
|
|
364
|
+
{ Name: 'Description', DisplayName: 'Description', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Description' },
|
|
365
|
+
{ Name: 'Amount', DisplayName: 'Amount', Type: 'number', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Amount' },
|
|
366
|
+
],
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
Name: 'MembershipPromoCodes', DisplayName: 'Membership Promo Codes',
|
|
370
|
+
Description: 'Promotional discount codes per membership plan with usage limits and expiration', SupportsWrite: true,
|
|
371
|
+
Fields: [
|
|
372
|
+
{ Name: 'PromoCodeId', DisplayName: 'Promo Code ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Promo Code ID' },
|
|
373
|
+
{ Name: 'MembershipID', DisplayName: 'Membership ID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Membership ID' },
|
|
374
|
+
{ Name: 'FriendlyName', DisplayName: 'Friendly Name', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Friendly Name' },
|
|
375
|
+
{ Name: 'DiscountAmount', DisplayName: 'Discount Amount', Type: 'number', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Discount Amount' },
|
|
376
|
+
{ Name: 'ExpirationDate', DisplayName: 'Expiration Date', Type: 'datetime', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Expiration Date' },
|
|
377
|
+
{ Name: 'UsageLimit', DisplayName: 'Usage Limit', Type: 'number', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Usage Limit' },
|
|
378
|
+
],
|
|
379
|
+
},
|
|
380
|
+
// ── Events ────────────────────────────────────────────
|
|
381
|
+
{
|
|
382
|
+
Name: 'Events', DisplayName: 'Events',
|
|
383
|
+
Description: 'Events including conferences, webinars, and meetings with dates and virtual meeting info', SupportsWrite: true,
|
|
384
|
+
Fields: [
|
|
385
|
+
{ Name: 'EventId', DisplayName: 'Event ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Event ID' },
|
|
386
|
+
{ Name: 'Name', DisplayName: 'Event Name', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Event Name' },
|
|
387
|
+
{ Name: 'Active', DisplayName: 'Active', Type: 'boolean', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Active' },
|
|
388
|
+
{ Name: 'StartDate', DisplayName: 'Start Date', Type: 'datetime', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Start Date' },
|
|
389
|
+
{ Name: 'EndDate', DisplayName: 'End Date', Type: 'datetime', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'End Date' },
|
|
390
|
+
{ Name: 'StartTime', DisplayName: 'Start Time', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Start Time' },
|
|
391
|
+
{ Name: 'EndTime', DisplayName: 'End Time', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'End Time' },
|
|
392
|
+
{ Name: 'IsVirtual', DisplayName: 'Is Virtual', Type: 'boolean', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Is Virtual' },
|
|
393
|
+
{ Name: 'VirtualMeetingType', DisplayName: 'Virtual Meeting Type', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Virtual Meeting Type' },
|
|
394
|
+
],
|
|
395
|
+
},
|
|
396
|
+
{
|
|
397
|
+
Name: 'EventRegistrations', DisplayName: 'Event Registrations',
|
|
398
|
+
Description: 'Event registration records with attendee details, status, badge numbers, and attendance tracking', SupportsWrite: true,
|
|
399
|
+
Fields: [
|
|
400
|
+
{ Name: 'Id', DisplayName: 'Registrant ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Registrant ID' },
|
|
401
|
+
{ Name: 'EventId', DisplayName: 'Event ID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Event ID' },
|
|
402
|
+
{ Name: 'RegistrationID', DisplayName: 'Registration ID', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Registration ID' },
|
|
403
|
+
{ Name: 'FirstName', DisplayName: 'First Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'First Name' },
|
|
404
|
+
{ Name: 'LastName', DisplayName: 'Last Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Last Name' },
|
|
405
|
+
{ Name: 'DisplayName', DisplayName: 'Display Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Display Name' },
|
|
406
|
+
{ Name: 'HeadShotImage', DisplayName: 'Head Shot Image', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Head Shot Image' },
|
|
407
|
+
{ Name: 'DateRegistered', DisplayName: 'Date Registered', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Date Registered' },
|
|
408
|
+
{ Name: 'IsPrimary', DisplayName: 'Is Primary', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Is Primary' },
|
|
409
|
+
{ Name: 'BadgeNumber', DisplayName: 'Badge Number', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Badge Number' },
|
|
410
|
+
],
|
|
411
|
+
},
|
|
412
|
+
{
|
|
413
|
+
Name: 'EventSessions', DisplayName: 'Event Sessions',
|
|
414
|
+
Description: 'Breakout sessions within events including presenter, schedule, and CEU eligibility', SupportsWrite: true,
|
|
415
|
+
Fields: [
|
|
416
|
+
{ Name: 'SessionId', DisplayName: 'Session ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Session ID' },
|
|
417
|
+
{ Name: 'EventId', DisplayName: 'Event ID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Event ID' },
|
|
418
|
+
{ Name: 'Name', DisplayName: 'Session Name', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Session Name' },
|
|
419
|
+
{ Name: 'Presenter', DisplayName: 'Presenter', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Presenter' },
|
|
420
|
+
{ Name: 'StartDate', DisplayName: 'Start Date', Type: 'datetime', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Start Date' },
|
|
421
|
+
{ Name: 'StartTime', DisplayName: 'Start Time', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Start Time' },
|
|
422
|
+
{ Name: 'EndDate', DisplayName: 'End Date', Type: 'datetime', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'End Date' },
|
|
423
|
+
{ Name: 'EndTime', DisplayName: 'End Time', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'End Time' },
|
|
424
|
+
{ Name: 'MaxRegistrants', DisplayName: 'Max Registrants', Type: 'number', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Max Registrants' },
|
|
425
|
+
{ Name: 'Description', DisplayName: 'Description', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Description' },
|
|
426
|
+
{ Name: 'AllowCEUs', DisplayName: 'Allow CEUs', Type: 'boolean', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Allow CEUs' },
|
|
427
|
+
],
|
|
428
|
+
},
|
|
429
|
+
{
|
|
430
|
+
Name: 'EventTickets', DisplayName: 'Event Tickets',
|
|
431
|
+
Description: 'Ticket types for events with pricing, quantity limits, and categories', SupportsWrite: true,
|
|
432
|
+
Fields: [
|
|
433
|
+
{ Name: 'TicketId', DisplayName: 'Ticket ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Ticket ID' },
|
|
434
|
+
{ Name: 'EventId', DisplayName: 'Event ID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Event ID' },
|
|
435
|
+
{ Name: 'Name', DisplayName: 'Ticket Name', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Ticket Name' },
|
|
436
|
+
{ Name: 'Quantity', DisplayName: 'Quantity', Type: 'number', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Quantity' },
|
|
437
|
+
{ Name: 'UnitPrice', DisplayName: 'Unit Price', Type: 'number', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Unit Price' },
|
|
438
|
+
{ Name: 'Type', DisplayName: 'Type', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Type' },
|
|
439
|
+
{ Name: 'Description', DisplayName: 'Description', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Description' },
|
|
440
|
+
{ Name: 'Category', DisplayName: 'Category', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Category' },
|
|
441
|
+
{ Name: 'Active', DisplayName: 'Active', Type: 'boolean', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Active' },
|
|
442
|
+
],
|
|
443
|
+
},
|
|
444
|
+
{
|
|
445
|
+
Name: 'EventCategories', DisplayName: 'Event Categories',
|
|
446
|
+
Description: 'Categories for organizing and classifying events', SupportsWrite: false,
|
|
447
|
+
Fields: [
|
|
448
|
+
{ Name: 'Id', DisplayName: 'Category ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Category ID' },
|
|
449
|
+
{ Name: 'Name', DisplayName: 'Category Name', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Category Name' },
|
|
450
|
+
],
|
|
451
|
+
},
|
|
452
|
+
{
|
|
453
|
+
Name: 'EventAttendeeTypes', DisplayName: 'Event Attendee Types',
|
|
454
|
+
Description: 'Attendee type definitions per event (e.g., Member, Non-Member, Speaker)', SupportsWrite: true,
|
|
455
|
+
Fields: [
|
|
456
|
+
{ Name: 'Id', DisplayName: 'Attendee Type ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Attendee Type ID' },
|
|
457
|
+
{ Name: 'EventId', DisplayName: 'Event ID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Event ID' },
|
|
458
|
+
{ Name: 'Name', DisplayName: 'Name', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Name' },
|
|
459
|
+
{ Name: 'Description', DisplayName: 'Description', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Description' },
|
|
460
|
+
{ Name: 'Active', DisplayName: 'Active', Type: 'boolean', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Active' },
|
|
461
|
+
],
|
|
462
|
+
},
|
|
463
|
+
{
|
|
464
|
+
Name: 'EventSessionGroups', DisplayName: 'Event Session Groups',
|
|
465
|
+
Description: 'Logical groupings of sessions within events (e.g., tracks, time slots)', SupportsWrite: true,
|
|
466
|
+
Fields: [
|
|
467
|
+
{ Name: 'SessionGroupId', DisplayName: 'Session Group ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Session Group ID' },
|
|
468
|
+
{ Name: 'EventId', DisplayName: 'Event ID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Event ID' },
|
|
469
|
+
{ Name: 'Name', DisplayName: 'Group Name', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Group Name' },
|
|
470
|
+
{ Name: 'Description', DisplayName: 'Description', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Description' },
|
|
471
|
+
],
|
|
472
|
+
},
|
|
473
|
+
{
|
|
474
|
+
Name: 'EventCEUAwards', DisplayName: 'Event CEU Awards',
|
|
475
|
+
Description: 'Continuing education credit awards linked to events and certifications', SupportsWrite: false,
|
|
476
|
+
Fields: [
|
|
477
|
+
{ Name: 'AwardID', DisplayName: 'Award ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Award ID' },
|
|
478
|
+
{ Name: 'EventId', DisplayName: 'Event ID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Event ID' },
|
|
479
|
+
{ Name: 'CertificationID', DisplayName: 'Certification ID', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Certification ID' },
|
|
480
|
+
{ Name: 'CreditTypeID', DisplayName: 'Credit Type ID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Credit Type ID' },
|
|
481
|
+
{ Name: 'Credits', DisplayName: 'Credits', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Credits' },
|
|
482
|
+
],
|
|
483
|
+
},
|
|
484
|
+
{
|
|
485
|
+
Name: 'EventRegistrationForms', DisplayName: 'Event Registration Forms',
|
|
486
|
+
Description: 'Registration form definitions for events with auto-approval settings', SupportsWrite: true,
|
|
487
|
+
Fields: [
|
|
488
|
+
{ Name: 'FormId', DisplayName: 'Form ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Form ID' },
|
|
489
|
+
{ Name: 'FormName', DisplayName: 'Form Name', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Form Name' },
|
|
490
|
+
{ Name: 'AutoApprove', DisplayName: 'Auto Approve', Type: 'boolean', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Auto Approve' },
|
|
491
|
+
],
|
|
492
|
+
},
|
|
493
|
+
{
|
|
494
|
+
Name: 'EventIDs', DisplayName: 'Event IDs',
|
|
495
|
+
Description: 'Lightweight event identifier list for sync with last-modified date filtering', SupportsWrite: false,
|
|
496
|
+
Fields: [
|
|
497
|
+
{ Name: 'ID', DisplayName: 'ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' },
|
|
498
|
+
{ Name: 'LastModifiedDate', DisplayName: 'Last Modified', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Last Modified' },
|
|
499
|
+
],
|
|
500
|
+
},
|
|
501
|
+
// ── Finance ───────────────────────────────────────────
|
|
502
|
+
{
|
|
503
|
+
Name: 'DonationFunds', DisplayName: 'Donation Funds',
|
|
504
|
+
Description: 'Donation fund definitions for directing charitable contributions', SupportsWrite: false,
|
|
505
|
+
Fields: [
|
|
506
|
+
{ Name: 'fundId', DisplayName: 'Fund ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Fund ID' },
|
|
507
|
+
{ Name: 'fundName', DisplayName: 'Fund Name', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Fund Name' },
|
|
508
|
+
{ Name: 'fundOptionsCount', DisplayName: 'Options Count', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Options Count' },
|
|
509
|
+
],
|
|
510
|
+
},
|
|
511
|
+
{
|
|
512
|
+
Name: 'InvoiceItems', DisplayName: 'Invoice Items',
|
|
513
|
+
Description: 'Individual line items from invoices including dues, events, store purchases, and donations', SupportsWrite: false,
|
|
514
|
+
Fields: [
|
|
515
|
+
{ Name: 'LineItemID', DisplayName: 'Line Item ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Line Item ID' },
|
|
516
|
+
{ Name: 'InvoiceNo', DisplayName: 'Invoice Number', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Invoice Number' },
|
|
517
|
+
{ Name: 'InvoiceType', DisplayName: 'Invoice Type', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Invoice Type' },
|
|
518
|
+
{ Name: 'WebSiteMemberID', DisplayName: 'Member ID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Member ID' },
|
|
519
|
+
{ Name: 'ConstituentID', DisplayName: 'Constituent ID', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Constituent ID' },
|
|
520
|
+
{ Name: 'InvoiceNameFirst', DisplayName: 'First Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'First Name' },
|
|
521
|
+
{ Name: 'InvoiceNameLast', DisplayName: 'Last Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Last Name' },
|
|
522
|
+
{ Name: 'Organization', DisplayName: 'Organization', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Organization' },
|
|
523
|
+
{ Name: 'EmailAddress', DisplayName: 'Email', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Email' },
|
|
524
|
+
{ Name: 'LineItemType', DisplayName: 'Line Item Type', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Line Item Type' },
|
|
525
|
+
{ Name: 'LineItemDescription', DisplayName: 'Description', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Description' },
|
|
526
|
+
{ Name: 'LineItemDate', DisplayName: 'Date', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Date' },
|
|
527
|
+
{ Name: 'LineItemDateEntered', DisplayName: 'Date Entered', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Date Entered' },
|
|
528
|
+
{ Name: 'LineItemAmount', DisplayName: 'Amount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Amount' },
|
|
529
|
+
{ Name: 'LineItemQuantity', DisplayName: 'Quantity', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Quantity' },
|
|
530
|
+
{ Name: 'LineTotal', DisplayName: 'Line Total', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Line Total' },
|
|
531
|
+
{ Name: 'OutstandingBalance', DisplayName: 'Outstanding Balance', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Outstanding Balance' },
|
|
532
|
+
{ Name: 'PaymentTerms', DisplayName: 'Payment Terms', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Payment Terms' },
|
|
533
|
+
{ Name: 'GLCodeItemName', DisplayName: 'GL Code', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'GL Code' },
|
|
534
|
+
{ Name: 'QBClassItemName', DisplayName: 'QB Class', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'QB Class' },
|
|
535
|
+
{ Name: 'PaymentOption', DisplayName: 'Payment Option', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Payment Option' },
|
|
536
|
+
],
|
|
537
|
+
},
|
|
58
538
|
{
|
|
59
|
-
Name: '
|
|
60
|
-
Description: '
|
|
61
|
-
Fields: [
|
|
62
|
-
{ Name: '
|
|
63
|
-
{ Name: '
|
|
64
|
-
{ Name: '
|
|
65
|
-
{ Name: '
|
|
66
|
-
{ Name: '
|
|
67
|
-
{ Name: '
|
|
68
|
-
{ Name: '
|
|
69
|
-
{ Name: '
|
|
539
|
+
Name: 'DuesTransactions', DisplayName: 'Dues Transactions',
|
|
540
|
+
Description: 'Membership dues payment transactions with status, amounts, and membership details', SupportsWrite: false,
|
|
541
|
+
Fields: [
|
|
542
|
+
{ Name: 'TransactionID', DisplayName: 'Transaction ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Transaction ID' },
|
|
543
|
+
{ Name: 'InvoiceNumber', DisplayName: 'Invoice Number', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Invoice Number' },
|
|
544
|
+
{ Name: 'Status', DisplayName: 'Status', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Status' },
|
|
545
|
+
{ Name: 'WebsiteMemberID', DisplayName: 'Member ID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Member ID' },
|
|
546
|
+
{ Name: 'ConstituentID', DisplayName: 'Constituent ID', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Constituent ID' },
|
|
547
|
+
{ Name: 'FirstName', DisplayName: 'First Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'First Name' },
|
|
548
|
+
{ Name: 'LastName', DisplayName: 'Last Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Last Name' },
|
|
549
|
+
{ Name: 'Email', DisplayName: 'Email', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Email' },
|
|
550
|
+
{ Name: 'Organization', DisplayName: 'Organization', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Organization' },
|
|
551
|
+
{ Name: 'Amount', DisplayName: 'Amount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Amount' },
|
|
552
|
+
{ Name: 'BalanceDue', DisplayName: 'Balance Due', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Balance Due' },
|
|
553
|
+
{ Name: 'PaymentType', DisplayName: 'Payment Type', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Payment Type' },
|
|
554
|
+
{ Name: 'DateSubmitted', DisplayName: 'Date Submitted', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Date Submitted' },
|
|
555
|
+
{ Name: 'DateProcessed', DisplayName: 'Date Processed', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Date Processed' },
|
|
556
|
+
{ Name: 'MembershipRequested', DisplayName: 'Membership Requested', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Membership Requested' },
|
|
557
|
+
{ Name: 'CurrentMembership', DisplayName: 'Current Membership', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Current Membership' },
|
|
558
|
+
{ Name: 'CurrentMembershipExpDate', DisplayName: 'Membership Expiration', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Membership Expiration' },
|
|
559
|
+
{ Name: 'MemberType', DisplayName: 'Member Type', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Member Type' },
|
|
560
|
+
{ Name: 'DateMemberSignup', DisplayName: 'Member Signup Date', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Member Signup Date' },
|
|
561
|
+
{ Name: 'InvoiceDate', DisplayName: 'Invoice Date', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Invoice Date' },
|
|
562
|
+
{ Name: 'ClosedBy', DisplayName: 'Closed By', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Closed By' },
|
|
563
|
+
],
|
|
564
|
+
},
|
|
565
|
+
{
|
|
566
|
+
Name: 'DonationHistory', DisplayName: 'Donation History',
|
|
567
|
+
Description: 'Individual donation records per member with amounts, funds, and payment methods', SupportsWrite: false,
|
|
568
|
+
Fields: [
|
|
569
|
+
{ Name: 'intDonationId', DisplayName: 'Donation ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Donation ID' },
|
|
570
|
+
{ Name: 'ProfileID', DisplayName: 'Profile ID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Profile ID' },
|
|
571
|
+
{ Name: 'DatDonation', DisplayName: 'Donation Date', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Donation Date' },
|
|
572
|
+
{ Name: 'dblDonation', DisplayName: 'Donation Amount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Donation Amount' },
|
|
573
|
+
{ Name: 'strStatus', DisplayName: 'Status', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Status' },
|
|
574
|
+
{ Name: 'strFundName', DisplayName: 'Fund Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Fund Name' },
|
|
575
|
+
{ Name: 'strDonorName', DisplayName: 'Donor Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Donor Name' },
|
|
576
|
+
{ Name: 'strPaymentMethod', DisplayName: 'Payment Method', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Payment Method' },
|
|
577
|
+
],
|
|
578
|
+
},
|
|
579
|
+
{
|
|
580
|
+
Name: 'DonationTransactions', DisplayName: 'Donation Transactions',
|
|
581
|
+
Description: 'Donation payment transactions with member, fund, and payment details. DateFrom must be within 90 days.', SupportsWrite: false,
|
|
582
|
+
Fields: [
|
|
583
|
+
{ Name: 'TransactionID', DisplayName: 'Transaction ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Transaction ID' },
|
|
584
|
+
{ Name: 'WebsiteMemberID', DisplayName: 'Member ID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Member ID' },
|
|
585
|
+
{ Name: 'ConstituentID', DisplayName: 'Constituent ID', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Constituent ID' },
|
|
586
|
+
{ Name: 'FirstName', DisplayName: 'First Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'First Name' },
|
|
587
|
+
{ Name: 'LastName', DisplayName: 'Last Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Last Name' },
|
|
588
|
+
{ Name: 'Amount', DisplayName: 'Amount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Amount' },
|
|
589
|
+
{ Name: 'FundName', DisplayName: 'Fund Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Fund Name' },
|
|
590
|
+
{ Name: 'DateSubmitted', DisplayName: 'Date Submitted', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Date Submitted' },
|
|
591
|
+
{ Name: 'Status', DisplayName: 'Status', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Status' },
|
|
592
|
+
{ Name: 'PaymentType', DisplayName: 'Payment Type', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Payment Type' },
|
|
593
|
+
],
|
|
594
|
+
},
|
|
595
|
+
{
|
|
596
|
+
Name: 'StoreOrders', DisplayName: 'Store Orders',
|
|
597
|
+
Description: 'Online store order headers with order date, status, and shipping info', SupportsWrite: false,
|
|
598
|
+
Fields: [
|
|
599
|
+
{ Name: 'InvoiceID', DisplayName: 'InvoiceID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'InvoiceID' },
|
|
600
|
+
{ Name: 'WebsiteMemberID', DisplayName: 'Member ID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Member ID' },
|
|
601
|
+
{ Name: 'OrderDate', DisplayName: 'Order Date', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Order Date' },
|
|
602
|
+
{ Name: 'Status', DisplayName: 'Status', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Status' },
|
|
603
|
+
{ Name: 'TotalAmount', DisplayName: 'Total Amount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Total Amount' },
|
|
604
|
+
{ Name: 'ShippingMethod', DisplayName: 'Shipping Method', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Shipping Method' },
|
|
605
|
+
{ Name: 'TrackingNumber', DisplayName: 'Tracking Number', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Tracking Number' },
|
|
606
|
+
],
|
|
607
|
+
},
|
|
608
|
+
{
|
|
609
|
+
Name: 'StoreOrderDetails', DisplayName: 'Store Order Details',
|
|
610
|
+
Description: 'Individual line items within store orders with product, pricing, and quantity details', SupportsWrite: false,
|
|
611
|
+
Fields: [
|
|
612
|
+
{ Name: 'OrderID', DisplayName: 'OrderID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Parent order ID' },
|
|
613
|
+
{ Name: 'InvoiceNumber', DisplayName: 'Invoice Number', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Invoice Number' },
|
|
614
|
+
{ Name: 'WebsiteMemberID', DisplayName: 'Member ID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Member ID' },
|
|
615
|
+
{ Name: 'ProductName', DisplayName: 'Product Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Product Name' },
|
|
616
|
+
{ Name: 'Quantity', DisplayName: 'Quantity', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Quantity' },
|
|
617
|
+
{ Name: 'UnitPrice', DisplayName: 'Unit Price', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Unit Price' },
|
|
618
|
+
{ Name: 'TotalPrice', DisplayName: 'Total Price', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Total Price' },
|
|
619
|
+
{ Name: 'OrderDate', DisplayName: 'Order Date', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Order Date' },
|
|
620
|
+
{ Name: 'Status', DisplayName: 'Status', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Status' },
|
|
621
|
+
{ Name: 'ShippingMethod', DisplayName: 'Shipping Method', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Shipping Method' },
|
|
622
|
+
{ Name: 'ProductCode', DisplayName: 'Product Code', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Product Code' },
|
|
623
|
+
],
|
|
624
|
+
},
|
|
625
|
+
{
|
|
626
|
+
Name: 'GLCodes', DisplayName: 'GL Codes',
|
|
627
|
+
Description: 'General ledger codes for financial reporting and accounting integration', SupportsWrite: false,
|
|
628
|
+
Fields: [
|
|
629
|
+
{ Name: 'GLCodeId', DisplayName: 'GL Code ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'GL Code ID' },
|
|
630
|
+
{ Name: 'GLCodeName', DisplayName: 'GL Code Name', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'GL Code Name' },
|
|
631
|
+
],
|
|
632
|
+
},
|
|
633
|
+
{
|
|
634
|
+
Name: 'FinanceBatches', DisplayName: 'Finance Batches',
|
|
635
|
+
Description: 'Financial processing batches grouping transactions by commerce type and close date. DISABLED: YM API pagination is broken for this endpoint — returns the same full result set on every page regardless of PageNumber, causing infinite loops.', SupportsWrite: true,
|
|
636
|
+
Fields: [
|
|
637
|
+
{ Name: 'BatchID', DisplayName: 'Batch ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Batch ID' },
|
|
638
|
+
{ Name: 'CommerceType', DisplayName: 'Commerce Type', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Commerce Type' },
|
|
639
|
+
{ Name: 'ItemCount', DisplayName: 'Item Count', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Item Count' },
|
|
640
|
+
{ Name: 'ClosedDate', DisplayName: 'Closed Date', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Closed Date' },
|
|
641
|
+
{ Name: 'CreateDateTime', DisplayName: 'Created', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Created' },
|
|
642
|
+
],
|
|
643
|
+
},
|
|
644
|
+
{
|
|
645
|
+
Name: 'FinanceBatchDetails', DisplayName: 'Finance Batch Details',
|
|
646
|
+
Description: 'Detailed invoice and payment records within financial processing batches', SupportsWrite: false,
|
|
647
|
+
Fields: [
|
|
648
|
+
{ Name: 'LineItemID', DisplayName: 'LineItemID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'LineItemID' },
|
|
649
|
+
{ Name: 'BatchID', DisplayName: 'Batch ID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Batch ID' },
|
|
650
|
+
{ Name: 'InvoiceNumber', DisplayName: 'Invoice Number', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Invoice Number' },
|
|
651
|
+
{ Name: 'Amount', DisplayName: 'Amount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Amount' },
|
|
652
|
+
{ Name: 'PaymentType', DisplayName: 'Payment Type', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Payment Type' },
|
|
653
|
+
{ Name: 'TransactionDate', DisplayName: 'Transaction Date', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Transaction Date' },
|
|
654
|
+
],
|
|
655
|
+
},
|
|
656
|
+
{
|
|
657
|
+
Name: 'DuesRules', DisplayName: 'Dues Rules',
|
|
658
|
+
Description: 'Dues calculation rules with names, descriptions, and amount modifiers', SupportsWrite: false,
|
|
659
|
+
Fields: [
|
|
660
|
+
{ Name: 'ID', DisplayName: 'Rule ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Rule ID' },
|
|
661
|
+
{ Name: 'Name', DisplayName: 'Rule Name', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Rule Name' },
|
|
662
|
+
{ Name: 'Description', DisplayName: 'Description', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Description' },
|
|
663
|
+
{ Name: 'Amount', DisplayName: 'Amount', Type: 'number', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Amount' },
|
|
664
|
+
{ Name: 'Selected', DisplayName: 'Selected', Type: 'boolean', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Selected' },
|
|
665
|
+
],
|
|
666
|
+
},
|
|
667
|
+
// ── Groups ────────────────────────────────────────────
|
|
668
|
+
{
|
|
669
|
+
Name: 'Groups', DisplayName: 'Groups',
|
|
670
|
+
Description: 'Committees, chapters, sections, and other organizational groups', SupportsWrite: true,
|
|
671
|
+
Fields: [
|
|
672
|
+
{ Name: 'Id', DisplayName: 'Group ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Group ID' },
|
|
673
|
+
{ Name: 'Name', DisplayName: 'Group Name', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Group Name' },
|
|
674
|
+
{ Name: 'GroupTypeName', DisplayName: 'Group Type', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Group Type' },
|
|
675
|
+
{ Name: 'GroupTypeId', DisplayName: 'Group Type ID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Group Type ID' },
|
|
676
|
+
],
|
|
677
|
+
},
|
|
678
|
+
{
|
|
679
|
+
Name: 'MemberGroups', DisplayName: 'Member Groups',
|
|
680
|
+
Description: 'Association between members and their group/committee memberships', SupportsWrite: true,
|
|
681
|
+
Fields: [
|
|
682
|
+
{ Name: 'Id', DisplayName: 'Id', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Id' },
|
|
683
|
+
{ Name: 'ProfileID', DisplayName: 'Profile ID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Profile ID' },
|
|
684
|
+
{ Name: 'GroupId', DisplayName: 'Group ID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Group ID' },
|
|
685
|
+
{ Name: 'GroupName', DisplayName: 'Group Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Group Name' },
|
|
686
|
+
{ Name: 'GroupTypeName', DisplayName: 'Group Type', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Group Type' },
|
|
687
|
+
{ Name: 'GroupTypeId', DisplayName: 'Group Type ID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Group Type ID' },
|
|
688
|
+
],
|
|
689
|
+
},
|
|
690
|
+
{
|
|
691
|
+
Name: 'GroupTypes', DisplayName: 'Group Types',
|
|
692
|
+
Description: 'Classification types for groups (e.g., Committee, Chapter, Section)', SupportsWrite: false,
|
|
693
|
+
Fields: [
|
|
694
|
+
{ Name: 'Id', DisplayName: 'Group Type ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Group Type ID' },
|
|
695
|
+
{ Name: 'TypeName', DisplayName: 'Type Name', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Type Name' },
|
|
696
|
+
{ Name: 'SortIndex', DisplayName: 'Sort Index', Type: 'number', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Sort Index' },
|
|
697
|
+
],
|
|
698
|
+
},
|
|
699
|
+
{
|
|
700
|
+
Name: 'MembersGroupsBulk', DisplayName: 'Members Groups Bulk',
|
|
701
|
+
Description: 'Bulk member-to-group assignments with group codes and primary group designation', SupportsWrite: false,
|
|
702
|
+
Fields: [
|
|
703
|
+
{ Name: 'WebSiteMemberID', DisplayName: 'Member ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Member ID' },
|
|
704
|
+
{ Name: 'GroupID', DisplayName: 'Group ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Group ID' },
|
|
705
|
+
{ Name: 'GroupCode', DisplayName: 'Group Code', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Group Code' },
|
|
706
|
+
{ Name: 'GroupName', DisplayName: 'Group Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Group Name' },
|
|
707
|
+
{ Name: 'PrimaryGroup', DisplayName: 'Primary Group', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Primary Group' },
|
|
708
|
+
],
|
|
709
|
+
},
|
|
710
|
+
{
|
|
711
|
+
Name: 'GroupMembershipLogs', DisplayName: 'Group Membership Logs',
|
|
712
|
+
Description: 'Audit trail of group membership changes with member details and timestamps', SupportsWrite: false,
|
|
713
|
+
Fields: [
|
|
714
|
+
{ Name: 'ItemID', DisplayName: 'Item ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Item ID' },
|
|
715
|
+
{ Name: 'ID', DisplayName: 'ID', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ID' },
|
|
716
|
+
{ Name: 'ProfileID', DisplayName: 'Profile ID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Profile ID' },
|
|
717
|
+
{ Name: 'NamePrefix', DisplayName: 'Name Prefix', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Name Prefix' },
|
|
718
|
+
{ Name: 'FirstName', DisplayName: 'First Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'First Name' },
|
|
719
|
+
{ Name: 'MiddleName', DisplayName: 'Middle Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Middle Name' },
|
|
720
|
+
{ Name: 'LastName', DisplayName: 'Last Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Last Name' },
|
|
721
|
+
{ Name: 'Suffix', DisplayName: 'Suffix', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Suffix' },
|
|
722
|
+
{ Name: 'Nickname', DisplayName: 'Nickname', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Nickname' },
|
|
723
|
+
{ Name: 'EmployerName', DisplayName: 'Employer Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Employer Name' },
|
|
724
|
+
{ Name: 'WorkTitle', DisplayName: 'Work Title', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Work Title' },
|
|
725
|
+
{ Name: 'Date', DisplayName: 'Date', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Date' },
|
|
726
|
+
{ Name: 'Description', DisplayName: 'Description', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Description' },
|
|
727
|
+
],
|
|
728
|
+
},
|
|
729
|
+
// ── Certifications ────────────────────────────────────
|
|
730
|
+
{
|
|
731
|
+
Name: 'Certifications', DisplayName: 'Certifications',
|
|
732
|
+
Description: 'Professional certifications and continuing education programs', SupportsWrite: false,
|
|
733
|
+
Fields: [
|
|
734
|
+
{ Name: 'CertificationID', DisplayName: 'Certification ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Certification ID' },
|
|
735
|
+
{ Name: 'ID', DisplayName: 'ID', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ID' },
|
|
736
|
+
{ Name: 'Name', DisplayName: 'Name', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Name' },
|
|
737
|
+
{ Name: 'IsActive', DisplayName: 'Is Active', Type: 'boolean', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Is Active' },
|
|
738
|
+
{ Name: 'CEUsRequired', DisplayName: 'CEUs Required', Type: 'number', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'CEUs Required' },
|
|
739
|
+
{ Name: 'Code', DisplayName: 'Code', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Code' },
|
|
740
|
+
],
|
|
741
|
+
},
|
|
742
|
+
{
|
|
743
|
+
Name: 'CertificationsJournals', DisplayName: 'Certifications Journals',
|
|
744
|
+
Description: 'Continuing education journal entries tracking CEU credits earned by members', SupportsWrite: true,
|
|
745
|
+
Fields: [
|
|
746
|
+
{ Name: 'EntryID', DisplayName: 'Entry ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Entry ID' },
|
|
747
|
+
{ Name: 'CertificationName', DisplayName: 'Certification Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Certification Name' },
|
|
748
|
+
{ Name: 'CEUsEarned', DisplayName: 'CEUs Earned', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CEUs Earned' },
|
|
749
|
+
{ Name: 'EntryDate', DisplayName: 'Entry Date', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Entry Date' },
|
|
750
|
+
{ Name: 'Status', DisplayName: 'Status', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Status' },
|
|
751
|
+
{ Name: 'Description', DisplayName: 'Description', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Description' },
|
|
752
|
+
{ Name: 'WebsiteMemberID', DisplayName: 'Member ID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Member ID' },
|
|
753
|
+
],
|
|
754
|
+
},
|
|
755
|
+
{
|
|
756
|
+
Name: 'CertificationCreditTypes', DisplayName: 'Certification Credit Types',
|
|
757
|
+
Description: 'Types of continuing education credits (e.g., CEU, CPE) with expiration rules', SupportsWrite: false,
|
|
758
|
+
Fields: [
|
|
759
|
+
{ Name: 'ID', DisplayName: 'Credit Type ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Credit Type ID' },
|
|
760
|
+
{ Name: 'Code', DisplayName: 'Code', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Code' },
|
|
761
|
+
{ Name: 'Name', DisplayName: 'Name', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Name' },
|
|
762
|
+
{ Name: 'Description', DisplayName: 'Description', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Description' },
|
|
763
|
+
{ Name: 'IsDefault', DisplayName: 'Is Default', Type: 'boolean', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Is Default' },
|
|
764
|
+
{ Name: 'CreditsExpire', DisplayName: 'Credits Expire', Type: 'boolean', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Credits Expire' },
|
|
765
|
+
],
|
|
766
|
+
},
|
|
767
|
+
// ── Products ──────────────────────────────────────────
|
|
768
|
+
{
|
|
769
|
+
Name: 'Products', DisplayName: 'Products',
|
|
770
|
+
Description: 'Store products available for purchase with pricing, inventory, and tax info', SupportsWrite: false,
|
|
771
|
+
Fields: [
|
|
772
|
+
{ Name: 'id', DisplayName: 'Product ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Product ID' },
|
|
773
|
+
{ Name: 'description', DisplayName: 'Description', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Description' },
|
|
774
|
+
{ Name: 'amount', DisplayName: 'Amount', Type: 'number', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Amount' },
|
|
775
|
+
{ Name: 'weight', DisplayName: 'Weight', Type: 'number', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Weight' },
|
|
776
|
+
{ Name: 'taxRate', DisplayName: 'Tax Rate', Type: 'number', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Tax Rate' },
|
|
777
|
+
{ Name: 'quantity', DisplayName: 'Quantity', Type: 'number', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Quantity' },
|
|
778
|
+
{ Name: 'ProductActive', DisplayName: 'Active', Type: 'boolean', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Active' },
|
|
779
|
+
{ Name: 'IsFeatured', DisplayName: 'Is Featured', Type: 'boolean', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Is Featured' },
|
|
780
|
+
{ Name: 'ListInStore', DisplayName: 'List In Store', Type: 'boolean', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'List In Store' },
|
|
781
|
+
{ Name: 'taxable', DisplayName: 'Taxable', Type: 'boolean', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Taxable' },
|
|
782
|
+
],
|
|
783
|
+
},
|
|
784
|
+
{
|
|
785
|
+
Name: 'ProductCategories', DisplayName: 'Product Categories',
|
|
786
|
+
Description: 'Categories for organizing store products', SupportsWrite: false,
|
|
787
|
+
Fields: [
|
|
788
|
+
{ Name: 'Id', DisplayName: 'Category ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Category ID' },
|
|
789
|
+
{ Name: 'Name', DisplayName: 'Category Name', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Category Name' },
|
|
790
|
+
],
|
|
791
|
+
},
|
|
792
|
+
// ── Marketing ─────────────────────────────────────────
|
|
793
|
+
{
|
|
794
|
+
Name: 'Campaigns', DisplayName: 'Campaigns',
|
|
795
|
+
Description: 'Email marketing campaigns with scheduling, sender, and delivery status', SupportsWrite: true,
|
|
796
|
+
Fields: [
|
|
797
|
+
{ Name: 'Id', DisplayName: 'Id', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Id' },
|
|
798
|
+
{ Name: 'CampaignName', DisplayName: 'Campaign Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Campaign Name' },
|
|
799
|
+
{ Name: 'Subject', DisplayName: 'Subject', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Subject' },
|
|
800
|
+
{ Name: 'SenderEmail', DisplayName: 'Sender Email', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Sender Email' },
|
|
801
|
+
{ Name: 'DateScheduled', DisplayName: 'Date Scheduled', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Date Scheduled' },
|
|
802
|
+
{ Name: 'DateSent', DisplayName: 'Date Sent', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Date Sent' },
|
|
803
|
+
{ Name: 'Status', DisplayName: 'Status', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Status' },
|
|
804
|
+
],
|
|
805
|
+
},
|
|
806
|
+
{
|
|
807
|
+
Name: 'AllCampaigns', DisplayName: 'All Campaigns',
|
|
808
|
+
Description: 'Extended campaign data with scheduling, processing counts, categories, and version info', SupportsWrite: false,
|
|
809
|
+
Fields: [
|
|
810
|
+
{ Name: 'Id', DisplayName: 'Id', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Id' },
|
|
811
|
+
{ Name: 'CampaignName', DisplayName: 'Campaign Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Campaign Name' },
|
|
812
|
+
{ Name: 'Subject', DisplayName: 'Subject', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Subject' },
|
|
813
|
+
{ Name: 'Status', DisplayName: 'Status', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Status' },
|
|
814
|
+
{ Name: 'Category', DisplayName: 'Category', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Category' },
|
|
815
|
+
{ Name: 'Type', DisplayName: 'Type', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Type' },
|
|
816
|
+
{ Name: 'DateScheduled', DisplayName: 'Date Scheduled', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Date Scheduled' },
|
|
817
|
+
{ Name: 'DateSent', DisplayName: 'Date Sent', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Date Sent' },
|
|
818
|
+
{ Name: 'ProcessingCount', DisplayName: 'Processing Count', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Processing Count' },
|
|
819
|
+
],
|
|
820
|
+
},
|
|
821
|
+
{
|
|
822
|
+
Name: 'CampaignEmailLists', DisplayName: 'Campaign Email Lists',
|
|
823
|
+
Description: 'Email distribution lists for campaigns with totals, bounces, and opt-out metrics', SupportsWrite: true,
|
|
824
|
+
Fields: [
|
|
825
|
+
{ Name: 'ListId', DisplayName: 'List ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'List ID' },
|
|
826
|
+
{ Name: 'ListType', DisplayName: 'List Type', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'List Type' },
|
|
827
|
+
{ Name: 'ListSize', DisplayName: 'List Size', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'List Size' },
|
|
828
|
+
{ Name: 'ListName', DisplayName: 'List Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'List Name' },
|
|
829
|
+
{ Name: 'ListArea', DisplayName: 'List Area', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'List Area' },
|
|
830
|
+
{ Name: 'DateCreated', DisplayName: 'Date Created', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Date Created' },
|
|
831
|
+
{ Name: 'DateModified', DisplayName: 'Date Modified', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Date Modified' },
|
|
832
|
+
{ Name: 'DateLastUpdated', DisplayName: 'Date Last Updated', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Date Last Updated' },
|
|
833
|
+
],
|
|
834
|
+
},
|
|
835
|
+
{
|
|
836
|
+
Name: 'Announcements', DisplayName: 'Announcements',
|
|
837
|
+
Description: 'Admin announcements with title, text, publication dates, and active status', SupportsWrite: true,
|
|
838
|
+
Fields: [
|
|
839
|
+
{ Name: 'AnnouncementId', DisplayName: 'Announcement ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Announcement ID' },
|
|
840
|
+
{ Name: 'Title', DisplayName: 'Title', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Title' },
|
|
841
|
+
{ Name: 'Text', DisplayName: 'Text', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Text' },
|
|
842
|
+
{ Name: 'StartDate', DisplayName: 'Start Date', Type: 'datetime', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Start Date' },
|
|
843
|
+
{ Name: 'EndDate', DisplayName: 'End Date', Type: 'datetime', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'End Date' },
|
|
844
|
+
{ Name: 'Active', DisplayName: 'Active', Type: 'boolean', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Active' },
|
|
845
|
+
],
|
|
846
|
+
},
|
|
847
|
+
{
|
|
848
|
+
Name: 'EmailSuppressionList', DisplayName: 'Email Suppression List',
|
|
849
|
+
Description: 'Email addresses suppressed from delivery with bounce counts and health rates', SupportsWrite: false,
|
|
850
|
+
Fields: [
|
|
851
|
+
{ Name: 'EmailAddress', DisplayName: 'EmailAddress', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'EmailAddress' },
|
|
852
|
+
{ Name: 'SuppressionType', DisplayName: 'Suppression Type', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Suppression Type' },
|
|
853
|
+
{ Name: 'BounceCount', DisplayName: 'Bounce Count', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Bounce Count' },
|
|
854
|
+
{ Name: 'HealthRate', DisplayName: 'Health Rate', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Health Rate' },
|
|
855
|
+
],
|
|
856
|
+
},
|
|
857
|
+
{
|
|
858
|
+
Name: 'SponsorRotators', DisplayName: 'Sponsor Rotators',
|
|
859
|
+
Description: 'Sponsor advertisement rotator configurations with display settings', SupportsWrite: false,
|
|
860
|
+
Fields: [
|
|
861
|
+
{ Name: 'RotatorId', DisplayName: 'Rotator ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Rotator ID' },
|
|
862
|
+
{ Name: 'AutoScroll', DisplayName: 'Auto Scroll', Type: 'boolean', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Auto Scroll' },
|
|
863
|
+
{ Name: 'Random', DisplayName: 'Random', Type: 'boolean', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Random' },
|
|
864
|
+
{ Name: 'DateAdded', DisplayName: 'Date Added', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Date Added' },
|
|
865
|
+
{ Name: 'Mode', DisplayName: 'Mode', Type: 'number', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Mode' },
|
|
866
|
+
{ Name: 'Orientation', DisplayName: 'Orientation', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Orientation' },
|
|
867
|
+
{ Name: 'SchoolId', DisplayName: 'School ID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'School ID' },
|
|
868
|
+
{ Name: 'Speed', DisplayName: 'Speed', Type: 'number', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Speed' },
|
|
869
|
+
{ Name: 'Title', DisplayName: 'Title', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Title' },
|
|
870
|
+
{ Name: 'ClientId', DisplayName: 'Client ID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Client ID' },
|
|
871
|
+
{ Name: 'Heading', DisplayName: 'Heading', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Heading' },
|
|
872
|
+
{ Name: 'Height', DisplayName: 'Height', Type: 'number', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Height' },
|
|
873
|
+
],
|
|
874
|
+
},
|
|
875
|
+
// ── Engagement ────────────────────────────────────────
|
|
876
|
+
{
|
|
877
|
+
Name: 'Connections', DisplayName: 'Connections',
|
|
878
|
+
Description: 'Networking connections between members including contact info and connection status', SupportsWrite: true,
|
|
879
|
+
Fields: [
|
|
880
|
+
{ Name: 'ConnectionId', DisplayName: 'Connection ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Connection ID' },
|
|
881
|
+
{ Name: 'ProfileID', DisplayName: 'Profile ID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Profile ID' },
|
|
882
|
+
{ Name: 'FirstName', DisplayName: 'First Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'First Name' },
|
|
883
|
+
{ Name: 'LastName', DisplayName: 'Last Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Last Name' },
|
|
884
|
+
{ Name: 'Organization', DisplayName: 'Organization', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Organization' },
|
|
885
|
+
{ Name: 'WorkTitle', DisplayName: 'Work Title', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Work Title' },
|
|
70
886
|
{ Name: 'City', DisplayName: 'City', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'City' },
|
|
71
|
-
{ Name: 'State', DisplayName: 'State', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'State
|
|
72
|
-
{ Name: '
|
|
887
|
+
{ Name: 'State', DisplayName: 'State', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'State' },
|
|
888
|
+
{ Name: 'Email', DisplayName: 'Email', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Email' },
|
|
889
|
+
{ Name: 'Status', DisplayName: 'Status', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Status' },
|
|
890
|
+
],
|
|
891
|
+
},
|
|
892
|
+
{
|
|
893
|
+
Name: 'EngagementScores', DisplayName: 'Engagement Scores',
|
|
894
|
+
Description: 'Member engagement scoring metrics tracking participation and activity levels', SupportsWrite: true,
|
|
895
|
+
Fields: [
|
|
896
|
+
{ Name: 'ProfileID', DisplayName: 'Profile ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Profile ID' },
|
|
897
|
+
{ Name: 'EngagementScore', DisplayName: 'Engagement Score', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Engagement Score' },
|
|
898
|
+
{ Name: 'LastUpdated', DisplayName: 'Last Updated', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Last Updated' },
|
|
899
|
+
],
|
|
900
|
+
},
|
|
901
|
+
{
|
|
902
|
+
Name: 'MemberReferrals', DisplayName: 'Member Referrals',
|
|
903
|
+
Description: 'Member-to-member referral tracking records', SupportsWrite: false,
|
|
904
|
+
Fields: [
|
|
905
|
+
{ Name: 'ReferralId', DisplayName: 'Referral ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Referral ID' },
|
|
906
|
+
{ Name: 'ReferrerID', DisplayName: 'Referrer Member ID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Referrer Member ID' },
|
|
907
|
+
{ Name: 'ReferredID', DisplayName: 'Referred Member ID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Referred Member ID' },
|
|
908
|
+
{ Name: 'ReferralDate', DisplayName: 'Referral Date', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Referral Date' },
|
|
909
|
+
{ Name: 'Status', DisplayName: 'Status', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Status' },
|
|
910
|
+
],
|
|
911
|
+
},
|
|
912
|
+
{
|
|
913
|
+
Name: 'MemberNetworks', DisplayName: 'Member Networks',
|
|
914
|
+
Description: 'Social network profile links for members (LinkedIn, Twitter, etc.)', SupportsWrite: false,
|
|
915
|
+
Fields: [
|
|
916
|
+
{ Name: 'NetworkId', DisplayName: 'Network ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Network ID' },
|
|
917
|
+
{ Name: 'ProfileID', DisplayName: 'Profile ID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Profile ID' },
|
|
918
|
+
{ Name: 'NetworkType', DisplayName: 'Network Type', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Network Type' },
|
|
919
|
+
{ Name: 'ProfileUrl', DisplayName: 'Profile URL', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Profile URL' },
|
|
920
|
+
],
|
|
921
|
+
},
|
|
922
|
+
{
|
|
923
|
+
Name: 'MemberFavorites', DisplayName: 'Member Favorites',
|
|
924
|
+
Description: 'Bookmarked/favorited items per member for personalization tracking', SupportsWrite: false,
|
|
925
|
+
Fields: [
|
|
926
|
+
{ Name: 'FavoriteId', DisplayName: 'Favorite ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Favorite ID' },
|
|
927
|
+
{ Name: 'ProfileID', DisplayName: 'Profile ID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Profile ID' },
|
|
928
|
+
{ Name: 'ItemType', DisplayName: 'Item Type', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Item Type' },
|
|
929
|
+
{ Name: 'ItemId', DisplayName: 'Item ID', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Item ID' },
|
|
930
|
+
{ Name: 'DateAdded', DisplayName: 'Date Added', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Date Added' },
|
|
931
|
+
],
|
|
932
|
+
},
|
|
933
|
+
// ── Reference ─────────────────────────────────────────
|
|
934
|
+
{
|
|
935
|
+
Name: 'Countries', DisplayName: 'Countries',
|
|
936
|
+
Description: 'Country reference list with default country designation', SupportsWrite: false,
|
|
937
|
+
Fields: [
|
|
938
|
+
{ Name: 'countryId', DisplayName: 'Country ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Country ID' },
|
|
939
|
+
{ Name: 'countryName', DisplayName: 'Country Name', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Country Name' },
|
|
940
|
+
{ Name: 'countryCode', DisplayName: 'Country Code', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Country Code' },
|
|
941
|
+
],
|
|
942
|
+
},
|
|
943
|
+
{
|
|
944
|
+
Name: 'Locations', DisplayName: 'Locations',
|
|
945
|
+
Description: 'States, provinces, and regions within countries with tax GL codes', SupportsWrite: false,
|
|
946
|
+
Fields: [
|
|
947
|
+
{ Name: 'locationCode', DisplayName: 'Location Code', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Location Code (filled with locationName when absent in the API response)' },
|
|
948
|
+
{ Name: 'countryId', DisplayName: 'Country ID', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Country ID' },
|
|
949
|
+
{ Name: 'locationName', DisplayName: 'Location Name', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Location Name' },
|
|
950
|
+
{ Name: 'taxGLCode', DisplayName: 'Tax GL Code', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Tax GL Code' },
|
|
951
|
+
{ Name: 'taxQBClass', DisplayName: 'Tax QB Class', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Tax QB Class' },
|
|
952
|
+
],
|
|
953
|
+
},
|
|
954
|
+
{
|
|
955
|
+
Name: 'ShippingMethods', DisplayName: 'Shipping Methods',
|
|
956
|
+
Description: 'Shipping method definitions with base pricing and weight-based rates', SupportsWrite: false,
|
|
957
|
+
Fields: [
|
|
958
|
+
{ Name: 'id', DisplayName: 'Shipping Method ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Shipping Method ID' },
|
|
959
|
+
{ Name: 'method', DisplayName: 'Method Name', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Method Name' },
|
|
960
|
+
{ Name: 'basePrice', DisplayName: 'Base Price', Type: 'number', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Base Price' },
|
|
961
|
+
{ Name: 'pricePerWeightUnit', DisplayName: 'Price Per Weight Unit', Type: 'number', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Price Per Weight Unit' },
|
|
962
|
+
{ Name: 'isDefault', DisplayName: 'Is Default', Type: 'boolean', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'Is Default' },
|
|
963
|
+
],
|
|
964
|
+
},
|
|
965
|
+
{
|
|
966
|
+
Name: 'PaymentProcessors', DisplayName: 'Payment Processors',
|
|
967
|
+
Description: 'Configured payment processors with active/primary status and card order types', SupportsWrite: false,
|
|
968
|
+
Fields: [
|
|
969
|
+
{ Name: 'Id', DisplayName: 'Processor ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Processor ID' },
|
|
970
|
+
{ Name: 'Name', DisplayName: 'Processor Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Processor Name' },
|
|
971
|
+
{ Name: 'Active', DisplayName: 'Active', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Active' },
|
|
972
|
+
{ Name: 'Primary', DisplayName: 'Primary', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Primary' },
|
|
973
|
+
{ Name: 'CardOrderType', DisplayName: 'Card Order Type', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Card Order Type' },
|
|
974
|
+
],
|
|
975
|
+
},
|
|
976
|
+
{
|
|
977
|
+
Name: 'CustomTaxLocations', DisplayName: 'Custom Tax Locations',
|
|
978
|
+
Description: 'Locations with custom tax rate overrides for commerce transactions', SupportsWrite: false,
|
|
979
|
+
Fields: [
|
|
980
|
+
{ Name: 'Id', DisplayName: 'Tax Location ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Tax Location ID' },
|
|
981
|
+
{ Name: 'CountryLabel', DisplayName: 'Country', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Country' },
|
|
982
|
+
{ Name: 'Location', DisplayName: 'Location', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Location' },
|
|
983
|
+
{ Name: 'TaxRate', DisplayName: 'Tax Rate', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Tax Rate' },
|
|
984
|
+
],
|
|
985
|
+
},
|
|
986
|
+
{
|
|
987
|
+
Name: 'QBClasses', DisplayName: 'QB Classes',
|
|
988
|
+
Description: 'QuickBooks class definitions for accounting integration and financial categorization', SupportsWrite: false,
|
|
989
|
+
Fields: [
|
|
990
|
+
{ Name: 'Id', DisplayName: 'QB Class ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'QB Class ID' },
|
|
991
|
+
{ Name: 'Name', DisplayName: 'QB Class Name', Type: 'string', IsRequired: false, IsReadOnly: false, IsPrimaryKey: false, Description: 'QB Class Name' },
|
|
992
|
+
],
|
|
993
|
+
},
|
|
994
|
+
{
|
|
995
|
+
Name: 'TimeZones', DisplayName: 'Time Zones',
|
|
996
|
+
Description: 'Time zone reference data with GMT offsets and display names', SupportsWrite: false,
|
|
997
|
+
Fields: [
|
|
998
|
+
{ Name: 'fullName', DisplayName: 'Full Name', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Full Name' },
|
|
999
|
+
{ Name: 'gmtOffset', DisplayName: 'GMT Offset', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'GMT Offset' },
|
|
1000
|
+
],
|
|
1001
|
+
},
|
|
1002
|
+
// ── Careers ───────────────────────────────────────────
|
|
1003
|
+
{
|
|
1004
|
+
Name: 'CareerOpenings', DisplayName: 'Career Openings',
|
|
1005
|
+
Description: 'Job board postings with position, organization, salary, and contact details', SupportsWrite: false,
|
|
1006
|
+
Fields: [
|
|
1007
|
+
{ Name: 'Id', DisplayName: 'Id', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Id' },
|
|
1008
|
+
{ Name: 'Position', DisplayName: 'Position', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Position' },
|
|
1009
|
+
{ Name: 'Organization', DisplayName: 'Organization', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Organization' },
|
|
1010
|
+
{ Name: 'City', DisplayName: 'City', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'City' },
|
|
1011
|
+
{ Name: 'State', DisplayName: 'State', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'State' },
|
|
1012
|
+
{ Name: 'Salary', DisplayName: 'Salary', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Salary' },
|
|
1013
|
+
{ Name: 'DatePosted', DisplayName: 'Date Posted', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Date Posted' },
|
|
1014
|
+
{ Name: 'Description', DisplayName: 'Description', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Description' },
|
|
1015
|
+
{ Name: 'ContactEmail', DisplayName: 'Contact Email', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Contact Email' },
|
|
1016
|
+
],
|
|
1017
|
+
},
|
|
1018
|
+
// ── Other ─────────────────────────────────────────────
|
|
1019
|
+
{
|
|
1020
|
+
Name: 'Ambassadors', DisplayName: 'Ambassadors',
|
|
1021
|
+
Description: 'YourMembership Ambassadors data', SupportsWrite: true,
|
|
1022
|
+
Fields: [
|
|
1023
|
+
{ Name: 'Id', DisplayName: 'Id', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Id' },
|
|
1024
|
+
{ Name: 'FirstName', DisplayName: 'FirstName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FirstName' },
|
|
1025
|
+
{ Name: 'LastName', DisplayName: 'LastName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LastName' },
|
|
1026
|
+
{ Name: 'HeadShotImage', DisplayName: 'HeadShotImage', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'HeadShotImage' },
|
|
1027
|
+
{ Name: 'DisplayName', DisplayName: 'DisplayName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'DisplayName' },
|
|
1028
|
+
{ Name: 'MemberType', DisplayName: 'MemberType', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'MemberType' },
|
|
1029
|
+
{ Name: 'WorkTitle', DisplayName: 'WorkTitle', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'WorkTitle' },
|
|
1030
|
+
{ Name: 'Rank', DisplayName: 'Rank', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Rank' },
|
|
1031
|
+
{ Name: 'LatestActivity', DisplayName: 'LatestActivity', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LatestActivity' },
|
|
1032
|
+
],
|
|
1033
|
+
},
|
|
1034
|
+
{
|
|
1035
|
+
Name: 'CampaignEmailListDuplicates', DisplayName: 'CampaignEmailListDuplicates',
|
|
1036
|
+
Description: 'YourMembership CampaignEmailListDuplicates data', SupportsWrite: false,
|
|
1037
|
+
Fields: [
|
|
1038
|
+
{ Name: 'ItemId', DisplayName: 'ItemId', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ItemId' },
|
|
1039
|
+
{ Name: 'MemberId', DisplayName: 'MemberId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'MemberId' },
|
|
1040
|
+
{ Name: 'FirstName', DisplayName: 'FirstName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FirstName' },
|
|
1041
|
+
{ Name: 'LastName', DisplayName: 'LastName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LastName' },
|
|
1042
|
+
{ Name: 'Email', DisplayName: 'Email', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Email' },
|
|
1043
|
+
],
|
|
1044
|
+
},
|
|
1045
|
+
{
|
|
1046
|
+
Name: 'CampaignReports', DisplayName: 'CampaignReports',
|
|
1047
|
+
Description: 'YourMembership CampaignReports data', SupportsWrite: false,
|
|
1048
|
+
Fields: [
|
|
1049
|
+
{ Name: 'Date', DisplayName: 'Date', Type: 'datetime', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Date' },
|
|
1050
|
+
{ Name: 'ListSize', DisplayName: 'ListSize', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ListSize' },
|
|
1051
|
+
{ Name: 'Process', DisplayName: 'Process', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Process' },
|
|
1052
|
+
{ Name: 'Send', DisplayName: 'Send', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Send' },
|
|
1053
|
+
{ Name: 'Delivery', DisplayName: 'Delivery', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Delivery' },
|
|
1054
|
+
{ Name: 'Open', DisplayName: 'Open', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Open' },
|
|
1055
|
+
{ Name: 'OpenUnique', DisplayName: 'OpenUnique', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'OpenUnique' },
|
|
1056
|
+
{ Name: 'Click', DisplayName: 'Click', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Click' },
|
|
1057
|
+
{ Name: 'ClickUnique', DisplayName: 'ClickUnique', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ClickUnique' },
|
|
1058
|
+
{ Name: 'HardBounce', DisplayName: 'HardBounce', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'HardBounce' },
|
|
1059
|
+
{ Name: 'SoftBounce', DisplayName: 'SoftBounce', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'SoftBounce' },
|
|
1060
|
+
{ Name: 'Complaint', DisplayName: 'Complaint', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Complaint' },
|
|
1061
|
+
{ Name: 'CategoryOptOut', DisplayName: 'CategoryOptOut', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CategoryOptOut' },
|
|
1062
|
+
{ Name: 'EmailOptOut', DisplayName: 'EmailOptOut', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'EmailOptOut' },
|
|
1063
|
+
{ Name: 'SuppressHardBounce', DisplayName: 'SuppressHardBounce', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'SuppressHardBounce' },
|
|
1064
|
+
{ Name: 'SuppressCategoryOptOut', DisplayName: 'SuppressCategoryOptOut', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'SuppressCategoryOptOut' },
|
|
1065
|
+
{ Name: 'SuppressEmailOptOut', DisplayName: 'SuppressEmailOptOut', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'SuppressEmailOptOut' },
|
|
1066
|
+
{ Name: 'SuppressComplaint', DisplayName: 'SuppressComplaint', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'SuppressComplaint' },
|
|
1067
|
+
{ Name: 'Fail', DisplayName: 'Fail', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Fail' },
|
|
1068
|
+
{ Name: 'Reject', DisplayName: 'Reject', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Reject' },
|
|
1069
|
+
{ Name: 'NotOpen', DisplayName: 'NotOpen', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'NotOpen' },
|
|
1070
|
+
{ Name: 'NotSend', DisplayName: 'NotSend', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'NotSend' },
|
|
1071
|
+
{ Name: 'Accountability', DisplayName: 'Accountability', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Accountability' },
|
|
1072
|
+
{ Name: 'EngagementScore', DisplayName: 'EngagementScore', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'EngagementScore' },
|
|
1073
|
+
{ Name: 'SuccessRate', DisplayName: 'SuccessRate', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'SuccessRate' },
|
|
1074
|
+
],
|
|
1075
|
+
},
|
|
1076
|
+
{
|
|
1077
|
+
Name: 'CampaignReports_DailyRate', DisplayName: 'CampaignReports_DailyRate',
|
|
1078
|
+
Description: 'YourMembership CampaignReports_DailyRate data', SupportsWrite: false,
|
|
1079
|
+
Fields: [
|
|
1080
|
+
{ Name: 'Date', DisplayName: 'Date', Type: 'datetime', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Date' },
|
|
1081
|
+
{ Name: 'ListSize', DisplayName: 'ListSize', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ListSize' },
|
|
1082
|
+
{ Name: 'Process', DisplayName: 'Process', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Process' },
|
|
1083
|
+
{ Name: 'Send', DisplayName: 'Send', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Send' },
|
|
1084
|
+
{ Name: 'Delivery', DisplayName: 'Delivery', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Delivery' },
|
|
1085
|
+
{ Name: 'Open', DisplayName: 'Open', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Open' },
|
|
1086
|
+
{ Name: 'OpenUnique', DisplayName: 'OpenUnique', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'OpenUnique' },
|
|
1087
|
+
{ Name: 'Click', DisplayName: 'Click', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Click' },
|
|
1088
|
+
{ Name: 'ClickUnique', DisplayName: 'ClickUnique', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ClickUnique' },
|
|
1089
|
+
{ Name: 'HardBounce', DisplayName: 'HardBounce', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'HardBounce' },
|
|
1090
|
+
{ Name: 'SoftBounce', DisplayName: 'SoftBounce', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'SoftBounce' },
|
|
1091
|
+
{ Name: 'Complaint', DisplayName: 'Complaint', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Complaint' },
|
|
1092
|
+
{ Name: 'CategoryOptOut', DisplayName: 'CategoryOptOut', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CategoryOptOut' },
|
|
1093
|
+
{ Name: 'EmailOptOut', DisplayName: 'EmailOptOut', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'EmailOptOut' },
|
|
1094
|
+
{ Name: 'SuppressHardBounce', DisplayName: 'SuppressHardBounce', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'SuppressHardBounce' },
|
|
1095
|
+
{ Name: 'SuppressCategoryOptOut', DisplayName: 'SuppressCategoryOptOut', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'SuppressCategoryOptOut' },
|
|
1096
|
+
{ Name: 'SuppressEmailOptOut', DisplayName: 'SuppressEmailOptOut', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'SuppressEmailOptOut' },
|
|
1097
|
+
{ Name: 'SuppressComplaint', DisplayName: 'SuppressComplaint', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'SuppressComplaint' },
|
|
1098
|
+
{ Name: 'Fail', DisplayName: 'Fail', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Fail' },
|
|
1099
|
+
{ Name: 'Reject', DisplayName: 'Reject', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Reject' },
|
|
1100
|
+
{ Name: 'NotOpen', DisplayName: 'NotOpen', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'NotOpen' },
|
|
1101
|
+
{ Name: 'NotSend', DisplayName: 'NotSend', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'NotSend' },
|
|
1102
|
+
{ Name: 'Accountability', DisplayName: 'Accountability', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Accountability' },
|
|
1103
|
+
{ Name: 'EngagementScore', DisplayName: 'EngagementScore', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'EngagementScore' },
|
|
1104
|
+
{ Name: 'SuccessRate', DisplayName: 'SuccessRate', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'SuccessRate' },
|
|
1105
|
+
],
|
|
1106
|
+
},
|
|
1107
|
+
{
|
|
1108
|
+
Name: 'CampaignReports_MessageActivity', DisplayName: 'CampaignReports_MessageActivity',
|
|
1109
|
+
Description: 'YourMembership CampaignReports_MessageActivity data', SupportsWrite: false,
|
|
1110
|
+
Fields: [
|
|
1111
|
+
{ Name: 'TypeId', DisplayName: 'TypeId', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'TypeId' },
|
|
1112
|
+
{ Name: 'Name', DisplayName: 'Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Name' },
|
|
1113
|
+
{ Name: 'Date', DisplayName: 'Date', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Date' },
|
|
1114
|
+
],
|
|
1115
|
+
},
|
|
1116
|
+
{
|
|
1117
|
+
Name: 'CampaignReports_Messages', DisplayName: 'CampaignReports_Messages',
|
|
1118
|
+
Description: 'YourMembership CampaignReports_Messages data', SupportsWrite: false,
|
|
1119
|
+
Fields: [
|
|
1120
|
+
{ Name: 'MemberId', DisplayName: 'MemberId', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'MemberId' },
|
|
1121
|
+
{ Name: 'FirstName', DisplayName: 'FirstName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FirstName' },
|
|
1122
|
+
{ Name: 'LastName', DisplayName: 'LastName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LastName' },
|
|
1123
|
+
{ Name: 'Email', DisplayName: 'Email', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Email' },
|
|
1124
|
+
{ Name: 'MessageGuid', DisplayName: 'MessageGuid', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'MessageGuid' },
|
|
1125
|
+
{ Name: 'Activity', DisplayName: 'Activity', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Activity' },
|
|
1126
|
+
],
|
|
1127
|
+
},
|
|
1128
|
+
{
|
|
1129
|
+
Name: 'CommunityPhotos', DisplayName: 'CommunityPhotos',
|
|
1130
|
+
Description: 'YourMembership CommunityPhotos data', SupportsWrite: true,
|
|
1131
|
+
Fields: [
|
|
1132
|
+
{ Name: 'CommentID', DisplayName: 'CommentID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'CommentID' },
|
|
1133
|
+
{ Name: 'CdbID', DisplayName: 'CdbID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CdbID' },
|
|
1134
|
+
{ Name: 'Posted', DisplayName: 'Posted', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Posted' },
|
|
1135
|
+
{ Name: 'PostedUTC', DisplayName: 'PostedUTC', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostedUTC' },
|
|
1136
|
+
{ Name: 'GalleryItemID', DisplayName: 'GalleryItemID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'GalleryItemID' },
|
|
1137
|
+
{ Name: 'SchoolID', DisplayName: 'SchoolID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'SchoolID' },
|
|
1138
|
+
{ Name: 'Comment', DisplayName: 'Comment', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Comment' },
|
|
1139
|
+
{ Name: 'PostedBy', DisplayName: 'PostedBy', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostedBy' },
|
|
1140
|
+
{ Name: 'PostedByMugshot', DisplayName: 'PostedByMugshot', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostedByMugshot' },
|
|
1141
|
+
{ Name: 'PostedDate', DisplayName: 'PostedDate', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostedDate' },
|
|
1142
|
+
{ Name: 'GroupID', DisplayName: 'GroupID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'GroupID' },
|
|
1143
|
+
{ Name: 'IsOwner', DisplayName: 'IsOwner', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsOwner' },
|
|
1144
|
+
{ Name: 'LikeID', DisplayName: 'LikeID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LikeID' },
|
|
1145
|
+
{ Name: 'LikedComment', DisplayName: 'LikedComment', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LikedComment' },
|
|
1146
|
+
{ Name: 'LikeCount', DisplayName: 'LikeCount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LikeCount' },
|
|
1147
|
+
{ Name: 'SkipCrossPost', DisplayName: 'SkipCrossPost', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'SkipCrossPost' },
|
|
1148
|
+
],
|
|
1149
|
+
},
|
|
1150
|
+
{
|
|
1151
|
+
Name: 'ConnectionCategoryList', DisplayName: 'ConnectionCategoryList',
|
|
1152
|
+
Description: 'YourMembership ConnectionCategoryList data', SupportsWrite: false,
|
|
1153
|
+
Fields: [
|
|
1154
|
+
{ Name: 'CategoryID', DisplayName: 'CategoryID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'CategoryID' },
|
|
1155
|
+
{ Name: 'Name', DisplayName: 'Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Name' },
|
|
1156
|
+
{ Name: 'IndexType', DisplayName: 'IndexType', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IndexType' },
|
|
1157
|
+
],
|
|
1158
|
+
},
|
|
1159
|
+
{
|
|
1160
|
+
Name: 'ConnectionSuggestions', DisplayName: 'ConnectionSuggestions',
|
|
1161
|
+
Description: 'YourMembership ConnectionSuggestions data', SupportsWrite: false,
|
|
1162
|
+
Fields: [
|
|
1163
|
+
{ Name: 'ConnectionStatus', DisplayName: 'ConnectionStatus', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ConnectionStatus' },
|
|
1164
|
+
{ Name: 'ConnectionId', DisplayName: 'ConnectionId', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ConnectionId' },
|
|
1165
|
+
{ Name: 'FirstName', DisplayName: 'FirstName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FirstName' },
|
|
1166
|
+
{ Name: 'LastName', DisplayName: 'LastName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LastName' },
|
|
1167
|
+
{ Name: 'ConnectionName', DisplayName: 'ConnectionName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ConnectionName' },
|
|
1168
|
+
{ Name: 'Organization', DisplayName: 'Organization', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Organization' },
|
|
1169
|
+
{ Name: 'HeadShotImage', DisplayName: 'HeadShotImage', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'HeadShotImage' },
|
|
1170
|
+
{ Name: 'WorkTitle', DisplayName: 'WorkTitle', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'WorkTitle' },
|
|
1171
|
+
{ Name: 'MemberType', DisplayName: 'MemberType', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'MemberType' },
|
|
1172
|
+
{ Name: 'City', DisplayName: 'City', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'City' },
|
|
1173
|
+
{ Name: 'State', DisplayName: 'State', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'State' },
|
|
1174
|
+
{ Name: 'Location', DisplayName: 'Location', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Location' },
|
|
1175
|
+
{ Name: 'Country', DisplayName: 'Country', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Country' },
|
|
1176
|
+
{ Name: 'Shared', DisplayName: 'Shared', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Shared' },
|
|
1177
|
+
{ Name: 'Email', DisplayName: 'Email', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Email' },
|
|
1178
|
+
{ Name: 'PhoneLabel', DisplayName: 'PhoneLabel', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PhoneLabel' },
|
|
1179
|
+
{ Name: 'PhoneAreaCode', DisplayName: 'PhoneAreaCode', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PhoneAreaCode' },
|
|
1180
|
+
{ Name: 'PhoneNumber', DisplayName: 'PhoneNumber', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PhoneNumber' },
|
|
1181
|
+
{ Name: 'FaxLabel', DisplayName: 'FaxLabel', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FaxLabel' },
|
|
1182
|
+
{ Name: 'FaxAreaCode', DisplayName: 'FaxAreaCode', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FaxAreaCode' },
|
|
1183
|
+
{ Name: 'FaxNumber', DisplayName: 'FaxNumber', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FaxNumber' },
|
|
1184
|
+
{ Name: 'CanShow', DisplayName: 'CanShow', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CanShow' },
|
|
1185
|
+
{ Name: 'intCategoryID', DisplayName: 'intCategoryID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'intCategoryID' },
|
|
1186
|
+
{ Name: 'IsAmbassador', DisplayName: 'IsAmbassador', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsAmbassador' },
|
|
1187
|
+
],
|
|
1188
|
+
},
|
|
1189
|
+
{
|
|
1190
|
+
Name: 'ContentAreaCustomMacros', DisplayName: 'ContentAreaCustomMacros',
|
|
1191
|
+
Description: 'YourMembership ContentAreaCustomMacros data', SupportsWrite: false,
|
|
1192
|
+
Fields: [
|
|
1193
|
+
{ Name: 'Label', DisplayName: 'Label', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Label' },
|
|
1194
|
+
{ Name: 'Description', DisplayName: 'Description', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Description' },
|
|
1195
|
+
{ Name: 'Code', DisplayName: 'Code', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Code' },
|
|
1196
|
+
],
|
|
1197
|
+
},
|
|
1198
|
+
{
|
|
1199
|
+
Name: 'ContentAreaVersions', DisplayName: 'ContentAreaVersions',
|
|
1200
|
+
Description: 'YourMembership ContentAreaVersions data', SupportsWrite: false,
|
|
1201
|
+
Fields: [
|
|
1202
|
+
{ Name: 'VersionID', DisplayName: 'VersionID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'VersionID' },
|
|
1203
|
+
{ Name: 'EditorName', DisplayName: 'EditorName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'EditorName' },
|
|
1204
|
+
{ Name: 'Title', DisplayName: 'Title', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Title' },
|
|
1205
|
+
{ Name: 'Body', DisplayName: 'Body', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Body' },
|
|
1206
|
+
{ Name: 'Label', DisplayName: 'Label', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Label' },
|
|
1207
|
+
{ Name: 'Notes', DisplayName: 'Notes', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Notes' },
|
|
1208
|
+
{ Name: 'LastModifiedDate', DisplayName: 'LastModifiedDate', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LastModifiedDate' },
|
|
1209
|
+
{ Name: 'Status', DisplayName: 'Status', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Status' },
|
|
1210
|
+
],
|
|
1211
|
+
},
|
|
1212
|
+
{
|
|
1213
|
+
Name: 'CustomFormFields', DisplayName: 'CustomFormFields',
|
|
1214
|
+
Description: 'YourMembership CustomFormFields data', SupportsWrite: false,
|
|
1215
|
+
Fields: [
|
|
1216
|
+
{ Name: 'Label', DisplayName: 'Label', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Label' },
|
|
1217
|
+
{ Name: 'ID', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' },
|
|
1218
|
+
{ Name: 'ListItems', DisplayName: 'ListItems', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ListItems' },
|
|
1219
|
+
{ Name: 'FieldType', DisplayName: 'FieldType', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FieldType' },
|
|
1220
|
+
{ Name: 'DataType', DisplayName: 'DataType', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'DataType' },
|
|
1221
|
+
{ Name: 'InputRows', DisplayName: 'InputRows', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'InputRows' },
|
|
1222
|
+
{ Name: 'MaxLen', DisplayName: 'MaxLen', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'MaxLen' },
|
|
1223
|
+
{ Name: 'Required', DisplayName: 'Required', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Required' },
|
|
1224
|
+
{ Name: 'FullRow', DisplayName: 'FullRow', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FullRow' },
|
|
1225
|
+
{ Name: 'Description', DisplayName: 'Description', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Description' },
|
|
1226
|
+
{ Name: 'IsVisibleToPublic', DisplayName: 'IsVisibleToPublic', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsVisibleToPublic' },
|
|
1227
|
+
],
|
|
1228
|
+
},
|
|
1229
|
+
{
|
|
1230
|
+
Name: 'CustomPageCrossLinks', DisplayName: 'CustomPageCrossLinks',
|
|
1231
|
+
Description: 'YourMembership CustomPageCrossLinks data', SupportsWrite: false,
|
|
1232
|
+
Fields: [
|
|
1233
|
+
{ Name: 'PageID', DisplayName: 'PageID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'PageID' },
|
|
1234
|
+
{ Name: 'PageName', DisplayName: 'PageName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PageName' },
|
|
1235
|
+
{ Name: 'Selected', DisplayName: 'Selected', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Selected' },
|
|
1236
|
+
],
|
|
1237
|
+
},
|
|
1238
|
+
{
|
|
1239
|
+
Name: 'CustomPageFeatures', DisplayName: 'CustomPageFeatures',
|
|
1240
|
+
Description: 'YourMembership CustomPageFeatures data', SupportsWrite: false,
|
|
1241
|
+
Fields: [
|
|
1242
|
+
{ Name: 'ID', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' },
|
|
1243
|
+
{ Name: 'Visible', DisplayName: 'Visible', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Visible' },
|
|
1244
|
+
{ Name: 'DefaultValue', DisplayName: 'DefaultValue', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'DefaultValue' },
|
|
1245
|
+
],
|
|
1246
|
+
},
|
|
1247
|
+
{
|
|
1248
|
+
Name: 'CustomPageForms', DisplayName: 'CustomPageForms',
|
|
1249
|
+
Description: 'YourMembership CustomPageForms data', SupportsWrite: false,
|
|
1250
|
+
Fields: [
|
|
1251
|
+
{ Name: 'FormID', DisplayName: 'FormID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'FormID' },
|
|
1252
|
+
{ Name: 'FormName', DisplayName: 'FormName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FormName' },
|
|
1253
|
+
{ Name: 'AutoApproveNewSubmissions', DisplayName: 'AutoApproveNewSubmissions', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'AutoApproveNewSubmissions' },
|
|
1254
|
+
],
|
|
1255
|
+
},
|
|
1256
|
+
{
|
|
1257
|
+
Name: 'CustomPageMemberTypes', DisplayName: 'CustomPageMemberTypes',
|
|
1258
|
+
Description: 'YourMembership CustomPageMemberTypes data', SupportsWrite: false,
|
|
1259
|
+
Fields: [
|
|
1260
|
+
{ Name: 'TypeID', DisplayName: 'TypeID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'TypeID' },
|
|
1261
|
+
{ Name: 'TypeName', DisplayName: 'TypeName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'TypeName' },
|
|
1262
|
+
{ Name: 'Selected', DisplayName: 'Selected', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Selected' },
|
|
1263
|
+
],
|
|
1264
|
+
},
|
|
1265
|
+
{
|
|
1266
|
+
Name: 'CustomPageVersions', DisplayName: 'CustomPageVersions',
|
|
1267
|
+
Description: 'YourMembership CustomPageVersions data', SupportsWrite: true,
|
|
1268
|
+
Fields: [
|
|
1269
|
+
{ Name: 'VersionID', DisplayName: 'VersionID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'VersionID' },
|
|
1270
|
+
{ Name: 'PageID', DisplayName: 'PageID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PageID' },
|
|
1271
|
+
{ Name: 'Status', DisplayName: 'Status', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Status' },
|
|
1272
|
+
{ Name: 'Title', DisplayName: 'Title', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Title' },
|
|
1273
|
+
{ Name: 'Body', DisplayName: 'Body', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Body' },
|
|
1274
|
+
{ Name: 'Label', DisplayName: 'Label', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Label' },
|
|
1275
|
+
{ Name: 'Notes', DisplayName: 'Notes', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Notes' },
|
|
1276
|
+
{ Name: 'DateModified', DisplayName: 'DateModified', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'DateModified' },
|
|
1277
|
+
{ Name: 'EditorName', DisplayName: 'EditorName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'EditorName' },
|
|
1278
|
+
],
|
|
1279
|
+
},
|
|
1280
|
+
{
|
|
1281
|
+
Name: 'DashboardData', DisplayName: 'DashboardData',
|
|
1282
|
+
Description: 'YourMembership DashboardData data', SupportsWrite: false,
|
|
1283
|
+
Fields: [
|
|
1284
|
+
{ Name: 'Date', DisplayName: 'Date', Type: 'datetime', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Date' },
|
|
1285
|
+
{ Name: 'PostCount', DisplayName: 'PostCount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostCount' },
|
|
1286
|
+
{ Name: 'CommentCount', DisplayName: 'CommentCount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CommentCount' },
|
|
1287
|
+
{ Name: 'LikeCount', DisplayName: 'LikeCount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LikeCount' },
|
|
1288
|
+
{ Name: 'ShareCount', DisplayName: 'ShareCount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ShareCount' },
|
|
1289
|
+
{ Name: 'ConnectionCount', DisplayName: 'ConnectionCount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ConnectionCount' },
|
|
1290
|
+
{ Name: 'LoginCount', DisplayName: 'LoginCount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LoginCount' },
|
|
1291
|
+
],
|
|
1292
|
+
},
|
|
1293
|
+
{
|
|
1294
|
+
Name: 'DirectorySearch', DisplayName: 'DirectorySearch',
|
|
1295
|
+
Description: 'YourMembership DirectorySearch data', SupportsWrite: false,
|
|
1296
|
+
Fields: [
|
|
1297
|
+
{ Name: 'CanHaveConnections', DisplayName: 'CanHaveConnections', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CanHaveConnections' },
|
|
1298
|
+
{ Name: 'CanUseMessaging', DisplayName: 'CanUseMessaging', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CanUseMessaging' },
|
|
1299
|
+
{ Name: 'MemberID', DisplayName: 'MemberID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'MemberID' },
|
|
1300
|
+
{ Name: 'PrimaryGroupName', DisplayName: 'PrimaryGroupName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PrimaryGroupName' },
|
|
1301
|
+
{ Name: 'IsMember', DisplayName: 'IsMember', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsMember' },
|
|
1302
|
+
{ Name: 'IsNonMember', DisplayName: 'IsNonMember', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsNonMember' },
|
|
1303
|
+
{ Name: 'Name', DisplayName: 'Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Name' },
|
|
1304
|
+
{ Name: 'City', DisplayName: 'City', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'City' },
|
|
1305
|
+
{ Name: 'Location', DisplayName: 'Location', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Location' },
|
|
1306
|
+
{ Name: 'AddressLine1', DisplayName: 'AddressLine1', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'AddressLine1' },
|
|
1307
|
+
{ Name: 'AddressLine2', DisplayName: 'AddressLine2', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'AddressLine2' },
|
|
1308
|
+
{ Name: 'Phone', DisplayName: 'Phone', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Phone' },
|
|
1309
|
+
{ Name: 'HeadshotImagePath', DisplayName: 'HeadshotImagePath', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'HeadshotImagePath' },
|
|
1310
|
+
{ Name: 'NonMemberLost', DisplayName: 'NonMemberLost', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'NonMemberLost' },
|
|
1311
|
+
{ Name: 'NonMemberDeceased', DisplayName: 'NonMemberDeceased', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'NonMemberDeceased' },
|
|
1312
|
+
{ Name: 'NonMemberComments', DisplayName: 'NonMemberComments', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'NonMemberComments' },
|
|
1313
|
+
{ Name: 'JobTitle', DisplayName: 'JobTitle', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'JobTitle' },
|
|
1314
|
+
],
|
|
1315
|
+
},
|
|
1316
|
+
{
|
|
1317
|
+
Name: 'DomainAuthentication', DisplayName: 'DomainAuthentication',
|
|
1318
|
+
Description: 'YourMembership DomainAuthentication data', SupportsWrite: true,
|
|
1319
|
+
Fields: [
|
|
1320
|
+
{ Name: 'DomainId', DisplayName: 'DomainId', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'DomainId' },
|
|
1321
|
+
{ Name: 'DomainName', DisplayName: 'DomainName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'DomainName' },
|
|
1322
|
+
{ Name: 'IsYmMangedDomain', DisplayName: 'IsYmMangedDomain', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsYmMangedDomain' },
|
|
1323
|
+
{ Name: 'EmailsCount', DisplayName: 'EmailsCount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'EmailsCount' },
|
|
1324
|
+
{ Name: 'DomainStatus', DisplayName: 'DomainStatus', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'DomainStatus' },
|
|
1325
|
+
{ Name: 'IdentityZoneRecord', DisplayName: 'IdentityZoneRecord', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IdentityZoneRecord' },
|
|
1326
|
+
{ Name: 'DkimZoneRecords', DisplayName: 'DkimZoneRecords', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'DkimZoneRecords' },
|
|
1327
|
+
],
|
|
1328
|
+
},
|
|
1329
|
+
{
|
|
1330
|
+
Name: 'EmailSendersInfo', DisplayName: 'EmailSendersInfo',
|
|
1331
|
+
Description: 'YourMembership EmailSendersInfo data', SupportsWrite: false,
|
|
1332
|
+
Fields: [
|
|
1333
|
+
{ Name: 'Address', DisplayName: 'Address', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Address' },
|
|
1334
|
+
{ Name: 'Display', DisplayName: 'Display', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Display' },
|
|
1335
|
+
{ Name: 'Status', DisplayName: 'Status', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Status' },
|
|
1336
|
+
{ Name: 'IsDefault', DisplayName: 'IsDefault', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsDefault' },
|
|
1337
|
+
],
|
|
1338
|
+
},
|
|
1339
|
+
{
|
|
1340
|
+
Name: 'EmailVerification', DisplayName: 'EmailVerification',
|
|
1341
|
+
Description: 'YourMembership EmailVerification data', SupportsWrite: true,
|
|
1342
|
+
Fields: [
|
|
1343
|
+
{ Name: 'EmailId', DisplayName: 'EmailId', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'EmailId' },
|
|
1344
|
+
{ Name: 'Email', DisplayName: 'Email', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Email' },
|
|
1345
|
+
{ Name: 'EmailStatus', DisplayName: 'EmailStatus', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'EmailStatus' },
|
|
1346
|
+
{ Name: 'DomainId', DisplayName: 'DomainId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'DomainId' },
|
|
1347
|
+
],
|
|
1348
|
+
},
|
|
1349
|
+
{
|
|
1350
|
+
Name: 'EventAttendeeTypeSessions', DisplayName: 'EventAttendeeTypeSessions',
|
|
1351
|
+
Description: 'YourMembership EventAttendeeTypeSessions data', SupportsWrite: true,
|
|
1352
|
+
Fields: [
|
|
1353
|
+
{ Name: 'Name', DisplayName: 'Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Name' },
|
|
1354
|
+
{ Name: 'EventId', DisplayName: 'EventId', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'EventId' },
|
|
1355
|
+
{ Name: 'TypeId', DisplayName: 'TypeId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'TypeId' },
|
|
1356
|
+
{ Name: 'Id', DisplayName: 'Id', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Id' },
|
|
1357
|
+
],
|
|
1358
|
+
},
|
|
1359
|
+
{
|
|
1360
|
+
Name: 'EventAttendeeTypeTickets', DisplayName: 'EventAttendeeTypeTickets',
|
|
1361
|
+
Description: 'YourMembership EventAttendeeTypeTickets data', SupportsWrite: true,
|
|
1362
|
+
Fields: [
|
|
1363
|
+
{ Name: 'Name', DisplayName: 'Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Name' },
|
|
1364
|
+
{ Name: 'EventId', DisplayName: 'EventId', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'EventId' },
|
|
1365
|
+
{ Name: 'TypeId', DisplayName: 'TypeId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'TypeId' },
|
|
1366
|
+
{ Name: 'Id', DisplayName: 'Id', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Id' },
|
|
1367
|
+
],
|
|
1368
|
+
},
|
|
1369
|
+
{
|
|
1370
|
+
Name: 'EventAttendees', DisplayName: 'EventAttendees',
|
|
1371
|
+
Description: 'YourMembership EventAttendees data', SupportsWrite: false,
|
|
1372
|
+
Fields: [
|
|
1373
|
+
{ Name: 'RegisterID', DisplayName: 'RegisterID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'RegisterID' },
|
|
1374
|
+
{ Name: 'RsvpID', DisplayName: 'RsvpID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'RsvpID' },
|
|
1375
|
+
{ Name: 'DateRegister', DisplayName: 'DateRegister', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'DateRegister' },
|
|
1376
|
+
{ Name: 'LastName', DisplayName: 'LastName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LastName' },
|
|
1377
|
+
{ Name: 'FirstName', DisplayName: 'FirstName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FirstName' },
|
|
1378
|
+
{ Name: 'ProfileID', DisplayName: 'ProfileID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ProfileID' },
|
|
1379
|
+
{ Name: 'ID', DisplayName: 'ID', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ID' },
|
|
1380
|
+
{ Name: 'RsvpResponse', DisplayName: 'RsvpResponse', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'RsvpResponse' },
|
|
1381
|
+
{ Name: 'DataSet', DisplayName: 'DataSet', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'DataSet' },
|
|
1382
|
+
],
|
|
1383
|
+
},
|
|
1384
|
+
{
|
|
1385
|
+
Name: 'EventCustomLabels', DisplayName: 'EventCustomLabels',
|
|
1386
|
+
Description: 'YourMembership EventCustomLabels data', SupportsWrite: true,
|
|
1387
|
+
Fields: [
|
|
1388
|
+
{ Name: 'Id', DisplayName: 'Id', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Id' },
|
|
1389
|
+
{ Name: 'MetaId', DisplayName: 'MetaId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'MetaId' },
|
|
1390
|
+
{ Name: 'Name', DisplayName: 'Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Name' },
|
|
1391
|
+
{ Name: 'Title', DisplayName: 'Title', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Title' },
|
|
1392
|
+
{ Name: 'DefaultValue', DisplayName: 'DefaultValue', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'DefaultValue' },
|
|
1393
|
+
{ Name: 'CustomValue', DisplayName: 'CustomValue', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CustomValue' },
|
|
1394
|
+
],
|
|
1395
|
+
},
|
|
1396
|
+
{
|
|
1397
|
+
Name: 'EventRegistrants', DisplayName: 'EventRegistrants',
|
|
1398
|
+
Description: 'YourMembership EventRegistrants data', SupportsWrite: false,
|
|
1399
|
+
Fields: [
|
|
1400
|
+
{ Name: 'Id', DisplayName: 'Id', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Id' },
|
|
1401
|
+
{ Name: 'FirstName', DisplayName: 'FirstName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FirstName' },
|
|
1402
|
+
{ Name: 'LastName', DisplayName: 'LastName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LastName' },
|
|
1403
|
+
{ Name: 'HeadShotImage', DisplayName: 'HeadShotImage', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'HeadShotImage' },
|
|
1404
|
+
{ Name: 'DisplayName', DisplayName: 'DisplayName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'DisplayName' },
|
|
1405
|
+
{ Name: 'DateRegistered', DisplayName: 'DateRegistered', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'DateRegistered' },
|
|
1406
|
+
{ Name: 'RegistrationID', DisplayName: 'RegistrationID', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'RegistrationID' },
|
|
1407
|
+
{ Name: 'IsPrimary', DisplayName: 'IsPrimary', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsPrimary' },
|
|
1408
|
+
{ Name: 'BadgeNumber', DisplayName: 'BadgeNumber', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'BadgeNumber' },
|
|
1409
|
+
],
|
|
1410
|
+
},
|
|
1411
|
+
{
|
|
1412
|
+
Name: 'EventSearch', DisplayName: 'EventSearch',
|
|
1413
|
+
Description: 'YourMembership EventSearch data', SupportsWrite: false,
|
|
1414
|
+
Fields: [
|
|
1415
|
+
{ Name: 'EventName', DisplayName: 'EventName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'EventName' },
|
|
1416
|
+
{ Name: 'EventID', DisplayName: 'EventID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'EventID' },
|
|
1417
|
+
{ Name: 'EventDate', DisplayName: 'EventDate', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'EventDate' },
|
|
1418
|
+
],
|
|
1419
|
+
},
|
|
1420
|
+
{
|
|
1421
|
+
Name: 'EventSessionCEUAwards', DisplayName: 'EventSessionCEUAwards',
|
|
1422
|
+
Description: 'YourMembership EventSessionCEUAwards data', SupportsWrite: false,
|
|
1423
|
+
Fields: [
|
|
1424
|
+
{ Name: 'AwardID', DisplayName: 'AwardID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'AwardID' },
|
|
1425
|
+
{ Name: 'CertificationID', DisplayName: 'CertificationID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CertificationID' },
|
|
1426
|
+
{ Name: 'CreditTypeID', DisplayName: 'CreditTypeID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CreditTypeID' },
|
|
1427
|
+
{ Name: 'Credits', DisplayName: 'Credits', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Credits' },
|
|
1428
|
+
{ Name: 'Expiry', DisplayName: 'Expiry', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Expiry' },
|
|
1429
|
+
{ Name: 'DateExpires', DisplayName: 'DateExpires', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'DateExpires' },
|
|
1430
|
+
{ Name: 'DateCreated', DisplayName: 'DateCreated', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'DateCreated' },
|
|
1431
|
+
{ Name: 'DateUpdated', DisplayName: 'DateUpdated', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'DateUpdated' },
|
|
1432
|
+
{ Name: 'ActivityCode', DisplayName: 'ActivityCode', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ActivityCode' },
|
|
1433
|
+
{ Name: 'MemberTypeID', DisplayName: 'MemberTypeID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'MemberTypeID' },
|
|
1434
|
+
{ Name: 'LinkedEntityID', DisplayName: 'LinkedEntityID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LinkedEntityID' },
|
|
1435
|
+
],
|
|
1436
|
+
},
|
|
1437
|
+
{
|
|
1438
|
+
Name: 'Feeds', DisplayName: 'Feeds',
|
|
1439
|
+
Description: 'YourMembership Feeds data', SupportsWrite: false,
|
|
1440
|
+
Fields: [
|
|
1441
|
+
{ Name: 'Sponsored', DisplayName: 'Sponsored', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Sponsored' },
|
|
1442
|
+
{ Name: 'MemberID', DisplayName: 'MemberID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'MemberID' },
|
|
1443
|
+
{ Name: 'PostText', DisplayName: 'PostText', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostText' },
|
|
1444
|
+
{ Name: 'PostHtml', DisplayName: 'PostHtml', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostHtml' },
|
|
1445
|
+
{ Name: 'AuthorId', DisplayName: 'AuthorId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'AuthorId' },
|
|
1446
|
+
{ Name: 'WallOwnerId', DisplayName: 'WallOwnerId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'WallOwnerId' },
|
|
1447
|
+
{ Name: 'AuthorName', DisplayName: 'AuthorName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'AuthorName' },
|
|
1448
|
+
{ Name: 'WallOwnerName', DisplayName: 'WallOwnerName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'WallOwnerName' },
|
|
1449
|
+
{ Name: 'PostId', DisplayName: 'PostId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostId' },
|
|
1450
|
+
{ Name: 'PostDate', DisplayName: 'PostDate', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostDate' },
|
|
1451
|
+
{ Name: 'PostType', DisplayName: 'PostType', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostType' },
|
|
1452
|
+
{ Name: 'ShareCount', DisplayName: 'ShareCount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ShareCount' },
|
|
1453
|
+
{ Name: 'LikesCount', DisplayName: 'LikesCount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LikesCount' },
|
|
1454
|
+
{ Name: 'LikedPost', DisplayName: 'LikedPost', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LikedPost' },
|
|
1455
|
+
{ Name: 'LikeId', DisplayName: 'LikeId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LikeId' },
|
|
1456
|
+
{ Name: 'CommentCount', DisplayName: 'CommentCount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CommentCount' },
|
|
1457
|
+
{ Name: 'CommenterCount', DisplayName: 'CommenterCount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CommenterCount' },
|
|
1458
|
+
{ Name: 'PostHeadShotUrl', DisplayName: 'PostHeadShotUrl', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostHeadShotUrl' },
|
|
1459
|
+
{ Name: 'CanReply', DisplayName: 'CanReply', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CanReply' },
|
|
1460
|
+
{ Name: 'CanShare', DisplayName: 'CanShare', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CanShare' },
|
|
1461
|
+
{ Name: 'CanComment', DisplayName: 'CanComment', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CanComment' },
|
|
1462
|
+
{ Name: 'CanDelete', DisplayName: 'CanDelete', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CanDelete' },
|
|
1463
|
+
{ Name: 'RecentComments', DisplayName: 'RecentComments', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'RecentComments' },
|
|
1464
|
+
{ Name: 'CommentList', DisplayName: 'CommentList', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CommentList' },
|
|
1465
|
+
{ Name: 'PostHeadline', DisplayName: 'PostHeadline', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostHeadline' },
|
|
1466
|
+
{ Name: 'TopLine', DisplayName: 'TopLine', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'TopLine' },
|
|
1467
|
+
{ Name: 'PostContentData', DisplayName: 'PostContentData', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostContentData' },
|
|
1468
|
+
{ Name: 'PhotoGallery', DisplayName: 'PhotoGallery', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PhotoGallery' },
|
|
1469
|
+
{ Name: 'IsAmbassadorPost', DisplayName: 'IsAmbassadorPost', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsAmbassadorPost' },
|
|
1470
|
+
{ Name: 'IsActorAmbassador', DisplayName: 'IsActorAmbassador', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsActorAmbassador' },
|
|
1471
|
+
{ Name: 'IsSharedPost', DisplayName: 'IsSharedPost', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsSharedPost' },
|
|
1472
|
+
{ Name: 'Active', DisplayName: 'Active', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Active' },
|
|
1473
|
+
],
|
|
1474
|
+
},
|
|
1475
|
+
{
|
|
1476
|
+
Name: 'JobAlerts', DisplayName: 'JobAlerts',
|
|
1477
|
+
Description: 'YourMembership JobAlerts data', SupportsWrite: true,
|
|
1478
|
+
Fields: [
|
|
1479
|
+
{ Name: 'id', DisplayName: 'id', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'id' },
|
|
1480
|
+
{ Name: 'name', DisplayName: 'name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'name' },
|
|
1481
|
+
{ Name: 'expires_in', DisplayName: 'expires_in', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'expires_in' },
|
|
1482
|
+
{ Name: 'send_frequency', DisplayName: 'send_frequency', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'send_frequency' },
|
|
1483
|
+
{ Name: 'Active', DisplayName: 'Active', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Active' },
|
|
1484
|
+
{ Name: 'filters', DisplayName: 'filters', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'filters' },
|
|
1485
|
+
{ Name: 'jobs', DisplayName: 'jobs', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'jobs' },
|
|
1486
|
+
],
|
|
1487
|
+
},
|
|
1488
|
+
{
|
|
1489
|
+
Name: 'LatestPosts', DisplayName: 'LatestPosts',
|
|
1490
|
+
Description: 'YourMembership LatestPosts data', SupportsWrite: false,
|
|
1491
|
+
Fields: [
|
|
1492
|
+
{ Name: 'Sponsored', DisplayName: 'Sponsored', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Sponsored' },
|
|
1493
|
+
{ Name: 'MemberID', DisplayName: 'MemberID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'MemberID' },
|
|
1494
|
+
{ Name: 'PostText', DisplayName: 'PostText', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostText' },
|
|
1495
|
+
{ Name: 'PostHtml', DisplayName: 'PostHtml', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostHtml' },
|
|
1496
|
+
{ Name: 'AuthorId', DisplayName: 'AuthorId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'AuthorId' },
|
|
1497
|
+
{ Name: 'WallOwnerId', DisplayName: 'WallOwnerId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'WallOwnerId' },
|
|
1498
|
+
{ Name: 'AuthorName', DisplayName: 'AuthorName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'AuthorName' },
|
|
1499
|
+
{ Name: 'WallOwnerName', DisplayName: 'WallOwnerName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'WallOwnerName' },
|
|
1500
|
+
{ Name: 'PostId', DisplayName: 'PostId', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'PostId' },
|
|
1501
|
+
{ Name: 'PostDate', DisplayName: 'PostDate', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostDate' },
|
|
1502
|
+
{ Name: 'PostType', DisplayName: 'PostType', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostType' },
|
|
1503
|
+
{ Name: 'ShareCount', DisplayName: 'ShareCount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ShareCount' },
|
|
1504
|
+
{ Name: 'LikesCount', DisplayName: 'LikesCount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LikesCount' },
|
|
1505
|
+
{ Name: 'LikedPost', DisplayName: 'LikedPost', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LikedPost' },
|
|
1506
|
+
{ Name: 'LikeId', DisplayName: 'LikeId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LikeId' },
|
|
1507
|
+
{ Name: 'CommentCount', DisplayName: 'CommentCount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CommentCount' },
|
|
1508
|
+
{ Name: 'CommenterCount', DisplayName: 'CommenterCount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CommenterCount' },
|
|
1509
|
+
{ Name: 'PostHeadShotUrl', DisplayName: 'PostHeadShotUrl', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostHeadShotUrl' },
|
|
1510
|
+
{ Name: 'CanReply', DisplayName: 'CanReply', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CanReply' },
|
|
1511
|
+
{ Name: 'CanShare', DisplayName: 'CanShare', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CanShare' },
|
|
1512
|
+
{ Name: 'CanComment', DisplayName: 'CanComment', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CanComment' },
|
|
1513
|
+
{ Name: 'CanDelete', DisplayName: 'CanDelete', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CanDelete' },
|
|
1514
|
+
{ Name: 'RecentComments', DisplayName: 'RecentComments', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'RecentComments' },
|
|
1515
|
+
{ Name: 'CommentList', DisplayName: 'CommentList', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CommentList' },
|
|
1516
|
+
{ Name: 'PostHeadline', DisplayName: 'PostHeadline', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostHeadline' },
|
|
1517
|
+
{ Name: 'TopLine', DisplayName: 'TopLine', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'TopLine' },
|
|
1518
|
+
{ Name: 'PostContentData', DisplayName: 'PostContentData', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostContentData' },
|
|
1519
|
+
{ Name: 'PhotoGallery', DisplayName: 'PhotoGallery', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PhotoGallery' },
|
|
1520
|
+
{ Name: 'IsAmbassadorPost', DisplayName: 'IsAmbassadorPost', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsAmbassadorPost' },
|
|
1521
|
+
{ Name: 'IsActorAmbassador', DisplayName: 'IsActorAmbassador', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsActorAmbassador' },
|
|
1522
|
+
{ Name: 'IsSharedPost', DisplayName: 'IsSharedPost', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsSharedPost' },
|
|
1523
|
+
{ Name: 'Active', DisplayName: 'Active', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Active' },
|
|
1524
|
+
],
|
|
1525
|
+
},
|
|
1526
|
+
{
|
|
1527
|
+
Name: 'Likes', DisplayName: 'Likes',
|
|
1528
|
+
Description: 'YourMembership Likes data', SupportsWrite: true,
|
|
1529
|
+
Fields: [
|
|
1530
|
+
{ Name: 'LikeId', DisplayName: 'LikeId', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'LikeId' },
|
|
1531
|
+
{ Name: 'PostId', DisplayName: 'PostId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostId' },
|
|
1532
|
+
{ Name: 'CommentId', DisplayName: 'CommentId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CommentId' },
|
|
1533
|
+
{ Name: 'PhotoId', DisplayName: 'PhotoId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PhotoId' },
|
|
1534
|
+
{ Name: 'PhotoCommentId', DisplayName: 'PhotoCommentId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PhotoCommentId' },
|
|
1535
|
+
{ Name: 'DateLiked', DisplayName: 'DateLiked', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'DateLiked' },
|
|
1536
|
+
{ Name: 'ConnectionStatus', DisplayName: 'ConnectionStatus', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ConnectionStatus' },
|
|
1537
|
+
{ Name: 'ConnectionId', DisplayName: 'ConnectionId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ConnectionId' },
|
|
1538
|
+
{ Name: 'FirstName', DisplayName: 'FirstName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FirstName' },
|
|
1539
|
+
{ Name: 'LastName', DisplayName: 'LastName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LastName' },
|
|
1540
|
+
{ Name: 'ConnectionName', DisplayName: 'ConnectionName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ConnectionName' },
|
|
1541
|
+
{ Name: 'Organization', DisplayName: 'Organization', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Organization' },
|
|
1542
|
+
{ Name: 'HeadShotImage', DisplayName: 'HeadShotImage', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'HeadShotImage' },
|
|
1543
|
+
{ Name: 'WorkTitle', DisplayName: 'WorkTitle', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'WorkTitle' },
|
|
1544
|
+
{ Name: 'MemberType', DisplayName: 'MemberType', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'MemberType' },
|
|
1545
|
+
{ Name: 'City', DisplayName: 'City', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'City' },
|
|
1546
|
+
{ Name: 'State', DisplayName: 'State', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'State' },
|
|
1547
|
+
{ Name: 'Location', DisplayName: 'Location', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Location' },
|
|
73
1548
|
{ Name: 'Country', DisplayName: 'Country', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Country' },
|
|
74
|
-
{ Name: '
|
|
75
|
-
{ Name: '
|
|
1549
|
+
{ Name: 'Shared', DisplayName: 'Shared', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Shared' },
|
|
1550
|
+
{ Name: 'Email', DisplayName: 'Email', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Email' },
|
|
1551
|
+
{ Name: 'PhoneLabel', DisplayName: 'PhoneLabel', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PhoneLabel' },
|
|
1552
|
+
{ Name: 'PhoneAreaCode', DisplayName: 'PhoneAreaCode', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PhoneAreaCode' },
|
|
1553
|
+
{ Name: 'PhoneNumber', DisplayName: 'PhoneNumber', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PhoneNumber' },
|
|
1554
|
+
{ Name: 'FaxLabel', DisplayName: 'FaxLabel', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FaxLabel' },
|
|
1555
|
+
{ Name: 'FaxAreaCode', DisplayName: 'FaxAreaCode', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FaxAreaCode' },
|
|
1556
|
+
{ Name: 'FaxNumber', DisplayName: 'FaxNumber', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FaxNumber' },
|
|
1557
|
+
{ Name: 'CanShow', DisplayName: 'CanShow', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CanShow' },
|
|
1558
|
+
{ Name: 'intCategoryID', DisplayName: 'intCategoryID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'intCategoryID' },
|
|
1559
|
+
{ Name: 'IsAmbassador', DisplayName: 'IsAmbassador', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsAmbassador' },
|
|
1560
|
+
],
|
|
1561
|
+
},
|
|
1562
|
+
{
|
|
1563
|
+
Name: 'Likes_PostList', DisplayName: 'Likes_PostList',
|
|
1564
|
+
Description: 'YourMembership Likes_PostList data', SupportsWrite: true,
|
|
1565
|
+
Fields: [
|
|
1566
|
+
{ Name: 'LikeId', DisplayName: 'LikeId', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'LikeId' },
|
|
1567
|
+
{ Name: 'PostId', DisplayName: 'PostId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostId' },
|
|
1568
|
+
{ Name: 'CommentId', DisplayName: 'CommentId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CommentId' },
|
|
1569
|
+
{ Name: 'PhotoId', DisplayName: 'PhotoId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PhotoId' },
|
|
1570
|
+
{ Name: 'PhotoCommentId', DisplayName: 'PhotoCommentId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PhotoCommentId' },
|
|
1571
|
+
{ Name: 'DateLiked', DisplayName: 'DateLiked', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'DateLiked' },
|
|
1572
|
+
{ Name: 'ConnectionStatus', DisplayName: 'ConnectionStatus', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ConnectionStatus' },
|
|
1573
|
+
{ Name: 'ConnectionId', DisplayName: 'ConnectionId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ConnectionId' },
|
|
1574
|
+
{ Name: 'FirstName', DisplayName: 'FirstName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FirstName' },
|
|
1575
|
+
{ Name: 'LastName', DisplayName: 'LastName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LastName' },
|
|
1576
|
+
{ Name: 'ConnectionName', DisplayName: 'ConnectionName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ConnectionName' },
|
|
1577
|
+
{ Name: 'Organization', DisplayName: 'Organization', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Organization' },
|
|
1578
|
+
{ Name: 'HeadShotImage', DisplayName: 'HeadShotImage', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'HeadShotImage' },
|
|
1579
|
+
{ Name: 'WorkTitle', DisplayName: 'WorkTitle', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'WorkTitle' },
|
|
1580
|
+
{ Name: 'MemberType', DisplayName: 'MemberType', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'MemberType' },
|
|
1581
|
+
{ Name: 'City', DisplayName: 'City', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'City' },
|
|
1582
|
+
{ Name: 'State', DisplayName: 'State', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'State' },
|
|
1583
|
+
{ Name: 'Location', DisplayName: 'Location', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Location' },
|
|
1584
|
+
{ Name: 'Country', DisplayName: 'Country', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Country' },
|
|
1585
|
+
{ Name: 'Shared', DisplayName: 'Shared', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Shared' },
|
|
1586
|
+
{ Name: 'Email', DisplayName: 'Email', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Email' },
|
|
1587
|
+
{ Name: 'PhoneLabel', DisplayName: 'PhoneLabel', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PhoneLabel' },
|
|
1588
|
+
{ Name: 'PhoneAreaCode', DisplayName: 'PhoneAreaCode', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PhoneAreaCode' },
|
|
1589
|
+
{ Name: 'PhoneNumber', DisplayName: 'PhoneNumber', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PhoneNumber' },
|
|
1590
|
+
{ Name: 'FaxLabel', DisplayName: 'FaxLabel', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FaxLabel' },
|
|
1591
|
+
{ Name: 'FaxAreaCode', DisplayName: 'FaxAreaCode', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FaxAreaCode' },
|
|
1592
|
+
{ Name: 'FaxNumber', DisplayName: 'FaxNumber', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FaxNumber' },
|
|
1593
|
+
{ Name: 'CanShow', DisplayName: 'CanShow', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CanShow' },
|
|
1594
|
+
{ Name: 'intCategoryID', DisplayName: 'intCategoryID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'intCategoryID' },
|
|
1595
|
+
{ Name: 'IsAmbassador', DisplayName: 'IsAmbassador', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsAmbassador' },
|
|
1596
|
+
],
|
|
1597
|
+
},
|
|
1598
|
+
{
|
|
1599
|
+
Name: 'LocationCoordinates', DisplayName: 'LocationCoordinates',
|
|
1600
|
+
Description: 'YourMembership LocationCoordinates data', SupportsWrite: false,
|
|
1601
|
+
Fields: [
|
|
1602
|
+
{ Name: 'city', DisplayName: 'city', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'city' },
|
|
1603
|
+
{ Name: 'state', DisplayName: 'state', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'state' },
|
|
1604
|
+
{ Name: 'country', DisplayName: 'country', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'country' },
|
|
1605
|
+
{ Name: 'latitude', DisplayName: 'latitude', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'latitude' },
|
|
1606
|
+
{ Name: 'longitude', DisplayName: 'longitude', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'longitude' },
|
|
1607
|
+
{ Name: 'place_id', DisplayName: 'place_id', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'place_id' },
|
|
1608
|
+
],
|
|
1609
|
+
},
|
|
1610
|
+
{
|
|
1611
|
+
Name: 'Markup', DisplayName: 'Markup',
|
|
1612
|
+
Description: 'YourMembership Markup data', SupportsWrite: true,
|
|
1613
|
+
Fields: [
|
|
1614
|
+
{ Name: 'MarkupId', DisplayName: 'MarkupId', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'MarkupId' },
|
|
1615
|
+
{ Name: 'MarkupData', DisplayName: 'MarkupData', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'MarkupData' },
|
|
1616
|
+
{ Name: 'MarkupName', DisplayName: 'MarkupName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'MarkupName' },
|
|
1617
|
+
{ Name: 'MarkupType', DisplayName: 'MarkupType', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'MarkupType' },
|
|
1618
|
+
{ Name: 'MarkupTypeName', DisplayName: 'MarkupTypeName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'MarkupTypeName' },
|
|
1619
|
+
{ Name: 'TargetClientId', DisplayName: 'TargetClientId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'TargetClientId' },
|
|
1620
|
+
{ Name: 'Template', DisplayName: 'Template', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Template' },
|
|
1621
|
+
{ Name: 'MarkupClass', DisplayName: 'MarkupClass', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'MarkupClass' },
|
|
1622
|
+
{ Name: 'PageSize', DisplayName: 'PageSize', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PageSize' },
|
|
1623
|
+
{ Name: 'PageNumber', DisplayName: 'PageNumber', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PageNumber' },
|
|
1624
|
+
{ Name: 'CampaignId', DisplayName: 'CampaignId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CampaignId' },
|
|
1625
|
+
{ Name: 'DateCreated', DisplayName: 'DateCreated', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'DateCreated' },
|
|
1626
|
+
{ Name: 'DateLastModified', DisplayName: 'DateLastModified', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'DateLastModified' },
|
|
1627
|
+
{ Name: 'AdminLastModified', DisplayName: 'AdminLastModified', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'AdminLastModified' },
|
|
1628
|
+
{ Name: 'MaxComponents', DisplayName: 'MaxComponents', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'MaxComponents' },
|
|
1629
|
+
{ Name: 'ClientID', DisplayName: 'ClientID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ClientID' },
|
|
1630
|
+
{ Name: 'ResponseStatus', DisplayName: 'ResponseStatus', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ResponseStatus' },
|
|
1631
|
+
{ Name: 'BypassCache', DisplayName: 'BypassCache', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'BypassCache' },
|
|
1632
|
+
{ Name: 'DateCached', DisplayName: 'DateCached', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'DateCached' },
|
|
1633
|
+
{ Name: 'Device', DisplayName: 'Device', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Device' },
|
|
1634
|
+
],
|
|
1635
|
+
},
|
|
1636
|
+
{
|
|
1637
|
+
Name: 'MarkupComponentTypes', DisplayName: 'MarkupComponentTypes',
|
|
1638
|
+
Description: 'YourMembership MarkupComponentTypes data', SupportsWrite: false,
|
|
1639
|
+
Fields: [
|
|
1640
|
+
{ Name: 'ComponentType', DisplayName: 'ComponentType', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Component type identifier (unique per record)' },
|
|
1641
|
+
{ Name: 'ComponentName', DisplayName: 'ComponentName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ComponentName' },
|
|
1642
|
+
{ Name: 'IsAtRootColumn', DisplayName: 'IsAtRootColumn', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsAtRootColumn' },
|
|
1643
|
+
{ Name: 'CanHaveChildren', DisplayName: 'CanHaveChildren', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CanHaveChildren' },
|
|
1644
|
+
{ Name: 'OrderId', DisplayName: 'OrderId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Sort order (API returns 0 for all records — not usable as PK)' },
|
|
1645
|
+
{ Name: 'ButtonData', DisplayName: 'ButtonData', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ButtonData' },
|
|
1646
|
+
{ Name: 'ImageData', DisplayName: 'ImageData', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ImageData' },
|
|
1647
|
+
{ Name: 'DividerData', DisplayName: 'DividerData', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'DividerData' },
|
|
1648
|
+
{ Name: 'TextData', DisplayName: 'TextData', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'TextData' },
|
|
1649
|
+
{ Name: 'ContainerData', DisplayName: 'ContainerData', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ContainerData' },
|
|
1650
|
+
{ Name: 'PlainText', DisplayName: 'PlainText', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PlainText' },
|
|
1651
|
+
],
|
|
1652
|
+
},
|
|
1653
|
+
{
|
|
1654
|
+
Name: 'MarkupMacroComponents', DisplayName: 'MarkupMacroComponents',
|
|
1655
|
+
Description: 'YourMembership MarkupMacroComponents data', SupportsWrite: true,
|
|
1656
|
+
Fields: [
|
|
1657
|
+
{ Name: 'MacroComponentId', DisplayName: 'MacroComponentId', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'MacroComponentId' },
|
|
1658
|
+
{ Name: 'IsShared', DisplayName: 'IsShared', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsShared' },
|
|
1659
|
+
{ Name: 'Name', DisplayName: 'Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Name' },
|
|
1660
|
+
{ Name: 'ComponentData', DisplayName: 'ComponentData', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ComponentData' },
|
|
1661
|
+
],
|
|
1662
|
+
},
|
|
1663
|
+
{
|
|
1664
|
+
Name: 'MediaGalleryAlbum', DisplayName: 'MediaGalleryAlbum',
|
|
1665
|
+
Description: 'YourMembership MediaGalleryAlbum data', SupportsWrite: false,
|
|
1666
|
+
Fields: [
|
|
1667
|
+
{ Name: 'AlbumID', DisplayName: 'AlbumID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'AlbumID' },
|
|
1668
|
+
{ Name: 'Name', DisplayName: 'Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Name' },
|
|
1669
|
+
{ Name: 'ImageURI', DisplayName: 'ImageURI', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ImageURI' },
|
|
1670
|
+
],
|
|
1671
|
+
},
|
|
1672
|
+
{
|
|
1673
|
+
Name: 'MemberList', DisplayName: 'MemberList',
|
|
1674
|
+
Description: 'YourMembership MemberList data', SupportsWrite: false,
|
|
1675
|
+
Fields: [
|
|
1676
|
+
{ Name: 'ProfileID', DisplayName: 'ProfileID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ProfileID' },
|
|
1677
|
+
{ Name: 'IsMember', DisplayName: 'IsMember', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsMember' },
|
|
1678
|
+
{ Name: 'ImportID', DisplayName: 'ImportID', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ImportID' },
|
|
1679
|
+
{ Name: 'Approved', DisplayName: 'Approved', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Approved' },
|
|
1680
|
+
{ Name: 'Suspended', DisplayName: 'Suspended', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Suspended' },
|
|
1681
|
+
{ Name: 'MasterID', DisplayName: 'MasterID', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'MasterID' },
|
|
1682
|
+
{ Name: 'ApprovalDate', DisplayName: 'ApprovalDate', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ApprovalDate' },
|
|
1683
|
+
{ Name: 'QueuedForDelete', DisplayName: 'QueuedForDelete', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'QueuedForDelete' },
|
|
1684
|
+
{ Name: 'QueuedForDeleteDate', DisplayName: 'QueuedForDeleteDate', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'QueuedForDeleteDate' },
|
|
1685
|
+
{ Name: 'MembershipEffectiveExpiresDate', DisplayName: 'MembershipEffectiveExpiresDate', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'MembershipEffectiveExpiresDate' },
|
|
1686
|
+
{ Name: 'EmailBounced', DisplayName: 'EmailBounced', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'EmailBounced' },
|
|
1687
|
+
{ Name: 'HasConsented', DisplayName: 'HasConsented', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'HasConsented' },
|
|
1688
|
+
{ Name: 'DateConsented', DisplayName: 'DateConsented', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'DateConsented' },
|
|
1689
|
+
{ Name: 'ConsentIPAddress', DisplayName: 'ConsentIPAddress', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ConsentIPAddress' },
|
|
1690
|
+
{ Name: 'HasRevokedConsent', DisplayName: 'HasRevokedConsent', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'HasRevokedConsent' },
|
|
1691
|
+
{ Name: 'DateConsentRevoked', DisplayName: 'DateConsentRevoked', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'DateConsentRevoked' },
|
|
1692
|
+
{ Name: 'MasterProfileID', DisplayName: 'MasterProfileID', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'MasterProfileID' },
|
|
1693
|
+
{ Name: 'UserName', DisplayName: 'UserName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'UserName' },
|
|
1694
|
+
{ Name: 'MembershipExpires', DisplayName: 'MembershipExpires', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'MembershipExpires' },
|
|
1695
|
+
{ Name: 'MembershipExpiresDate', DisplayName: 'MembershipExpiresDate', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'MembershipExpiresDate' },
|
|
1696
|
+
{ Name: 'SubordinateSeats', DisplayName: 'SubordinateSeats', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'SubordinateSeats' },
|
|
1697
|
+
{ Name: 'ConstituentID', DisplayName: 'ConstituentID', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ConstituentID' },
|
|
1698
|
+
{ Name: 'MemberTypeCode', DisplayName: 'MemberTypeCode', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'MemberTypeCode' },
|
|
1699
|
+
{ Name: 'Registered', DisplayName: 'Registered', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Registered' },
|
|
1700
|
+
{ Name: 'Membership', DisplayName: 'Membership', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Membership' },
|
|
1701
|
+
{ Name: 'LastRenewalDate', DisplayName: 'LastRenewalDate', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LastRenewalDate' },
|
|
1702
|
+
{ Name: 'LastRenewalReminderSent', DisplayName: 'LastRenewalReminderSent', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LastRenewalReminderSent' },
|
|
1703
|
+
{ Name: 'PrimaryGroupCode', DisplayName: 'PrimaryGroupCode', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PrimaryGroupCode' },
|
|
1704
|
+
{ Name: 'LastUpdated', DisplayName: 'LastUpdated', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LastUpdated' },
|
|
1705
|
+
{ Name: 'Gender', DisplayName: 'Gender', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Gender' },
|
|
1706
|
+
{ Name: 'Prefix', DisplayName: 'Prefix', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Prefix' },
|
|
1707
|
+
{ Name: 'FirstName', DisplayName: 'FirstName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FirstName' },
|
|
1708
|
+
{ Name: 'MiddleName', DisplayName: 'MiddleName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'MiddleName' },
|
|
1709
|
+
{ Name: 'LastName', DisplayName: 'LastName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LastName' },
|
|
1710
|
+
{ Name: 'Suffix', DisplayName: 'Suffix', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Suffix' },
|
|
1711
|
+
{ Name: 'NickName', DisplayName: 'NickName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'NickName' },
|
|
1712
|
+
{ Name: 'MaidenName', DisplayName: 'MaidenName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'MaidenName' },
|
|
1713
|
+
{ Name: 'SpouseName', DisplayName: 'SpouseName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'SpouseName' },
|
|
1714
|
+
{ Name: 'MaritalStatus', DisplayName: 'MaritalStatus', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'MaritalStatus' },
|
|
1715
|
+
{ Name: 'AnniversaryDate', DisplayName: 'AnniversaryDate', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'AnniversaryDate' },
|
|
1716
|
+
{ Name: 'BirthdayDate', DisplayName: 'BirthdayDate', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'BirthdayDate' },
|
|
1717
|
+
{ Name: 'HomeUrl', DisplayName: 'HomeUrl', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'HomeUrl' },
|
|
1718
|
+
{ Name: 'HomeAddressLine1', DisplayName: 'HomeAddressLine1', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'HomeAddressLine1' },
|
|
1719
|
+
{ Name: 'HomeAddressLine2', DisplayName: 'HomeAddressLine2', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'HomeAddressLine2' },
|
|
1720
|
+
{ Name: 'HomeAddressCity', DisplayName: 'HomeAddressCity', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'HomeAddressCity' },
|
|
1721
|
+
{ Name: 'HomeAddressLocation', DisplayName: 'HomeAddressLocation', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'HomeAddressLocation' },
|
|
1722
|
+
{ Name: 'HomeAddressPostalCode', DisplayName: 'HomeAddressPostalCode', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'HomeAddressPostalCode' },
|
|
1723
|
+
{ Name: 'HomeAddressCountry', DisplayName: 'HomeAddressCountry', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'HomeAddressCountry' },
|
|
1724
|
+
{ Name: 'HomePhoneCountryCode', DisplayName: 'HomePhoneCountryCode', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'HomePhoneCountryCode' },
|
|
1725
|
+
{ Name: 'HomePhoneAreaCode', DisplayName: 'HomePhoneAreaCode', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'HomePhoneAreaCode' },
|
|
1726
|
+
{ Name: 'HomePhoneNumber', DisplayName: 'HomePhoneNumber', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'HomePhoneNumber' },
|
|
1727
|
+
{ Name: 'HomeFaxNumber', DisplayName: 'HomeFaxNumber', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'HomeFaxNumber' },
|
|
1728
|
+
{ Name: 'HomeFaxCountryCode', DisplayName: 'HomeFaxCountryCode', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'HomeFaxCountryCode' },
|
|
1729
|
+
{ Name: 'HomeFaxAreaCode', DisplayName: 'HomeFaxAreaCode', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'HomeFaxAreaCode' },
|
|
1730
|
+
{ Name: 'Email', DisplayName: 'Email', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Email' },
|
|
1731
|
+
{ Name: 'EmailAlt', DisplayName: 'EmailAlt', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'EmailAlt' },
|
|
1732
|
+
{ Name: 'HeadshotImageURI', DisplayName: 'HeadshotImageURI', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'HeadshotImageURI' },
|
|
1733
|
+
{ Name: 'EmployerName', DisplayName: 'EmployerName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'EmployerName' },
|
|
1734
|
+
{ Name: 'SelfEmployed', DisplayName: 'SelfEmployed', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'SelfEmployed' },
|
|
1735
|
+
{ Name: 'WorkTitle', DisplayName: 'WorkTitle', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'WorkTitle' },
|
|
1736
|
+
{ Name: 'WorkType', DisplayName: 'WorkType', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'WorkType' },
|
|
1737
|
+
{ Name: 'WorkUrl', DisplayName: 'WorkUrl', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'WorkUrl' },
|
|
1738
|
+
{ Name: 'WorkAddressLine1', DisplayName: 'WorkAddressLine1', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'WorkAddressLine1' },
|
|
1739
|
+
{ Name: 'WorkAddressLine2', DisplayName: 'WorkAddressLine2', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'WorkAddressLine2' },
|
|
1740
|
+
{ Name: 'WorkAddressCity', DisplayName: 'WorkAddressCity', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'WorkAddressCity' },
|
|
1741
|
+
{ Name: 'WorkAddressLocation', DisplayName: 'WorkAddressLocation', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'WorkAddressLocation' },
|
|
1742
|
+
{ Name: 'WorkAddressPostalCode', DisplayName: 'WorkAddressPostalCode', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'WorkAddressPostalCode' },
|
|
1743
|
+
{ Name: 'WorkAddressCountry', DisplayName: 'WorkAddressCountry', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'WorkAddressCountry' },
|
|
1744
|
+
{ Name: 'WorkPhoneCountryCode', DisplayName: 'WorkPhoneCountryCode', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'WorkPhoneCountryCode' },
|
|
1745
|
+
{ Name: 'WorkPhoneNumber', DisplayName: 'WorkPhoneNumber', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'WorkPhoneNumber' },
|
|
1746
|
+
{ Name: 'WorkPhoneAreaCode', DisplayName: 'WorkPhoneAreaCode', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'WorkPhoneAreaCode' },
|
|
1747
|
+
{ Name: 'WorkFaxNumber', DisplayName: 'WorkFaxNumber', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'WorkFaxNumber' },
|
|
1748
|
+
{ Name: 'WorkFaxAreaCode', DisplayName: 'WorkFaxAreaCode', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'WorkFaxAreaCode' },
|
|
1749
|
+
{ Name: 'PersonalComments', DisplayName: 'PersonalComments', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PersonalComments' },
|
|
1750
|
+
{ Name: 'AdditionalEdu', DisplayName: 'AdditionalEdu', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'AdditionalEdu' },
|
|
1751
|
+
{ Name: 'SocialOrgs', DisplayName: 'SocialOrgs', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'SocialOrgs' },
|
|
1752
|
+
{ Name: 'PreferredAddressLatitude', DisplayName: 'PreferredAddressLatitude', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PreferredAddressLatitude' },
|
|
1753
|
+
{ Name: 'PreferredAddressLongitude', DisplayName: 'PreferredAddressLongitude', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PreferredAddressLongitude' },
|
|
1754
|
+
{ Name: 'MemberCustomFieldResponses', DisplayName: 'MemberCustomFieldResponses', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'MemberCustomFieldResponses' },
|
|
1755
|
+
],
|
|
1756
|
+
},
|
|
1757
|
+
{
|
|
1758
|
+
Name: 'MembersGroups', DisplayName: 'MembersGroups',
|
|
1759
|
+
Description: 'YourMembership MembersGroups data', SupportsWrite: false,
|
|
1760
|
+
Fields: [
|
|
1761
|
+
{ Name: 'WebSiteMemberID', DisplayName: 'WebSiteMemberID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'WebSiteMemberID' },
|
|
1762
|
+
{ Name: 'GroupCode', DisplayName: 'GroupCode', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'GroupCode' },
|
|
1763
|
+
{ Name: 'GroupName', DisplayName: 'GroupName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'GroupName' },
|
|
1764
|
+
{ Name: 'PrimaryGroup', DisplayName: 'PrimaryGroup', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PrimaryGroup' },
|
|
1765
|
+
{ Name: 'GroupID', DisplayName: 'GroupID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'GroupID' },
|
|
1766
|
+
],
|
|
1767
|
+
},
|
|
1768
|
+
{
|
|
1769
|
+
Name: 'NetworkTypes', DisplayName: 'NetworkTypes',
|
|
1770
|
+
Description: 'YourMembership NetworkTypes data', SupportsWrite: false,
|
|
1771
|
+
Fields: [
|
|
1772
|
+
{ Name: 'ServiceId', DisplayName: 'ServiceId', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ServiceId' },
|
|
1773
|
+
{ Name: 'NetworkName', DisplayName: 'NetworkName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'NetworkName' },
|
|
1774
|
+
{ Name: 'HelpText', DisplayName: 'HelpText', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'HelpText' },
|
|
1775
|
+
],
|
|
1776
|
+
},
|
|
1777
|
+
{
|
|
1778
|
+
Name: 'Networks', DisplayName: 'Networks',
|
|
1779
|
+
Description: 'YourMembership Networks data', SupportsWrite: true,
|
|
1780
|
+
Fields: [
|
|
1781
|
+
{ Name: 'LinkId', DisplayName: 'LinkId', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'LinkId' },
|
|
1782
|
+
{ Name: 'Url', DisplayName: 'Url', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Url' },
|
|
1783
|
+
{ Name: 'NetworkName', DisplayName: 'NetworkName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'NetworkName' },
|
|
1784
|
+
{ Name: 'NetworkId', DisplayName: 'NetworkId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'NetworkId' },
|
|
1785
|
+
],
|
|
1786
|
+
},
|
|
1787
|
+
{
|
|
1788
|
+
Name: 'NetworksCloud', DisplayName: 'NetworksCloud',
|
|
1789
|
+
Description: 'YourMembership NetworksCloud data', SupportsWrite: false,
|
|
1790
|
+
Fields: [
|
|
1791
|
+
{ Name: 'NetworkId', DisplayName: 'NetworkId', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'NetworkId' },
|
|
1792
|
+
{ Name: 'NetworkName', DisplayName: 'NetworkName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'NetworkName' },
|
|
1793
|
+
{ Name: 'Url', DisplayName: 'Url', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Url' },
|
|
1794
|
+
{ Name: 'MemberCount', DisplayName: 'MemberCount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'MemberCount' },
|
|
1795
|
+
{ Name: 'Density', DisplayName: 'Density', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Density' },
|
|
1796
|
+
],
|
|
1797
|
+
},
|
|
1798
|
+
{
|
|
1799
|
+
Name: 'NotificationMacros', DisplayName: 'NotificationMacros',
|
|
1800
|
+
Description: 'YourMembership NotificationMacros data', SupportsWrite: false,
|
|
1801
|
+
Fields: [
|
|
1802
|
+
{ Name: 'MacroId', DisplayName: 'MacroId', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'MacroId' },
|
|
1803
|
+
{ Name: 'Name', DisplayName: 'Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Name' },
|
|
1804
|
+
{ Name: 'Description', DisplayName: 'Description', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Description' },
|
|
1805
|
+
{ Name: 'Macro', DisplayName: 'Macro', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Macro' },
|
|
1806
|
+
{ Name: 'IsRequired', DisplayName: 'IsRequired', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsRequired' },
|
|
1807
|
+
],
|
|
1808
|
+
},
|
|
1809
|
+
{
|
|
1810
|
+
Name: 'Notifications', DisplayName: 'Notifications',
|
|
1811
|
+
Description: 'YourMembership Notifications data', SupportsWrite: true,
|
|
1812
|
+
Fields: [
|
|
1813
|
+
{ Name: 'Id', DisplayName: 'Id', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Id' },
|
|
1814
|
+
{ Name: 'Message', DisplayName: 'Message', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Message' },
|
|
1815
|
+
{ Name: 'Headline', DisplayName: 'Headline', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Headline' },
|
|
1816
|
+
{ Name: 'MemberId', DisplayName: 'MemberId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'MemberId' },
|
|
1817
|
+
{ Name: 'PostId', DisplayName: 'PostId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostId' },
|
|
1818
|
+
{ Name: 'HeadshotImage', DisplayName: 'HeadshotImage', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'HeadshotImage' },
|
|
1819
|
+
{ Name: 'IsRead', DisplayName: 'IsRead', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsRead' },
|
|
1820
|
+
{ Name: 'DateCreated', DisplayName: 'DateCreated', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'DateCreated' },
|
|
1821
|
+
{ Name: 'Category', DisplayName: 'Category', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Category' },
|
|
1822
|
+
{ Name: 'ActionType', DisplayName: 'ActionType', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ActionType' },
|
|
1823
|
+
{ Name: 'NavigateUrl', DisplayName: 'NavigateUrl', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'NavigateUrl' },
|
|
1824
|
+
{ Name: 'PrimaryId', DisplayName: 'PrimaryId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PrimaryId' },
|
|
1825
|
+
{ Name: 'PhotoUrl', DisplayName: 'PhotoUrl', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PhotoUrl' },
|
|
1826
|
+
{ Name: 'PhotoUrlLarge', DisplayName: 'PhotoUrlLarge', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PhotoUrlLarge' },
|
|
1827
|
+
],
|
|
1828
|
+
},
|
|
1829
|
+
{
|
|
1830
|
+
Name: 'OAuthClientAppName', DisplayName: 'OAuthClientAppName',
|
|
1831
|
+
Description: 'YourMembership OAuthClientAppName data', SupportsWrite: true,
|
|
1832
|
+
Fields: [
|
|
1833
|
+
{ Name: 'AppID', DisplayName: 'AppID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'AppID' },
|
|
1834
|
+
{ Name: 'ClientAppID', DisplayName: 'ClientAppID', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ClientAppID' },
|
|
1835
|
+
{ Name: 'ClientAppSecret', DisplayName: 'ClientAppSecret', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ClientAppSecret' },
|
|
1836
|
+
{ Name: 'AppName', DisplayName: 'AppName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'AppName' },
|
|
1837
|
+
{ Name: 'CompanyName', DisplayName: 'CompanyName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CompanyName' },
|
|
1838
|
+
{ Name: 'Email', DisplayName: 'Email', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Email' },
|
|
1839
|
+
{ Name: 'WebSiteUrl', DisplayName: 'WebSiteUrl', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'WebSiteUrl' },
|
|
1840
|
+
{ Name: 'Description', DisplayName: 'Description', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Description' },
|
|
1841
|
+
{ Name: 'ContactName', DisplayName: 'ContactName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ContactName' },
|
|
1842
|
+
{ Name: 'ContactNumber', DisplayName: 'ContactNumber', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ContactNumber' },
|
|
1843
|
+
{ Name: 'IsActive', DisplayName: 'IsActive', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsActive' },
|
|
1844
|
+
{ Name: 'ScopeApproved', DisplayName: 'ScopeApproved', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ScopeApproved' },
|
|
1845
|
+
{ Name: 'LogoImage', DisplayName: 'LogoImage', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LogoImage' },
|
|
1846
|
+
{ Name: 'Created', DisplayName: 'Created', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Created' },
|
|
1847
|
+
{ Name: 'Modified', DisplayName: 'Modified', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Modified' },
|
|
1848
|
+
{ Name: 'Redirects', DisplayName: 'Redirects', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Redirects' },
|
|
1849
|
+
{ Name: 'IsExternal', DisplayName: 'IsExternal', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsExternal' },
|
|
1850
|
+
],
|
|
1851
|
+
},
|
|
1852
|
+
{
|
|
1853
|
+
Name: 'OAuthClientApps', DisplayName: 'OAuthClientApps',
|
|
1854
|
+
Description: 'YourMembership OAuthClientApps data', SupportsWrite: true,
|
|
1855
|
+
Fields: [
|
|
1856
|
+
{ Name: 'AppID', DisplayName: 'AppID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'AppID' },
|
|
1857
|
+
{ Name: 'ClientAppID', DisplayName: 'ClientAppID', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ClientAppID' },
|
|
1858
|
+
{ Name: 'ClientAppSecret', DisplayName: 'ClientAppSecret', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ClientAppSecret' },
|
|
1859
|
+
{ Name: 'AppName', DisplayName: 'AppName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'AppName' },
|
|
1860
|
+
{ Name: 'CompanyName', DisplayName: 'CompanyName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CompanyName' },
|
|
1861
|
+
{ Name: 'Email', DisplayName: 'Email', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Email' },
|
|
1862
|
+
{ Name: 'WebSiteUrl', DisplayName: 'WebSiteUrl', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'WebSiteUrl' },
|
|
1863
|
+
{ Name: 'Description', DisplayName: 'Description', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Description' },
|
|
1864
|
+
{ Name: 'ContactName', DisplayName: 'ContactName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ContactName' },
|
|
1865
|
+
{ Name: 'ContactNumber', DisplayName: 'ContactNumber', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ContactNumber' },
|
|
1866
|
+
{ Name: 'IsActive', DisplayName: 'IsActive', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsActive' },
|
|
1867
|
+
{ Name: 'ScopeApproved', DisplayName: 'ScopeApproved', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ScopeApproved' },
|
|
1868
|
+
{ Name: 'LogoImage', DisplayName: 'LogoImage', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LogoImage' },
|
|
1869
|
+
{ Name: 'Created', DisplayName: 'Created', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Created' },
|
|
1870
|
+
{ Name: 'Modified', DisplayName: 'Modified', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Modified' },
|
|
1871
|
+
{ Name: 'Redirects', DisplayName: 'Redirects', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Redirects' },
|
|
1872
|
+
{ Name: 'IsExternal', DisplayName: 'IsExternal', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsExternal' },
|
|
1873
|
+
],
|
|
1874
|
+
},
|
|
1875
|
+
{
|
|
1876
|
+
Name: 'OAuthScopes', DisplayName: 'OAuthScopes',
|
|
1877
|
+
Description: 'YourMembership OAuthScopes data', SupportsWrite: false,
|
|
1878
|
+
Fields: [
|
|
1879
|
+
{ Name: 'ScopeID', DisplayName: 'ScopeID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ScopeID' },
|
|
1880
|
+
{ Name: 'ScopeName', DisplayName: 'ScopeName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ScopeName' },
|
|
1881
|
+
{ Name: 'DisplayName', DisplayName: 'DisplayName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'DisplayName' },
|
|
1882
|
+
{ Name: 'IsDefault', DisplayName: 'IsDefault', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsDefault' },
|
|
1883
|
+
{ Name: 'GranularScope', DisplayName: 'GranularScope', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'GranularScope' },
|
|
1884
|
+
],
|
|
1885
|
+
},
|
|
1886
|
+
{
|
|
1887
|
+
Name: 'People', DisplayName: 'People',
|
|
1888
|
+
Description: 'YourMembership People data', SupportsWrite: true,
|
|
1889
|
+
Fields: [
|
|
1890
|
+
{ Name: 'FieldCode', DisplayName: 'FieldCode', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FieldCode' },
|
|
1891
|
+
{ Name: 'Fields', DisplayName: 'Fields', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Fields' },
|
|
1892
|
+
{ Name: 'Visibility', DisplayName: 'Visibility', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Visibility' },
|
|
1893
|
+
{ Name: 'VisibilityInt', DisplayName: 'VisibilityInt', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'VisibilityInt' },
|
|
1894
|
+
{ Name: 'Values', DisplayName: 'Values', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Values' },
|
|
1895
|
+
{ Name: 'ValuesProxy', DisplayName: 'ValuesProxy', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ValuesProxy' },
|
|
1896
|
+
{ Name: 'MetaValue', DisplayName: 'MetaValue', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'MetaValue' },
|
|
1897
|
+
{ Name: 'ClientID', DisplayName: 'ClientID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ClientID' },
|
|
1898
|
+
],
|
|
1899
|
+
},
|
|
1900
|
+
{
|
|
1901
|
+
Name: 'Photos', DisplayName: 'Photos',
|
|
1902
|
+
Description: 'YourMembership Photos data', SupportsWrite: true,
|
|
1903
|
+
Fields: [
|
|
1904
|
+
{ Name: 'CommentID', DisplayName: 'CommentID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'CommentID' },
|
|
1905
|
+
{ Name: 'CdbID', DisplayName: 'CdbID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CdbID' },
|
|
1906
|
+
{ Name: 'Posted', DisplayName: 'Posted', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Posted' },
|
|
1907
|
+
{ Name: 'PostedUTC', DisplayName: 'PostedUTC', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostedUTC' },
|
|
1908
|
+
{ Name: 'GalleryItemID', DisplayName: 'GalleryItemID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'GalleryItemID' },
|
|
1909
|
+
{ Name: 'SchoolID', DisplayName: 'SchoolID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'SchoolID' },
|
|
1910
|
+
{ Name: 'Comment', DisplayName: 'Comment', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Comment' },
|
|
1911
|
+
{ Name: 'PostedBy', DisplayName: 'PostedBy', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostedBy' },
|
|
1912
|
+
{ Name: 'PostedByMugshot', DisplayName: 'PostedByMugshot', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostedByMugshot' },
|
|
1913
|
+
{ Name: 'PostedDate', DisplayName: 'PostedDate', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostedDate' },
|
|
1914
|
+
{ Name: 'GroupID', DisplayName: 'GroupID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'GroupID' },
|
|
1915
|
+
{ Name: 'IsOwner', DisplayName: 'IsOwner', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsOwner' },
|
|
1916
|
+
{ Name: 'LikeID', DisplayName: 'LikeID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LikeID' },
|
|
1917
|
+
{ Name: 'LikedComment', DisplayName: 'LikedComment', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LikedComment' },
|
|
1918
|
+
{ Name: 'LikeCount', DisplayName: 'LikeCount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LikeCount' },
|
|
1919
|
+
{ Name: 'SkipCrossPost', DisplayName: 'SkipCrossPost', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'SkipCrossPost' },
|
|
1920
|
+
],
|
|
1921
|
+
},
|
|
1922
|
+
{
|
|
1923
|
+
Name: 'PushNotificationsConfig', DisplayName: 'PushNotificationsConfig',
|
|
1924
|
+
Description: 'YourMembership PushNotificationsConfig data', SupportsWrite: true,
|
|
1925
|
+
Fields: [
|
|
1926
|
+
{ Name: 'NotificationID', DisplayName: 'NotificationID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'NotificationID' },
|
|
1927
|
+
{ Name: 'DisplayName', DisplayName: 'DisplayName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'DisplayName' },
|
|
1928
|
+
{ Name: 'Status', DisplayName: 'Status', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Status' },
|
|
1929
|
+
],
|
|
1930
|
+
},
|
|
1931
|
+
{
|
|
1932
|
+
Name: 'SMSCampaignReports', DisplayName: 'SMSCampaignReports',
|
|
1933
|
+
Description: 'YourMembership SMSCampaignReports data', SupportsWrite: false,
|
|
1934
|
+
Fields: [
|
|
1935
|
+
{ Name: 'TypeId', DisplayName: 'TypeId', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'TypeId' },
|
|
1936
|
+
{ Name: 'ActivityType', DisplayName: 'ActivityType', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ActivityType' },
|
|
1937
|
+
{ Name: 'Date', DisplayName: 'Date', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Date' },
|
|
1938
|
+
],
|
|
1939
|
+
},
|
|
1940
|
+
{
|
|
1941
|
+
Name: 'SMSCampaignReports_Messages', DisplayName: 'SMSCampaignReports_Messages',
|
|
1942
|
+
Description: 'YourMembership SMSCampaignReports_Messages data', SupportsWrite: false,
|
|
1943
|
+
Fields: [
|
|
1944
|
+
{ Name: 'MemberId', DisplayName: 'MemberId', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'MemberId' },
|
|
1945
|
+
{ Name: 'FirstName', DisplayName: 'FirstName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FirstName' },
|
|
1946
|
+
{ Name: 'LastName', DisplayName: 'LastName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LastName' },
|
|
1947
|
+
{ Name: 'Mobile', DisplayName: 'Mobile', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Mobile' },
|
|
1948
|
+
{ Name: 'MessageId', DisplayName: 'MessageId', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'MessageId' },
|
|
1949
|
+
{ Name: 'Activity', DisplayName: 'Activity', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Activity' },
|
|
1950
|
+
],
|
|
1951
|
+
},
|
|
1952
|
+
{
|
|
1953
|
+
Name: 'SavedSearches', DisplayName: 'SavedSearches',
|
|
1954
|
+
Description: 'YourMembership SavedSearches data', SupportsWrite: false,
|
|
1955
|
+
Fields: [
|
|
1956
|
+
{ Name: 'SavedSearchId', DisplayName: 'SavedSearchId', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'SavedSearchId' },
|
|
1957
|
+
{ Name: 'SearchName', DisplayName: 'SearchName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'SearchName' },
|
|
1958
|
+
{ Name: 'SearchText', DisplayName: 'SearchText', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'SearchText' },
|
|
1959
|
+
{ Name: 'SearchTextPrintSet', DisplayName: 'SearchTextPrintSet', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'SearchTextPrintSet' },
|
|
1960
|
+
{ Name: 'Shared', DisplayName: 'Shared', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Shared' },
|
|
1961
|
+
{ Name: 'SearchType', DisplayName: 'SearchType', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'SearchType' },
|
|
1962
|
+
{ Name: 'Version', DisplayName: 'Version', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Version' },
|
|
1963
|
+
{ Name: 'Name', DisplayName: 'Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Name' },
|
|
1964
|
+
{ Name: 'FilePath', DisplayName: 'FilePath', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FilePath' },
|
|
1965
|
+
{ Name: 'CurrentVersion', DisplayName: 'CurrentVersion', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CurrentVersion' },
|
|
1966
|
+
{ Name: 'AdminUserId', DisplayName: 'AdminUserId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'AdminUserId' },
|
|
1967
|
+
{ Name: 'ErrorCount', DisplayName: 'ErrorCount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ErrorCount' },
|
|
1968
|
+
{ Name: 'FullName', DisplayName: 'FullName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FullName' },
|
|
1969
|
+
{ Name: 'SearchTermsHuman', DisplayName: 'SearchTermsHuman', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'SearchTermsHuman' },
|
|
1970
|
+
{ Name: 'SearchCategoryId', DisplayName: 'SearchCategoryId', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'SearchCategoryId' },
|
|
1971
|
+
{ Name: 'SearchNameFilter', DisplayName: 'SearchNameFilter', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'SearchNameFilter' },
|
|
1972
|
+
{ Name: 'SearchStatusProduct', DisplayName: 'SearchStatusProduct', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'SearchStatusProduct' },
|
|
1973
|
+
],
|
|
1974
|
+
},
|
|
1975
|
+
{
|
|
1976
|
+
Name: 'Shares', DisplayName: 'Shares',
|
|
1977
|
+
Description: 'YourMembership Shares data', SupportsWrite: true,
|
|
1978
|
+
Fields: [
|
|
1979
|
+
{ Name: 'ShareId', DisplayName: 'ShareId', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ShareId' },
|
|
1980
|
+
{ Name: 'PostId', DisplayName: 'PostId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostId' },
|
|
1981
|
+
{ Name: 'PhotoId', DisplayName: 'PhotoId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PhotoId' },
|
|
1982
|
+
{ Name: 'DateShared', DisplayName: 'DateShared', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'DateShared' },
|
|
1983
|
+
{ Name: 'ConnectionStatus', DisplayName: 'ConnectionStatus', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ConnectionStatus' },
|
|
1984
|
+
{ Name: 'ConnectionId', DisplayName: 'ConnectionId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ConnectionId' },
|
|
1985
|
+
{ Name: 'FirstName', DisplayName: 'FirstName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FirstName' },
|
|
1986
|
+
{ Name: 'LastName', DisplayName: 'LastName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LastName' },
|
|
1987
|
+
{ Name: 'ConnectionName', DisplayName: 'ConnectionName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ConnectionName' },
|
|
1988
|
+
{ Name: 'Organization', DisplayName: 'Organization', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Organization' },
|
|
1989
|
+
{ Name: 'HeadShotImage', DisplayName: 'HeadShotImage', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'HeadShotImage' },
|
|
1990
|
+
{ Name: 'WorkTitle', DisplayName: 'WorkTitle', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'WorkTitle' },
|
|
1991
|
+
{ Name: 'MemberType', DisplayName: 'MemberType', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'MemberType' },
|
|
1992
|
+
{ Name: 'City', DisplayName: 'City', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'City' },
|
|
1993
|
+
{ Name: 'State', DisplayName: 'State', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'State' },
|
|
1994
|
+
{ Name: 'Location', DisplayName: 'Location', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Location' },
|
|
1995
|
+
{ Name: 'Country', DisplayName: 'Country', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Country' },
|
|
1996
|
+
{ Name: 'Shared', DisplayName: 'Shared', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Shared' },
|
|
1997
|
+
{ Name: 'Email', DisplayName: 'Email', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Email' },
|
|
1998
|
+
{ Name: 'PhoneLabel', DisplayName: 'PhoneLabel', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PhoneLabel' },
|
|
1999
|
+
{ Name: 'PhoneAreaCode', DisplayName: 'PhoneAreaCode', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PhoneAreaCode' },
|
|
2000
|
+
{ Name: 'PhoneNumber', DisplayName: 'PhoneNumber', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PhoneNumber' },
|
|
2001
|
+
{ Name: 'FaxLabel', DisplayName: 'FaxLabel', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FaxLabel' },
|
|
2002
|
+
{ Name: 'FaxAreaCode', DisplayName: 'FaxAreaCode', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FaxAreaCode' },
|
|
2003
|
+
{ Name: 'FaxNumber', DisplayName: 'FaxNumber', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FaxNumber' },
|
|
2004
|
+
{ Name: 'CanShow', DisplayName: 'CanShow', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CanShow' },
|
|
2005
|
+
{ Name: 'intCategoryID', DisplayName: 'intCategoryID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'intCategoryID' },
|
|
2006
|
+
{ Name: 'IsAmbassador', DisplayName: 'IsAmbassador', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsAmbassador' },
|
|
2007
|
+
],
|
|
2008
|
+
},
|
|
2009
|
+
{
|
|
2010
|
+
Name: 'SponsorPosts', DisplayName: 'SponsorPosts',
|
|
2011
|
+
Description: 'YourMembership SponsorPosts data', SupportsWrite: false,
|
|
2012
|
+
Fields: [
|
|
2013
|
+
{ Name: 'Sponsored', DisplayName: 'Sponsored', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Sponsored' },
|
|
2014
|
+
{ Name: 'MemberID', DisplayName: 'MemberID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'MemberID' },
|
|
2015
|
+
{ Name: 'PostText', DisplayName: 'PostText', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostText' },
|
|
2016
|
+
{ Name: 'PostHtml', DisplayName: 'PostHtml', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostHtml' },
|
|
2017
|
+
{ Name: 'AuthorId', DisplayName: 'AuthorId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'AuthorId' },
|
|
2018
|
+
{ Name: 'WallOwnerId', DisplayName: 'WallOwnerId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'WallOwnerId' },
|
|
2019
|
+
{ Name: 'AuthorName', DisplayName: 'AuthorName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'AuthorName' },
|
|
2020
|
+
{ Name: 'WallOwnerName', DisplayName: 'WallOwnerName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'WallOwnerName' },
|
|
2021
|
+
{ Name: 'PostId', DisplayName: 'PostId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostId' },
|
|
2022
|
+
{ Name: 'PostDate', DisplayName: 'PostDate', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostDate' },
|
|
2023
|
+
{ Name: 'PostType', DisplayName: 'PostType', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostType' },
|
|
2024
|
+
{ Name: 'ShareCount', DisplayName: 'ShareCount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ShareCount' },
|
|
2025
|
+
{ Name: 'LikesCount', DisplayName: 'LikesCount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LikesCount' },
|
|
2026
|
+
{ Name: 'LikedPost', DisplayName: 'LikedPost', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LikedPost' },
|
|
2027
|
+
{ Name: 'LikeId', DisplayName: 'LikeId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LikeId' },
|
|
2028
|
+
{ Name: 'CommentCount', DisplayName: 'CommentCount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CommentCount' },
|
|
2029
|
+
{ Name: 'CommenterCount', DisplayName: 'CommenterCount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CommenterCount' },
|
|
2030
|
+
{ Name: 'PostHeadShotUrl', DisplayName: 'PostHeadShotUrl', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostHeadShotUrl' },
|
|
2031
|
+
{ Name: 'CanReply', DisplayName: 'CanReply', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CanReply' },
|
|
2032
|
+
{ Name: 'CanShare', DisplayName: 'CanShare', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CanShare' },
|
|
2033
|
+
{ Name: 'CanComment', DisplayName: 'CanComment', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CanComment' },
|
|
2034
|
+
{ Name: 'CanDelete', DisplayName: 'CanDelete', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CanDelete' },
|
|
2035
|
+
{ Name: 'RecentComments', DisplayName: 'RecentComments', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'RecentComments' },
|
|
2036
|
+
{ Name: 'CommentList', DisplayName: 'CommentList', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CommentList' },
|
|
2037
|
+
{ Name: 'PostHeadline', DisplayName: 'PostHeadline', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostHeadline' },
|
|
2038
|
+
{ Name: 'TopLine', DisplayName: 'TopLine', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'TopLine' },
|
|
2039
|
+
{ Name: 'PostContentData', DisplayName: 'PostContentData', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostContentData' },
|
|
2040
|
+
{ Name: 'PhotoGallery', DisplayName: 'PhotoGallery', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PhotoGallery' },
|
|
2041
|
+
{ Name: 'IsAmbassadorPost', DisplayName: 'IsAmbassadorPost', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsAmbassadorPost' },
|
|
2042
|
+
{ Name: 'IsActorAmbassador', DisplayName: 'IsActorAmbassador', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsActorAmbassador' },
|
|
2043
|
+
{ Name: 'IsSharedPost', DisplayName: 'IsSharedPost', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsSharedPost' },
|
|
2044
|
+
{ Name: 'Active', DisplayName: 'Active', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Active' },
|
|
76
2045
|
],
|
|
77
2046
|
},
|
|
78
2047
|
{
|
|
79
|
-
Name: '
|
|
80
|
-
Description: '
|
|
2048
|
+
Name: 'StoreProductExtractSelection', DisplayName: 'StoreProductExtractSelection',
|
|
2049
|
+
Description: 'YourMembership StoreProductExtractSelection data', SupportsWrite: false,
|
|
81
2050
|
Fields: [
|
|
82
|
-
{ Name: '
|
|
83
|
-
{ Name: '
|
|
84
|
-
{ Name: '
|
|
85
|
-
{ Name: '
|
|
2051
|
+
{ Name: 'Product_ID', DisplayName: 'Product_ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Product_ID' },
|
|
2052
|
+
{ Name: 'Product_Code', DisplayName: 'Product_Code', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Product_Code' },
|
|
2053
|
+
{ Name: 'Product_Name', DisplayName: 'Product_Name', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Product_Name' },
|
|
2054
|
+
{ Name: 'Active', DisplayName: 'Active', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Active' },
|
|
2055
|
+
{ Name: 'Featured_Product', DisplayName: 'Featured_Product', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Featured_Product' },
|
|
2056
|
+
{ Name: 'Primary_Category_ID', DisplayName: 'Primary_Category_ID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Primary_Category_ID' },
|
|
2057
|
+
{ Name: 'Primary_Category', DisplayName: 'Primary_Category', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Primary_Category' },
|
|
2058
|
+
{ Name: 'Use_Inventory', DisplayName: 'Use_Inventory', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Use_Inventory' },
|
|
2059
|
+
{ Name: 'Stock_Level', DisplayName: 'Stock_Level', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Stock_Level' },
|
|
2060
|
+
{ Name: 'Low_Stock_Threshold', DisplayName: 'Low_Stock_Threshold', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Low_Stock_Threshold' },
|
|
2061
|
+
{ Name: 'Allow_Back_Order', DisplayName: 'Allow_Back_Order', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Allow_Back_Order' },
|
|
2062
|
+
{ Name: 'Number_Sold', DisplayName: 'Number_Sold', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Number_Sold' },
|
|
2063
|
+
{ Name: 'NonMember_Price', DisplayName: 'NonMember_Price', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'NonMember_Price' },
|
|
2064
|
+
{ Name: 'Permalink', DisplayName: 'Permalink', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Permalink' },
|
|
2065
|
+
{ Name: 'Is_Dowloadable', DisplayName: 'Is_Dowloadable', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Is_Dowloadable' },
|
|
2066
|
+
{ Name: 'Download_Path', DisplayName: 'Download_Path', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Download_Path' },
|
|
2067
|
+
{ Name: 'List_In_Store', DisplayName: 'List_In_Store', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'List_In_Store' },
|
|
2068
|
+
{ Name: 'Buy_From_Store', DisplayName: 'Buy_From_Store', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Buy_From_Store' },
|
|
2069
|
+
{ Name: 'Is_Ticket', DisplayName: 'Is_Ticket', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Is_Ticket' },
|
|
2070
|
+
{ Name: 'Is_Career_Post', DisplayName: 'Is_Career_Post', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Is_Career_Post' },
|
|
2071
|
+
{ Name: 'Is_LMS_Course', DisplayName: 'Is_LMS_Course', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Is_LMS_Course' },
|
|
86
2072
|
],
|
|
87
2073
|
},
|
|
88
2074
|
{
|
|
89
|
-
Name: '
|
|
90
|
-
Description: '
|
|
2075
|
+
Name: 'StoreProductSelection', DisplayName: 'StoreProductSelection',
|
|
2076
|
+
Description: 'YourMembership StoreProductSelection data', SupportsWrite: false,
|
|
91
2077
|
Fields: [
|
|
92
|
-
{ Name: '
|
|
93
|
-
{ Name: '
|
|
94
|
-
{ Name: '
|
|
95
|
-
{ Name: '
|
|
96
|
-
{ Name: '
|
|
97
|
-
{ Name: '
|
|
98
|
-
{ Name: '
|
|
2078
|
+
{ Name: 'aut_ProductId', DisplayName: 'aut_ProductId', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'aut_ProductId' },
|
|
2079
|
+
{ Name: 'txt_productName', DisplayName: 'txt_productName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'txt_productName' },
|
|
2080
|
+
{ Name: 'intSequence', DisplayName: 'intSequence', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'intSequence' },
|
|
2081
|
+
{ Name: 'int_productActive', DisplayName: 'int_productActive', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'int_productActive' },
|
|
2082
|
+
{ Name: 'bln_Featured', DisplayName: 'bln_Featured', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'bln_Featured' },
|
|
2083
|
+
{ Name: 'blnDownloadable', DisplayName: 'blnDownloadable', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'blnDownloadable' },
|
|
2084
|
+
{ Name: 'strDownloadPath', DisplayName: 'strDownloadPath', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'strDownloadPath' },
|
|
2085
|
+
{ Name: 'blnAllowBackOrder', DisplayName: 'blnAllowBackOrder', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'blnAllowBackOrder' },
|
|
2086
|
+
{ Name: 'intStockLevel', DisplayName: 'intStockLevel', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'intStockLevel' },
|
|
2087
|
+
{ Name: 'intLowStockThreshold', DisplayName: 'intLowStockThreshold', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'intLowStockThreshold' },
|
|
2088
|
+
{ Name: 'blnUseInventory', DisplayName: 'blnUseInventory', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'blnUseInventory' },
|
|
2089
|
+
{ Name: 'intPrimaryCategoryID', DisplayName: 'intPrimaryCategoryID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'intPrimaryCategoryID' },
|
|
2090
|
+
{ Name: 'intCurrentCategoryID', DisplayName: 'intCurrentCategoryID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'intCurrentCategoryID' },
|
|
2091
|
+
{ Name: 'blnPrimaryCategory', DisplayName: 'blnPrimaryCategory', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'blnPrimaryCategory' },
|
|
2092
|
+
{ Name: 'strPrimaryCategory', DisplayName: 'strPrimaryCategory', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'strPrimaryCategory' },
|
|
2093
|
+
{ Name: 'blnFeaturedHere', DisplayName: 'blnFeaturedHere', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'blnFeaturedHere' },
|
|
2094
|
+
{ Name: 'intPurchased', DisplayName: 'intPurchased', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'intPurchased' },
|
|
2095
|
+
{ Name: 'intReserved', DisplayName: 'intReserved', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'intReserved' },
|
|
2096
|
+
{ Name: 'intTotalRows', DisplayName: 'intTotalRows', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'intTotalRows' },
|
|
99
2097
|
],
|
|
100
2098
|
},
|
|
101
2099
|
{
|
|
102
|
-
Name: '
|
|
103
|
-
Description: '
|
|
2100
|
+
Name: 'Templates', DisplayName: 'Templates',
|
|
2101
|
+
Description: 'YourMembership Templates data', SupportsWrite: false,
|
|
104
2102
|
Fields: [
|
|
105
|
-
{ Name: '
|
|
106
|
-
{ Name: '
|
|
107
|
-
{ Name: '
|
|
108
|
-
{ Name: '
|
|
109
|
-
{ Name: '
|
|
110
|
-
{ Name: '
|
|
2103
|
+
{ Name: 'type', DisplayName: 'type', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'type' },
|
|
2104
|
+
{ Name: 'id', DisplayName: 'id', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'id' },
|
|
2105
|
+
{ Name: 'generated_template_id', DisplayName: 'generated_template_id', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'generated_template_id' },
|
|
2106
|
+
{ Name: 'site_id', DisplayName: 'site_id', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'site_id' },
|
|
2107
|
+
{ Name: 'partner_id', DisplayName: 'partner_id', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'partner_id' },
|
|
2108
|
+
{ Name: 'questions', DisplayName: 'questions', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'questions' },
|
|
111
2109
|
],
|
|
112
2110
|
},
|
|
113
2111
|
{
|
|
114
|
-
Name: '
|
|
115
|
-
Description: '
|
|
2112
|
+
Name: 'TopContributors', DisplayName: 'TopContributors',
|
|
2113
|
+
Description: 'YourMembership TopContributors data', SupportsWrite: false,
|
|
116
2114
|
Fields: [
|
|
117
|
-
{ Name: '
|
|
118
|
-
{ Name: '
|
|
119
|
-
{ Name: '
|
|
120
|
-
{ Name: '
|
|
2115
|
+
{ Name: 'RankNumber', DisplayName: 'RankNumber', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'RankNumber' },
|
|
2116
|
+
{ Name: 'RankPercentage', DisplayName: 'RankPercentage', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'RankPercentage' },
|
|
2117
|
+
{ Name: 'RankBaseline', DisplayName: 'RankBaseline', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'RankBaseline' },
|
|
2118
|
+
{ Name: 'Score', DisplayName: 'Score', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Score' },
|
|
2119
|
+
{ Name: 'PostCount', DisplayName: 'PostCount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostCount' },
|
|
2120
|
+
{ Name: 'CommentCount', DisplayName: 'CommentCount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CommentCount' },
|
|
2121
|
+
{ Name: 'LikeCount', DisplayName: 'LikeCount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LikeCount' },
|
|
2122
|
+
{ Name: 'LevelId', DisplayName: 'LevelId', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'LevelId' },
|
|
2123
|
+
{ Name: 'LevelName', DisplayName: 'LevelName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LevelName' },
|
|
2124
|
+
{ Name: 'DisplayOptions', DisplayName: 'DisplayOptions', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'DisplayOptions' },
|
|
2125
|
+
{ Name: 'ConnectionStatus', DisplayName: 'ConnectionStatus', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ConnectionStatus' },
|
|
2126
|
+
{ Name: 'ConnectionId', DisplayName: 'ConnectionId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ConnectionId' },
|
|
2127
|
+
{ Name: 'FirstName', DisplayName: 'FirstName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FirstName' },
|
|
2128
|
+
{ Name: 'LastName', DisplayName: 'LastName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LastName' },
|
|
2129
|
+
{ Name: 'ConnectionName', DisplayName: 'ConnectionName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ConnectionName' },
|
|
2130
|
+
{ Name: 'Organization', DisplayName: 'Organization', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Organization' },
|
|
2131
|
+
{ Name: 'HeadShotImage', DisplayName: 'HeadShotImage', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'HeadShotImage' },
|
|
2132
|
+
{ Name: 'WorkTitle', DisplayName: 'WorkTitle', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'WorkTitle' },
|
|
2133
|
+
{ Name: 'MemberType', DisplayName: 'MemberType', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'MemberType' },
|
|
2134
|
+
{ Name: 'City', DisplayName: 'City', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'City' },
|
|
2135
|
+
{ Name: 'State', DisplayName: 'State', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'State' },
|
|
2136
|
+
{ Name: 'Location', DisplayName: 'Location', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Location' },
|
|
2137
|
+
{ Name: 'Country', DisplayName: 'Country', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Country' },
|
|
2138
|
+
{ Name: 'Shared', DisplayName: 'Shared', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Shared' },
|
|
2139
|
+
{ Name: 'Email', DisplayName: 'Email', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Email' },
|
|
2140
|
+
{ Name: 'PhoneLabel', DisplayName: 'PhoneLabel', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PhoneLabel' },
|
|
2141
|
+
{ Name: 'PhoneAreaCode', DisplayName: 'PhoneAreaCode', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PhoneAreaCode' },
|
|
2142
|
+
{ Name: 'PhoneNumber', DisplayName: 'PhoneNumber', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PhoneNumber' },
|
|
2143
|
+
{ Name: 'FaxLabel', DisplayName: 'FaxLabel', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FaxLabel' },
|
|
2144
|
+
{ Name: 'FaxAreaCode', DisplayName: 'FaxAreaCode', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FaxAreaCode' },
|
|
2145
|
+
{ Name: 'FaxNumber', DisplayName: 'FaxNumber', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FaxNumber' },
|
|
2146
|
+
{ Name: 'CanShow', DisplayName: 'CanShow', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CanShow' },
|
|
2147
|
+
{ Name: 'intCategoryID', DisplayName: 'intCategoryID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'intCategoryID' },
|
|
2148
|
+
{ Name: 'IsAmbassador', DisplayName: 'IsAmbassador', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsAmbassador' },
|
|
121
2149
|
],
|
|
122
2150
|
},
|
|
123
2151
|
{
|
|
124
|
-
Name: '
|
|
125
|
-
Description: '
|
|
2152
|
+
Name: 'TrendingPosts', DisplayName: 'TrendingPosts',
|
|
2153
|
+
Description: 'YourMembership TrendingPosts data', SupportsWrite: false,
|
|
126
2154
|
Fields: [
|
|
127
|
-
{ Name: '
|
|
128
|
-
{ Name: '
|
|
129
|
-
{ Name: '
|
|
130
|
-
{ Name: '
|
|
131
|
-
{ Name: '
|
|
132
|
-
{ Name: '
|
|
133
|
-
{ Name: '
|
|
2155
|
+
{ Name: 'Sponsored', DisplayName: 'Sponsored', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Sponsored' },
|
|
2156
|
+
{ Name: 'MemberID', DisplayName: 'MemberID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'MemberID' },
|
|
2157
|
+
{ Name: 'PostText', DisplayName: 'PostText', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostText' },
|
|
2158
|
+
{ Name: 'PostHtml', DisplayName: 'PostHtml', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostHtml' },
|
|
2159
|
+
{ Name: 'AuthorId', DisplayName: 'AuthorId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'AuthorId' },
|
|
2160
|
+
{ Name: 'WallOwnerId', DisplayName: 'WallOwnerId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'WallOwnerId' },
|
|
2161
|
+
{ Name: 'AuthorName', DisplayName: 'AuthorName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'AuthorName' },
|
|
2162
|
+
{ Name: 'WallOwnerName', DisplayName: 'WallOwnerName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'WallOwnerName' },
|
|
2163
|
+
{ Name: 'PostId', DisplayName: 'PostId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostId' },
|
|
2164
|
+
{ Name: 'PostDate', DisplayName: 'PostDate', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostDate' },
|
|
2165
|
+
{ Name: 'PostType', DisplayName: 'PostType', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostType' },
|
|
2166
|
+
{ Name: 'ShareCount', DisplayName: 'ShareCount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ShareCount' },
|
|
2167
|
+
{ Name: 'LikesCount', DisplayName: 'LikesCount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LikesCount' },
|
|
2168
|
+
{ Name: 'LikedPost', DisplayName: 'LikedPost', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LikedPost' },
|
|
2169
|
+
{ Name: 'LikeId', DisplayName: 'LikeId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LikeId' },
|
|
2170
|
+
{ Name: 'CommentCount', DisplayName: 'CommentCount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CommentCount' },
|
|
2171
|
+
{ Name: 'CommenterCount', DisplayName: 'CommenterCount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CommenterCount' },
|
|
2172
|
+
{ Name: 'PostHeadShotUrl', DisplayName: 'PostHeadShotUrl', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostHeadShotUrl' },
|
|
2173
|
+
{ Name: 'CanReply', DisplayName: 'CanReply', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CanReply' },
|
|
2174
|
+
{ Name: 'CanShare', DisplayName: 'CanShare', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CanShare' },
|
|
2175
|
+
{ Name: 'CanComment', DisplayName: 'CanComment', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CanComment' },
|
|
2176
|
+
{ Name: 'CanDelete', DisplayName: 'CanDelete', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CanDelete' },
|
|
2177
|
+
{ Name: 'RecentComments', DisplayName: 'RecentComments', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'RecentComments' },
|
|
2178
|
+
{ Name: 'CommentList', DisplayName: 'CommentList', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CommentList' },
|
|
2179
|
+
{ Name: 'PostHeadline', DisplayName: 'PostHeadline', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostHeadline' },
|
|
2180
|
+
{ Name: 'TopLine', DisplayName: 'TopLine', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'TopLine' },
|
|
2181
|
+
{ Name: 'PostContentData', DisplayName: 'PostContentData', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostContentData' },
|
|
2182
|
+
{ Name: 'PhotoGallery', DisplayName: 'PhotoGallery', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PhotoGallery' },
|
|
2183
|
+
{ Name: 'IsAmbassadorPost', DisplayName: 'IsAmbassadorPost', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsAmbassadorPost' },
|
|
2184
|
+
{ Name: 'IsActorAmbassador', DisplayName: 'IsActorAmbassador', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsActorAmbassador' },
|
|
2185
|
+
{ Name: 'IsSharedPost', DisplayName: 'IsSharedPost', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsSharedPost' },
|
|
2186
|
+
{ Name: 'Active', DisplayName: 'Active', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Active' },
|
|
134
2187
|
],
|
|
135
2188
|
},
|
|
136
2189
|
{
|
|
137
|
-
Name: '
|
|
138
|
-
Description: '
|
|
2190
|
+
Name: 'WallComments', DisplayName: 'WallComments',
|
|
2191
|
+
Description: 'YourMembership WallComments data', SupportsWrite: true,
|
|
139
2192
|
Fields: [
|
|
140
|
-
{ Name: '
|
|
141
|
-
{ Name: '
|
|
142
|
-
{ Name: '
|
|
143
|
-
{ Name: '
|
|
144
|
-
{ Name: '
|
|
145
|
-
{ Name: '
|
|
2193
|
+
{ Name: 'WallId', DisplayName: 'WallId', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'WallId' },
|
|
2194
|
+
{ Name: 'Sponsored', DisplayName: 'Sponsored', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Sponsored' },
|
|
2195
|
+
{ Name: 'MemberID', DisplayName: 'MemberID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'MemberID' },
|
|
2196
|
+
{ Name: 'PostText', DisplayName: 'PostText', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostText' },
|
|
2197
|
+
{ Name: 'PostHtml', DisplayName: 'PostHtml', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostHtml' },
|
|
2198
|
+
{ Name: 'AuthorId', DisplayName: 'AuthorId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'AuthorId' },
|
|
2199
|
+
{ Name: 'WallOwnerId', DisplayName: 'WallOwnerId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'WallOwnerId' },
|
|
2200
|
+
{ Name: 'AuthorName', DisplayName: 'AuthorName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'AuthorName' },
|
|
2201
|
+
{ Name: 'WallOwnerName', DisplayName: 'WallOwnerName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'WallOwnerName' },
|
|
2202
|
+
{ Name: 'PostId', DisplayName: 'PostId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostId' },
|
|
2203
|
+
{ Name: 'PostDate', DisplayName: 'PostDate', Type: 'datetime', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostDate' },
|
|
2204
|
+
{ Name: 'PostType', DisplayName: 'PostType', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostType' },
|
|
2205
|
+
{ Name: 'ShareCount', DisplayName: 'ShareCount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ShareCount' },
|
|
2206
|
+
{ Name: 'LikesCount', DisplayName: 'LikesCount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LikesCount' },
|
|
2207
|
+
{ Name: 'LikedPost', DisplayName: 'LikedPost', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LikedPost' },
|
|
2208
|
+
{ Name: 'LikeId', DisplayName: 'LikeId', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LikeId' },
|
|
2209
|
+
{ Name: 'CommentCount', DisplayName: 'CommentCount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CommentCount' },
|
|
2210
|
+
{ Name: 'CommenterCount', DisplayName: 'CommenterCount', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CommenterCount' },
|
|
2211
|
+
{ Name: 'PostHeadShotUrl', DisplayName: 'PostHeadShotUrl', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostHeadShotUrl' },
|
|
2212
|
+
{ Name: 'CanReply', DisplayName: 'CanReply', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CanReply' },
|
|
2213
|
+
{ Name: 'CanShare', DisplayName: 'CanShare', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CanShare' },
|
|
2214
|
+
{ Name: 'CanComment', DisplayName: 'CanComment', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CanComment' },
|
|
2215
|
+
{ Name: 'CanDelete', DisplayName: 'CanDelete', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CanDelete' },
|
|
2216
|
+
{ Name: 'RecentComments', DisplayName: 'RecentComments', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'RecentComments' },
|
|
2217
|
+
{ Name: 'CommentList', DisplayName: 'CommentList', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CommentList' },
|
|
2218
|
+
{ Name: 'PostHeadline', DisplayName: 'PostHeadline', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostHeadline' },
|
|
2219
|
+
{ Name: 'TopLine', DisplayName: 'TopLine', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'TopLine' },
|
|
2220
|
+
{ Name: 'PostContentData', DisplayName: 'PostContentData', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PostContentData' },
|
|
2221
|
+
{ Name: 'PhotoGallery', DisplayName: 'PhotoGallery', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PhotoGallery' },
|
|
2222
|
+
{ Name: 'IsAmbassadorPost', DisplayName: 'IsAmbassadorPost', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsAmbassadorPost' },
|
|
2223
|
+
{ Name: 'IsActorAmbassador', DisplayName: 'IsActorAmbassador', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsActorAmbassador' },
|
|
2224
|
+
{ Name: 'IsSharedPost', DisplayName: 'IsSharedPost', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsSharedPost' },
|
|
2225
|
+
{ Name: 'Active', DisplayName: 'Active', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Active' },
|
|
146
2226
|
],
|
|
147
2227
|
},
|
|
148
2228
|
{
|
|
149
|
-
Name: '
|
|
150
|
-
Description: '
|
|
2229
|
+
Name: 'WallComments_MemberList', DisplayName: 'WallComments_MemberList',
|
|
2230
|
+
Description: 'YourMembership WallComments_MemberList data', SupportsWrite: true,
|
|
151
2231
|
Fields: [
|
|
152
|
-
{ Name: '
|
|
153
|
-
{ Name: '
|
|
154
|
-
{ Name: '
|
|
155
|
-
{ Name: '
|
|
156
|
-
{ Name: '
|
|
157
|
-
{ Name: '
|
|
2232
|
+
{ Name: 'ConnectionStatus', DisplayName: 'ConnectionStatus', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ConnectionStatus' },
|
|
2233
|
+
{ Name: 'ConnectionId', DisplayName: 'ConnectionId', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ConnectionId' },
|
|
2234
|
+
{ Name: 'FirstName', DisplayName: 'FirstName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FirstName' },
|
|
2235
|
+
{ Name: 'LastName', DisplayName: 'LastName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'LastName' },
|
|
2236
|
+
{ Name: 'ConnectionName', DisplayName: 'ConnectionName', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ConnectionName' },
|
|
2237
|
+
{ Name: 'Organization', DisplayName: 'Organization', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Organization' },
|
|
2238
|
+
{ Name: 'HeadShotImage', DisplayName: 'HeadShotImage', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'HeadShotImage' },
|
|
2239
|
+
{ Name: 'WorkTitle', DisplayName: 'WorkTitle', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'WorkTitle' },
|
|
2240
|
+
{ Name: 'MemberType', DisplayName: 'MemberType', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'MemberType' },
|
|
2241
|
+
{ Name: 'City', DisplayName: 'City', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'City' },
|
|
2242
|
+
{ Name: 'State', DisplayName: 'State', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'State' },
|
|
2243
|
+
{ Name: 'Location', DisplayName: 'Location', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Location' },
|
|
2244
|
+
{ Name: 'Country', DisplayName: 'Country', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Country' },
|
|
2245
|
+
{ Name: 'Shared', DisplayName: 'Shared', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Shared' },
|
|
2246
|
+
{ Name: 'Email', DisplayName: 'Email', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Email' },
|
|
2247
|
+
{ Name: 'PhoneLabel', DisplayName: 'PhoneLabel', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PhoneLabel' },
|
|
2248
|
+
{ Name: 'PhoneAreaCode', DisplayName: 'PhoneAreaCode', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PhoneAreaCode' },
|
|
2249
|
+
{ Name: 'PhoneNumber', DisplayName: 'PhoneNumber', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'PhoneNumber' },
|
|
2250
|
+
{ Name: 'FaxLabel', DisplayName: 'FaxLabel', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FaxLabel' },
|
|
2251
|
+
{ Name: 'FaxAreaCode', DisplayName: 'FaxAreaCode', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FaxAreaCode' },
|
|
2252
|
+
{ Name: 'FaxNumber', DisplayName: 'FaxNumber', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'FaxNumber' },
|
|
2253
|
+
{ Name: 'CanShow', DisplayName: 'CanShow', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'CanShow' },
|
|
2254
|
+
{ Name: 'intCategoryID', DisplayName: 'intCategoryID', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'intCategoryID' },
|
|
2255
|
+
{ Name: 'IsAmbassador', DisplayName: 'IsAmbassador', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'IsAmbassador' },
|
|
158
2256
|
],
|
|
159
2257
|
},
|
|
160
2258
|
{
|
|
161
|
-
Name: '
|
|
162
|
-
Description: '
|
|
2259
|
+
Name: 'WebScraper', DisplayName: 'WebScraper',
|
|
2260
|
+
Description: 'YourMembership WebScraper data', SupportsWrite: true,
|
|
163
2261
|
Fields: [
|
|
164
|
-
{ Name: '
|
|
165
|
-
{ Name: '
|
|
166
|
-
{ Name: '
|
|
167
|
-
{ Name: '
|
|
2262
|
+
{ Name: 'Src', DisplayName: 'Src', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Src' },
|
|
2263
|
+
{ Name: 'Width', DisplayName: 'Width', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Width' },
|
|
2264
|
+
{ Name: 'Height', DisplayName: 'Height', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Height' },
|
|
2265
|
+
{ Name: 'AutoFit', DisplayName: 'AutoFit', Type: 'boolean', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'AutoFit' },
|
|
2266
|
+
{ Name: 'Index', DisplayName: 'Index', Type: 'number', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Index' },
|
|
2267
|
+
{ Name: 'Token', DisplayName: 'Token', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'Token' },
|
|
2268
|
+
{ Name: 'OriginalSrc', DisplayName: 'OriginalSrc', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'OriginalSrc' },
|
|
168
2269
|
],
|
|
169
2270
|
},
|
|
2271
|
+
// ── Objects present in metadata but not previously listed in YM_ACTION_OBJECTS ──
|
|
2272
|
+
// Added so DiscoverObjects()/IntrospectSchema() returns them and buildTargetConfigs
|
|
2273
|
+
// does not emit "not found in source schema" warnings for these entity maps.
|
|
2274
|
+
{ Name: 'BasicMemberProfile', DisplayName: 'Basic Member Profile', Description: 'Basic member profile data (member-scoped)', SupportsWrite: false, Fields: [{ Name: 'ProfileID', DisplayName: 'Profile ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Profile ID' }] },
|
|
2275
|
+
{ Name: 'BrandingConfig', DisplayName: 'Branding Config', Description: 'Site branding configuration', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2276
|
+
{ Name: 'ContentAreas', DisplayName: 'Content Areas', Description: 'CMS content areas', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2277
|
+
{ Name: 'ContentProxy', DisplayName: 'Content Proxy', Description: 'Member content proxy data (member-scoped)', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2278
|
+
{ Name: 'CustomCSS', DisplayName: 'Custom CSS', Description: 'Custom site CSS configuration', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2279
|
+
{ Name: 'CustomPageCategories', DisplayName: 'Custom Page Categories', Description: 'Categories for custom pages', SupportsWrite: false, Fields: [{ Name: 'CategoryID', DisplayName: 'Category ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Category ID' }] },
|
|
2280
|
+
{ Name: 'CustomPageDocTypes', DisplayName: 'Custom Page Doc Types', Description: 'Document types for custom pages', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2281
|
+
{ Name: 'CustomPageFileCollections', DisplayName: 'Custom Page File Collections', Description: 'File collections on custom pages', SupportsWrite: false, Fields: [{ Name: 'FileCollectionID', DisplayName: 'File Collection ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'File Collection ID' }, { Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: false, IsReadOnly: true, IsPrimaryKey: false, Description: 'ID' }] },
|
|
2282
|
+
{ Name: 'CustomPageTemplates', DisplayName: 'Custom Page Templates', Description: 'Templates for custom pages', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2283
|
+
{ Name: 'CustomPages', DisplayName: 'Custom Pages', Description: 'Custom CMS pages', SupportsWrite: false, Fields: [{ Name: 'PageID', DisplayName: 'Page ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Page ID' }] },
|
|
2284
|
+
{ Name: 'Donations', DisplayName: 'Donations', Description: 'Member donation records', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2285
|
+
{ Name: 'Dues', DisplayName: 'Dues', Description: 'Membership dues information', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2286
|
+
{ Name: 'EventAlias', DisplayName: 'Event Alias', Description: 'Event URL aliases (event-scoped)', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2287
|
+
{ Name: 'EventRegistrationIDs', DisplayName: 'Event Registration IDs', Description: 'Registration ID list for events (event-scoped)', SupportsWrite: false, Fields: [{ Name: 'RegistrationID', DisplayName: 'Registration ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Registration ID' }] },
|
|
2288
|
+
{ Name: 'EventVirtualMeetings', DisplayName: 'Event Virtual Meetings', Description: 'Virtual meeting settings for events (event-scoped)', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2289
|
+
{ Name: 'EventVirtualUsers', DisplayName: 'Event Virtual Users', Description: 'Virtual meeting users for events (event-scoped)', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2290
|
+
{ Name: 'EventVirtualWebinars', DisplayName: 'Event Virtual Webinars', Description: 'Virtual webinar settings for events (event-scoped)', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2291
|
+
{ Name: 'Favorites', DisplayName: 'Favorites', Description: 'Member favorite items (member-scoped)', SupportsWrite: false, Fields: [{ Name: 'FavoriteId', DisplayName: 'Favorite ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Favorite ID' }] },
|
|
2292
|
+
{ Name: 'FreestoneTypes', DisplayName: 'Freestone Types', Description: 'Freestone integration types', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2293
|
+
{ Name: 'HelpTopic', DisplayName: 'Help Topic', Description: 'Help topics', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2294
|
+
{ Name: 'InvoicePayments', DisplayName: 'Invoice Payments', Description: 'Payments applied to invoices', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2295
|
+
{ Name: 'JobAlertsCriteria', DisplayName: 'Job Alerts Criteria', Description: 'Criteria for job alerts (member-scoped, /Ymc/)', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2296
|
+
{ Name: 'JobSearch', DisplayName: 'Job Search', Description: 'Job board search (member-scoped, /Ymc/)', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2297
|
+
{ Name: 'MemberConfig', DisplayName: 'Member Config', Description: 'Member configuration settings (member-scoped)', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2298
|
+
{ Name: 'MemberProfile', DisplayName: 'Member Profile', Description: 'Full member profile (member-scoped)', SupportsWrite: false, Fields: [{ Name: 'ProfileID', DisplayName: 'Profile ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Profile ID' }] },
|
|
2299
|
+
{ Name: 'MemberPulse', DisplayName: 'Member Pulse', Description: 'Member engagement pulse data (member-scoped)', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2300
|
+
{ Name: 'MessageFolders', DisplayName: 'Message Folders', Description: 'Member message folders (member-scoped)', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2301
|
+
{ Name: 'Messages', DisplayName: 'Messages', Description: 'Member messages (member-scoped)', SupportsWrite: false, Fields: [{ Name: 'MessageId', DisplayName: 'Message ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Message ID' }] },
|
|
2302
|
+
{ Name: 'NotificationDetails', DisplayName: 'Notification Details', Description: 'Notification detail records', SupportsWrite: false, Fields: [{ Name: 'NotificationID', DisplayName: 'Notification ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Notification ID' }] },
|
|
2303
|
+
{ Name: 'NotificationSubscription', DisplayName: 'Notification Subscription', Description: 'Member notification subscriptions (member-scoped)', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2304
|
+
{ Name: 'Orders', DisplayName: 'Orders', Description: 'Store orders', SupportsWrite: false, Fields: [{ Name: 'OrderID', DisplayName: 'Order ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Order ID' }] },
|
|
2305
|
+
{ Name: 'PeopleGroups', DisplayName: 'People Groups', Description: 'Groups of people/members', SupportsWrite: false, Fields: [{ Name: 'GroupID', DisplayName: 'Group ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Group ID' }] },
|
|
2306
|
+
{ Name: 'Pinpoint', DisplayName: 'Pinpoint', Description: 'Member pinpoint/location data (member-scoped, /Ymc/)', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2307
|
+
{ Name: 'ProductMemberPrice', DisplayName: 'Product Member Price', Description: 'Member-specific product pricing', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2308
|
+
{ Name: 'RegistrationSessionRequest', DisplayName: 'Registration Session Request', Description: 'Event registration session requests (event-scoped)', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2309
|
+
{ Name: 'SMSCampaigns', DisplayName: 'SMS Campaigns', Description: 'SMS marketing campaigns', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2310
|
+
{ Name: 'SavedJobs', DisplayName: 'Saved Jobs', Description: 'Member saved job listings (member-scoped, /Ymc/)', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2311
|
+
{ Name: 'SingleMembership', DisplayName: 'Single Membership', Description: 'Single membership record lookup', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2312
|
+
{ Name: 'WallPostFirst', DisplayName: 'Wall Post First', Description: 'First wall post for a member (member-scoped)', SupportsWrite: false, Fields: [{ Name: 'WallId', DisplayName: 'Wall ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Wall ID' }] },
|
|
2313
|
+
{ Name: 'WallPosts', DisplayName: 'Wall Posts', Description: 'Member wall posts (member-scoped)', SupportsWrite: false, Fields: [{ Name: 'WallId', DisplayName: 'Wall ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Wall ID' }] },
|
|
2314
|
+
// ── Additional stubs from DB entity maps (write/action endpoints not used for pull sync) ──
|
|
2315
|
+
{ Name: 'Auth', DisplayName: 'Auth', Description: 'Authentication endpoint', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2316
|
+
{ Name: 'Authenticate', DisplayName: 'Authenticate', Description: 'Authenticate endpoint', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2317
|
+
{ Name: 'BrandingConfigCss', DisplayName: 'Branding Config CSS', Description: 'Branding configuration CSS', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2318
|
+
{ Name: 'CBXClientConfig', DisplayName: 'CBX Client Config', Description: 'CBX client configuration', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2319
|
+
{ Name: 'ClientConfig', DisplayName: 'Client Config', Description: 'Client configuration', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2320
|
+
{ Name: 'ConvertToMemberRequest', DisplayName: 'Convert To Member Request', Description: 'Convert non-member to member request', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2321
|
+
{ Name: 'CopyCampaign', DisplayName: 'Copy Campaign', Description: 'Copy campaign action', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2322
|
+
{ Name: 'DonationHistoryCancelAutoBill', DisplayName: 'Donation History Cancel Auto Bill', Description: 'Cancel auto-bill on donation history', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2323
|
+
{ Name: 'EventRegistrationAttendance', DisplayName: 'Event Registration Attendance', Description: 'Event registration attendance tracking', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2324
|
+
{ Name: 'EventSessionAttendanceRequest', DisplayName: 'Event Session Attendance Request', Description: 'Event session attendance request', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2325
|
+
{ Name: 'ExternalLink', DisplayName: 'External Link', Description: 'External link records', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2326
|
+
{ Name: 'FacebookProfile', DisplayName: 'Facebook Profile', Description: 'Facebook profile integration', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2327
|
+
{ Name: 'FilesUpload', DisplayName: 'Files Upload', Description: 'File upload endpoint', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2328
|
+
{ Name: 'FinalizeLogin', DisplayName: 'Finalize Login', Description: 'Finalize login action', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2329
|
+
{ Name: 'FindEventRegistrationForms', DisplayName: 'Find Event Registration Forms', Description: 'Search event registration forms', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2330
|
+
{ Name: 'FindEventTickets', DisplayName: 'Find Event Tickets', Description: 'Search event tickets', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2331
|
+
{ Name: 'FindMembers', DisplayName: 'Find Members', Description: 'Member search endpoint', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2332
|
+
{ Name: 'FindProducts', DisplayName: 'Find Products', Description: 'Product search endpoint', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2333
|
+
{ Name: 'GetAccessToken', DisplayName: 'Get Access Token', Description: 'OAuth access token endpoint', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2334
|
+
{ Name: 'GetToken', DisplayName: 'Get Token', Description: 'Token retrieval endpoint', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2335
|
+
{ Name: 'GroupJoin', DisplayName: 'Group Join', Description: 'Join group action', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2336
|
+
{ Name: 'HasInformz', DisplayName: 'Has Informz', Description: 'Informz integration check', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2337
|
+
{ Name: 'HassAcessTestFolder', DisplayName: 'Has Access Test Folder', Description: 'Access test folder check', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2338
|
+
{ Name: 'HtmlSanitization', DisplayName: 'HTML Sanitization', Description: 'HTML sanitization utility', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2339
|
+
{ Name: 'InformzBulkUploadBySearchGuidRequest', DisplayName: 'Informz Bulk Upload By Search GUID', Description: 'Informz bulk upload by search GUID', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2340
|
+
{ Name: 'InformzBulkUploadEventRegistrantsRequest', DisplayName: 'Informz Bulk Upload Event Registrants', Description: 'Informz bulk upload event registrants', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2341
|
+
{ Name: 'InformzBulkUploadForDuesBySearchIdRequest', DisplayName: 'Informz Bulk Upload For Dues By Search ID', Description: 'Informz bulk upload dues by search ID', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2342
|
+
{ Name: 'InformzBulkUploadForDuesRequest', DisplayName: 'Informz Bulk Upload For Dues', Description: 'Informz bulk upload for dues', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2343
|
+
{ Name: 'InformzBulkUploadForOrdersBySearchIdRequest', DisplayName: 'Informz Bulk Upload For Orders By Search ID', Description: 'Informz bulk upload orders by search ID', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2344
|
+
{ Name: 'InformzBulkUploadForOrdersRequest', DisplayName: 'Informz Bulk Upload For Orders', Description: 'Informz bulk upload for orders', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2345
|
+
{ Name: 'InformzBulkUploadForReportsRequest', DisplayName: 'Informz Bulk Upload For Reports', Description: 'Informz bulk upload for reports', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2346
|
+
{ Name: 'InformzFindGroupRequest', DisplayName: 'Informz Find Group', Description: 'Informz find group request', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2347
|
+
{ Name: 'MarkupRender', DisplayName: 'Markup Render', Description: 'Render markup content (custom-scoped)', SupportsWrite: false, Fields: [{ Name: 'MarkupId', DisplayName: 'Markup ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Markup ID' }] },
|
|
2348
|
+
{ Name: 'MemberPasswordReset', DisplayName: 'Member Password Reset', Description: 'Member password reset action', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2349
|
+
{ Name: 'MembershipRenewalReminderGetRequest', DisplayName: 'Membership Renewal Reminder Get', Description: 'Get membership renewal reminder settings', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2350
|
+
{ Name: 'MembershipRenewalReminderPutRequest', DisplayName: 'Membership Renewal Reminder Put', Description: 'Update membership renewal reminder settings', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2351
|
+
{ Name: 'NotificationUpdate', DisplayName: 'Notification Update', Description: 'Update notification records', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2352
|
+
{ Name: 'OAuthClientAppAPISetting', DisplayName: 'OAuth Client App API Setting', Description: 'OAuth client app API settings', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2353
|
+
{ Name: 'OIDCGetAccessToken', DisplayName: 'OIDC Get Access Token', Description: 'OIDC access token endpoint', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2354
|
+
{ Name: 'OrganizationPosts', DisplayName: 'Organization Posts', Description: 'Organization post records', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2355
|
+
{ Name: 'PageMetaInfo', DisplayName: 'Page Meta Info', Description: 'Page metadata information', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2356
|
+
{ Name: 'PasswordValidityRequest', DisplayName: 'Password Validity Request', Description: 'Password validity check', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2357
|
+
{ Name: 'PeopleBulkDetachRequest', DisplayName: 'People Bulk Detach Request', Description: 'Bulk detach people records', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2358
|
+
{ Name: 'PeopleProfileFindID', DisplayName: 'People Profile Find ID', Description: 'Find member profile ID', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2359
|
+
{ Name: 'PhotoComments', DisplayName: 'Photo Comments', Description: 'Comments on member photos', SupportsWrite: false, Fields: [{ Name: 'PhotoCommentId', DisplayName: 'Photo Comment ID', Type: 'number', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'Photo Comment ID' }] },
|
|
2360
|
+
{ Name: 'Ping', DisplayName: 'Ping', Description: 'API health check endpoint', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2361
|
+
{ Name: 'ProductsDto', DisplayName: 'Products DTO', Description: 'Products data transfer object', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2362
|
+
{ Name: 'QuickBooksOnlineOAuth', DisplayName: 'QuickBooks Online OAuth', Description: 'QuickBooks Online OAuth integration', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2363
|
+
{ Name: 'ResendCampaign', DisplayName: 'Resend Campaign', Description: 'Resend campaign action', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2364
|
+
{ Name: 'ResourceManagerFilesUpload', DisplayName: 'Resource Manager Files Upload', Description: 'Resource manager file upload', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2365
|
+
{ Name: 'RssBuilder', DisplayName: 'RSS Builder', Description: 'RSS feed builder', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2366
|
+
{ Name: 'SMSCampaignListDetails', DisplayName: 'SMS Campaign List Details', Description: 'SMS campaign list details', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2367
|
+
{ Name: 'SendTestNotification', DisplayName: 'Send Test Notification', Description: 'Send test notification action', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2368
|
+
{ Name: 'SocialOAuth', DisplayName: 'Social OAuth', Description: 'Social OAuth integration', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2369
|
+
{ Name: 'StoreProductBulkStatus', DisplayName: 'Store Product Bulk Status', Description: 'Bulk update store product status', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2370
|
+
{ Name: 'StoreProductBulkStatusAll', DisplayName: 'Store Product Bulk Status All', Description: 'Bulk update all store product statuses', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2371
|
+
{ Name: 'StoreProductPromoCodes', DisplayName: 'Store Product Promo Codes', Description: 'Promo codes for store products', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2372
|
+
{ Name: 'StoreProductSequence', DisplayName: 'Store Product Sequence', Description: 'Store product sequence ordering', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2373
|
+
{ Name: 'StoreProductUpdate', DisplayName: 'Store Product Update', Description: 'Update store product action', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2374
|
+
{ Name: 'TaxRateRequest', DisplayName: 'Tax Rate Request', Description: 'Tax rate lookup request', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2375
|
+
{ Name: 'UnblockCardRequest', DisplayName: 'Unblock Card Request', Description: 'Unblock payment card request', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2376
|
+
{ Name: 'UsernameAvailabilityRequest', DisplayName: 'Username Availability Request', Description: 'Check username availability', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2377
|
+
{ Name: 'ZoomEventListener', DisplayName: 'Zoom Event Listener', Description: 'Zoom event listener integration', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2378
|
+
{ Name: 'ZoomEventListenerOAuth', DisplayName: 'Zoom Event Listener OAuth', Description: 'Zoom event listener OAuth', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
2379
|
+
{ Name: 'ZoomOAuth', DisplayName: 'Zoom OAuth', Description: 'Zoom OAuth integration', SupportsWrite: false, Fields: [{ Name: 'Id', DisplayName: 'ID', Type: 'string', IsRequired: true, IsReadOnly: true, IsPrimaryKey: true, Description: 'ID' }] },
|
|
170
2380
|
];
|
|
171
2381
|
let YourMembershipConnector = class YourMembershipConnector extends BaseRESTIntegrationConnector {
|
|
172
2382
|
constructor() {
|
|
@@ -179,10 +2389,21 @@ let YourMembershipConnector = class YourMembershipConnector extends BaseRESTInte
|
|
|
179
2389
|
this._config = null;
|
|
180
2390
|
/** Current adaptive request interval — increases on 429, recovers toward resolved MIN */
|
|
181
2391
|
this.currentRequestIntervalMs = MIN_REQUEST_INTERVAL_MS;
|
|
182
|
-
/**
|
|
183
|
-
this.
|
|
2392
|
+
/** Successful requests since the last 429 — used to gate interval recovery */
|
|
2393
|
+
this._successesSince429 = 0;
|
|
2394
|
+
/** Cached parent IDs for parent-scoped fetches (keyed by objectName) */
|
|
2395
|
+
this.parentIdCache = new Map();
|
|
2396
|
+
/**
|
|
2397
|
+
* Holds the current watermark value for the duration of a FetchChanges call.
|
|
2398
|
+
* Set at the top of FetchChanges so that AppendDefaultQueryParams can inject
|
|
2399
|
+
* the server-side date filter param for endpoints listed in YM_SERVER_FILTER_PARAMS.
|
|
2400
|
+
*/
|
|
2401
|
+
this._currentWatermark = null;
|
|
184
2402
|
}
|
|
185
2403
|
get IntegrationName() { return 'YourMembership'; }
|
|
2404
|
+
get SupportsCreate() { return true; }
|
|
2405
|
+
get SupportsUpdate() { return true; }
|
|
2406
|
+
get SupportsDelete() { return true; }
|
|
186
2407
|
GetIntegrationObjects() {
|
|
187
2408
|
return YM_ACTION_OBJECTS;
|
|
188
2409
|
}
|
|
@@ -198,6 +2419,221 @@ let YourMembershipConnector = class YourMembershipConnector extends BaseRESTInte
|
|
|
198
2419
|
config.IncludeList = true;
|
|
199
2420
|
return config;
|
|
200
2421
|
}
|
|
2422
|
+
// ─── Schema Discovery (from static TS definitions) ───────────────────
|
|
2423
|
+
async DiscoverObjects(_companyIntegration, _contextUser) {
|
|
2424
|
+
return YM_ACTION_OBJECTS.map(obj => ({
|
|
2425
|
+
Name: obj.Name,
|
|
2426
|
+
Label: obj.DisplayName,
|
|
2427
|
+
Description: obj.Description,
|
|
2428
|
+
SupportsIncrementalSync: true,
|
|
2429
|
+
SupportsWrite: obj.SupportsWrite ?? false,
|
|
2430
|
+
}));
|
|
2431
|
+
}
|
|
2432
|
+
/**
|
|
2433
|
+
* Discovers fields by fetching one record from the live YM API endpoint and
|
|
2434
|
+
* inferring field names/types from the response. Static metadata from
|
|
2435
|
+
* YM_ACTION_OBJECTS is merged in to preserve PK, FK, description, and
|
|
2436
|
+
* IsRequired/IsReadOnly annotations.
|
|
2437
|
+
*
|
|
2438
|
+
* Falls back to the static array if the live API call fails.
|
|
2439
|
+
*/
|
|
2440
|
+
async DiscoverFields(companyIntegration, objectName, contextUser) {
|
|
2441
|
+
const staticObj = YM_ACTION_OBJECTS.find(o => o.Name.toLowerCase() === objectName.toLowerCase());
|
|
2442
|
+
try {
|
|
2443
|
+
const liveFields = await this.DiscoverFieldsFromLiveAPI(companyIntegration, objectName, contextUser);
|
|
2444
|
+
if (liveFields.length > 0) {
|
|
2445
|
+
return this.MergeFieldsWithStaticMetadata(liveFields, staticObj);
|
|
2446
|
+
}
|
|
2447
|
+
}
|
|
2448
|
+
catch (err) {
|
|
2449
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
2450
|
+
console.warn(`[YM] Live field discovery failed for "${objectName}", falling back to static: ${msg}`);
|
|
2451
|
+
}
|
|
2452
|
+
// Fallback: return static fields
|
|
2453
|
+
if (!staticObj)
|
|
2454
|
+
return [];
|
|
2455
|
+
return staticObj.Fields.map(f => ({
|
|
2456
|
+
Name: f.Name,
|
|
2457
|
+
Label: f.DisplayName,
|
|
2458
|
+
Description: f.Description,
|
|
2459
|
+
DataType: f.Type,
|
|
2460
|
+
IsRequired: f.IsRequired,
|
|
2461
|
+
IsUniqueKey: f.IsPrimaryKey,
|
|
2462
|
+
IsReadOnly: f.IsReadOnly,
|
|
2463
|
+
}));
|
|
2464
|
+
}
|
|
2465
|
+
/**
|
|
2466
|
+
* Fetches one record from the YM API for the given object and infers field schemas.
|
|
2467
|
+
*/
|
|
2468
|
+
async DiscoverFieldsFromLiveAPI(companyIntegration, objectName, contextUser) {
|
|
2469
|
+
const auth = await this.Authenticate(companyIntegration, contextUser);
|
|
2470
|
+
const headers = this.BuildHeaders(auth);
|
|
2471
|
+
// Map object names to their YM API endpoints
|
|
2472
|
+
const endpointMap = {
|
|
2473
|
+
members: { path: 'MemberList', dataKey: 'Members' },
|
|
2474
|
+
membertypes: { path: 'MemberTypes', dataKey: 'MemberTypes' },
|
|
2475
|
+
memberships: { path: 'Memberships', dataKey: 'Memberships' },
|
|
2476
|
+
events: { path: 'Events', dataKey: 'Events' },
|
|
2477
|
+
products: { path: 'Products', dataKey: null },
|
|
2478
|
+
invoices: { path: 'Invoices', dataKey: 'Invoices' },
|
|
2479
|
+
donations: { path: 'Donations', dataKey: 'Donations' },
|
|
2480
|
+
orders: { path: 'Orders', dataKey: 'Orders' },
|
|
2481
|
+
groups: { path: 'Groups', dataKey: 'GroupTypeList' },
|
|
2482
|
+
grouptypes: { path: 'Groups', dataKey: 'GroupTypeList' },
|
|
2483
|
+
engagementscores: { path: 'EngagementScores', dataKey: null },
|
|
2484
|
+
};
|
|
2485
|
+
const mapping = endpointMap[objectName.toLowerCase()];
|
|
2486
|
+
if (!mapping) {
|
|
2487
|
+
console.warn(`[YM] No API endpoint mapping for "${objectName}", skipping live discovery`);
|
|
2488
|
+
return [];
|
|
2489
|
+
}
|
|
2490
|
+
const url = `${YM_API_BASE}/Ams/${auth.Config.ClientID}/${mapping.path}?PageSize=1`;
|
|
2491
|
+
const response = await this.MakeHTTPRequest(auth, url, 'GET', headers);
|
|
2492
|
+
if (response.Status < 200 || response.Status >= 300)
|
|
2493
|
+
return [];
|
|
2494
|
+
const body = response.Body;
|
|
2495
|
+
const sampleRecord = this.ExtractSampleRecord(body, mapping.dataKey);
|
|
2496
|
+
if (!sampleRecord)
|
|
2497
|
+
return [];
|
|
2498
|
+
return this.InferFieldsFromRecord(sampleRecord);
|
|
2499
|
+
}
|
|
2500
|
+
/**
|
|
2501
|
+
* Extracts a single sample record from the YM API response body.
|
|
2502
|
+
*/
|
|
2503
|
+
ExtractSampleRecord(body, dataKey) {
|
|
2504
|
+
if (dataKey != null) {
|
|
2505
|
+
const data = body[dataKey];
|
|
2506
|
+
if (Array.isArray(data) && data.length > 0) {
|
|
2507
|
+
return data[0];
|
|
2508
|
+
}
|
|
2509
|
+
return null;
|
|
2510
|
+
}
|
|
2511
|
+
// Null dataKey: raw array or single object
|
|
2512
|
+
if (Array.isArray(body) && body.length > 0) {
|
|
2513
|
+
return body[0];
|
|
2514
|
+
}
|
|
2515
|
+
// Single object response — filter metadata keys and use as sample
|
|
2516
|
+
const filtered = {};
|
|
2517
|
+
for (const [key, value] of Object.entries(body)) {
|
|
2518
|
+
if (!METADATA_KEYS.has(key)) {
|
|
2519
|
+
filtered[key] = value;
|
|
2520
|
+
}
|
|
2521
|
+
}
|
|
2522
|
+
return Object.keys(filtered).length > 0 ? filtered : null;
|
|
2523
|
+
}
|
|
2524
|
+
/**
|
|
2525
|
+
* Infers ExternalFieldSchema[] from a sample record's keys and values.
|
|
2526
|
+
*/
|
|
2527
|
+
InferFieldsFromRecord(record) {
|
|
2528
|
+
const fields = [];
|
|
2529
|
+
for (const [key, value] of Object.entries(record)) {
|
|
2530
|
+
// Skip nested objects/arrays — only flat scalar fields
|
|
2531
|
+
if (value !== null && typeof value === 'object' && !Array.isArray(value))
|
|
2532
|
+
continue;
|
|
2533
|
+
if (Array.isArray(value))
|
|
2534
|
+
continue;
|
|
2535
|
+
fields.push({
|
|
2536
|
+
Name: key,
|
|
2537
|
+
Label: key.replace(/([a-z])([A-Z])/g, '$1 $2').replace(/_/g, ' '),
|
|
2538
|
+
Description: undefined,
|
|
2539
|
+
DataType: this.InferFieldType(value),
|
|
2540
|
+
IsRequired: false,
|
|
2541
|
+
IsUniqueKey: false,
|
|
2542
|
+
IsReadOnly: false,
|
|
2543
|
+
});
|
|
2544
|
+
}
|
|
2545
|
+
return fields;
|
|
2546
|
+
}
|
|
2547
|
+
/**
|
|
2548
|
+
* Infer a MJ-compatible type string from a JavaScript value.
|
|
2549
|
+
*/
|
|
2550
|
+
InferFieldType(value) {
|
|
2551
|
+
if (value === null || value === undefined)
|
|
2552
|
+
return 'string';
|
|
2553
|
+
if (typeof value === 'boolean')
|
|
2554
|
+
return 'boolean';
|
|
2555
|
+
if (typeof value === 'number')
|
|
2556
|
+
return Number.isInteger(value) ? 'number' : 'decimal';
|
|
2557
|
+
if (typeof value === 'string') {
|
|
2558
|
+
if (/^\d{4}-\d{2}-\d{2}/.test(value))
|
|
2559
|
+
return 'datetime';
|
|
2560
|
+
return 'string';
|
|
2561
|
+
}
|
|
2562
|
+
return 'string';
|
|
2563
|
+
}
|
|
2564
|
+
/**
|
|
2565
|
+
* Merges live-discovered fields with static metadata from YM_ACTION_OBJECTS.
|
|
2566
|
+
* Live fields are the base; static metadata overlays PK, FK, Description,
|
|
2567
|
+
* IsRequired, and IsReadOnly where a matching field name exists.
|
|
2568
|
+
*/
|
|
2569
|
+
MergeFieldsWithStaticMetadata(liveFields, staticObj) {
|
|
2570
|
+
if (!staticObj)
|
|
2571
|
+
return liveFields;
|
|
2572
|
+
const staticMap = new Map(staticObj.Fields.map(f => [f.Name.toLowerCase(), f]));
|
|
2573
|
+
const merged = liveFields.map(lf => {
|
|
2574
|
+
const sf = staticMap.get(lf.Name.toLowerCase());
|
|
2575
|
+
if (sf) {
|
|
2576
|
+
return {
|
|
2577
|
+
...lf,
|
|
2578
|
+
Label: sf.DisplayName || lf.Label,
|
|
2579
|
+
Description: sf.Description || lf.Description,
|
|
2580
|
+
IsRequired: sf.IsRequired,
|
|
2581
|
+
IsUniqueKey: sf.IsPrimaryKey,
|
|
2582
|
+
IsReadOnly: sf.IsReadOnly,
|
|
2583
|
+
};
|
|
2584
|
+
}
|
|
2585
|
+
return lf;
|
|
2586
|
+
});
|
|
2587
|
+
// Add any static fields not found in the live response (e.g., computed fields)
|
|
2588
|
+
for (const sf of staticObj.Fields) {
|
|
2589
|
+
if (!merged.some(f => f.Name.toLowerCase() === sf.Name.toLowerCase())) {
|
|
2590
|
+
merged.push({
|
|
2591
|
+
Name: sf.Name,
|
|
2592
|
+
Label: sf.DisplayName,
|
|
2593
|
+
Description: sf.Description,
|
|
2594
|
+
DataType: sf.Type,
|
|
2595
|
+
IsRequired: sf.IsRequired,
|
|
2596
|
+
IsUniqueKey: sf.IsPrimaryKey,
|
|
2597
|
+
IsReadOnly: sf.IsReadOnly,
|
|
2598
|
+
});
|
|
2599
|
+
}
|
|
2600
|
+
}
|
|
2601
|
+
return merged;
|
|
2602
|
+
}
|
|
2603
|
+
/**
|
|
2604
|
+
* Override IntrospectSchema to use live field discovery (with static fallback).
|
|
2605
|
+
* Ensures DDL generation always reflects the actual API response shape.
|
|
2606
|
+
*/
|
|
2607
|
+
async IntrospectSchema(companyIntegration, contextUser) {
|
|
2608
|
+
const objects = await this.DiscoverObjects(companyIntegration, contextUser);
|
|
2609
|
+
const result = { Objects: [] };
|
|
2610
|
+
for (const obj of objects) {
|
|
2611
|
+
const fields = await this.DiscoverFields(companyIntegration, obj.Name, contextUser);
|
|
2612
|
+
const sourceFields = fields.map(f => ({
|
|
2613
|
+
Name: f.Name,
|
|
2614
|
+
Label: f.Label ?? f.Name,
|
|
2615
|
+
Description: f.Description,
|
|
2616
|
+
SourceType: f.DataType,
|
|
2617
|
+
IsRequired: f.IsRequired ?? false,
|
|
2618
|
+
IsPrimaryKey: f.IsUniqueKey ?? false,
|
|
2619
|
+
IsForeignKey: false,
|
|
2620
|
+
ForeignKeyTarget: null,
|
|
2621
|
+
MaxLength: null,
|
|
2622
|
+
Precision: null,
|
|
2623
|
+
Scale: null,
|
|
2624
|
+
DefaultValue: null,
|
|
2625
|
+
}));
|
|
2626
|
+
result.Objects.push({
|
|
2627
|
+
ExternalName: obj.Name,
|
|
2628
|
+
ExternalLabel: obj.Label ?? obj.Name,
|
|
2629
|
+
Description: obj.Description,
|
|
2630
|
+
Fields: sourceFields,
|
|
2631
|
+
PrimaryKeyFields: sourceFields.filter(f => f.IsPrimaryKey).map(f => f.Name),
|
|
2632
|
+
Relationships: [],
|
|
2633
|
+
});
|
|
2634
|
+
}
|
|
2635
|
+
return result;
|
|
2636
|
+
}
|
|
201
2637
|
// ── Per-instance config accessors (fall back to module-level defaults) ──
|
|
202
2638
|
get effectiveMaxRetries() { return this._config?.MaxRetries ?? MAX_RETRIES; }
|
|
203
2639
|
get effectiveRequestTimeoutMs() { return this._config?.RequestTimeoutMs ?? REQUEST_TIMEOUT_MS; }
|
|
@@ -219,9 +2655,37 @@ let YourMembershipConnector = class YourMembershipConnector extends BaseRESTInte
|
|
|
219
2655
|
BuildHeaders(auth) {
|
|
220
2656
|
return { 'X-SS-ID': auth.SessionID, 'Accept': 'application/json' };
|
|
221
2657
|
}
|
|
222
|
-
|
|
2658
|
+
/**
|
|
2659
|
+
* Extends the base class implementation by injecting an incremental-sync date
|
|
2660
|
+
* filter query parameter for endpoints that support server-side filtering.
|
|
2661
|
+
*
|
|
2662
|
+
* When a watermark is active (`_currentWatermark` is set by `FetchChanges`) and
|
|
2663
|
+
* the current object appears in `YM_SERVER_FILTER_PARAMS`, the appropriate
|
|
2664
|
+
* date param (e.g. `LastModifiedDate`, `DateFrom`, `StartDate`) is appended.
|
|
2665
|
+
* The base class then appends any additional DefaultQueryParams from metadata.
|
|
2666
|
+
*/
|
|
2667
|
+
AppendDefaultQueryParams(url, obj) {
|
|
2668
|
+
let result = super.AppendDefaultQueryParams(url, obj);
|
|
2669
|
+
if (this._currentWatermark) {
|
|
2670
|
+
const paramName = YM_SERVER_FILTER_PARAMS[obj.Name.toLowerCase()];
|
|
2671
|
+
if (paramName) {
|
|
2672
|
+
// Avoid injecting a duplicate if the param is already in the URL
|
|
2673
|
+
const existingKeys = new Set((result.includes('?') ? result.split('?')[1].split('&') : [])
|
|
2674
|
+
.map(p => p.split('=')[0].toLowerCase()));
|
|
2675
|
+
if (!existingKeys.has(paramName.toLowerCase())) {
|
|
2676
|
+
const sep = result.includes('?') ? '&' : '?';
|
|
2677
|
+
result += `${sep}${encodeURIComponent(paramName)}=${encodeURIComponent(this._currentWatermark)}`;
|
|
2678
|
+
}
|
|
2679
|
+
}
|
|
2680
|
+
}
|
|
2681
|
+
return result;
|
|
2682
|
+
}
|
|
2683
|
+
async MakeHTTPRequest(auth, url, method, headers, body) {
|
|
223
2684
|
const ymAuth = auth;
|
|
224
2685
|
const currentHeaders = { ...headers };
|
|
2686
|
+
if (body !== undefined && !currentHeaders['Content-Type']) {
|
|
2687
|
+
currentHeaders['Content-Type'] = 'application/json';
|
|
2688
|
+
}
|
|
225
2689
|
// Throttle: ensure adaptive minimum interval between requests
|
|
226
2690
|
const elapsed = Date.now() - this.lastRequestTime;
|
|
227
2691
|
if (elapsed < this.currentRequestIntervalMs) {
|
|
@@ -231,7 +2695,7 @@ let YourMembershipConnector = class YourMembershipConnector extends BaseRESTInte
|
|
|
231
2695
|
for (let attempt = 0; attempt <= maxRetries; attempt++) {
|
|
232
2696
|
let response;
|
|
233
2697
|
try {
|
|
234
|
-
response = await this.FetchWithTimeout(url, method, currentHeaders);
|
|
2698
|
+
response = await this.FetchWithTimeout(url, method, currentHeaders, body);
|
|
235
2699
|
}
|
|
236
2700
|
catch (err) {
|
|
237
2701
|
if (this.IsTimeoutError(err)) {
|
|
@@ -247,19 +2711,28 @@ let YourMembershipConnector = class YourMembershipConnector extends BaseRESTInte
|
|
|
247
2711
|
}
|
|
248
2712
|
if (response.status === 429) {
|
|
249
2713
|
const delayMs = this.CalculateRetryDelay(response, attempt);
|
|
250
|
-
|
|
2714
|
+
// Jump hard on every 429: first 429 goes straight to 3s floor, subsequent
|
|
2715
|
+
// 429s double. Prevents the "ramp up to 10s → shave → hit 429 again" sawtooth.
|
|
2716
|
+
this.currentRequestIntervalMs = Math.min(Math.max(this.currentRequestIntervalMs * 2, 3000), 15000);
|
|
2717
|
+
this._successesSince429 = 0;
|
|
251
2718
|
console.warn(`YM rate limited (429), retrying in ${delayMs}ms (attempt ${attempt + 1}/${maxRetries}). Interval adjusted to ${this.currentRequestIntervalMs}ms`);
|
|
252
2719
|
await this.Sleep(delayMs);
|
|
253
2720
|
continue;
|
|
254
2721
|
}
|
|
255
2722
|
this.lastRequestTime = Date.now();
|
|
256
|
-
//
|
|
2723
|
+
// Multiplicative recovery (2% per success) is gentler than -50ms linear — a
|
|
2724
|
+
// 15s elevated interval stays above 10s for ~20 successes before recovering,
|
|
2725
|
+
// giving YM's rate limit window time to fully reset instead of re-triggering.
|
|
2726
|
+
// Also delay any recovery until we've seen 30 clean successes since the last
|
|
2727
|
+
// 429, so a brief success streak doesn't immediately drop us back into the
|
|
2728
|
+
// rate-limit zone.
|
|
257
2729
|
const minInterval = this.effectiveMinRequestIntervalMs;
|
|
258
|
-
|
|
259
|
-
|
|
2730
|
+
this._successesSince429++;
|
|
2731
|
+
if (this._successesSince429 > 30 && this.currentRequestIntervalMs > minInterval) {
|
|
2732
|
+
this.currentRequestIntervalMs = Math.max(Math.floor(this.currentRequestIntervalMs * 0.98), minInterval);
|
|
260
2733
|
}
|
|
261
|
-
const
|
|
262
|
-
return this.BuildRESTResponse(response,
|
|
2734
|
+
const responseBody = await this.JsonWithTimeout(response, this.effectiveJsonTimeoutMs);
|
|
2735
|
+
return this.BuildRESTResponse(response, responseBody);
|
|
263
2736
|
}
|
|
264
2737
|
throw new Error(`YM API request failed after ${maxRetries} retries: ${url}`);
|
|
265
2738
|
}
|
|
@@ -268,19 +2741,45 @@ let YourMembershipConnector = class YourMembershipConnector extends BaseRESTInte
|
|
|
268
2741
|
if (typeof rawBody === 'object' && rawBody !== null && !Array.isArray(rawBody)) {
|
|
269
2742
|
this.CheckResponseError(rawBody);
|
|
270
2743
|
}
|
|
2744
|
+
let records;
|
|
271
2745
|
if (responseDataKey != null) {
|
|
272
2746
|
const body = rawBody;
|
|
273
2747
|
const data = body[responseDataKey];
|
|
274
2748
|
if (!data || !Array.isArray(data))
|
|
275
2749
|
return [];
|
|
276
|
-
|
|
2750
|
+
records = data;
|
|
2751
|
+
}
|
|
2752
|
+
else if (Array.isArray(rawBody)) {
|
|
2753
|
+
// Null responseDataKey: raw array (Products)
|
|
2754
|
+
records = rawBody;
|
|
277
2755
|
}
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
2756
|
+
else {
|
|
2757
|
+
// Single object response — filter metadata and wrap in array
|
|
2758
|
+
records = [this.FilterMetadataKeys(rawBody)];
|
|
2759
|
+
}
|
|
2760
|
+
// Sanitize invalid date values: empty strings and DateTime.MinValue → null
|
|
2761
|
+
return records.map(r => this.SanitizeDateFields(r));
|
|
2762
|
+
}
|
|
2763
|
+
/**
|
|
2764
|
+
* Converts empty strings and DateTime.MinValue (0001-01-01) in date-like fields to null.
|
|
2765
|
+
* YM API returns "" and "0001-01-01T00:00:00" instead of null for empty date fields,
|
|
2766
|
+
* which causes DATETIMEOFFSET columns to reject the value.
|
|
2767
|
+
*/
|
|
2768
|
+
SanitizeDateFields(record) {
|
|
2769
|
+
for (const [key, value] of Object.entries(record)) {
|
|
2770
|
+
if (typeof value !== 'string')
|
|
2771
|
+
continue;
|
|
2772
|
+
// Empty string → null for any field
|
|
2773
|
+
if (value === '') {
|
|
2774
|
+
record[key] = null;
|
|
2775
|
+
continue;
|
|
2776
|
+
}
|
|
2777
|
+
// DateTime.MinValue patterns → null
|
|
2778
|
+
if (value.startsWith('0001-01-01') || value.startsWith('0001/01/01')) {
|
|
2779
|
+
record[key] = null;
|
|
2780
|
+
}
|
|
281
2781
|
}
|
|
282
|
-
|
|
283
|
-
return [this.FilterMetadataKeys(rawBody)];
|
|
2782
|
+
return record;
|
|
284
2783
|
}
|
|
285
2784
|
ExtractPaginationInfo(rawBody, paginationType, currentPage, currentOffset, pageSize) {
|
|
286
2785
|
if (paginationType === 'None') {
|
|
@@ -300,7 +2799,7 @@ let YourMembershipConnector = class YourMembershipConnector extends BaseRESTInte
|
|
|
300
2799
|
if (ymAuth.Config?.ClientID) {
|
|
301
2800
|
return `${YM_API_BASE}/Ams/${ymAuth.Config.ClientID}`;
|
|
302
2801
|
}
|
|
303
|
-
const configJson = companyIntegration.
|
|
2802
|
+
const configJson = companyIntegration.Configuration;
|
|
304
2803
|
if (configJson) {
|
|
305
2804
|
const parsed = JSON.parse(configJson);
|
|
306
2805
|
const clientId = parsed['ClientID'] || parsed['clientId'] || parsed['ClientId'];
|
|
@@ -318,11 +2817,15 @@ let YourMembershipConnector = class YourMembershipConnector extends BaseRESTInte
|
|
|
318
2817
|
*/
|
|
319
2818
|
BuildPaginatedURL(basePath, obj, page, offset, cursor) {
|
|
320
2819
|
const separator = basePath.includes('?') ? '&' : '?';
|
|
2820
|
+
// MembersGroups: YM enforces max page size of 100
|
|
2821
|
+
const pageSize = obj.Name.toLowerCase() === 'membersgroups'
|
|
2822
|
+
? Math.min(obj.DefaultPageSize, 100)
|
|
2823
|
+
: obj.DefaultPageSize;
|
|
321
2824
|
switch (obj.PaginationType) {
|
|
322
2825
|
case 'PageNumber':
|
|
323
|
-
return `${basePath}${separator}PageNumber=${page}&PageSize=${
|
|
2826
|
+
return `${basePath}${separator}PageNumber=${page}&PageSize=${pageSize}`;
|
|
324
2827
|
case 'Offset':
|
|
325
|
-
return `${basePath}${separator}OffSet=${offset}&PageSize=${
|
|
2828
|
+
return `${basePath}${separator}OffSet=${offset}&PageSize=${pageSize}`;
|
|
326
2829
|
case 'Cursor':
|
|
327
2830
|
return cursor
|
|
328
2831
|
? `${basePath}${separator}cursor=${encodeURIComponent(cursor)}&limit=${obj.DefaultPageSize}`
|
|
@@ -345,14 +2848,115 @@ let YourMembershipConnector = class YourMembershipConnector extends BaseRESTInte
|
|
|
345
2848
|
*/
|
|
346
2849
|
async FetchChanges(ctx) {
|
|
347
2850
|
console.log(`[YM] FetchChanges called for '${ctx.ObjectName}' (batchSize=${ctx.BatchSize}, watermark=${ctx.WatermarkValue ?? 'none'}, offset=${ctx.CurrentOffset ?? 'none'})`);
|
|
2851
|
+
// Store watermark so AppendDefaultQueryParams can inject server-side date filters.
|
|
2852
|
+
this._currentWatermark = ctx.WatermarkValue;
|
|
348
2853
|
const objLower = ctx.ObjectName.toLowerCase();
|
|
2854
|
+
// Objects that cannot be synced: doubly parameterized, or require unresolvable query params.
|
|
2855
|
+
// ── NOT_DATA: Auth, action, webhook, utility endpoints — never syncable ──
|
|
2856
|
+
const notDataObjects = new Set([
|
|
2857
|
+
'auth', 'authenticate', 'brandingconfigcss', 'converttomemberrequest',
|
|
2858
|
+
'copycampaign', 'customcss', 'donationhistorycancelautobill', 'donations',
|
|
2859
|
+
'dues', 'eventregistrationattendance', 'eventsessionattendancerequest',
|
|
2860
|
+
'externallink', 'filesupload', 'finalizelogin', 'getaccesstoken', 'gettoken',
|
|
2861
|
+
'groupjoin', 'hasinformz', 'hassacesstestfolder', 'htmlsanitization',
|
|
2862
|
+
'informzbulkuploadbysearchguidrequest', 'informzbulkuploadeventregistrantsrequest',
|
|
2863
|
+
'informzbulkuploadforduesbysearchidrequest', 'informzbulkuploadforduesrequest',
|
|
2864
|
+
'informzbulkuploadforordersbysearchidrequest', 'informzbulkuploadforordersrequest',
|
|
2865
|
+
'informzbulkuploadforreportsrequest', 'informzfindgrouprequest',
|
|
2866
|
+
'invoicepayments', 'memberpasswordreset', 'membershiprenewalreminderputrequest',
|
|
2867
|
+
'notificationsubscription', 'notificationupdate', 'oauthclientappname',
|
|
2868
|
+
'oidcgetaccesstoken', 'orders', 'passwordvalidityrequest', 'productsdto',
|
|
2869
|
+
'peoplebulkdetachrequest', 'quickbooksonlineoauth', 'registrationsessionrequest',
|
|
2870
|
+
'resendcampaign', 'resourcemanagerfilesupload', 'rssbuilder',
|
|
2871
|
+
'sendtestnotification', 'socialoauth', 'storeproductbulkstatus',
|
|
2872
|
+
'storeproductbulkstatusall', 'storeproductpromocodes', 'storeproductsequence',
|
|
2873
|
+
'storeproductupdate', 'unblockcardrequest', 'usernameavailabilityrequest',
|
|
2874
|
+
'webscraper', 'zoomeventlistener', 'zoomeventlisteneroauth', 'zoomoauth',
|
|
2875
|
+
'ping', 'wallpostfirst',
|
|
2876
|
+
'facebookprofile', // returns malformed/empty JSON (Unexpected end of JSON input)
|
|
2877
|
+
]);
|
|
2878
|
+
// ── UNSYNCABLE: Requires params that can't be enumerated ──
|
|
2879
|
+
const unsyncableObjects = new Set([
|
|
2880
|
+
'productmemberprice', // doubly parameterized (ProductId + MemberId)
|
|
2881
|
+
'contentareas', // requires AreaType query param
|
|
2882
|
+
'customformfields', // scoped by FormID — no form list
|
|
2883
|
+
'markupcomponenttypes', // OrderId=0 for all records — no unique key
|
|
2884
|
+
'custompagedoctypes', // field name mismatch (DocTypeID vs Id)
|
|
2885
|
+
'dashboarddata', // requires EndDate param, aggregate not entity
|
|
2886
|
+
'eventattendees', // doubly nested (Member + Event)
|
|
2887
|
+
'eventsessionceuawards', // doubly nested (Event + Session)
|
|
2888
|
+
'communityPhotos', // requires PhotoId — no flat list
|
|
2889
|
+
'feeds', // requires PostId — no flat list
|
|
2890
|
+
'helptopic', // requires HelpTopicID — no flat list
|
|
2891
|
+
'notificationdetails', // requires NotificationID — no flat list
|
|
2892
|
+
'wallcomments', // requires PostId — no flat list
|
|
2893
|
+
'wallcomments_memberlist', // sub-object of WallComments
|
|
2894
|
+
'photocomments', // doubly nested (Member + Photo), write-only
|
|
2895
|
+
'taxraterequest', // lookup requiring address params
|
|
2896
|
+
'findeventregistrationforms', // search endpoint requiring params
|
|
2897
|
+
'findeventtickets', // search endpoint requiring params
|
|
2898
|
+
'findmembers', // search endpoint requiring params
|
|
2899
|
+
'findproducts', // search endpoint requiring params
|
|
2900
|
+
'peopleprofilefindid', // search/lookup requiring params
|
|
2901
|
+
'smscampaignlistdetails', // requires ListId — no flat SMS list
|
|
2902
|
+
'smscampaignreports', // requires CampaignId — could be Custom but not configured
|
|
2903
|
+
'smscampaignreports_messages', // sub-object of SMSCampaignReports
|
|
2904
|
+
'campaignreports_dailyrate', // sub-object extracted from CampaignReports response
|
|
2905
|
+
'campaignreports_messageactivity', // sub-object extracted from CampaignReports response
|
|
2906
|
+
'campaignreports_messages', // sub-object extracted from CampaignReports response
|
|
2907
|
+
]);
|
|
2908
|
+
if (notDataObjects.has(objLower)) {
|
|
2909
|
+
return { Records: [], HasMore: false };
|
|
2910
|
+
}
|
|
2911
|
+
if (unsyncableObjects.has(objLower)) {
|
|
2912
|
+
console.warn(`[YM] '${ctx.ObjectName}' requires unenumerable parameters. Skipping.`);
|
|
2913
|
+
return { Records: [], HasMore: false };
|
|
2914
|
+
}
|
|
349
2915
|
if (objLower === 'groups' || objLower === 'grouptypes') {
|
|
350
2916
|
return this.FetchGroups(ctx);
|
|
351
2917
|
}
|
|
352
2918
|
if (objLower === 'members') {
|
|
353
2919
|
return this.FetchMemberBatch(ctx);
|
|
354
2920
|
}
|
|
355
|
-
|
|
2921
|
+
// PeopleIDs returns flat ID arrays under "IDList" — wrap each as {ID: value}
|
|
2922
|
+
if (objLower === 'peopleids') {
|
|
2923
|
+
return this.FetchPeopleIDs(ctx);
|
|
2924
|
+
}
|
|
2925
|
+
// All remaining paths wrapped in error catch for graceful 400/404/500 handling
|
|
2926
|
+
let result;
|
|
2927
|
+
try {
|
|
2928
|
+
// Client-side watermark filtering: fetch all records, filter locally by date field.
|
|
2929
|
+
const clientWatermark = YM_CLIENT_WATERMARK_FIELDS[objLower];
|
|
2930
|
+
if (clientWatermark) {
|
|
2931
|
+
result = await this.FetchWithClientWatermark(ctx, clientWatermark.field);
|
|
2932
|
+
}
|
|
2933
|
+
else {
|
|
2934
|
+
// Parent-scoped endpoints: only run on first call (offset 0 / undefined)
|
|
2935
|
+
const parentScope = YM_PARENT_SCOPED[objLower];
|
|
2936
|
+
if (parentScope && (ctx.CurrentOffset ?? 0) === 0 && !ctx.CurrentPage && !ctx.CurrentCursor) {
|
|
2937
|
+
result = await this.FetchParentScopedRecords(ctx, parentScope);
|
|
2938
|
+
}
|
|
2939
|
+
else {
|
|
2940
|
+
result = await super.FetchChanges(ctx);
|
|
2941
|
+
}
|
|
2942
|
+
}
|
|
2943
|
+
}
|
|
2944
|
+
catch (err) {
|
|
2945
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
2946
|
+
if (message.includes('HTTP 404') || message.includes('HTTP 400') || message.includes('HTTP 500')) {
|
|
2947
|
+
const code = message.includes('HTTP 404') ? '404' : message.includes('HTTP 400') ? '400' : '500';
|
|
2948
|
+
console.warn(`[YM] '${ctx.ObjectName}' returned ${code}. Skipping.`);
|
|
2949
|
+
return { Records: [], HasMore: false };
|
|
2950
|
+
}
|
|
2951
|
+
throw err;
|
|
2952
|
+
}
|
|
2953
|
+
// ── GENERAL RULE: Filter out records with unresolvable PK fields ──
|
|
2954
|
+
// Drops records where the declared PK field is null and can't be resolved
|
|
2955
|
+
// via case-insensitive matching. Better to skip than insert a garbage-keyed row.
|
|
2956
|
+
if (result.Records.length > 0) {
|
|
2957
|
+
result.Records = this.EnsurePrimaryKeys(result.Records, ctx);
|
|
2958
|
+
}
|
|
2959
|
+
return result;
|
|
356
2960
|
}
|
|
357
2961
|
/**
|
|
358
2962
|
* Fetches and enriches members in batches of ENRICH_BATCH_SIZE.
|
|
@@ -398,6 +3002,69 @@ let YourMembershipConnector = class YourMembershipConnector extends BaseRESTInte
|
|
|
398
3002
|
NewWatermarkValue: !pageResult.HasMore ? newWatermark : undefined,
|
|
399
3003
|
};
|
|
400
3004
|
}
|
|
3005
|
+
/**
|
|
3006
|
+
* Fetches records from a flat (non-enriched) endpoint and applies client-side
|
|
3007
|
+
* watermark filtering against a known date field.
|
|
3008
|
+
*
|
|
3009
|
+
* Used for endpoints that include a usable date field (e.g. `DateCreated`,
|
|
3010
|
+
* `LastUpdated`) but have no server-side date filter query parameter.
|
|
3011
|
+
* The base class pagination loop is used to collect all records, then
|
|
3012
|
+
* `FilterByWatermark` narrows to only changed ones.
|
|
3013
|
+
*
|
|
3014
|
+
* Because these endpoints are typically small-to-medium in size, fetching
|
|
3015
|
+
* all and filtering locally is acceptable.
|
|
3016
|
+
*/
|
|
3017
|
+
/**
|
|
3018
|
+
* PeopleIDs endpoint returns a flat array of ID numbers under "IDList",
|
|
3019
|
+
* not objects with named fields. This wraps each ID as {ID: value} so
|
|
3020
|
+
* the engine can map it to the PeopleIDs table's ID column.
|
|
3021
|
+
*/
|
|
3022
|
+
async FetchPeopleIDs(ctx) {
|
|
3023
|
+
const auth = await this.Authenticate(ctx.CompanyIntegration, ctx.ContextUser);
|
|
3024
|
+
const page = (ctx.CurrentPage ?? 0) + 1;
|
|
3025
|
+
const pageSize = 200;
|
|
3026
|
+
const url = `${YM_API_BASE}/Ams/${auth.Config.ClientID}/PeopleIDs?PageNumber=${page}&PageSize=${pageSize}`;
|
|
3027
|
+
const headers = this.BuildHeaders(auth);
|
|
3028
|
+
const resp = await this.MakeHTTPRequest(auth, url, 'GET', headers);
|
|
3029
|
+
if (resp.Status >= 400 || !resp.Body) {
|
|
3030
|
+
return { Records: [], HasMore: false };
|
|
3031
|
+
}
|
|
3032
|
+
const body = resp.Body;
|
|
3033
|
+
const list = (body['IDList'] ?? body['PeopleIDs'] ?? body['Ids'] ?? []);
|
|
3034
|
+
if (!Array.isArray(list) || list.length === 0) {
|
|
3035
|
+
return { Records: [], HasMore: false };
|
|
3036
|
+
}
|
|
3037
|
+
const records = list.map(item => {
|
|
3038
|
+
const id = typeof item === 'object' && item !== null
|
|
3039
|
+
? String(item['ProfileId'] ?? item['Id'] ?? item['ID'] ?? item)
|
|
3040
|
+
: String(item);
|
|
3041
|
+
const fields = typeof item === 'object' && item !== null
|
|
3042
|
+
? { ID: id, ...item }
|
|
3043
|
+
: { ID: id };
|
|
3044
|
+
return { ExternalID: id, ObjectType: ctx.ObjectName, Fields: fields };
|
|
3045
|
+
});
|
|
3046
|
+
return {
|
|
3047
|
+
Records: records,
|
|
3048
|
+
HasMore: list.length >= pageSize,
|
|
3049
|
+
NextPage: page,
|
|
3050
|
+
};
|
|
3051
|
+
}
|
|
3052
|
+
async FetchWithClientWatermark(ctx, dateFieldName) {
|
|
3053
|
+
const pageResult = await super.FetchChanges(ctx);
|
|
3054
|
+
if (pageResult.Records.length === 0) {
|
|
3055
|
+
return pageResult;
|
|
3056
|
+
}
|
|
3057
|
+
const { changedRecords, newWatermark } = this.FilterByWatermark(pageResult.Records, ctx.WatermarkValue, dateFieldName);
|
|
3058
|
+
console.log(`[YM] ${ctx.ObjectName}: ${changedRecords.length}/${pageResult.Records.length} records changed since watermark (field: ${dateFieldName})`);
|
|
3059
|
+
return {
|
|
3060
|
+
Records: changedRecords,
|
|
3061
|
+
HasMore: pageResult.HasMore,
|
|
3062
|
+
NextOffset: pageResult.NextOffset,
|
|
3063
|
+
NextPage: pageResult.NextPage,
|
|
3064
|
+
NextCursor: pageResult.NextCursor,
|
|
3065
|
+
NewWatermarkValue: !pageResult.HasMore ? newWatermark : undefined,
|
|
3066
|
+
};
|
|
3067
|
+
}
|
|
401
3068
|
/**
|
|
402
3069
|
* Filters records by comparing a date field against a watermark timestamp.
|
|
403
3070
|
* Returns only records where the date field is newer than the watermark,
|
|
@@ -431,6 +3098,85 @@ let YourMembershipConnector = class YourMembershipConnector extends BaseRESTInte
|
|
|
431
3098
|
const newWatermark = latestDate ? latestDate.toISOString() : null;
|
|
432
3099
|
return { changedRecords: changed, newWatermark };
|
|
433
3100
|
}
|
|
3101
|
+
// ─── CRUD Operations ────────────────────────────────────────────
|
|
3102
|
+
/**
|
|
3103
|
+
* Creates a new record in YourMembership via POST /Ams/{ClientID}/{ObjectName}.
|
|
3104
|
+
*/
|
|
3105
|
+
async CreateRecord(ctx) {
|
|
3106
|
+
const companyIntegration = ctx.CompanyIntegration;
|
|
3107
|
+
const contextUser = ctx.ContextUser;
|
|
3108
|
+
const config = await this.ParseConfig(companyIntegration, contextUser);
|
|
3109
|
+
const sessionId = await this.GetSession(config);
|
|
3110
|
+
const auth = { SessionID: sessionId, Config: config };
|
|
3111
|
+
const headers = this.BuildHeaders(auth);
|
|
3112
|
+
const url = `${YM_API_BASE}/Ams/${config.ClientID}/${ctx.ObjectName}`;
|
|
3113
|
+
const response = await this.MakeHTTPRequest(auth, url, 'POST', headers, ctx.Attributes);
|
|
3114
|
+
if (response.Status >= 200 && response.Status < 300) {
|
|
3115
|
+
const created = response.Body;
|
|
3116
|
+
return {
|
|
3117
|
+
Success: true,
|
|
3118
|
+
ExternalID: String(created['Id'] ?? created['ID'] ?? created['ProfileID'] ?? ''),
|
|
3119
|
+
StatusCode: response.Status,
|
|
3120
|
+
};
|
|
3121
|
+
}
|
|
3122
|
+
return this.BuildYMCRUDErrorResult(response, 'CreateRecord', ctx.ObjectName);
|
|
3123
|
+
}
|
|
3124
|
+
/**
|
|
3125
|
+
* Updates an existing record in YourMembership via PUT /Ams/{ClientID}/{ObjectName}/{Id}.
|
|
3126
|
+
*/
|
|
3127
|
+
async UpdateRecord(ctx) {
|
|
3128
|
+
const companyIntegration = ctx.CompanyIntegration;
|
|
3129
|
+
const contextUser = ctx.ContextUser;
|
|
3130
|
+
const config = await this.ParseConfig(companyIntegration, contextUser);
|
|
3131
|
+
const sessionId = await this.GetSession(config);
|
|
3132
|
+
const auth = { SessionID: sessionId, Config: config };
|
|
3133
|
+
const headers = this.BuildHeaders(auth);
|
|
3134
|
+
const url = `${YM_API_BASE}/Ams/${config.ClientID}/${ctx.ObjectName}/${ctx.ExternalID}`;
|
|
3135
|
+
const response = await this.MakeHTTPRequest(auth, url, 'PUT', headers, ctx.Attributes);
|
|
3136
|
+
if (response.Status >= 200 && response.Status < 300) {
|
|
3137
|
+
const updated = response.Body;
|
|
3138
|
+
return {
|
|
3139
|
+
Success: true,
|
|
3140
|
+
ExternalID: String(updated['Id'] ?? updated['ID'] ?? ctx.ExternalID),
|
|
3141
|
+
StatusCode: response.Status,
|
|
3142
|
+
};
|
|
3143
|
+
}
|
|
3144
|
+
return this.BuildYMCRUDErrorResult(response, 'UpdateRecord', ctx.ObjectName);
|
|
3145
|
+
}
|
|
3146
|
+
/**
|
|
3147
|
+
* Deletes a record in YourMembership via DELETE /Ams/{ClientID}/{ObjectName}/{Id}.
|
|
3148
|
+
*/
|
|
3149
|
+
async DeleteRecord(ctx) {
|
|
3150
|
+
const companyIntegration = ctx.CompanyIntegration;
|
|
3151
|
+
const contextUser = ctx.ContextUser;
|
|
3152
|
+
const config = await this.ParseConfig(companyIntegration, contextUser);
|
|
3153
|
+
const sessionId = await this.GetSession(config);
|
|
3154
|
+
const auth = { SessionID: sessionId, Config: config };
|
|
3155
|
+
const headers = this.BuildHeaders(auth);
|
|
3156
|
+
const url = `${YM_API_BASE}/Ams/${config.ClientID}/${ctx.ObjectName}/${ctx.ExternalID}`;
|
|
3157
|
+
const response = await this.MakeHTTPRequest(auth, url, 'DELETE', headers);
|
|
3158
|
+
if (response.Status === 204 || (response.Status >= 200 && response.Status < 300)) {
|
|
3159
|
+
return {
|
|
3160
|
+
Success: true,
|
|
3161
|
+
ExternalID: ctx.ExternalID,
|
|
3162
|
+
StatusCode: response.Status,
|
|
3163
|
+
};
|
|
3164
|
+
}
|
|
3165
|
+
return this.BuildYMCRUDErrorResult(response, 'DeleteRecord', ctx.ObjectName);
|
|
3166
|
+
}
|
|
3167
|
+
/** Builds a standardized error CRUDResult from a failed YM response. */
|
|
3168
|
+
BuildYMCRUDErrorResult(response, operation, objectName) {
|
|
3169
|
+
const bodyObj = response.Body;
|
|
3170
|
+
const rs = bodyObj?.['ResponseStatus'];
|
|
3171
|
+
const message = rs?.['Message']
|
|
3172
|
+
? String(rs['Message'])
|
|
3173
|
+
: `[YM] ${operation} on ${objectName} failed (HTTP ${response.Status})`;
|
|
3174
|
+
return {
|
|
3175
|
+
Success: false,
|
|
3176
|
+
ErrorMessage: message,
|
|
3177
|
+
StatusCode: response.Status,
|
|
3178
|
+
};
|
|
3179
|
+
}
|
|
434
3180
|
// ─── TestConnection ─────────────────────────────────────────────
|
|
435
3181
|
/** Tests connectivity by authenticating and fetching ClientConfig. */
|
|
436
3182
|
async TestConnection(companyIntegration, contextUser) {
|
|
@@ -521,8 +3267,8 @@ let YourMembershipConnector = class YourMembershipConnector extends BaseRESTInte
|
|
|
521
3267
|
];
|
|
522
3268
|
case 'StoreOrderDetails':
|
|
523
3269
|
return [
|
|
524
|
-
{ SourceFieldName: '
|
|
525
|
-
{ SourceFieldName: '
|
|
3270
|
+
{ SourceFieldName: 'OrderID', DestinationFieldName: 'OrderID', IsKeyField: true },
|
|
3271
|
+
{ SourceFieldName: 'ProductCode', DestinationFieldName: 'ProductCode', IsKeyField: true },
|
|
526
3272
|
{ SourceFieldName: 'WebsiteMemberID', DestinationFieldName: 'WebsiteMemberID' },
|
|
527
3273
|
{ SourceFieldName: 'ProductName', DestinationFieldName: 'ProductName' },
|
|
528
3274
|
{ SourceFieldName: 'Quantity', DestinationFieldName: 'Quantity' },
|
|
@@ -624,6 +3370,10 @@ let YourMembershipConnector = class YourMembershipConnector extends BaseRESTInte
|
|
|
624
3370
|
* Detail endpoint returns camelCase + nested objects; we normalize to flat PascalCase.
|
|
625
3371
|
*/
|
|
626
3372
|
async EnrichSingleMember(auth, record) {
|
|
3373
|
+
if (!record.ExternalID) {
|
|
3374
|
+
console.warn(`[YM Members] Skipping enrichment for record with empty ExternalID`);
|
|
3375
|
+
return record;
|
|
3376
|
+
}
|
|
627
3377
|
try {
|
|
628
3378
|
const detailPath = `Members/${record.ExternalID}`;
|
|
629
3379
|
const fetchPromise = this.MakeYMRequest(auth, detailPath);
|
|
@@ -687,13 +3437,13 @@ let YourMembershipConnector = class YourMembershipConnector extends BaseRESTInte
|
|
|
687
3437
|
* falls back to CompanyIntegration.Configuration JSON for backwards compat.
|
|
688
3438
|
*/
|
|
689
3439
|
async ParseConfig(companyIntegration, contextUser) {
|
|
690
|
-
const credentialID = companyIntegration.
|
|
3440
|
+
const credentialID = companyIntegration.CredentialID;
|
|
691
3441
|
if (credentialID && contextUser) {
|
|
692
3442
|
const config = await this.LoadFromCredential(credentialID, contextUser);
|
|
693
3443
|
if (config)
|
|
694
3444
|
return config;
|
|
695
3445
|
}
|
|
696
|
-
const configJson = companyIntegration.
|
|
3446
|
+
const configJson = companyIntegration.Configuration;
|
|
697
3447
|
if (configJson) {
|
|
698
3448
|
return this.ParseConfigJson(configJson);
|
|
699
3449
|
}
|
|
@@ -803,12 +3553,16 @@ let YourMembershipConnector = class YourMembershipConnector extends BaseRESTInte
|
|
|
803
3553
|
return response.Body;
|
|
804
3554
|
}
|
|
805
3555
|
/** Executes an HTTP request with a timeout. */
|
|
806
|
-
async FetchWithTimeout(url, method, headers) {
|
|
3556
|
+
async FetchWithTimeout(url, method, headers, body) {
|
|
807
3557
|
const controller = new AbortController();
|
|
808
3558
|
const timeoutMs = this.effectiveRequestTimeoutMs;
|
|
809
3559
|
const timeoutId = setTimeout(() => controller.abort(), timeoutMs);
|
|
810
3560
|
try {
|
|
811
|
-
|
|
3561
|
+
const init = { method, headers, signal: controller.signal };
|
|
3562
|
+
if (body !== undefined) {
|
|
3563
|
+
init.body = JSON.stringify(body);
|
|
3564
|
+
}
|
|
3565
|
+
return await fetch(url, init);
|
|
812
3566
|
}
|
|
813
3567
|
catch (err) {
|
|
814
3568
|
if (err instanceof Error && err.name === 'AbortError') {
|
|
@@ -860,6 +3614,314 @@ let YourMembershipConnector = class YourMembershipConnector extends BaseRESTInte
|
|
|
860
3614
|
throw new Error(`YM API error: ${rs.Message ?? rs.ErrorCode}`);
|
|
861
3615
|
}
|
|
862
3616
|
}
|
|
3617
|
+
// ─── Parent-scoped endpoint traversal ────────────────────────────
|
|
3618
|
+
/**
|
|
3619
|
+
* Returns the /Ymc/ base URL for Career Center endpoints.
|
|
3620
|
+
*/
|
|
3621
|
+
GetYmcBaseURL(clientId) {
|
|
3622
|
+
return `${YM_API_BASE}/Ymc/${clientId}`;
|
|
3623
|
+
}
|
|
3624
|
+
/**
|
|
3625
|
+
* Fetches all event IDs by paginating the EventIDs endpoint.
|
|
3626
|
+
* Returns an array of event ID strings for use in parent-scoped fetches.
|
|
3627
|
+
*/
|
|
3628
|
+
async FetchAllEventIDs(auth, config) {
|
|
3629
|
+
const baseUrl = `${YM_API_BASE}/Ams/${config.ClientID}/EventIDs`;
|
|
3630
|
+
const headers = this.BuildHeaders(auth);
|
|
3631
|
+
const ids = [];
|
|
3632
|
+
let page = 1;
|
|
3633
|
+
try {
|
|
3634
|
+
while (true) {
|
|
3635
|
+
const url = `${baseUrl}?PageNumber=${page}&PageSize=500`;
|
|
3636
|
+
const resp = await this.MakeHTTPRequest(auth, url, 'GET', headers);
|
|
3637
|
+
if (resp.Status >= 400 || !resp.Body)
|
|
3638
|
+
break;
|
|
3639
|
+
const body = resp.Body;
|
|
3640
|
+
const list = (body['EventIDs'] ?? body['Ids'] ?? body['IDs'] ?? []);
|
|
3641
|
+
if (!Array.isArray(list) || list.length === 0)
|
|
3642
|
+
break;
|
|
3643
|
+
for (const item of list) {
|
|
3644
|
+
const id = typeof item === 'object' && item !== null
|
|
3645
|
+
? String(item['EventId'] ?? item['Id'] ?? item)
|
|
3646
|
+
: String(item);
|
|
3647
|
+
ids.push(id);
|
|
3648
|
+
}
|
|
3649
|
+
if (list.length < 500)
|
|
3650
|
+
break;
|
|
3651
|
+
page++;
|
|
3652
|
+
}
|
|
3653
|
+
}
|
|
3654
|
+
catch (err) {
|
|
3655
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
3656
|
+
console.warn(`[YM] FetchAllEventIDs failed: ${message} — skipping event-scoped objects`);
|
|
3657
|
+
return [];
|
|
3658
|
+
}
|
|
3659
|
+
console.log(`[YM] FetchAllEventIDs: found ${ids.length} event IDs`);
|
|
3660
|
+
return ids;
|
|
3661
|
+
}
|
|
3662
|
+
/**
|
|
3663
|
+
* Fetches all member/people IDs from the PeopleIDs endpoint.
|
|
3664
|
+
*/
|
|
3665
|
+
async FetchAllMemberIDs(auth, config) {
|
|
3666
|
+
const baseUrl = `${YM_API_BASE}/Ams/${config.ClientID}/PeopleIDs`;
|
|
3667
|
+
const headers = this.BuildHeaders(auth);
|
|
3668
|
+
const ids = [];
|
|
3669
|
+
let page = 1;
|
|
3670
|
+
try {
|
|
3671
|
+
while (true) {
|
|
3672
|
+
const url = `${baseUrl}?PageNumber=${page}&PageSize=500`;
|
|
3673
|
+
const resp = await this.MakeHTTPRequest(auth, url, 'GET', headers);
|
|
3674
|
+
if (resp.Status >= 400 || !resp.Body)
|
|
3675
|
+
break;
|
|
3676
|
+
const body = resp.Body;
|
|
3677
|
+
const list = (body['PeopleIDs'] ?? body['Ids'] ?? body['IDs'] ?? []);
|
|
3678
|
+
if (!Array.isArray(list) || list.length === 0)
|
|
3679
|
+
break;
|
|
3680
|
+
for (const item of list) {
|
|
3681
|
+
const id = typeof item === 'object' && item !== null
|
|
3682
|
+
? String(item['ProfileId'] ?? item['Id'] ?? item)
|
|
3683
|
+
: String(item);
|
|
3684
|
+
ids.push(id);
|
|
3685
|
+
}
|
|
3686
|
+
if (list.length < 500)
|
|
3687
|
+
break;
|
|
3688
|
+
page++;
|
|
3689
|
+
}
|
|
3690
|
+
}
|
|
3691
|
+
catch (err) {
|
|
3692
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
3693
|
+
console.warn(`[YM] FetchAllMemberIDs failed: ${message} — skipping member-scoped objects`);
|
|
3694
|
+
return [];
|
|
3695
|
+
}
|
|
3696
|
+
console.log(`[YM] FetchAllMemberIDs: found ${ids.length} member IDs`);
|
|
3697
|
+
return ids;
|
|
3698
|
+
}
|
|
3699
|
+
/**
|
|
3700
|
+
* Fetches all group IDs by calling the Groups endpoint and flattening
|
|
3701
|
+
* the nested GroupTypeList → Groups[].Id structure.
|
|
3702
|
+
*/
|
|
3703
|
+
async FetchAllGroupIDs(auth, _config) {
|
|
3704
|
+
try {
|
|
3705
|
+
const json = await this.MakeYMRequest(auth, 'Groups');
|
|
3706
|
+
const typeList = json['GroupTypeList'];
|
|
3707
|
+
if (!typeList || !Array.isArray(typeList)) {
|
|
3708
|
+
console.warn(`[YM] FetchAllGroupIDs: no GroupTypeList in Groups response`);
|
|
3709
|
+
return [];
|
|
3710
|
+
}
|
|
3711
|
+
const ids = [];
|
|
3712
|
+
for (const groupType of typeList) {
|
|
3713
|
+
for (const group of groupType.Groups ?? []) {
|
|
3714
|
+
if (group.Id !== undefined)
|
|
3715
|
+
ids.push(String(group.Id));
|
|
3716
|
+
}
|
|
3717
|
+
}
|
|
3718
|
+
console.log(`[YM] FetchAllGroupIDs: found ${ids.length} group IDs`);
|
|
3719
|
+
return ids;
|
|
3720
|
+
}
|
|
3721
|
+
catch (err) {
|
|
3722
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
3723
|
+
console.warn(`[YM] FetchAllGroupIDs failed: ${message} — skipping group-scoped objects`);
|
|
3724
|
+
return [];
|
|
3725
|
+
}
|
|
3726
|
+
}
|
|
3727
|
+
/**
|
|
3728
|
+
* Fetches parent IDs from a secondary list endpoint for 'Custom' parent-scoped objects.
|
|
3729
|
+
* Calls GET /Ams/{ClientID}/{sourcePath}, extracts the array at responseKey,
|
|
3730
|
+
* and returns the idField value from each item as a string.
|
|
3731
|
+
*
|
|
3732
|
+
* Results are NOT cached here — callers manage the cache via parentIdCache.
|
|
3733
|
+
*/
|
|
3734
|
+
async FetchCustomParentIDs(auth, config, sourcePath, responseKey, idField) {
|
|
3735
|
+
const url = `${YM_API_BASE}/Ams/${config.ClientID}/${sourcePath}`;
|
|
3736
|
+
const headers = this.BuildHeaders(auth);
|
|
3737
|
+
const resp = await this.MakeHTTPRequest(auth, url, 'GET', headers);
|
|
3738
|
+
if (resp.Status >= 400 || !resp.Body) {
|
|
3739
|
+
console.warn(`[YM] FetchCustomParentIDs: failed to fetch '${sourcePath}' (HTTP ${resp.Status})`);
|
|
3740
|
+
return [];
|
|
3741
|
+
}
|
|
3742
|
+
const body = resp.Body;
|
|
3743
|
+
const raw = body[responseKey];
|
|
3744
|
+
if (!Array.isArray(raw)) {
|
|
3745
|
+
console.warn(`[YM] FetchCustomParentIDs: '${sourcePath}' response has no array at key '${responseKey}'`);
|
|
3746
|
+
return [];
|
|
3747
|
+
}
|
|
3748
|
+
const ids = [];
|
|
3749
|
+
for (const item of raw) {
|
|
3750
|
+
const val = item[idField];
|
|
3751
|
+
if (val !== undefined && val !== null)
|
|
3752
|
+
ids.push(String(val));
|
|
3753
|
+
}
|
|
3754
|
+
console.log(`[YM] FetchCustomParentIDs: '${sourcePath}' → ${ids.length} IDs (field '${idField}')`);
|
|
3755
|
+
return ids;
|
|
3756
|
+
}
|
|
3757
|
+
/**
|
|
3758
|
+
* Fetches all records for a parent-scoped endpoint by:
|
|
3759
|
+
* 1. Enumerating all parent IDs (cached per sync run)
|
|
3760
|
+
* 2. Fetching child records for each parent ID
|
|
3761
|
+
* 3. Returning all records as a single batch with HasMore=false
|
|
3762
|
+
*
|
|
3763
|
+
* Parent IDs are cached in parentIdCache so subsequent calls for the same
|
|
3764
|
+
* parent type within a sync run don't re-fetch the ID list.
|
|
3765
|
+
*/
|
|
3766
|
+
async FetchParentScopedRecords(ctx, scope) {
|
|
3767
|
+
const companyIntegration = ctx.CompanyIntegration;
|
|
3768
|
+
const config = await this.ParseConfig(companyIntegration, ctx.ContextUser);
|
|
3769
|
+
const auth = await this.Authenticate(companyIntegration, ctx.ContextUser);
|
|
3770
|
+
const headers = this.BuildHeaders(auth);
|
|
3771
|
+
const isCustom = (s) => s.parentType === 'Custom';
|
|
3772
|
+
const cacheKey = isCustom(scope) ? `custom:${scope.idSourcePath}` : scope.parentType;
|
|
3773
|
+
let parentIds = this.parentIdCache.get(cacheKey);
|
|
3774
|
+
if (!parentIds) {
|
|
3775
|
+
if (scope.parentType === 'Event') {
|
|
3776
|
+
parentIds = await this.FetchAllEventIDs(auth, config);
|
|
3777
|
+
}
|
|
3778
|
+
else if (scope.parentType === 'Member') {
|
|
3779
|
+
parentIds = await this.FetchAllMemberIDs(auth, config);
|
|
3780
|
+
}
|
|
3781
|
+
else if (scope.parentType === 'Group') {
|
|
3782
|
+
parentIds = await this.FetchAllGroupIDs(auth, config);
|
|
3783
|
+
}
|
|
3784
|
+
else {
|
|
3785
|
+
const cs = scope;
|
|
3786
|
+
parentIds = await this.FetchCustomParentIDs(auth, config, cs.idSourcePath, cs.idResponseKey, cs.idField);
|
|
3787
|
+
}
|
|
3788
|
+
this.parentIdCache.set(cacheKey, parentIds);
|
|
3789
|
+
}
|
|
3790
|
+
if (parentIds.length === 0) {
|
|
3791
|
+
const sourceDesc = isCustom(scope) ? scope.idSourcePath
|
|
3792
|
+
: scope.parentType === 'Event' ? 'EventIDs'
|
|
3793
|
+
: scope.parentType === 'Group' ? 'Groups'
|
|
3794
|
+
: 'PeopleIDs';
|
|
3795
|
+
console.warn(`[YM] FetchParentScopedRecords: 0 ${scope.parentType} IDs found for '${ctx.ObjectName}' — check ${sourceDesc} endpoint`);
|
|
3796
|
+
return { Records: [], HasMore: false };
|
|
3797
|
+
}
|
|
3798
|
+
console.log(`[YM] FetchParentScopedRecords: fetching '${ctx.ObjectName}' for ${parentIds.length} ${scope.parentType} IDs`);
|
|
3799
|
+
const isYmc = YM_YMC_ENDPOINTS.has(ctx.ObjectName.toLowerCase());
|
|
3800
|
+
const baseUrl = isYmc
|
|
3801
|
+
? this.GetYmcBaseURL(config.ClientID)
|
|
3802
|
+
: `${YM_API_BASE}/Ams/${config.ClientID}`;
|
|
3803
|
+
const allRecords = [];
|
|
3804
|
+
let fetched = 0;
|
|
3805
|
+
for (const parentId of parentIds) {
|
|
3806
|
+
const childPath = scope.pathTemplate.replace('{parentId}', parentId);
|
|
3807
|
+
const url = `${baseUrl}/${childPath}`;
|
|
3808
|
+
try {
|
|
3809
|
+
const resp = await this.MakeHTTPRequest(auth, url, 'GET', headers);
|
|
3810
|
+
if (resp.Status >= 400 || !resp.Body)
|
|
3811
|
+
continue;
|
|
3812
|
+
const raw = resp.Body;
|
|
3813
|
+
// Resolve records from the response shape. YM parent-scoped endpoints
|
|
3814
|
+
// can return three shapes:
|
|
3815
|
+
// A) A top-level array (rare) — `[{...}, {...}]`
|
|
3816
|
+
// B) A wrapper with a nested array (most common for list-per-parent) —
|
|
3817
|
+
// `{ EventId, Sessions: [...], ...other wrapper fields }`
|
|
3818
|
+
// C) A single detail object (for per-parent detail endpoints) —
|
|
3819
|
+
// `{ SessionId, EventId, ... }` directly.
|
|
3820
|
+
// For (B), we emit inner array items — NOT the wrapper — so the PK
|
|
3821
|
+
// (SessionId, TicketId, etc.) is actually present on each record. If the
|
|
3822
|
+
// wrapper's nested array is empty, we emit 0 records for that parent
|
|
3823
|
+
// rather than falling back to the wrapper (which has no PK and would be
|
|
3824
|
+
// dropped by EnsurePrimaryKeys).
|
|
3825
|
+
let records = [];
|
|
3826
|
+
let hasArrayProperty = false;
|
|
3827
|
+
if (Array.isArray(resp.Body)) {
|
|
3828
|
+
records = resp.Body;
|
|
3829
|
+
hasArrayProperty = true;
|
|
3830
|
+
}
|
|
3831
|
+
else {
|
|
3832
|
+
for (const val of Object.values(raw)) {
|
|
3833
|
+
if (Array.isArray(val)) {
|
|
3834
|
+
hasArrayProperty = true;
|
|
3835
|
+
if (val.length > 0) {
|
|
3836
|
+
records = val;
|
|
3837
|
+
break;
|
|
3838
|
+
}
|
|
3839
|
+
}
|
|
3840
|
+
}
|
|
3841
|
+
// Only treat whole response as a single record when there's NO
|
|
3842
|
+
// array property anywhere — i.e., genuinely shape (C).
|
|
3843
|
+
if (!hasArrayProperty && Object.keys(raw).length > 0) {
|
|
3844
|
+
records = [this.FilterMetadataKeys(raw)];
|
|
3845
|
+
}
|
|
3846
|
+
}
|
|
3847
|
+
for (const rec of records) {
|
|
3848
|
+
const sanitized = this.SanitizeDateFields({ ...rec, _parentId: parentId });
|
|
3849
|
+
const flattened = this.FlattenYMRecord(sanitized);
|
|
3850
|
+
// For Locations: locationCode is the PK (NOT NULL in DB) but is absent on many YM
|
|
3851
|
+
// records (254/330 in production). Fill it with locationName as fallback so inserts
|
|
3852
|
+
// always succeed. Build a stable countryId|locationCode ExternalID for deduplication.
|
|
3853
|
+
let locationExternalId;
|
|
3854
|
+
if (ctx.ObjectName.toLowerCase() === 'locations') {
|
|
3855
|
+
const locName = flattened['locationName'];
|
|
3856
|
+
if (!flattened['locationCode']) {
|
|
3857
|
+
// PK is NOT NULL — fill with locationName, or countryId_index as last resort
|
|
3858
|
+
flattened['locationCode'] = locName ?? `${parentId}_${allRecords.length}`;
|
|
3859
|
+
}
|
|
3860
|
+
const countryId = flattened['countryId'] ?? parentId;
|
|
3861
|
+
locationExternalId = `${countryId}|${String(flattened['locationCode'])}`;
|
|
3862
|
+
}
|
|
3863
|
+
const externalId = String(locationExternalId ??
|
|
3864
|
+
flattened['Id'] ?? flattened['ID'] ?? flattened['ProfileID'] ??
|
|
3865
|
+
flattened['EventId'] ?? flattened['SessionId'] ?? `${parentId}_${fetched}_${allRecords.length}`);
|
|
3866
|
+
allRecords.push({ Fields: flattened, ExternalID: externalId, ObjectType: ctx.ObjectName });
|
|
3867
|
+
}
|
|
3868
|
+
fetched++;
|
|
3869
|
+
}
|
|
3870
|
+
catch (err) {
|
|
3871
|
+
console.warn(`[YM] FetchParentScopedRecords: error fetching '${ctx.ObjectName}' for ${scope.parentType} ${parentId}: ${err}`);
|
|
3872
|
+
}
|
|
3873
|
+
}
|
|
3874
|
+
console.log(`[YM] FetchParentScopedRecords: '${ctx.ObjectName}' — ${allRecords.length} records from ${fetched}/${parentIds.length} parents`);
|
|
3875
|
+
return { Records: allRecords, HasMore: false };
|
|
3876
|
+
}
|
|
3877
|
+
/**
|
|
3878
|
+
* Flattens YM custom field DTOs into top-level fields.
|
|
3879
|
+
* Handles two shapes from the research:
|
|
3880
|
+
* Simple: [{ Code: 'field_code', Response: 'value' }]
|
|
3881
|
+
* Complex: [{ ExportLabel: 'label', CustomFieldValue: { FieldCode: 'code', Values: [{ Value: 'v' }] } }]
|
|
3882
|
+
*/
|
|
3883
|
+
FlattenYMRecord(record) {
|
|
3884
|
+
const result = { ...record };
|
|
3885
|
+
for (const [key, value] of Object.entries(record)) {
|
|
3886
|
+
if (!Array.isArray(value))
|
|
3887
|
+
continue;
|
|
3888
|
+
const arr = value;
|
|
3889
|
+
if (arr.length === 0)
|
|
3890
|
+
continue;
|
|
3891
|
+
const first = arr[0];
|
|
3892
|
+
if (typeof first !== 'object' || first === null)
|
|
3893
|
+
continue;
|
|
3894
|
+
// Simple shape: { Code, Response }
|
|
3895
|
+
if ('Code' in first && 'Response' in first) {
|
|
3896
|
+
delete result[key];
|
|
3897
|
+
for (const item of arr) {
|
|
3898
|
+
const code = String(item['Code'] ?? '');
|
|
3899
|
+
if (code)
|
|
3900
|
+
result[`cf_${code}`] = item['Response'] ?? null;
|
|
3901
|
+
}
|
|
3902
|
+
continue;
|
|
3903
|
+
}
|
|
3904
|
+
// Complex shape: { ExportLabel, CustomFieldValue: { FieldCode, Values: [{ Value }] } }
|
|
3905
|
+
if ('ExportLabel' in first || 'CustomFieldValue' in first) {
|
|
3906
|
+
delete result[key];
|
|
3907
|
+
for (const item of arr) {
|
|
3908
|
+
const cfv = item['CustomFieldValue'];
|
|
3909
|
+
const code = cfv ? String(cfv['FieldCode'] ?? item['ExportLabel'] ?? '') : String(item['ExportLabel'] ?? '');
|
|
3910
|
+
if (!code)
|
|
3911
|
+
continue;
|
|
3912
|
+
const values = cfv?.['Values'];
|
|
3913
|
+
if (Array.isArray(values) && values.length > 0) {
|
|
3914
|
+
const firstVal = values[0];
|
|
3915
|
+
result[`cf_${code}`] = firstVal['Value'] ?? null;
|
|
3916
|
+
}
|
|
3917
|
+
else {
|
|
3918
|
+
result[`cf_${code}`] = null;
|
|
3919
|
+
}
|
|
3920
|
+
}
|
|
3921
|
+
}
|
|
3922
|
+
}
|
|
3923
|
+
return result;
|
|
3924
|
+
}
|
|
863
3925
|
/** Filters out YM API metadata keys that shouldn't be stored as field data. */
|
|
864
3926
|
FilterMetadataKeys(data) {
|
|
865
3927
|
const result = {};
|
|
@@ -885,6 +3947,62 @@ let YourMembershipConnector = class YourMembershipConnector extends BaseRESTInte
|
|
|
885
3947
|
}
|
|
886
3948
|
return 0;
|
|
887
3949
|
}
|
|
3950
|
+
/**
|
|
3951
|
+
* General-purpose PK safety net: filters out records where a declared PK field is null/missing
|
|
3952
|
+
* and cannot be resolved via case-insensitive field name matching.
|
|
3953
|
+
*
|
|
3954
|
+
* Strategy per PK field:
|
|
3955
|
+
* 1. Field is already present and non-null → keep record as-is.
|
|
3956
|
+
* 2. Case-insensitive match finds the field under a different casing → copy the value.
|
|
3957
|
+
* 3. No match at all → DROP the record and log a warning.
|
|
3958
|
+
*
|
|
3959
|
+
* Dropping is intentional: inserting with a garbage or positional PK creates phantom rows
|
|
3960
|
+
* that can never be correctly updated on subsequent incremental syncs.
|
|
3961
|
+
*
|
|
3962
|
+
* Returns a new array with only the records that have valid PKs.
|
|
3963
|
+
*/
|
|
3964
|
+
EnsurePrimaryKeys(records, ctx) {
|
|
3965
|
+
// Look up the declared PK field names from cached metadata.
|
|
3966
|
+
let pkFieldNames = [];
|
|
3967
|
+
try {
|
|
3968
|
+
const integrationID = ctx.CompanyIntegration.IntegrationID;
|
|
3969
|
+
const obj = this.GetCachedObject(integrationID, ctx.ObjectName);
|
|
3970
|
+
const fields = this.GetCachedFields(obj.ID);
|
|
3971
|
+
pkFieldNames = fields
|
|
3972
|
+
.filter(f => f.IsPrimaryKey)
|
|
3973
|
+
.sort((a, b) => a.Sequence - b.Sequence)
|
|
3974
|
+
.map(f => f.Name);
|
|
3975
|
+
}
|
|
3976
|
+
catch {
|
|
3977
|
+
// Object or fields not in cache yet — pass through unchanged.
|
|
3978
|
+
return records;
|
|
3979
|
+
}
|
|
3980
|
+
if (pkFieldNames.length === 0)
|
|
3981
|
+
return records;
|
|
3982
|
+
const valid = [];
|
|
3983
|
+
for (const record of records) {
|
|
3984
|
+
const raw = record.Fields;
|
|
3985
|
+
let drop = false;
|
|
3986
|
+
for (const pkField of pkFieldNames) {
|
|
3987
|
+
if (raw[pkField] != null)
|
|
3988
|
+
continue; // already present
|
|
3989
|
+
// Case-insensitive search among the record's own keys.
|
|
3990
|
+
const recordKeys = Object.keys(raw);
|
|
3991
|
+
const matchKey = recordKeys.find(k => k.toLowerCase() === pkField.toLowerCase());
|
|
3992
|
+
if (matchKey && raw[matchKey] != null) {
|
|
3993
|
+
raw[pkField] = raw[matchKey];
|
|
3994
|
+
continue;
|
|
3995
|
+
}
|
|
3996
|
+
// No recoverable value — drop this record.
|
|
3997
|
+
console.warn(`[YM] '${ctx.ObjectName}': dropping record with null PK field '${pkField}'. Record keys: ${recordKeys.join(', ')}`);
|
|
3998
|
+
drop = true;
|
|
3999
|
+
break;
|
|
4000
|
+
}
|
|
4001
|
+
if (!drop)
|
|
4002
|
+
valid.push(record);
|
|
4003
|
+
}
|
|
4004
|
+
return valid;
|
|
4005
|
+
}
|
|
888
4006
|
};
|
|
889
4007
|
YourMembershipConnector = __decorate([
|
|
890
4008
|
RegisterClass(BaseIntegrationConnector, 'YourMembershipConnector')
|