# TotalAPI a Componentator servisné hranice

> Skontrolujte, či je dotknutý oddiel TotalAPI a Componentator lokálne, bez toho, aby ste vykonali externé servisné hovory.

Framework: total5
Product: Total.js 5 (total5@0.0.19)
Language: sk
Content-SHA256: d185a68ab1c99efc132150ff1d026f971831d93eed3f16728214c9bcc3af08db
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: total5-installed@total5@0.0.19
Review: not-recorded

`TotalAPI(operation, data)` delegátov na `API('TAPI', operation, data)`Vstavaný vodič odošle žiadosti do regionálneho koncového bodu vybraného `CONF.$tapiurl`Používa sa konfigurovaný token ako `CONF.secret_totalapi`. `.promise()` a `.callback()` používať rovnaký API staviteľ ako ostatné vodiče. `$tapi:false`- iné operácie ako osobitný vodič `check` Lokálne neúspech s `totalapi_inactive`.

`COMPONENTATOR(name, components, removeprev=true, attrs='')` určuje verejné súborové meno, ukladá jeho URL v `REPO[name]` a zachytáva ho z Componentator len vtedy, keď súbor chýba. s `removeprev:true` staršie súbory môžu byť odstránené. udalosť `componentator` dostane názov/komponentné metadata pred vyhľadávaním. Táto funkcia sa vráti predtým, ako je dokončená práca s asyncovým súborom / stiahnutím; samotný repo URL nie je dôkazom úspechu sťahovania.

Pri lokálne dodávaných frontendových zdrojoch vyhnutie sa závislosti od dostupnosti vzdialených bundle zabezpečí servírovanie známych súborov. Pre živú integráciu TotalAPI alebo Componentator samostatne overte presnú službu, prihlasovacie údaje, správanie siete a vrátený obsah. Tieto služby sú voliteľné a nie sú závislosťami potrebnými na spustenie natívnej aplikácie Total.js.

```text config
$tapi : false
```

```js controllers/remote.js
exports.install = function() {
	ROUTE('GET /disabled-api/', async function($) {
		try { await TotalAPI('forge-fixture-no-service', {}).promise(); $.json({ unexpected: true }); }
		catch (e) { $.json({ error: String(e) }); }
	});
	ROUTE('GET /cached-componentator/', function($) {
		var components = 'forge-local-fixture';
		var relative = 'ui-' + components.makeid() + '.min.js';
		F.Fs.writeFileSync(PATH.public(relative), '/* local fixture */');
		COMPONENTATOR('fixture', components, false);
		$.json({ url: REPO.fixture, expected: '/ui-' + components.makeid() + '.min.js' });
	});
};
```
