@microfox/linkedin-member-data-portability
Version:
A TypeScript SDK for LinkedIn Member Data Portability.
130 lines (127 loc) • 4.36 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", "UPDATE", "PARTIAL_UPDATE", "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>, "many">;
parentSiblingActivities: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
activityId: z.ZodString;
activityStatus: z.ZodEnum<["SUCCESS", "FAILURE", "SUCCESSFUL_REPLAY"]>;
}, "strip", z.ZodTypeAny, {
id: number;
capturedAt: number;
processedAt: number;
configVersion: number;
owner: string;
actor: string;
resourceName: string;
resourceId: string;
resourceUri: string;
method: "CREATE" | "UPDATE" | "PARTIAL_UPDATE" | "DELETE";
activity: Record<string, unknown>;
processedActivity: Record<string, unknown>;
siblingActivities: Record<string, unknown>[];
parentSiblingActivities: Record<string, unknown>[];
activityId: string;
activityStatus: "SUCCESS" | "FAILURE" | "SUCCESSFUL_REPLAY";
methodName?: string | undefined;
}, {
id: number;
capturedAt: number;
processedAt: number;
configVersion: number;
owner: string;
actor: string;
resourceName: string;
resourceId: string;
resourceUri: string;
method: "CREATE" | "UPDATE" | "PARTIAL_UPDATE" | "DELETE";
activity: Record<string, unknown>;
processedActivity: Record<string, unknown>;
siblingActivities: Record<string, unknown>[];
parentSiblingActivities: Record<string, unknown>[];
activityId: string;
activityStatus: "SUCCESS" | "FAILURE" | "SUCCESSFUL_REPLAY";
methodName?: string | undefined;
}>;
declare const MemberSnapshotSchema: z.ZodObject<{
snapshotDomain: z.ZodString;
snapshotData: z.ZodRecord<z.ZodString, z.ZodUnknown>;
}, "strip", z.ZodTypeAny, {
snapshotDomain: string;
snapshotData: Record<string, unknown>;
}, {
snapshotDomain: string;
snapshotData: Record<string, unknown>;
}>;
declare const MemberComplianceAuthorizationSchema: z.ZodObject<{
regulatedAt: z.ZodNumber;
memberComplianceAuthorizationKey: z.ZodObject<{
developerApplication: z.ZodString;
member: z.ZodString;
}, "strip", z.ZodTypeAny, {
developerApplication: string;
member: string;
}, {
developerApplication: string;
member: string;
}>;
memberComplianceScopes: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
regulatedAt: number;
memberComplianceAuthorizationKey: {
developerApplication: string;
member: string;
};
memberComplianceScopes: string[];
}, {
regulatedAt: number;
memberComplianceAuthorizationKey: {
developerApplication: string;
member: string;
};
memberComplianceScopes: string[];
}>;
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 };