UNPKG

@umbraco/headless-client

Version:
143 lines 11.5 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; Object.defineProperty(exports, "__esModule", { value: true }); exports.MediaDeliveryClient = void 0; var Endpoints_1 = require("../../Endpoints"); /** * MediaDeliveryClient is used to access the Media part of the Content Delivery API. * @public * * @example * The {@link MediaDeliveryClient} must be accessed through {@link Client}. * * ```typescript * import { Client } from '@umbraco/headless-client' * * const client = new Client({ * projectAlias: '<your-project-alias>', * apiKey: '<your-api-key>', * language: '<iso-code>', * }) * * const mediaClient = client.delivery.media * ``` */ var MediaDeliveryClient = /** @class */ (function () { /** @internal */ function MediaDeliveryClient(client) { var _this = this; this.client = client; this.makeRequest = function (endpoint, data) { return __awaiter(_this, void 0, void 0, function () { var result; return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, this.client.makeRequest(endpoint, data)]; case 1: result = _a.sent(); return [2 /*return*/, result]; } }); }); }; } /** * Fetch all Media at the root. * * @returns a `Promise` that resolves to an array of {@link Media}. */ MediaDeliveryClient.prototype.root = function () { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { return [2 /*return*/, this.makeRequest(Endpoints_1.Endpoints.delivery.media.root())]; }); }); }; /** * Fetch a single Media item by its id. * @param id - GUID id of the Media item. * @returns a `Promise` that resolves to a {@link Media} if found, otherwise `undefined`. */ MediaDeliveryClient.prototype.byId = function (id) { return __awaiter(this, void 0, void 0, function () { var err_1; return __generator(this, function (_a) { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); return [4 /*yield*/, this.makeRequest(Endpoints_1.Endpoints.delivery.media.byId(id))]; case 1: return [2 /*return*/, _a.sent()]; case 2: err_1 = _a.sent(); if (err_1.response && err_1.response.status === 404) { return [2 /*return*/, undefined]; } throw err_1; case 3: return [2 /*return*/]; } }); }); }; /** * Fetch children for a Media item. * @param id - GUID id of the Media item. * @param options - Request options. See {@link MediaDeliveryChildrenOptions}. * @returns a `Promise` that resolves to a {@link PagedResponse} of {@link Media} if found, otherwise `undefined`. */ MediaDeliveryClient.prototype.children = function (id, options) { return __awaiter(this, void 0, void 0, function () { var err_2; return __generator(this, function (_a) { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); return [4 /*yield*/, this.makeRequest(Endpoints_1.Endpoints.delivery.media.children(id, options))]; case 1: return [2 /*return*/, _a.sent()]; case 2: err_2 = _a.sent(); if (err_2.response && err_2.response.status === 404) { return [2 /*return*/, undefined]; } throw err_2; case 3: return [2 /*return*/]; } }); }); }; return MediaDeliveryClient; }()); exports.MediaDeliveryClient = MediaDeliveryClient; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVkaWFEZWxpdmVyeUNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9DbGllbnRzL0RlbGl2ZXJ5L01lZGlhRGVsaXZlcnlDbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsNkNBQTJDO0FBSTNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFDSDtJQUNFLGdCQUFnQjtJQUNoQiw2QkFBOEIsTUFBYztRQUE1QyxpQkFBZ0Q7UUFBbEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUUzQixnQkFBVyxHQUFHLFVBQVUsUUFBa0IsRUFBRSxJQUFVOzs7OzRCQUN0RCxxQkFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBSSxRQUFRLEVBQUUsSUFBSSxDQUFDLEVBQUE7O3dCQUF6RCxNQUFNLEdBQUcsU0FBZ0Q7d0JBQy9ELHNCQUFPLE1BQU0sRUFBQTs7O2FBQ2QsQ0FBQTtJQUw4QyxDQUFDO0lBT2hEOzs7O09BSUc7SUFDRyxrQ0FBSSxHQUFWOzs7Z0JBQ0Usc0JBQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFLLENBQUMsRUFBQTs7O0tBQzVEO0lBRUQ7Ozs7TUFJRTtJQUNJLGtDQUFJLEdBQVYsVUFBNkIsRUFBVTs7Ozs7Ozt3QkFFNUIscUJBQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUE7NEJBQW5FLHNCQUFPLFNBQTRELEVBQUE7Ozt3QkFFbkUsSUFBSSxLQUFHLENBQUMsUUFBUSxJQUFJLEtBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTs0QkFDL0Msc0JBQU8sU0FBUyxFQUFBO3lCQUNqQjt3QkFDRCxNQUFNLEtBQUcsQ0FBQTs7Ozs7S0FFWjtJQUVEOzs7OztPQUtHO0lBQ0csc0NBQVEsR0FBZCxVQUFpQyxFQUFVLEVBQUUsT0FBc0M7Ozs7Ozs7d0JBRXhFLHFCQUFNLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBSSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUMsRUFBQTs0QkFBaEYsc0JBQU8sU0FBeUUsRUFBQTs7O3dCQUVoRixJQUFJLEtBQUcsQ0FBQyxRQUFRLElBQUksS0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFOzRCQUMvQyxzQkFBTyxTQUFTLEVBQUE7eUJBQ2pCO3dCQUNELE1BQU0sS0FBRyxDQUFBOzs7OztLQUVaO0lBQ0gsMEJBQUM7QUFBRCxDQUFDLEFBbERELElBa0RDO0FBbERZLGtEQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsaWVudCB9IGZyb20gJy4uLy4uL0NsaWVudCdcbmltcG9ydCB7IEVuZHBvaW50IH0gZnJvbSAnLi4vLi4vRW5kcG9pbnQnXG5pbXBvcnQgeyBFbmRwb2ludHMgfSBmcm9tICcuLi8uLi9FbmRwb2ludHMnXG5pbXBvcnQgeyBNZWRpYURlbGl2ZXJ5Q2hpbGRyZW5PcHRpb25zIH0gZnJvbSAnLi4vLi4vUmVxdWVzdE9wdGlvbnMvaW5kZXgnXG5pbXBvcnQgeyBNZWRpYSB9IGZyb20gJy4uLy4uL1Jlc3BvbnNlcy9NZWRpYSdcblxuLyoqXG4gKiBNZWRpYURlbGl2ZXJ5Q2xpZW50IGlzIHVzZWQgdG8gYWNjZXNzIHRoZSBNZWRpYSBwYXJ0IG9mIHRoZSBDb250ZW50IERlbGl2ZXJ5IEFQSS5cbiAqIEBwdWJsaWNcbiAqXG4gKiBAZXhhbXBsZVxuICogVGhlIHtAbGluayBNZWRpYURlbGl2ZXJ5Q2xpZW50fSBtdXN0IGJlIGFjY2Vzc2VkIHRocm91Z2gge0BsaW5rIENsaWVudH0uXG4gKlxuICogYGBgdHlwZXNjcmlwdFxuICogaW1wb3J0IHsgQ2xpZW50IH0gZnJvbSAnQHVtYnJhY28vaGVhZGxlc3MtY2xpZW50J1xuICpcbiAqIGNvbnN0IGNsaWVudCA9IG5ldyBDbGllbnQoe1xuICogIHByb2plY3RBbGlhczogJzx5b3VyLXByb2plY3QtYWxpYXM+JyxcbiAqICBhcGlLZXk6ICc8eW91ci1hcGkta2V5PicsXG4gKiAgbGFuZ3VhZ2U6ICc8aXNvLWNvZGU+JyxcbiAqIH0pXG4gKlxuICogY29uc3QgbWVkaWFDbGllbnQgPSBjbGllbnQuZGVsaXZlcnkubWVkaWFcbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgTWVkaWFEZWxpdmVyeUNsaWVudCB7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgY29uc3RydWN0b3IgKHByaXZhdGUgcmVhZG9ubHkgY2xpZW50OiBDbGllbnQpIHt9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBtYWtlUmVxdWVzdCA9IGFzeW5jIDxSPihlbmRwb2ludDogRW5kcG9pbnQsIGRhdGE/OiBhbnkpID0+IHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmNsaWVudC5tYWtlUmVxdWVzdDxSPihlbmRwb2ludCwgZGF0YSlcbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggYWxsIE1lZGlhIGF0IHRoZSByb290LlxuICAgKlxuICAgKiBAcmV0dXJucyBhIGBQcm9taXNlYCB0aGF0IHJlc29sdmVzIHRvIGFuIGFycmF5IG9mIHtAbGluayBNZWRpYX0uXG4gICAqL1xuICBhc3luYyByb290PFQgZXh0ZW5kcyBNZWRpYT4gKCkge1xuICAgIHJldHVybiB0aGlzLm1ha2VSZXF1ZXN0KEVuZHBvaW50cy5kZWxpdmVyeS5tZWRpYS5yb290PFQ+KCkpXG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggYSBzaW5nbGUgTWVkaWEgaXRlbSBieSBpdHMgaWQuXG4gICAqIEBwYXJhbSBpZCAtIEdVSUQgaWQgb2YgdGhlIE1lZGlhIGl0ZW0uXG4gICAqIEByZXR1cm5zIGEgYFByb21pc2VgIHRoYXQgcmVzb2x2ZXMgdG8gYSB7QGxpbmsgTWVkaWF9IGlmIGZvdW5kLCBvdGhlcndpc2UgYHVuZGVmaW5lZGAuXG4gICovXG4gIGFzeW5jIGJ5SWQ8VCBleHRlbmRzIE1lZGlhPiAoaWQ6IHN0cmluZykge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5tYWtlUmVxdWVzdChFbmRwb2ludHMuZGVsaXZlcnkubWVkaWEuYnlJZDxUPihpZCkpXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBpZiAoZXJyLnJlc3BvbnNlICYmIGVyci5yZXNwb25zZS5zdGF0dXMgPT09IDQwNCkge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgICB9XG4gICAgICB0aHJvdyBlcnJcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggY2hpbGRyZW4gZm9yIGEgTWVkaWEgaXRlbS5cbiAgICogQHBhcmFtIGlkIC0gR1VJRCBpZCBvZiB0aGUgTWVkaWEgaXRlbS5cbiAgICogQHBhcmFtIG9wdGlvbnMgLSBSZXF1ZXN0IG9wdGlvbnMuIFNlZSB7QGxpbmsgTWVkaWFEZWxpdmVyeUNoaWxkcmVuT3B0aW9uc30uXG4gICAqIEByZXR1cm5zIGEgYFByb21pc2VgIHRoYXQgcmVzb2x2ZXMgdG8gYSB7QGxpbmsgUGFnZWRSZXNwb25zZX0gb2Yge0BsaW5rIE1lZGlhfSBpZiBmb3VuZCwgb3RoZXJ3aXNlIGB1bmRlZmluZWRgLlxuICAgKi9cbiAgYXN5bmMgY2hpbGRyZW48VCBleHRlbmRzIE1lZGlhPiAoaWQ6IHN0cmluZywgb3B0aW9ucz86IE1lZGlhRGVsaXZlcnlDaGlsZHJlbk9wdGlvbnMpIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMubWFrZVJlcXVlc3QoRW5kcG9pbnRzLmRlbGl2ZXJ5Lm1lZGlhLmNoaWxkcmVuPFQ+KGlkLCBvcHRpb25zKSlcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGlmIChlcnIucmVzcG9uc2UgJiYgZXJyLnJlc3BvbnNlLnN0YXR1cyA9PT0gNDA0KSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICAgIH1cbiAgICAgIHRocm93IGVyclxuICAgIH1cbiAgfVxufVxuIl19