@microfox/linkedin-member-data-portability
Version:
A TypeScript SDK for LinkedIn Member Data Portability.
77 lines (74 loc) • 2.62 kB
TypeScript
import { z } from 'zod';
export { LinkedInScope } from '@microfox/linkedin-oauth';
declare const ChangelogEventSchema: z.ZodObject<{
id: z.ZodNumber;
capturedAt: z.ZodNumber;
processedAt: z.ZodNumber;
configVersion: z.ZodNumber;
owner: z.ZodString;
actor: z.ZodString;
resourceName: z.ZodString;
resourceId: z.ZodString;
resourceUri: z.ZodString;
method: z.ZodEnum<{
CREATE: "CREATE";
UPDATE: "UPDATE";
PARTIAL_UPDATE: "PARTIAL_UPDATE";
DELETE: "DELETE";
}>;
methodName: z.ZodOptional<z.ZodString>;
activity: z.ZodRecord<z.ZodString, z.ZodUnknown>;
processedActivity: z.ZodRecord<z.ZodString, z.ZodUnknown>;
siblingActivities: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
parentSiblingActivities: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
activityId: z.ZodString;
activityStatus: z.ZodEnum<{
SUCCESS: "SUCCESS";
FAILURE: "FAILURE";
SUCCESSFUL_REPLAY: "SUCCESSFUL_REPLAY";
}>;
}, z.core.$strip>;
declare const MemberSnapshotSchema: z.ZodObject<{
snapshotDomain: z.ZodString;
snapshotData: z.ZodRecord<z.ZodString, z.ZodUnknown>;
}, z.core.$strip>;
declare const MemberComplianceAuthorizationSchema: z.ZodObject<{
regulatedAt: z.ZodNumber;
memberComplianceAuthorizationKey: z.ZodObject<{
developerApplication: z.ZodString;
member: z.ZodString;
}, z.core.$strip>;
memberComplianceScopes: z.ZodArray<z.ZodString>;
}, z.core.$strip>;
declare class LinkedInDataPortabilitySDK {
private oauthSdk;
private accessToken;
private baseUrl;
constructor(config: {
clientId: string;
clientSecret: string;
redirectUri: string;
accessToken: string;
refreshToken?: string;
});
private request;
validateAccessToken(): Promise<void>;
refreshAccessToken(refreshToken: string): Promise<{
accessToken: string;
refreshToken?: string;
}>;
getMemberChangeLogs(startTime?: number): Promise<z.infer<typeof ChangelogEventSchema>[]>;
getMemberSnapshotData(domain?: string): Promise<z.infer<typeof MemberSnapshotSchema>[]>;
getMemberAuthorizations(): Promise<z.infer<typeof MemberComplianceAuthorizationSchema>>;
triggerMemberDataProcessing(): Promise<{
success: boolean;
}>;
}
declare const createLinkedInSDK: (config: {
clientId: string;
clientSecret: string;
redirectUri: string;
accessToken: string;
refreshToken?: string;
}) => LinkedInDataPortabilitySDK;
export { LinkedInDataPortabilitySDK, createLinkedInSDK };