UNPKG

gmail-reader

Version:

A Gmail reader package for Google Workspace accounts with domain-wide delegation support

66 lines 2.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.GmailClient = void 0; exports.createGmailClient = createGmailClient; exports.readEmails = readEmails; exports.readEmail = readEmail; exports.createDelegatedGmailClient = createDelegatedGmailClient; // src/index.ts const gmailClient_1 = require("./gmailClient"); Object.defineProperty(exports, "GmailClient", { enumerable: true, get: function () { return gmailClient_1.GmailClient; } }); /** * Create a Gmail client for reading emails * * @param config - Client configuration including clientId and clientSecret * @param refreshToken - OAuth2 refresh token (optional for domain-wide delegation) * @param options - Additional options for domain-wide delegation * @returns A configured GmailClient instance */ function createGmailClient(config, refreshToken, options) { return new gmailClient_1.GmailClient(config, refreshToken, options); } /** * Read emails from a specific sender * * @param config - Client configuration including clientId and clientSecret * @param refreshToken - OAuth2 refresh token * @param fromEmail - Email address to filter by sender * @param options - Additional options * @returns Promise resolving to a list of emails */ async function readEmails(config, refreshToken, fromEmail, options) { const gmailClient = createGmailClient(config, refreshToken); await gmailClient.authenticate(); return gmailClient.getEmailsFrom(fromEmail, options); } /** * Read a specific email by ID * * @param config - Client configuration including clientId and clientSecret * @param refreshToken - OAuth2 refresh token * @param emailId - ID of the email to retrieve * @param options - Options for retrieving the email * @returns Promise resolving to the email details */ async function readEmail(config, refreshToken, emailId, options) { const gmailClient = createGmailClient(config, refreshToken); await gmailClient.authenticate(); return gmailClient.getEmail(emailId, options); } /** * Create a Gmail client with domain-wide delegation * * @param config - Client configuration including clientId (service account email) * @param keyFile - Service account key file content * @param impersonateEmail - Email address to impersonate * @param scopes - Optional scopes to request * @returns A configured GmailClient instance with domain-wide delegation */ function createDelegatedGmailClient(config, keyFile, impersonateEmail, scopes) { return createGmailClient(config, undefined, { impersonateEmail, keyFile, scopes }); } //# sourceMappingURL=index.js.map