| 123456789101112131415161718192021222324252627282930313233 |
- import type { Db } from '../db';
- import type { Server } from '../sdam/server';
- import type { ClientSession } from '../sessions';
- import type { Callback } from '../utils';
- import { CommandCallbackOperation, type CommandOperationOptions } from './command';
- import { Aspect, defineAspects } from './operation';
- /** @public */
- export type RemoveUserOptions = CommandOperationOptions;
- /** @internal */
- export class RemoveUserOperation extends CommandCallbackOperation<boolean> {
- override options: RemoveUserOptions;
- username: string;
- constructor(db: Db, username: string, options: RemoveUserOptions) {
- super(db, options);
- this.options = options;
- this.username = username;
- }
- override executeCallback(
- server: Server,
- session: ClientSession | undefined,
- callback: Callback<boolean>
- ): void {
- super.executeCommandCallback(server, session, { dropUser: this.username }, err => {
- callback(err, err ? false : true);
- });
- }
- }
- defineAspects(RemoveUserOperation, [Aspect.WRITE_OPERATION]);
|