UNPKG

mcdev

Version:

Accenture Salesforce Marketing Cloud DevTools

669 lines 24.6 kB
export default User; export type BuObject = import("../../types/mcdev.d.js").BuObject; export type CodeExtract = import("../../types/mcdev.d.js").CodeExtract; export type CodeExtractItem = import("../../types/mcdev.d.js").CodeExtractItem; export type MetadataTypeItem = import("../../types/mcdev.d.js").MetadataTypeItem; export type MetadataTypeItemDiff = import("../../types/mcdev.d.js").MetadataTypeItemDiff; export type MetadataTypeItemObj = import("../../types/mcdev.d.js").MetadataTypeItemObj; export type MetadataTypeMap = import("../../types/mcdev.d.js").MetadataTypeMap; export type MetadataTypeMapObj = import("../../types/mcdev.d.js").MetadataTypeMapObj; export type SoapRequestParams = import("../../types/mcdev.d.js").SoapRequestParams; export type TemplateMap = import("../../types/mcdev.d.js").TemplateMap; export type UserDocument = import("../../types/mcdev.d.js").UserDocument; export type UserDocumentDocument = import("../../types/mcdev.d.js").UserDocumentDocument; export type UserDocumentDiff = import("../../types/mcdev.d.js").UserDocumentDiff; export type UserDocumentMap = import("../../types/mcdev.d.js").UserDocumentMap; export type AccountUserConfiguration = import("../../types/mcdev.d.js").AccountUserConfiguration; /** * @typedef {import('../../types/mcdev.d.js').BuObject} BuObject * @typedef {import('../../types/mcdev.d.js').CodeExtract} CodeExtract * @typedef {import('../../types/mcdev.d.js').CodeExtractItem} CodeExtractItem * @typedef {import('../../types/mcdev.d.js').MetadataTypeItem} MetadataTypeItem * @typedef {import('../../types/mcdev.d.js').MetadataTypeItemDiff} MetadataTypeItemDiff * @typedef {import('../../types/mcdev.d.js').MetadataTypeItemObj} MetadataTypeItemObj * @typedef {import('../../types/mcdev.d.js').MetadataTypeMap} MetadataTypeMap * @typedef {import('../../types/mcdev.d.js').MetadataTypeMapObj} MetadataTypeMapObj * @typedef {import('../../types/mcdev.d.js').SoapRequestParams} SoapRequestParams * @typedef {import('../../types/mcdev.d.js').TemplateMap} TemplateMap */ /** * @typedef {import('../../types/mcdev.d.js').UserDocument} UserDocument * @typedef {import('../../types/mcdev.d.js').UserDocumentDocument} UserDocumentDocument * @typedef {import('../../types/mcdev.d.js').UserDocumentDiff} UserDocumentDiff * @typedef {import('../../types/mcdev.d.js').UserDocumentMap} UserDocumentMap * @typedef {import('../../types/mcdev.d.js').AccountUserConfiguration} AccountUserConfiguration */ /** * MetadataType * * @augments MetadataType */ declare class User extends MetadataType { static userBUassignments: any; static userIdBuMap: any; /** * Retrieves SOAP based metadata of metadata type into local filesystem. executes callback with retrieved metadata * * @param {string} retrieveDir Directory where retrieved metadata directory will be saved * @param {void | string[]} _ unused parameter * @param {void | string[]} [__] unused parameter * @param {string} [key] customer key of single item to retrieve * @returns {Promise.<MetadataTypeMapObj>} Promise of metadata */ static retrieve(retrieveDir: string, _: void | string[], __?: void | string[], key?: string): Promise<MetadataTypeMapObj>; /** * Retrieves import definition metadata for caching * * @returns {Promise.<MetadataTypeMapObj>} Promise */ static retrieveForCache(): Promise<MetadataTypeMapObj>; /** * Create a single item. * * @param {MetadataTypeItem} metadata single metadata entry * @returns {Promise} Promise */ static create(metadata: MetadataTypeItem): Promise<any>; /** * Updates a single item. * * @param {MetadataTypeItem} metadata single metadata entry * @returns {Promise} Promise */ static update(metadata: MetadataTypeItem): Promise<any>; /** * prepares a item for deployment * * @param {UserDocument} metadata of a single item * @returns {Promise.<UserDocument>} metadata object */ static preDeployTasks(metadata: UserDocument): Promise<UserDocument>; /** * helper for {@link MetadataType.upsert} * * @param {MetadataTypeMap} metadata list of metadata * @param {string} metadataKey key of item we are looking at * @param {boolean} hasError error flag from previous code * @param {UserDocumentDiff[]} metadataToUpdate list of items to update * @param {UserDocument[]} metadataToCreate list of items to create * @returns {Promise.<'create'|'update'|'skip'>} action to take */ static createOrUpdate(metadata: MetadataTypeMap, metadataKey: string, hasError: boolean, metadataToUpdate: UserDocumentDiff[], metadataToCreate: UserDocument[]): Promise<"create" | "update" | "skip">; /** * helper for {@link createOrUpdate} * * @private * @param {MetadataTypeItem} metadata single metadata itme * @param {UserDocumentDiff} [updateItem] item to update * @param {UserDocument} [createItem] item to create */ private static _prepareBuAssignments; /** * Gets executed after deployment of metadata type * * @param {UserDocumentMap} upsertResults metadata mapped by their keyField * @returns {Promise.<void>} promise */ static postDeployTasks(upsertResults: UserDocumentMap): Promise<void>; /** * create/update business unit assignments. helper for {@link postDeployTasks} * * @private * @param {UserDocumentMap} upsertResults metadata mapped by their keyField * @returns {Promise.<void>} - */ private static _handleBuAssignments; /** * helper for {@link User.createOrUpdate} * * @private * @param {UserDocument} metadata single created user * @returns {void} */ private static _setPasswordForNewUser; /** * helper for {@link User.createOrUpdate} * It searches for roles that were removed from the user and unassigns them; it also prints a summary of added/removed roles * Adding roles works automatically for roles listed on the user * * @private * @param {UserDocumentDiff} item updated user with before and after state * @returns {void} */ private static _prepareRoleAssignments; /** * helper for {@link User._prepareRoleAssignments} * * @param {string} roleId role.ObjectID * @param {string} roleName role.Name * @param {number} userId user.AccountUserID * @param {boolean} assignmentOnly if true, only assignment configuration will be returned * @param {boolean} [isRoleRemovale] if true, role will be removed from user; otherwise added * @returns {object} format needed by API */ static _getRoleObjectForDeploy(roleId: string, roleName: string, userId: number, assignmentOnly: boolean, isRoleRemovale?: boolean): object; /** * Retrieves SOAP based metadata of metadata type into local filesystem. executes callback with retrieved metadata * * @returns {Promise.<MetadataTypeMapObj>} Promise of metadata */ static retrieveChangelog(): Promise<MetadataTypeMapObj>; /** * Retrieves SOAP based metadata of metadata type into local filesystem. executes callback with retrieved metadata * * @private * @param {string} [retrieveDir] Directory where retrieved metadata directory will be saved * @param {string} [key] customer key of single item to retrieve * @returns {Promise.<MetadataTypeMapObj>} Promise of metadata */ private static _retrieve; /** * Retrieves SOAP via generic fuel-soap wrapper based metadata of metadata type into local filesystem. executes callback with retrieved metadata * * @param {string} retrieveDir Directory where retrieved metadata directory will be saved * @param {SoapRequestParams} [requestParams] required for the specific request (filter for example) * @param {string} [singleRetrieve] key of single item to filter by * @param {string[]} [additionalFields] Returns specified fields even if their retrieve definition is not set to true * @returns {Promise.<MetadataTypeMapObj>} Promise of item map */ static retrieveSOAP(retrieveDir: string, requestParams?: SoapRequestParams, singleRetrieve?: string, additionalFields?: string[]): Promise<MetadataTypeMapObj>; /** * helper for {@link retrieveSOAP} and {@link upsert}; populates userIdBuMap * * @param {MetadataTypeItem[]} [metadataList] - * @returns {Promise.<void>} - */ static cacheBusinessUnitAssignments(metadataList?: MetadataTypeItem[]): Promise<void>; /** * helper for {@link User.retrieveSOAP} * * @private * @param {SoapRequestParams} requestParams required for the specific request (filter for example) * @param {string} soapType e.g. AccountUser * @param {string[]} fields list of fields to retrieve * @param {object} resultsBulk actual return value of this method * @returns {Promise.<boolean>} success flag */ private static _retrieveSOAP_installedPackage; /** * * @param {string} dateStr first date * @param {string} interval defaults to 'days' * @returns {string} time difference */ static "__#7@#timeSinceDate"(dateStr: string, interval?: string): string; /** * helper to print bu names * * @private * @param {number} id bu id * @returns {string} "bu name (bu id)"" */ private static _getBuName; /** * helper that gets BU names from config * * @private */ private static _getBuNames; /** * helper for {@link User.createOrUpdate} to generate a random initial password for new users * note: possible minimum length values in SFMC are 6, 8, 10, 15 chars. Therefore we should default here to 15 chars. * * @private * @param {number} [length] length of password; defaults to 15 * @returns {string} random password */ private static _generatePassword; /** * Creates markdown documentation of all roles * * @param {UserDocumentMap} [metadata] user list * @returns {Promise.<void>} - */ static document(metadata?: UserDocumentMap): Promise<void>; /** * * @private * @param {object[]} users list of users and installed package * @param {'Installed Package'|'User'|'Inactivated User'} type choose what sub type to print * @param {Array[]} columnsToPrint helper array * @returns {string} markdown */ private static _generateDocMd; /** * manages post retrieve steps * * @param {UserDocument} metadata a single item * @returns {MetadataTypeItem | void} a single item */ static postRetrieveTasks(metadata: UserDocument): MetadataTypeItem | void; } declare namespace User { let buIdName: {}; let definition: { bodyIteratorField: string; dependencies: string[]; dependencyGraph: {}; folderType: any; hasExtended: boolean; idField: string; keepId: boolean; keyIsFixed: boolean; keyField: string; nameField: string; createdDateField: string; createdNameField: any; lastmodDateField: string; lastmodNameField: string; maxKeyLength: number; type: string; soapType: string; typeDescription: string; typeName: string; typeRetrieveByDefault: boolean; typeCdpByDefault: boolean; documentInOneFile: boolean; stringifyFieldsBeforeTemplate: string[]; fields: { AccountUserID: { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; ActiveFlag: { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; AssociatedBusinessUnits: { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; BusinessUnit: { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; ChallengeAnswer: { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; ChallengePhrase: { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; 'Client.ID': { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; 'Client.ModifiedBy': { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; 'Client.PartnerClientKey': { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; CorrelationID: { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; CreatedDate: { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; CustomerKey: { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; DefaultApplication: { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; DefaultBusinessUnit: { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; DefaultBusinessUnitObject: { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; Delete: { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; Email: { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; ID: { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; IsAPIUser: { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; IsLocked: { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; 'LanguageLocale.LocaleCode': { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; LastSuccessfulLogin: { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; 'Locale.LocaleCode': { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; 'Locale.ObjectID': { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; 'Locale.PartnerKey': { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; ModifiedDate: { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; MustChangePassword: { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; Name: { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; NotificationEmailAddress: { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; ObjectID: { isCreateable: any; isUpdateable: any; retrieving: boolean; template: any; }; ObjectState: { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; Owner: { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; PartnerKey: { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; PartnerProperties: { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; Password: { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; Roles: { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; 'Roles.Role': { skipValidation: boolean; }; 'Roles.Role[].Client': { skipValidation: boolean; }; SsoIdentities: { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; 'SsoIdentities.SsoIdentity': { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; 'SsoIdentities.SsoIdentity[].IsActive': { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; 'SsoIdentities.SsoIdentity[].FederatedID': { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; 'TimeZone.ID': { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; 'TimeZone.Name': { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; 'TimeZone.ObjectID': { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; 'TimeZone.PartnerKey': { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; Unlock: { skipValidation: boolean; isCreateable: boolean; isUpdateable: boolean; template: boolean; }; UserID: { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; UserPermissions: { isCreateable: boolean; isUpdateable: boolean; retrieving: boolean; template: boolean; }; 'UserPermissions.PartnerKey': { isCreateable: any; isUpdateable: any; retrieving: boolean; template: boolean; }; 'UserPermissions.ID': { skipValidation: boolean; }; 'UserPermissions.ObjectID': { isCreateable: any; isUpdateable: any; retrieving: boolean; template: boolean; }; 'UserPermissions.Name': { isCreateable: any; isUpdateable: any; retrieving: boolean; template: boolean; }; 'UserPermissions.Value': { isCreateable: any; isUpdateable: any; retrieving: boolean; template: boolean; }; 'UserPermissions.Description': { isCreateable: any; isUpdateable: any; retrieving: boolean; template: boolean; }; 'UserPermissions.Delete': { isCreateable: any; isUpdateable: any; retrieving: boolean; template: boolean; }; 'UserPermissions[].PartnerKey': { isCreateable: any; isUpdateable: any; retrieving: boolean; template: boolean; }; 'UserPermissions[].ID': { skipValidation: boolean; }; 'UserPermissions[].ObjectID': { isCreateable: any; isUpdateable: any; retrieving: boolean; template: boolean; }; 'UserPermissions[].Name': { isCreateable: any; isUpdateable: any; retrieving: boolean; template: boolean; }; 'UserPermissions[].Value': { isCreateable: any; isUpdateable: any; retrieving: boolean; template: boolean; }; 'UserPermissions[].Description': { isCreateable: any; isUpdateable: any; retrieving: boolean; template: boolean; }; 'UserPermissions[].Delete': { isCreateable: any; isUpdateable: any; retrieving: boolean; template: boolean; }; c__type: { isCreateable: boolean; isUpdateable: boolean; retrieve: any; template: boolean; }; c__AssociatedBusinessUnits: { skipValidation: boolean; }; c__RoleNamesGlobal: { skipValidation: boolean; }; c__LocaleCode: { skipValidation: boolean; }; c__TimeZoneName: { skipValidation: boolean; }; c__AccountUserID: { isCreateable: boolean; isUpdateable: boolean; retrieve: any; template: boolean; }; c__IsLocked_readOnly: { isCreateable: boolean; isUpdateable: boolean; retrieve: any; template: boolean; }; }; }; } import MetadataType from './MetadataType.js'; //# sourceMappingURL=User.d.ts.map