TypeScript SDK for Jellyfin
Go to file
2021-09-19 03:03:52 -04:00
.github Add dependabot and code quality CI 2021-09-19 03:03:52 -04:00
docs Update documentation 2021-09-18 23:37:08 -04:00
scripts Fix openapi schema 2021-08-30 00:36:18 -04:00
src Update documentation comments 2021-09-19 01:54:55 -04:00
.eslintignore Initial commit 2021-08-29 01:00:52 -04:00
.eslintrc.js Update eslint rules 2021-09-17 11:00:46 -04:00
.gitattributes Initial commit 2021-08-29 01:00:52 -04:00
.gitignore Add test coverage 2021-09-16 16:27:30 -04:00
.npmignore Add src directory to npmignore due to size 2021-09-19 00:45:02 -04:00
jest.config.js Add test coverage 2021-09-16 16:27:30 -04:00
LICENSE Update license 2021-09-14 01:10:15 -04:00
openapi.json Update openapi spec to 10.7.7 2021-09-16 00:33:29 -04:00
openapitools.json Initial commit 2021-08-29 01:00:52 -04:00
package-lock.json 0.1.2 2021-09-19 01:13:15 -04:00
package.json 0.1.2 2021-09-19 01:13:15 -04:00
README.md Add authenticated request example 2021-09-16 17:41:17 -04:00
tsconfig.json Remove models entry point for docs 2021-09-16 11:36:56 -04:00

jellyfin-sdk-typescript

A TypeScript SDK for Jellyfin.

Warning: This project is under active development and is not ready for production use. API changes will occur.

Usage

// Create a new instance of the SDK
const jellyfin = new Jellyfin({
    clientInfo: {
        name: 'My Client Application',
        version: '1.0.0'
    },
    deviceInfo: {
        name: 'Device Name',
        id: 'unique-device-id'
    }
});
const api = jellyfin.createApi('https://demo.jellyfin.org/stable');

// Each API endpoint is exposed via a getter on the SDK instance using
// a shared Configuration and Axios instance. For example the /System APIs
// are available as api.systemApi.

// Fetch the public system info
const info = await api.systemApi.getPublicSystemInfo();
console.log('Info =>', info.data);

// Fetch the list of public users
const users = await api.userApi.getPublicUsers();
console.log('Users =>', users.data);

// A helper method for authentication has been added to the SDK because
// the default method exposed in the generated Axios client is rather
// cumbersome to use.
const auth = await api.authenticateUserByName({ Username: 'demo', Pw: '' });
console.log('Auth =>', auth.data);

// Authentication state is stored internally in the Api class, so now
// requests that require authentication can be made normally
const libraries = await api.libraryApi.getMediaFolders();
console.log('Libraries =>', libraries.data);