Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@timetac/js-client-library

Package Overview
Dependencies
Maintainers
0
Versions
214
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@timetac/js-client-library

TimeTac API JS client library

  • 2.36.1
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
2.3K
decreased by-56.66%
Maintainers
0
Weekly downloads
 
Created
Source

TimeTac Client Library

This library is a thin wrapper facilitating requests to the TimeTac REST API. For more information please visit the API documentation.

Installation

Use the package manager yarn or npm to install TimeTac Client Library.

Using yarn:

yarn add @timetac/js-client-library

Using npm:

npm install @timetac/js-client-library

Obtaining Access Credentials

Existing customers can activate API access or request access to a sandbox environment by contacting support@timetac.com. This process usually takes less than two business days and is currently free of charge.

If you are not a customer yet, you may set up a free trial and contact support@timetac.com to obtain a client_id and client_secret for your personal demo account.

Finally, if you just want to run a few requests, you may use the public API playground sandbox account. This account is reset to its initial state in regular intervals. Access credentials are available in the react playground's README.

Usage

import Api from "@timetac/js-client-library"
//Only account name is required.
const environment = {
  host: 'go.timetac.com',
  https?: boolean;
  account: <ACCOUNT_NAME>,
  version: 3,
  account?: string;
  accessToken?: string;
  refreshToken?: string;
  clientId?: string;
  clientSecret?: string;
  //Callback, called on refresh of the token. object of access token and refresh {accessToken, refreshTOken}  token are passed as parameter
  onTokenRefreshedCallback: (tokens) => console.log(`${tokens.accessToken} ${tokens.refreshToken}`),
  //Callback called when refresh of the token fails.
  onTokenRefreshFailed: () => { console.log('Intended action, such as logout')},
  //If true, it tries to refresh token on failed request. Default true.
  shouldAutoRefreshToken?: boolean;
  timeout?: number;
}

const authCredentials = {
  grant_type: 'password',
  client_id: <CLIENT_ID>,
  client_secret: <CLIENT_SECRET>,
  username: <USER_NAME>,
  password: <PASSWORD>
}

const api = new Api(environment);

async() => {
  await api.authentication.login(authCredentials);

  api.timeTrackings.read()
    .then({ Results }} => {
      console.log(Results)
    });

  api.users.readMe().then({ Results } => {
    console.log(Results);
  });

  api.absenceDays.read(
    new RequestParamsBuilder<AbsenceDay>()
    .eq('user_id', 1)
    .gteq('date', '2020-01-01')
    .build()
  );

  api.absenceDay.read({
    user_id: '1',
    date: '2020-01-01',
    _op__date: 'gteq'
  })
}

List of supported endpoints

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

The shortest, simplest way of running the test suite is the following command:

yarn test

License

Apache License 2.0

Troubleshooting

Cross-Origin Resource Sharing (CORS)

When experiencing issues with cross-origin resource sharing (CORS), you will have to configure a proxy server for development. This can be done, for example, with http-proxy-middleware. An example configuration for a React project can be found in the react playground.

Keywords

FAQs

Package last updated on 01 Oct 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc