Authorization types

Adapter

interface Adapter {
  isEmailAdmins: (email: string) => Promise<boolean>
}

export default Adapter
ts

Module

import type Adapter from './adapter.d'

declare module '@genoacms/adapter-*/authorization' {
  import type Adapter from './adapter.d'

  const isEmailAdmins: Adapter.isEmailAdmins

  export {
    isEmailAdmins
  }
}

type AuthorizationProvider<Extension extends object = object> = Extension & {
  name: string
  adapter: Promise<typeof Adapter>
}

export type {
  Adapter,
  AuthorizationProvider
}
ts