async destroyUser(frameOptions) {
        let filename = null;
        const backupPath = await this.dbBackup.backup();

        if (backupPath) {
            const parsedFileName = path.parse(backupPath);
            filename = `${parsedFileName.name}${parsedFileName.ext}`;
        }

        return this.models.Base.transaction(async (t) => {
            frameOptions.transacting = t;

            const {PostRevisions} = require('../lib/PostRevisions');

            // null author field for users' post revisions
            const postRevisions = new PostRevisions({
                model: this.models.PostRevision
            });
            await postRevisions.removeAuthorFromRevisions(frameOptions.id, {
                transacting: frameOptions.transacting
            });

            // create a #author-slug tag and assign it to their posts
            await this.assignTagToUserPosts({
                id: frameOptions.id,
                context: frameOptions.context,
                transacting: frameOptions.transacting
            });

            // reassign posts to owner user
            await this.models.Post.reassignByAuthor({
                id: frameOptions.id,
                context: frameOptions.context,
                transacting: frameOptions.transacting
            });

            // delete user
            try {
                await this.models.ApiKey.destroy({
                    ...frameOptions,
                    require: true,
                    destroyBy: {
                        user_id: frameOptions.id
                    }
                });
            } catch (err) {
                if (!(err instanceof this.models.ApiKey.NotFoundError)) {
                    throw err;
                }
            }

            await this.models.User.destroy(Object.assign({status: 'all'}, frameOptions));

            return filename;
        });
    }
@param {Object} frameOptions
@param {string} frameOptions.id - user ID to destroy
@param {Object} frameOptions.context - frame context to perform the action
@returns