Skip to content
This repository has been archived by the owner on Aug 6, 2021. It is now read-only.

idrop-link/libidroplink

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

libidroplink travis status

C implementation of our API

Requirements

We rely on automake and libcurl, which can be installed on Ubuntu with the following command:

sudo apt-get install libcurl4-openssl-dev autoreconf

You don't have to do anything for curl if you are on OS X. (You might have to get Xcode and the developer tools prior to building though.) For automake you could install it via brew:

brew install autoreconf

Installation

./configure
make
make install

Development

To build the build tools invoke the following command:

autoreconf -iv

To clean all generated files which should not end up in the repo invoke this command:

git clean -f -d -x

Unit tests are available for development environments:

./configure && make test

The code style we use is basically the linux kernel indent style as described here. Please use GNU indent prior to commiting by running:

indent src/idroplink/libidroplink.h src/libidroplink.c src/vendor/cJSON.c src/vendor/cJSON.h

The settings are given by .indent.pro.

Note: for the OS X users you have to install GNU indent via brew and use this version instead (which won't be linked, so you'll probably find it in /usr/local/bin/gindent). BSD indent does not suffice.

API Implementation Progress

API v1

  • API

    • Check for version compatibility (GET /api/v1 for first version)
  • DROP

    • Initialize drop transaction (POST /users/:userId/drops)
    • Upload file to initialized drop (POST /users/:id/drops/:id)
    • List drops of a User (GET /users/:id/drops/)
    • Get details for a drop of a User (GET /users/:id/drops/:id)
    • Delete drop of a User (DELETE /users/:id/drops/:id)
  • USER

    • Create User (POST /users)
    • Lookup User (GET /users/:id)
    • Update User (PUT /users/:id)
    • Delete User (DELETE /users/:id)
    • Get User ID by email (GET /users/:email/idformail)
    • Create Token for a User (POST /users/:id/authenticate)
    • Log out (POST /users/:id/deauthenticate)

Releases

No releases published

Packages

No packages published

Languages