UNPKG

@sitecore/sc-contenthub-webclient-sdk

Version:

Sitecore Content Hub WebClient SDK.

54 lines 2.76 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 __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.PermissionsClient = void 0; const ta_json_1 = require("ta-json"); const response_handler_1 = require("../clients/response-handler"); const guard_1 = __importDefault(require("../guard")); const permissions_resource_1 = require("../models/permissions-resource"); const user_entity_permissions_resource_1 = require("../models/user-entity-permissions-resource"); class PermissionsClient { constructor(client) { this._client = client; } getPermissionsAsync(id, userId) { return __awaiter(this, void 0, void 0, function* () { guard_1.default.validId(id); let link; if (userId != null) { guard_1.default.validId(userId); link = yield this._client.linkHelper.explainUserPermissionsForEntityToLinkAsync(id, userId); } else { link = yield this._client.linkHelper.permissionsForEntityToLinkAsync(id); } const response = yield this._client.raw.getAsync(link.href); if (response.statusCode === 404) { return []; } response_handler_1.ResponseHandler.handleErrors(response); if (userId != null) { const resource = ta_json_1.TaJson.deserialize(response.content, user_entity_permissions_resource_1.UserEntityPermissionsResource); const permissions = resource.permissions.map(p => p.permission); return permissions != null && permissions.length > 0 ? permissions : []; } else { const resource = ta_json_1.TaJson.deserialize(response.content, permissions_resource_1.PermissionsResource); return resource.permissions || []; } }); } } exports.PermissionsClient = PermissionsClient; //# sourceMappingURL=permissions-client.js.map