import type { Selectable } from "kysely";
import type { Sessions, Users } from "../datastore/db";

export interface IMemberSessionRepository {
  FindMemberSession: (
    sessionID: string,
    contactID: string,
  ) => Promise<{
    userRecord: Selectable<Users>;
    sessionRecord: Selectable<Sessions>;
    externalAccountTypeID: string | null;
    memberRecordID: string;
  } | null>;
}

export interface IMemberSessionServices {
  GetMemberBySession: () => Promise<{
    userRecord: Selectable<Users>;
    sessionRecord: Selectable<Sessions>;
    accountID: string;
    contactID: string;
    externalAccountTypeID: string | null;
    memberRecordID: string;
  } | null>;
}
