0.0.6 • Published 5 years ago

estate-fetch v0.0.6

Weekly downloads
1
License
MIT
Repository
-
Last release
5 years ago

estate-fetch

This module helps to fetch real estate data from immobilienscout24 and/or flowfact.

Usage

immobilienscout24

To use this module you need to pre-generate credentials for your is24 account.

const { IS24, utils: { deepRenameProps } } = require('estate-fetch');

const runIs24 = async () => {
  const is24 = new IS24({
    oauth_consumer_key: '<oauth_consumer_key>',
    consumer_secret: '<consumer_secret>',
    oauth_token: '<oauth_token>',
    oauth_token_secret: '<oauth_token_secret>',
  });

  const estates = await is24.getEstates();
  const [{ id }] = estates;

  const estate = await is24.getEstate(id);
  const sanitizedEstate = deepRenameProps(estate); // helps to get rid of weird key names in is24 data

  // Fetch (resolved) attachments
  const attachmentsByUrl = await is24.getAttachmentsByUrl(estate.attachmentUrl);
  const resolvedAttachmentsByUrl = await is24.getResolvedAttachmentsByUrl(estate.attachmentUrl);
  const attachmentsById = await is24.getAttachmentsById(id);
  const resolvedAttachmentsById = await is24.getResolvedAttachmentsById(id);
};

runIs24().then(console.log).catch(console.error);

flowfact

To use this module you need to use credentials for your flowfact account.

const { FlowFact, utils: { processFlowFactEstate } } = require('estate-fetch');

const runFlowFact = async () => {
  const flowFact = new FlowFact({
    user: '<user>',
    customer: '<customer>',
    password: '<password>',
  });

  const estates = await flowFact.getEstates();
  const [{ id }] = estates;

  const estate = await flowFact.getEstate(id);
  const processedEstate = processEstate(estate);

  // Fetch (resolved) images
  const pictures = await flowFact.getPictures(id);
  const resolvedPictures = await flowFact.getResolvedPictures(id);
};

runFlowFact().then(console.log).catch(console.error);

CLI

A small cli exists to fetch the estates list using npx.

USER="<user>" CUSTOMER="<customer>" PASSWORD="<password>" npx estate-fetch flowfact
# or
OAUTH_CONSUMER_KEY="<oauth_consumer_key>" CONSUMER_SECRET="<consumer_secret>" OAUTH_TOKEN="<oauth_token>" OAUTH_TOKEN_SECRET="<oauth_token_secret>" npx estate-fetch is24

TODO