import { ServerClient } from '@reuters-graphics/server-client';
import type { Client } from '@reuters-graphics/server-client';
const config: Client.Config = {
username: '...',
password: '...',
apiKey: '...',
};
const client = new ServerClient(config);
... or to initialise a client to work with an existing graphic:
const config: Client.Config = {
username: '...',
password: '...',
apiKey: '...',
graphic: 'XXXXXXXX-XXXX...', // Existing graphic UUID
};
const client = new ServerClient(config);
client.pack
import type { Graphic, RNGS } from '@reuters-graphics/server-client';
const metadata: Graphic.GraphicMetadata = {
title: '...',
description: '...',
language: 'en' as RNGS.Language,
byline: 'Jane Doe, John Doe',
contactEmail: 'jane.doe@thomsonreuters.com',
desk: 'london' as Graphic.Desk,
rootSlug: 'HEALTH-CORONAVIRUS',
wildSlug: 'MAP',
};
await client.createGraphic(metadata);
import type { Graphic, RNGS } from '@reuters-graphics/server-client';
const metadata: Graphic.GraphicMetadata = {
title: '...',
description: '...',
language: 'en' as RNGS.Language,
byline: 'Jane Doe, John Doe',
contactEmail: 'jane.doe@thomsonreuters.com',
desk: 'london' as Graphic.Desk,
rootSlug: 'HEALTH-CORONAVIRUS',
wildSlug: 'MAP',
};
await client.updateGraphic(metadata);
import type { Publishing } from '@reuters-graphics/server-client';
// Publish all editions in the graphic ...
await client.publishGraphic();
// ... or publish only those editions made from particular archives
await client.publishGraphic(['public-de.zip', 'media-de.zip']);
// ... or pass additional publishing locations and revision type
const publishToMedia: Publishing.PublishToMedia = true; // default false
const publishToLynx: Publishing.PublishToLynx = false; // default false
const revisionType: Publishing.PublishRevisionType = 'Refresh'; // default null, which will ask a user for revision type
await client.publishGraphic([], publishToMedia, publishToLynx, revisionType);
// ... or you can specify specific editions by name to publish to Media and Lynx
await client.publishGraphic([], ['media-interactive'], ['interactive'], revisionType);
// ... or you can pass arrays of archive file names and editions to target very specific editions
await client.publishGraphic(
[],
[['media-en-page.zip', 'media-interactive'], ['media-en-page.zip', 'PNG']],
[['public.zip', 'interactive']],
revisionType
);
import type { Edition, RNGS } from '@reuters-graphics/server-client';
const editionMetadata: Edition.EditionMetadata = {
language: 'en' as RNGS.Language,
title: '...',
description: '...',
embed: {
declaration: '<div id="embed"></div>',
dependencies: '<script></script>',
},
};
const fileBuffer = fs.readFileSync('public.zip');
const editions = await client.createEditions('public.zip', fileBuffer, editionMetadata);
editions['public.zip']
// {
// interactive: {
// id: '...',
// url: 'https://...'
// }
// }
import type { Edition, RNGS } from '@reuters-graphics/server-client';
const editionMetadata: Edition.EditionMetadata = {
language: 'en' as RNGS.Language,
title: '...',
description: '...',
embed: {
declaration: '<div id="embed"></div>',
dependencies: '<script></script>',
},
};
const fileBuffer = fs.readFileSync('public.zip');
const editions = await client.updateEditions('public.zip', fileBuffer, editionMetadata);
editions['public.zip']
// {
// interactive: {
// id: '...',
// url: 'https://...'
// }
// }
Generated using TypeDoc
RNGS graphics server client.