@checkfirst/nestjs-outlook
Version:
An opinionated NestJS module for Microsoft Outlook integration that provides easy access to Microsoft Graph API for emails, calendars, and more.
39 lines (38 loc) • 1.69 kB
TypeScript
export interface MicrosoftSubscription {
id: string;
resource: string;
changeType?: string;
clientState?: string;
notificationUrl?: string;
expirationDateTime?: string;
creatorId?: string;
}
export type SubscriptionFilter = (subscription: MicrosoftSubscription) => boolean;
export interface SubscriptionCleanupOptions {
accessToken: string;
filter?: SubscriptionFilter;
}
export interface SubscriptionCleanupResult {
totalFound: number;
successfullyDeleted: number;
failedToDelete: number;
deletedSubscriptionIds: string[];
errors: Array<{
subscriptionId: string;
error: string;
}>;
}
export declare class MicrosoftSubscriptionService {
private readonly logger;
private readonly graphApiBaseUrl;
private readonly msAuthUrl;
getActiveSubscriptions(accessToken: string): Promise<MicrosoftSubscription[]>;
getActiveSubscriptionsForClient(clientId: number, accessToken: string): Promise<MicrosoftSubscription[]>;
getActiveSubscriptionsForUser(userId: number, accessToken: string): Promise<MicrosoftSubscription[]>;
deleteSubscription(subscriptionId: string, accessToken: string): Promise<void>;
cleanupSubscriptions(options: SubscriptionCleanupOptions): Promise<SubscriptionCleanupResult>;
cleanupSubscriptionsForClient(clientId: number, accessToken: string): Promise<SubscriptionCleanupResult>;
cleanupSubscriptionsForUser(userId: number, accessToken: string): Promise<SubscriptionCleanupResult>;
revokeTokens(refreshToken: string): Promise<void>;
fullCleanup(refreshToken: string, accessToken: string, filter?: SubscriptionFilter): Promise<SubscriptionCleanupResult>;
}