pipes-api

module
v0.4.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 31, 2020 License: BSD-3-Clause

README

Pipes API

Backend for the Toggl Pipes project. UI can be found in toggl/pipes-ui repository.

CI

Basically this is just job scheduler with REST-API. It schedules job to do synchronization to a third party service. Pipes-api will fetch data then send them to pipes endpoints in "Toggl API".

THIS PROJECT WAS FULLY REFACTORED AT March 2020.

To see original source code use legacy branch.

Requirements

Getting Started

  • Clone the repo git@github.com:toggl/pipes-api.git
  • Copy configuration files cp -r config-sample config
  • Fill in needed oauth tokens and URL-s under config json files
  • Start the server with make run
Architecture
  • pkg - Stores all abstract business and application logic.
  • internal - Stores all infrastructure packages.

Testing

# First make testing database works. You can use provided Docker container for that:
$ make docker-services-up

# Then just run tests. You also can use Goland IDE for testing:
$ make test

# To generate mocks from source code use:
$ make mocks
  • To generate Mocks, you should have mockery installed.
  • In case there is no database installed, all database related tests will be SKIPPED.
  • All database related tests uses PIPES_API_POSTGRES_DSN environment variable to customize database connection string.

Supported Integrations

Asana

WORKS FINE

To register application use this link: https://app.asana.com/0/developer-console

GitHub

WORKS FINE

To register OAuth2 application: https://github.com/settings/developers

Toggl.Plan (ex. TeamWeek)

WORKS FINE

To register OAuth2 application: https://developers.plan.toggl.com/applications

BaseCamp 2

WORKS FINE

To register OAuth2 application: https://launchpad.37signals.com/integrations To register test BaseCamp 2 account: https://billing.37signals.com/bcx/trial/signup/

FreshBooks Classic

DOES NOT WORK Login Form for classic version is here: https://classic.freshbooks.com/ NOTE: Integration supports only Freshbook Classic. It use Freshbooks Classic API which is DEPRECATED.

Directories

Path Synopsis
cmd
toggl_api_stub
This package uses only for testing/reverse engineering purpose.
This package uses only for testing/reverse engineering purpose.
internal
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL