Skip to content

ElixirTeSS/tess-json-api-client

Repository files navigation

tess_json_api

TessJsonApi - JavaScript client for tess_json_api An implementation of the API for ELIXIR's TeSS, following JSON-API (http://jsonapi.org/) standards. This SDK is automatically generated by the OpenAPI Generator project:

  • API version: 1.4.0
  • Package version: 1.4.0
  • Generator version: 7.9.0
  • Build package: org.openapitools.codegen.languages.JavascriptClientCodegen

Installation

npm

To publish the library as a npm, please follow the procedure in "Publishing npm packages".

Then install it via:

npm install tess_json_api --save

Finally, you need to build the module:

npm run build
Local development

To use the library locally without publishing to a remote npm registry, first install the dependencies by changing into the directory containing package.json (and this README). Let's call this JAVASCRIPT_CLIENT_DIR. Then run:

npm install

Next, link it globally in npm with the following, also from JAVASCRIPT_CLIENT_DIR:

npm link

To use the link you just defined in your project, switch to the directory you want to use your tess_json_api from, and run:

npm link /path/to/<JAVASCRIPT_CLIENT_DIR>

Finally, you need to build the module:

npm run build

git

If the library is hosted at a git repository, e.g.https://github.com/GIT_USER_ID/GIT_REPO_ID then install it via:

    npm install GIT_USER_ID/GIT_REPO_ID --save

For browser

The library also works in the browser environment via npm and browserify. After following the above steps with Node.js and installing browserify with npm install -g browserify, perform the following (assuming main.js is your entry file):

browserify main.js > bundle.js

Then include bundle.js in the HTML pages.

Webpack Configuration

Using Webpack you may encounter the following error: "Module not found: Error: Cannot resolve module", most certainly you should disable AMD loader. Add/merge the following section to your webpack config:

module: {
  rules: [
    {
      parser: {
        amd: false
      }
    }
  ]
}

Getting Started

Please follow the installation instruction and execute the following JS code:

var TessJsonApi = require('tess_json_api');


var api = new TessJsonApi.CollectionsApi()
var opts = {
  'q': "q_example", // {String} Search keywords.
  'pageNumber': 1, // {Number} The page of the collection index to view.
  'pageSize': 30, // {Number} The number of results to return per page.
  'sort': "sort_example", // {String} Sort order:  * default - sort by date (for Events), sort by number of resources (for Content Providers) otherwise sort by title (default).  * new - Sort by when the entry was created.  * mod - Sort by when the entry was last modified.  * rel - Sort by search query relevance.  * early - Sort by date, earliest to latest (Events only).  * late - Sort by date, latest to earliest (Events only). 
  'keywords': ["null"] // {[String]} Filter by keywords.
};
var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
api.collectionsGet(opts, callback);

Documentation for API Endpoints

All URIs are relative to https://tess.elixir-europe.org

Class Method HTTP request Description
TessJsonApi.CollectionsApi collectionsGet GET /collections
TessJsonApi.CollectionsApi collectionsSlugGet GET /collections/{slug}
TessJsonApi.ContentProvidersApi contentProvidersGet GET /content_providers
TessJsonApi.ContentProvidersApi contentProvidersSlugGet GET /content_providers/{slug}
TessJsonApi.EventsApi eventsGet GET /events
TessJsonApi.EventsApi eventsSlugGet GET /events/{slug}
TessJsonApi.MaterialsApi materialsGet GET /materials
TessJsonApi.MaterialsApi materialsSlugGet GET /materials/{slug}
TessJsonApi.NodesApi nodesGet GET /nodes
TessJsonApi.NodesApi nodesSlugGet GET /nodes/{slug}
TessJsonApi.UsersApi usersGet GET /users
TessJsonApi.UsersApi usersSlugGet GET /users/{slug}
TessJsonApi.WorkflowsApi workflowsGet GET /workflows
TessJsonApi.WorkflowsApi workflowsSlugGet GET /workflows/{slug}

Documentation for Models

Documentation for Authorization

Endpoints do not require authorization.

About

A client for TeSS' JSON-API conformant API

Resources

Stars

Watchers

Forks

Packages

No packages published