@rachelallyson/planning-center-people-ts 2.14.0 โ 2.14.1
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/CHANGELOG.md +17 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +4 -3
- package/dist/modules/fields.d.ts +4 -0
- package/dist/modules/fields.js +10 -0
- package/dist/people/fields.d.ts +7 -1
- package/dist/people/fields.js +11 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,23 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [2.14.1] - 2026-01-21
|
|
9
|
+
|
|
10
|
+
### ๐ง **Bug Fixes**
|
|
11
|
+
|
|
12
|
+
- **Complete Tab API Coverage**: Added missing `getTabById()` / `getTab()` method to retrieve a single tab by ID
|
|
13
|
+
- Module API: `client.fields.getTabById(id, include?)`
|
|
14
|
+
- Function API: `getTab(client, tabId, params?, context?)`
|
|
15
|
+
- Completes full CRUD coverage for tabs (get, list, create, update, delete)
|
|
16
|
+
|
|
17
|
+
### ๐ฆ **Exports**
|
|
18
|
+
|
|
19
|
+
- `getTab` - Function API for retrieving a single tab by ID
|
|
20
|
+
|
|
21
|
+
### ๐งช **Testing**
|
|
22
|
+
|
|
23
|
+
- Added tests for `getTabById()` / `getTab()` in fields test suites
|
|
24
|
+
|
|
8
25
|
## [2.14.0] - 2026-01-21
|
|
9
26
|
|
|
10
27
|
### โจ **New Features**
|
package/dist/index.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ export type { RateLimitHeaders, RateLimitInfo } from '@rachelallyson/planning-ce
|
|
|
18
18
|
export { PcoRateLimiter } from '@rachelallyson/planning-center-base-ts';
|
|
19
19
|
export type { ErrorContext } from '@rachelallyson/planning-center-base-ts';
|
|
20
20
|
export { ErrorCategory, ErrorSeverity, handleNetworkError, handleTimeoutError, handleValidationError, PcoError, retryWithBackoff, shouldNotRetry, withErrorBoundary, } from '@rachelallyson/planning-center-base-ts';
|
|
21
|
-
export { createFieldDefinition, createFieldOption, createPerson, createPersonAddress, createPersonEmail, createPersonFieldData, createPersonPhoneNumber, createPersonSocialProfile, createWorkflowCard, createWorkflowCardNote, deleteFieldDefinition, deletePerson, deletePersonFieldData, deleteSocialProfile, getFieldDefinitions, getFieldOptions, getHousehold, getHouseholds, getTabs, getListById, getListCategories, getLists, runList, getNote, getNoteCategories, getNotes, getOrganization, getPeople, getPerson, getPersonAddresses, getPersonEmails, getPersonFieldData, getPersonPhoneNumbers, getPersonSocialProfiles, getWorkflow, getWorkflowCardNotes, getWorkflowCards, getWorkflows, updatePerson, updatePersonAddress, } from './people';
|
|
21
|
+
export { createFieldDefinition, createFieldOption, createPerson, createPersonAddress, createPersonEmail, createPersonFieldData, createPersonPhoneNumber, createPersonSocialProfile, createWorkflowCard, createWorkflowCardNote, deleteFieldDefinition, deletePerson, deletePersonFieldData, deleteSocialProfile, getFieldDefinitions, getFieldOptions, getHousehold, getHouseholds, getTabs, getTab, getListById, getListCategories, getLists, runList, getNote, getNoteCategories, getNotes, getOrganization, getPeople, getPerson, getPersonAddresses, getPersonEmails, getPersonFieldData, getPersonPhoneNumbers, getPersonSocialProfiles, getWorkflow, getWorkflowCardNotes, getWorkflowCards, getWorkflows, updatePerson, updatePersonAddress, } from './people';
|
|
22
22
|
export { attemptRecovery, CircuitBreaker, classifyError, createErrorReport, DEFAULT_RETRY_CONFIG, executeBulkOperation, retryWithExponentialBackoff, TIMEOUT_CONFIG, withTimeout, } from './error-scenarios';
|
|
23
23
|
export { buildQueryParams, calculateAge, calculateTrust, createPersonWithContact, createWorkflowCardWithNote, DEFAULT_TRUST_WINDOW, emailDomainsMatch, exportAllPeopleData, extractEmailDomain, extractFileUrl, formatDate, formatPersonName, getCompletePersonProfile, getFileExtension, getFilename, getListsWithCategories, getOrganizationInfo, getPeopleByHousehold, getPersonWorkflowCardsWithNotes, getPrimaryContact, isFileUpload, isFileUrl, isValidEmail, isValidPhone, normalizeEmail, normalizePhone, phoneNumbersSimilar, processFileValue, searchPeople, validateContactSimilarity, validatePersonData, } from './helpers';
|
|
24
24
|
export type { TrustResult } from './helpers';
|
package/dist/index.js
CHANGED
|
@@ -15,9 +15,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
16
16
|
};
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.
|
|
19
|
-
exports.
|
|
20
|
-
exports.createSlowMockClient = exports.createErrorMockClient = exports.createTestClient = exports.createRecordingClient = exports.createMockClient = exports.RequestRecorder = exports.MockResponseBuilder = exports.MockPcoClient = exports.streamPeopleData = exports.processLargeDataset = exports.processInBatches = exports.PerformanceMonitor = exports.monitorPerformance = exports.getCachedPeople = exports.fetchAllPages = exports.batchFetchPersonDetails = exports.ApiCache = exports.AdaptiveRateLimiter = exports.DEFAULT_AGGRESSIVE_RETRY_CONFIG = exports.DEFAULT_INITIAL_RETRY_CONFIG = exports.validatePersonData = exports.validateContactSimilarity = exports.searchPeople = exports.processFileValue = exports.phoneNumbersSimilar = void 0;
|
|
18
|
+
exports.getNote = exports.runList = exports.getLists = exports.getListCategories = exports.getListById = exports.getTab = exports.getTabs = exports.getHouseholds = exports.getHousehold = exports.getFieldOptions = exports.getFieldDefinitions = exports.deleteSocialProfile = exports.deletePersonFieldData = exports.deletePerson = exports.deleteFieldDefinition = exports.createWorkflowCardNote = exports.createWorkflowCard = exports.createPersonSocialProfile = exports.createPersonPhoneNumber = exports.createPersonFieldData = exports.createPersonEmail = exports.createPersonAddress = exports.createPerson = exports.createFieldOption = exports.createFieldDefinition = exports.withErrorBoundary = exports.shouldNotRetry = exports.retryWithBackoff = exports.PcoError = exports.handleValidationError = exports.handleTimeoutError = exports.handleNetworkError = exports.ErrorSeverity = exports.ErrorCategory = exports.PcoRateLimiter = exports.PcoApiError = exports.updateClientTokens = exports.refreshAccessToken = exports.hasRefreshTokenCapability = exports.attemptTokenRefresh = exports.post = exports.patch = exports.getSingle = exports.getRateLimitInfo = exports.getList = exports.getAllPages = exports.del = exports.createPcoClient = exports.PcoClientManager = exports.PcoClient = void 0;
|
|
19
|
+
exports.normalizeEmail = exports.isValidPhone = exports.isValidEmail = exports.isFileUrl = exports.isFileUpload = exports.getPrimaryContact = exports.getPersonWorkflowCardsWithNotes = exports.getPeopleByHousehold = exports.getOrganizationInfo = exports.getListsWithCategories = exports.getFilename = exports.getFileExtension = exports.getCompletePersonProfile = exports.formatPersonName = exports.formatDate = exports.extractFileUrl = exports.extractEmailDomain = exports.exportAllPeopleData = exports.emailDomainsMatch = exports.DEFAULT_TRUST_WINDOW = exports.createWorkflowCardWithNote = exports.createPersonWithContact = exports.calculateTrust = exports.calculateAge = exports.buildQueryParams = exports.withTimeout = exports.TIMEOUT_CONFIG = exports.retryWithExponentialBackoff = exports.executeBulkOperation = exports.DEFAULT_RETRY_CONFIG = exports.createErrorReport = exports.classifyError = exports.CircuitBreaker = exports.attemptRecovery = exports.updatePersonAddress = exports.updatePerson = exports.getWorkflows = exports.getWorkflowCards = exports.getWorkflowCardNotes = exports.getWorkflow = exports.getPersonSocialProfiles = exports.getPersonPhoneNumbers = exports.getPersonFieldData = exports.getPersonEmails = exports.getPersonAddresses = exports.getPerson = exports.getPeople = exports.getOrganization = exports.getNotes = exports.getNoteCategories = void 0;
|
|
20
|
+
exports.createSlowMockClient = exports.createErrorMockClient = exports.createTestClient = exports.createRecordingClient = exports.createMockClient = exports.RequestRecorder = exports.MockResponseBuilder = exports.MockPcoClient = exports.streamPeopleData = exports.processLargeDataset = exports.processInBatches = exports.PerformanceMonitor = exports.monitorPerformance = exports.getCachedPeople = exports.fetchAllPages = exports.batchFetchPersonDetails = exports.ApiCache = exports.AdaptiveRateLimiter = exports.DEFAULT_AGGRESSIVE_RETRY_CONFIG = exports.DEFAULT_INITIAL_RETRY_CONFIG = exports.validatePersonData = exports.validateContactSimilarity = exports.searchPeople = exports.processFileValue = exports.phoneNumbersSimilar = exports.normalizePhone = void 0;
|
|
21
21
|
// Main client class
|
|
22
22
|
var client_1 = require("./client");
|
|
23
23
|
Object.defineProperty(exports, "PcoClient", { enumerable: true, get: function () { return client_1.PcoClient; } });
|
|
@@ -77,6 +77,7 @@ Object.defineProperty(exports, "getFieldOptions", { enumerable: true, get: funct
|
|
|
77
77
|
Object.defineProperty(exports, "getHousehold", { enumerable: true, get: function () { return people_1.getHousehold; } });
|
|
78
78
|
Object.defineProperty(exports, "getHouseholds", { enumerable: true, get: function () { return people_1.getHouseholds; } });
|
|
79
79
|
Object.defineProperty(exports, "getTabs", { enumerable: true, get: function () { return people_1.getTabs; } });
|
|
80
|
+
Object.defineProperty(exports, "getTab", { enumerable: true, get: function () { return people_1.getTab; } });
|
|
80
81
|
Object.defineProperty(exports, "getListById", { enumerable: true, get: function () { return people_1.getListById; } });
|
|
81
82
|
Object.defineProperty(exports, "getListCategories", { enumerable: true, get: function () { return people_1.getListCategories; } });
|
|
82
83
|
Object.defineProperty(exports, "getLists", { enumerable: true, get: function () { return people_1.getLists; } });
|
package/dist/modules/fields.d.ts
CHANGED
package/dist/modules/fields.js
CHANGED
|
@@ -185,6 +185,16 @@ class FieldsModule extends planning_center_base_ts_1.BaseModule {
|
|
|
185
185
|
async getTabs() {
|
|
186
186
|
return this.getList('/tabs');
|
|
187
187
|
}
|
|
188
|
+
/**
|
|
189
|
+
* Get a single tab by ID
|
|
190
|
+
*/
|
|
191
|
+
async getTabById(id, include) {
|
|
192
|
+
const params = {};
|
|
193
|
+
if (include) {
|
|
194
|
+
params.include = include.join(',');
|
|
195
|
+
}
|
|
196
|
+
return this.getSingle(`/tabs/${id}`, params);
|
|
197
|
+
}
|
|
188
198
|
/**
|
|
189
199
|
* Create a tab
|
|
190
200
|
*/
|
package/dist/people/fields.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PcoClientState } from '../core';
|
|
2
2
|
import type { ErrorContext } from '@rachelallyson/planning-center-base-ts';
|
|
3
|
-
import { FieldDataList, FieldDataSingle, FieldDataType, FieldDefinitionsList, FieldDefinitionSingle, FieldOptionAttributes, FieldOptionSingle, FieldOptionsList, TabsList } from '../types';
|
|
3
|
+
import { FieldDataList, FieldDataSingle, FieldDataType, FieldDefinitionsList, FieldDefinitionSingle, FieldOptionAttributes, FieldOptionSingle, FieldOptionsList, TabSingle, TabsList } from '../types';
|
|
4
4
|
/**
|
|
5
5
|
* Delete field data for a person
|
|
6
6
|
*/
|
|
@@ -41,6 +41,12 @@ export declare function getTabs(client: PcoClientState, params?: {
|
|
|
41
41
|
per_page?: number;
|
|
42
42
|
page?: number;
|
|
43
43
|
}, context?: Partial<ErrorContext>): Promise<TabsList>;
|
|
44
|
+
/**
|
|
45
|
+
* Get a single tab by ID
|
|
46
|
+
*/
|
|
47
|
+
export declare function getTab(client: PcoClientState, tabId: string, params?: {
|
|
48
|
+
include?: string[];
|
|
49
|
+
}, context?: Partial<ErrorContext>): Promise<TabSingle>;
|
|
44
50
|
/**
|
|
45
51
|
* Create a field definition
|
|
46
52
|
*/
|
package/dist/people/fields.js
CHANGED
|
@@ -7,6 +7,7 @@ exports.getFieldDefinition = getFieldDefinition;
|
|
|
7
7
|
exports.getFieldOptions = getFieldOptions;
|
|
8
8
|
exports.createFieldOption = createFieldOption;
|
|
9
9
|
exports.getTabs = getTabs;
|
|
10
|
+
exports.getTab = getTab;
|
|
10
11
|
exports.createFieldDefinition = createFieldDefinition;
|
|
11
12
|
exports.deleteFieldDefinition = deleteFieldDefinition;
|
|
12
13
|
exports.createPersonFieldData = createPersonFieldData;
|
|
@@ -196,6 +197,16 @@ async function getTabs(client, params, context) {
|
|
|
196
197
|
method: 'GET',
|
|
197
198
|
});
|
|
198
199
|
}
|
|
200
|
+
/**
|
|
201
|
+
* Get a single tab by ID
|
|
202
|
+
*/
|
|
203
|
+
async function getTab(client, tabId, params, context) {
|
|
204
|
+
return (0, core_1.getSingle)(client, `/tabs/${tabId}`, (0, helpers_1.buildQueryParams)(params), {
|
|
205
|
+
...context,
|
|
206
|
+
endpoint: `/tabs/${tabId}`,
|
|
207
|
+
method: 'GET',
|
|
208
|
+
});
|
|
209
|
+
}
|
|
199
210
|
/**
|
|
200
211
|
* Create a field definition
|
|
201
212
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rachelallyson/planning-center-people-ts",
|
|
3
|
-
"version": "2.14.
|
|
3
|
+
"version": "2.14.1",
|
|
4
4
|
"description": "A strictly typed TypeScript client for Planning Center Online People API with comprehensive functionality and enhanced developer experience",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|