ynov-toulouse-b3-info-live-score-api

1.0.4 • Public • Published

Live Score API

Install

npm install ynov-toulouse-b3-info-live-score-api

Usage

Asynchronous API

Import

import { liveScoreRepositoryAsync } from 'ynov-toulouse-b3-info-live-score-api';

Count

liveScoreRepositoryAsync.count()
  .then(count => console.log(count))
  .catch(error => console.error(error));

Find all

liveScoreRepositoryAsync.findAll()
  .then(items => console.log(items))
  .catch(error => console.error(error));

Find by page

const pageIndex = 0;
const pageSize = 20;
liveScoreRepositoryAsync.findByPage(pageIndex, pageSize)
  .then(items => console.log(items))
  .catch(error => console.error(error));

Find by id

const id = 120;
liveScoreRepositoryAsync.findById(id)
  .then(item => console.log(item))
  .catch(error => console.error(error));

Create

const item = {
  date: '2017-08-03T20:45:00.000+01:00',
  homeTeamName: 'Barcelona',
  awayTeamName: 'Paris Saint-Germain',
  homeTeamScore: 6,
  awayTeamScore: 1,
};
liveScoreRepositoryAsync.create(item)
  .then(items => console.log(items))
  .catch(error => console.error(error));

Update

const id = 121;
const partialItem = {
  homeTeamName: 'FCB',
  awayTeamName: 'PSG',
};
liveScoreRepositoryAsync.update(id, partialItem)
  .then(items => console.log(items))
  .catch(error => console.error(error));

Replace

const id = 121;
const item = {
  date: '2017-08-03T20:45:00.000+01:00',
  homeTeamName: 'Barcelona',
  awayTeamName: 'Paris Saint-Germain',
  homeTeamScore: 6,
  awayTeamScore: 1,
};
liveScoreRepositoryAsync.replace(id, item)
  .then(items => console.log(items))
  .catch(error => console.error(error));

Remove

const id = 121;
liveScoreRepositoryAsync.remove(id)
  .then(() => console.log('removed'))
  .catch(error => console.error(error));

Synchronous API

import { liveScoreRepositorySync } from 'ynov-toulouse-b3-info-live-score-api';

Count

try {
  const count = liveScoreRepositorySync.count();
  console.log(count);
} catch (error) {
  console.error(error);
}

Find all

try {
  const items = liveScoreRepositorySync.findAll();
  console.log(items);
} catch (error) {
  console.error(error);
}

Find by page

const pageIndex = 0;
const pageSize = 20;
try {
  const items = liveScoreRepositorySync.findByPage(pageIndex, pageSize);
  console.log(items);
} catch (error) {
  console.error(error);
}

Find by id

const id = 120;
try {
  const item = liveScoreRepositorySync.findById(id);
  console.log(item);
} catch (error) {
  console.error(error);
}

Create

const item = {
  date: '2017-08-03T20:45:00.000+01:00',
  homeTeamName: 'Barcelona',
  awayTeamName: 'Paris Saint-Germain',
  homeTeamScore: 6,
  awayTeamScore: 1,
};
try {
  const createdItem = liveScoreRepositorySync.create(item);
  console.log(createdItem);
} catch (error) {
  console.error(error);
}

Update

const id = 121;
const partialItem = {
  homeTeamName: 'FCB',
  awayTeamName: 'PSG',
};
try {
  const updatedItem = liveScoreRepositorySync.update(id, partialItem);
  console.log(updatedItem);
} catch (error) {
  console.error(error);
}

Replace

const id = 121;
const item = {
  date: '2017-08-03T20:45:00.000+01:00',
  homeTeamName: 'Barcelona',
  awayTeamName: 'Paris Saint-Germain',
  homeTeamScore: 6,
  awayTeamScore: 1,
};
try {
  const updatedItem = liveScoreRepositorySync.replace(id, item)
  console.log(updatedItem);
} catch (error) {
  console.error(error);
}

Remove

const id = 121;
try {
  liveScoreRepositorySync.remove(id)
  console.log('removed');
} catch (error) {
  console.error(error);
}

Commands

Run

npm run start

Run development

npm run start/dev

Test

npm run test

Test development

npm run test:watch

Description Request method Request route Request query params Request route params Request body Response nominal body Response nominal headers Response nominal status Response error body Response error status
Fetch a page of items GET /live-scores pageIndex: natural integer (0, 1, 2, ...)
pageSize: positive integer (1, 2, 3, ...)
[{ id: 1, date: '2017-08-03T20:45:00.000+01:00', homeTeamName: 'FCB', awayTeamName: 'PSG', homeTeamScore: 6, awayTeamScore: 1 }] x-total-count: items total count in database: natural integer (0, 1, 2, ...) 200 { status: 400, code: 'BAD_PARAMETER_FORMAT', detail: 'pageIndex should be a natural integer' }
{ status: 400, code: 'BAD_PARAMETER_FORMAT', detail: 'pageSize should be a positive integer' }
400
Fetch an item GET /live-scores/:id id: positive integer (1, 2, 3, ...) { id: 1, date: '2017-08-03T20:45:00.000+01:00', homeTeamName: 'FCB', awayTeamName: 'PSG', homeTeamScore: 6, awayTeamScore: 1 } 200 { status: 400, code: 'BAD_PARAMETER_FORMAT', detail: 'id should be a positive integer' }
{ status: 404, code: 'RESOURCE_ID_NOT_FOUND', detail: 'no entity found with given id' }
400
404
Create an item POST /live-scores { date: '2017-08-03T20:45:00.000+01:00', homeTeamName: 'FCB', awayTeamName: 'PSG', homeTeamScore: 6, awayTeamScore: 1 } { id: 1, date: '2017-08-03T20:45:00.000+01:00', homeTeamName: 'FCB', awayTeamName: 'PSG', homeTeamScore: 6, awayTeamScore: 1 } 201 { status: 400, code: 'BAD_RESOURCE_FORMAT', detail: '[attribute] should be a [number/integer/string/ISO date/...]' } 400
Patch an item (partial update) PATCH /live-scores/:id id: positive integer (1, 2, 3, ...) { date: '2017-08-03T20:45:00.000+01:00', homeTeamName: 'FCB', awayTeamName: 'PSG', homeTeamScore: 6, awayTeamScore: 1 } { id: 1, date: '2017-08-03T20:45:00.000+01:00', homeTeamName: 'FCB', awayTeamName: 'PSG', homeTeamScore: 6, awayTeamScore: 1 } 200 { status: 400, code: 'BAD_PARAMETER_FORMAT', detail: 'id should be a positive integer' }
{ status: 404, code: 'RESOURCE_ID_NOT_FOUND', detail: 'no entity found with given id' }
{ status: 400, code: 'BAD_RESOURCE_FORMAT', detail: '[attribute] should be a [number/integer/string/ISO date/...]' }
400
404
Replace an item (full update) PUT /live-scores/:id id: positive integer (1, 2, 3, ...) { date: '2017-08-03T20:45:00.000+01:00', homeTeamName: 'FCB', awayTeamName: 'PSG', homeTeamScore: 6, awayTeamScore: 1 } { id: 1, date: '2017-08-03T20:45:00.000+01:00', homeTeamName: 'FCB', awayTeamName: 'PSG', homeTeamScore: 6, awayTeamScore: 1 } 200 { status: 400, code: 'BAD_PARAMETER_FORMAT', detail: 'id should be a positive integer' }
{ status: 404, code: 'RESOURCE_ID_NOT_FOUND', detail: 'no entity found with given id' }
{ status: 400, code: 'BAD_RESOURCE_FORMAT', detail: '[attribute] should be a [number/integer/string/ISO date/...]' }
400
404
Remove an item DELETE /live-scores/:id id: positive integer (1, 2, 3, ...) { id: 1, date: '2017-08-03T20:45:00.000+01:00', homeTeamName: 'FCB', awayTeamName: 'PSG', homeTeamScore: 6, awayTeamScore: 1 } 204 { status: 400, code: 'BAD_PARAMETER_FORMAT', detail: 'id should be a positive integer' }
{ status: 404, code: 'RESOURCE_ID_NOT_FOUND', detail: 'no entity found with given id' }
400
404

Readme

Keywords

none

Package Sidebar

Install

npm i ynov-toulouse-b3-info-live-score-api

Weekly Downloads

0

Version

1.0.4

License

ISC

Unpacked Size

119 kB

Total Files

15

Last publish

Collaborators

  • alexandre_escudero