import {
  createAction,
  getAsyncConstantCreator,
} from '@bcs/sdk/lib/sdk-core/persistence';

import { MODULE_NAME } from './constants';
import { IBankSignerModuleActions, ISuffixesOptions } from './types';

export default (opts: ISuffixesOptions): IBankSignerModuleActions => {
  const createConst = getAsyncConstantCreator(MODULE_NAME, opts.actionSuffixes);

  const getBankSignersConst = createConst('getBankSigners');
  const getBankSignersAction = createAction(getBankSignersConst.init);

  const postBankSignersConst = createConst('getBankSigners');
  const postBankSignersAction = createAction(getBankSignersConst.init);

  return {
    getBankSignersConst,
    postBankSignersConst,
    getBankSignersAction,
    postBankSignersAction,
  };
};
