"use node";
import mailchimp from "@mailchimp/mailchimp_marketing";
import type { Infer } from "convex/values";
import type { mailchimpCredentialsSchema } from "../../schemas/integrationCredentialsSchema";
class Mailchimp {
private api: any;
constructor({
credentials,
}: {
credentials: Infer<typeof mailchimpCredentialsSchema>;
}) {
this.api = mailchimp;
this.api.setConfig({
apiKey: credentials.credentials.accessToken,
server: credentials.credentials.serverPrefix,
});
}
async getLists() {
return await this.api.lists.getAllLists({
includeTotalContacts: true,
});
}
}
export default Mailchimp;
"use node";
import mailchimp from "@mailchimp/mailchimp_marketing";
import type { Infer } from "convex/values";
import type { mailchimpCredentialsSchema } from "../../schemas/integrationCredentialsSchema";
class Mailchimp {
private api: any;
constructor({
credentials,
}: {
credentials: Infer<typeof mailchimpCredentialsSchema>;
}) {
this.api = mailchimp;
this.api.setConfig({
apiKey: credentials.credentials.accessToken,
server: credentials.credentials.serverPrefix,
});
}
async getLists() {
return await this.api.lists.getAllLists({
includeTotalContacts: true,
});
}
}
export default Mailchimp;