growi-interaction-processor.ts 635 B

123456789101112131415161718192021
  1. import type { AuthorizeResult } from '@slack/oauth';
  2. import type { InteractionPayloadAccessor } from '../utils/interaction-payload-accessor';
  3. export interface InteractionHandledResult<V> {
  4. result?: V;
  5. isTerminated: boolean;
  6. }
  7. export interface GrowiInteractionProcessor<V> {
  8. shouldHandleInteraction(
  9. interactionPayloadAccessor: InteractionPayloadAccessor,
  10. ): boolean;
  11. processInteraction(
  12. authorizeResult: AuthorizeResult,
  13. // biome-ignore lint/suspicious/noExplicitAny: ignore
  14. interactionPayload: any,
  15. interactionPayloadAccessor: InteractionPayloadAccessor,
  16. ): Promise<InteractionHandledResult<V>>;
  17. }