estate-fetch
v0.0.6
Published
This module helps to fetch real estate data from immobilienscout24 and flowfact.
Downloads
8
Maintainers
Readme
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
- [ ] tests
- [ ] integrate ci (github actions)
- [ ] integrate semantic-release