import type { FeedType } from '../../types';

import * as selectors from '../../redux/selectors';

const getAllFields = (state: RootState): FeedType => ({
  id: selectors.idSelector(state),
  type: selectors.typeSelector(state),
  account: selectors.accountSelector(state),
  source: selectors.sourceSelector(state),
  name: selectors.nameSelector(state),
  description: selectors.descriptionSelector(state),
  lang: selectors.langSelector(state),
  url: selectors.urlSelector(state),
  speechToTextProvider: selectors.speechToTextProviderSelector(state),
  authMethod: selectors.authMethodSelector(state),
  priorityVerification: selectors.priorityVerificationSelector(state),
  feedPriority: selectors.feedPrioritySelector(state),
  scheduleType: selectors.scheduleTypeSelector(state),
  immediateAvailability: selectors.immediateAvailabilitySelector(state),
  skipTaggingForLongClips: selectors.skipTaggingForLongClipsSelector(state),
  maxDurationForTagging: selectors.maxDurationForTaggingSelector(state),
  accessLevel: selectors.accessLevelSelector(state),
  accessAllPublishers: selectors.accessAllPublishersSelector(state),
  parseKeywordsToLabels: selectors.parseKeywordsToLabelsSelector(state),
  iabCategories: selectors.iabCategoriesSelector(state),
  accessVideoOwner: selectors.accessVideoOwnerSelector(state),
  accessPublishers: selectors.accessPublishersSelector(state),
  user: selectors.userSelector(state),
  password: selectors.passwordSelector(state),
  isUseForDownload: selectors.isUseForDownloadSelector(state),
  scheduleStatus: selectors.scheduleStatusSelector(state),
  scheduleValue: selectors.scheduleValueSelector(state),
  scheduleFrequency: selectors.scheduleFrequencySelector(state),
  defaultTimezoneEnabled: selectors.defaultTimezoneEnabledSelector(state),
  defaultTimezone: selectors.defaultTimezoneSelector(state),
  isEvergreenFeed: selectors.isEvergreenFeedSelector(state),
  isRestricted: selectors.isRestrictedSelector(state),
  keywords: selectors.keywordsSelector(state),
  maxDuration: selectors.maxDurationSelector(state),
  importPlot: selectors.importPlotSelector(state),
  videoFileType: selectors.videoFileTypeSelector(state),
  fileSelection: selectors.fileSelectionSelector(state),
  resolution: selectors.resolutionSelector(state),
  resolutionValue: selectors.resolutionValueSelector(state),
  minResolutionValue: selectors.minResolutionValueSelector(state),
  bitrate: selectors.bitrateSelector(state),
  minBitrate: selectors.minBitrateSelector(state),
  importCCFromMrssFile: selectors.importCCFromMrssFileSelector(state),
  createClip: selectors.createClipSelector(state),
  processVideoVersions: selectors.processVideoVersionsSelector(state),
  versionAttributeName: selectors.versionAttributeNameSelector(state),
  automationScript: selectors.automationScriptSelector(state),
  platformModels: selectors.platformModelsSelector(state),
  maxStories: selectors.maxStoriesSelector(state),
  videoDuration: selectors.videoDurationSelector(state),
  aspectRatio: selectors.aspectRatioSelector(state),
  fit: selectors.fitSelector(state),
  videoMaxZoom: selectors.videoMaxZoomSelector(state),
  jsRendering: selectors.jsRenderingSelector(state),
  loadFromLastDays: selectors.loadFromLastDaysSelector(state),
  discardLongClips: selectors.discardLongClipsSelector(state),
  fillLandingPage: selectors.fillLandingPageSelector(state),
  oAuthToken: selectors.oAuthTokenSelector(state),
  youtubeContentType: selectors.youtubeContentTypeSelector(state),
  youTubeChannelId: selectors.youTubeChannelIdSelector(state),
  youTubeLoadFromDate: selectors.youTubeLoadFromDateSelector(state),
  contentType: selectors.contentTypeSelector(state),
  importShortsThumbnail: selectors.importShortsThumbnailSelector(state),
});

export type AllFieldsType = ReturnType<typeof getAllFields>;

export default getAllFields;
