Skip to content

ThalosBots/vinted-rs

Repository files navigation

Vinted-rs: A Vinted API wrapper in Rust

githubcrates-iodocs-rs

Installation

Via cargo you can add the library to your project's Cargo.toml

[dependencies]
vinted-rs = { version = "0.10.0", 
              #features = ["advanced_filters", "redis"] 
              }

Features

Feature Description Example
Advanced Filters Uses the data pulled by the scrapping module, which is stored in the diesel migrations folder.
Redis Allows recovered results to be cached using a Redis instance

Advanced filters

This feature requires setting up a Postgres Database

Uses the data pulled by the scrapping module, which is stored in the diesel migrations folder.

Environment set-up

  1. Copy the .env.example

    cp .env.example .env
  2. Modify the variables to your liking

Database set-up

Advanced filtering features must require this setup before running.

  1. ⚠️ diesel-cli installation may fail if you do not have libpq library installed. To install libpq, just install PostgreSQL package on your machine.

    • In Arch based is only necessary to install this package.

      sudo pacman -S postgresql-libs
    • In Debian based distributions is only necessary to install this package.

      sudo apt install libpq-dev
  2. Install diesel-cli in order to run the migrations in PostgreSQL database

    cargo install diesel_cli --features=postgres --no-default-features

Available interactions (See Makefile)

  1. Create a migration

    mkdir -p migrations #
    diesel migration generate my_migration

    Program after that up.sql and down.sql scripts.

  2. Run a Docker container with PostgreSQL

    make db
  3. Run migrations

    make diesel
  4. Stop DB

    make stop

Testing set-up

This step requires completing the DB setup

cargo test

Redis

This feature allows recovered results to be cached using a Redis instance.

A development instance can be created using:

make cache