@rockcarver/frodo-lib
Version:
A library to manage ForgeRock Identity Cloud tenants, ForgeOps deployments, and classic deployments.
188 lines • 8.65 kB
TypeScript
import { IdObjectSkeletonInterface } from '../api/ApiTypes';
import { State } from '../shared/State';
import { ExportMetaData } from './OpsTypes';
export type EmailTemplate = {
/**
* Email template type key used to build the IDM id: 'emailTemplate/<id>'
*/
EMAIL_TEMPLATE_TYPE: string;
/**
* Create an empty email template export template
* @returns {EmailTemplateExportInterface} an empty email template export template
*/
createEmailTemplateExportTemplate(): EmailTemplateExportInterface;
/**
* Get all email templates
* @returns {Promise<EmailTemplateSkeleton[]>} a promise that resolves to an array of email template objects
*/
readEmailTemplates(): Promise<EmailTemplateSkeleton[]>;
/**
* Get email template
* @param {string} templateId id/name of the email template without the type prefix
* @returns {Promise<EmailTemplateSkeleton>} a promise that resolves an email template object
*/
readEmailTemplate(templateId: string): Promise<EmailTemplateSkeleton>;
/**
* Export all email templates. The response can be saved to file as is.
* @returns {Promise<EmailTemplateExportInterface>} Promise resolving to a EmailTemplateExportInterface object.
*/
exportEmailTemplates(): Promise<EmailTemplateExportInterface>;
/**
* Create email template
* @param {string} templateId id/name of the email template without the type prefix
* @param {EmailTemplateSkeleton} templateData email template object
* @returns {Promise<EmailTemplateSkeleton>} a promise that resolves to an email template object
*/
createEmailTemplate(templateId: string, templateData: EmailTemplateSkeleton): Promise<EmailTemplateSkeleton>;
/**
* Update or create email template
* @param {string} templateId id/name of the email template without the type prefix
* @param {EmailTemplateSkeleton} templateData email template object
* @returns {Promise<EmailTemplateSkeleton>} a promise that resolves to an email template object
*/
updateEmailTemplate(templateId: string, templateData: EmailTemplateSkeleton): Promise<EmailTemplateSkeleton>;
/**
* Import all email templates
* @param {EmailTemplateExportInterface} importData import data
* @returns {Promise<IdObjectSkeletonInterface[]>} a promise resolving to an array of email template objects
*/
importEmailTemplates(importData: EmailTemplateExportInterface): Promise<EmailTemplateSkeleton[]>;
/**
* Delete all email templates
* @returns {Promise<EmailTemplateSkeleton[]>} a promise that resolves to an array of email template objects
*/
deleteEmailTemplates(): Promise<EmailTemplateSkeleton[]>;
/**
* Delete email template
* @param {string} templateId id/name of the email template without the type prefix 'emailTemplate/'
* @returns {Promise<EmailTemplateSkeleton>} a promise that resolves an email template object
*/
deleteEmailTemplate(templateId: string): Promise<EmailTemplateSkeleton>;
/**
* Get all email templates
* @returns {Promise<EmailTemplateSkeleton[]>} a promise that resolves to an array of email template objects
* @deprecated since v2.0.0 use {@link EmailTemplate.readEmailTemplates | readEmailTemplates} instead
* ```javascript
* readEmailTemplates(): Promise<EmailTemplateSkeleton[]>
* ```
* @group Deprecated
*/
getEmailTemplates(): Promise<EmailTemplateSkeleton[]>;
/**
* Get email template
* @param {string} templateId id/name of the email template without the type prefix
* @returns {Promise<EmailTemplateSkeleton>} a promise that resolves an email template object
* @deprecated since v2.0.0 use {@link EmailTemplate.readEmailTemplate | readEmailTemplate} instead
* ```javascript
* readEmailTemplate(templateId: string): Promise<EmailTemplateSkeleton>
* ```
* @group Deprecated
*/
getEmailTemplate(templateId: string): Promise<EmailTemplateSkeleton>;
/**
* Put email template
* @param {string} templateId id/name of the email template without the type prefix
* @param {Object} templateData email template object
* @returns {Promise<EmailTemplateSkeleton>} a promise that resolves to an email template object
* @deprecated since v2.0.0 use {@link EmailTemplate.updateEmailTemplate | updateEmailTemplate} or {@link EmailTemplate.createEmailTemplate | createEmailTemplate} instead
* ```javascript
* updateEmailTemplate(templateId: string, templateData: EmailTemplateSkeleton): Promise<EmailTemplateSkeleton>
* createEmailTemplate(templateId: string, templateData: EmailTemplateSkeleton): Promise<EmailTemplateSkeleton>
* ```
* @group Deprecated
*/
putEmailTemplate(templateId: string, templateData: EmailTemplateSkeleton): Promise<EmailTemplateSkeleton>;
};
declare const _default: (state: State) => EmailTemplate;
export default _default;
/**
* Email template type key used to build the IDM id: 'emailTemplate/<id>'
*/
export declare const EMAIL_TEMPLATE_TYPE = "emailTemplate";
export type EmailTemplateSkeleton = IdObjectSkeletonInterface & {
defaultLocale?: string;
displayName?: string;
enabled?: boolean;
from: string;
subject: Record<string, string>;
message?: Record<string, string>;
html?: Record<string, string>;
};
export interface EmailTemplateExportInterface {
meta?: ExportMetaData;
emailTemplate: Record<string, EmailTemplateSkeleton>;
}
export declare function createEmailTemplateExportTemplate({ state, }: {
state: State;
}): EmailTemplateExportInterface;
/**
* Get all email templates
* @returns {Promise<EmailTemplateSkeleton[]>} a promise that resolves to an array of email template objects
*/
export declare function readEmailTemplates({ state, }: {
state: State;
}): Promise<EmailTemplateSkeleton[]>;
/**
* Get email template
* @param {string} templateId id/name of the email template without the type prefix
* @returns {Promise<EmailTemplateSkeleton>} a promise that resolves an email template object
*/
export declare function readEmailTemplate({ templateId, state, }: {
templateId: string;
state: State;
}): Promise<EmailTemplateSkeleton>;
/**
* Export all email templates. The response can be saved to file as is.
* @returns {Promise<EmailTemplateExportInterface>} Promise resolving to a EmailTemplateExportInterface object.
*/
export declare function exportEmailTemplates({ state, }: {
state: State;
}): Promise<EmailTemplateExportInterface>;
/**
* Create email template
* @param {string} templateId id/name of the email template without the type prefix
* @param {EmailTemplateSkeleton} templateData email template object
* @returns {Promise<EmailTemplateSkeleton>} a promise that resolves to an email template object
*/
export declare function createEmailTemplate({ templateId, templateData, state, }: {
templateId: string;
templateData: EmailTemplateSkeleton;
state: State;
}): Promise<EmailTemplateSkeleton>;
/**
* Update or create email template
* @param {string} templateId id/name of the email template without the type prefix
* @param {EmailTemplateSkeleton} templateData email template object
* @returns {Promise<EmailTemplateSkeleton>} a promise that resolves to an email template object
*/
export declare function updateEmailTemplate({ templateId, templateData, state, }: {
templateId: string;
templateData: EmailTemplateSkeleton;
state: State;
}): Promise<EmailTemplateSkeleton>;
/**
* Import email templates.
* @param {EmailTemplateExportInterface} importData email template import data.
* @returns {Promise<SocialIdpSkeleton[]>} a promise resolving to an array of email template objects
*/
export declare function importEmailTemplates({ importData, state, }: {
importData: EmailTemplateExportInterface;
state: State;
}): Promise<EmailTemplateSkeleton[]>;
/**
* Delete all email templates
* @returns {Promise<EmailTemplateSkeleton[]>} a promise that resolves to an array of email template objects
*/
export declare function deleteEmailTemplates({ state, }: {
state: State;
}): Promise<EmailTemplateSkeleton[]>;
/**
* Delete email template
* @param {string} templateId id/name of the email template without the type prefix 'emailTemplate/'
* @returns {Promise<EmailTemplateSkeleton>} a promise that resolves an email template object
*/
export declare function deleteEmailTemplate({ templateId, state, }: {
templateId: string;
state: State;
}): Promise<EmailTemplateSkeleton>;
//# sourceMappingURL=EmailTemplateOps.d.ts.map