UNPKG

@sitecore/sc-contenthub-webclient-sdk

Version:

Sitecore Content Hub WebClient SDK.

74 lines 3.81 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.PoliciesClient = void 0; const http_status_codes_1 = require("http-status-codes"); const ta_json_1 = require("ta-json"); const error_messages_1 = __importDefault(require("../error-messages")); const invalid_operation_error_1 = require("../errors/invalid-operation-error"); const guard_1 = __importDefault(require("../guard")); const policy_mapper_1 = require("../mappers/policy-mapper"); const policy_resource_1 = require("../models/policies/policy-resource"); const response_handler_1 = require("./response-handler"); class PoliciesClient { constructor(client) { guard_1.default.notNull(client); this._client = client; } getUserGroupPolicyAsync(userGroupId) { return __awaiter(this, void 0, void 0, function* () { guard_1.default.validId(userGroupId); const resource = yield this.getPolicyResourceAsync(userGroupId); const result = yield policy_mapper_1.PolicyMapper.mapToUserGroupPolicyAsync(this._client, resource); return result; }); } getUserPolicyAsync(userId) { return __awaiter(this, void 0, void 0, function* () { guard_1.default.validId(userId); const resource = yield this.getPolicyResourceAsync(userId); const result = yield policy_mapper_1.PolicyMapper.mapToUserPolicyAsync(this._client, resource); return result; }); } updateAsync(policy) { return __awaiter(this, void 0, void 0, function* () { guard_1.default.notNull(policy); const resource = yield policy_mapper_1.PolicyMapper.mapToResourceAsync(this._client, policy); const id = policy.getRelatedId(); if (id == null) { throw new invalid_operation_error_1.InvalidOperationError(error_messages_1.default.PoliciesClient.RelatedIdCannotBeNull); } const link = yield this._client.linkHelper.policyToLinkAsync(id); const content = ta_json_1.TaJson.serialize(resource); const response = yield this._client.raw.postAsync(link.href, content); response_handler_1.ResponseHandler.handleErrors(response); }); } //#region Private methods getPolicyResourceAsync(id) { return __awaiter(this, void 0, void 0, function* () { const link = yield this._client.linkHelper.policyToLinkAsync(id); const response = yield this._client.raw.getAsync(link.href); if (response.statusCode === http_status_codes_1.StatusCodes.NOT_FOUND) { return null; } response_handler_1.ResponseHandler.handleErrors(response); const resource = ta_json_1.TaJson.deserialize(response.content, policy_resource_1.PolicyResource); return resource; }); } } exports.PoliciesClient = PoliciesClient; //# sourceMappingURL=policies-client.js.map