import * as plugins from '../../plugins.ts';
import type { AdminHandler } from '../handlers/admin.handler.ts';
import * as interfaces from '../../../ts_interfaces/index.ts';

export async function requireValidIdentity<T extends { identity?: interfaces.data.IIdentity }>(
  adminHandler: AdminHandler,
  dataArg: T,
): Promise<interfaces.data.IIdentity> {
  return await adminHandler.getVerifiedIdentity(dataArg.identity);
}

export async function requireAdminIdentity<T extends { identity?: interfaces.data.IIdentity }>(
  adminHandler: AdminHandler,
  dataArg: T,
): Promise<interfaces.data.IIdentity> {
  return await adminHandler.getVerifiedAdminIdentity(dataArg.identity);
}
