UNPKG

@sitecore/sc-contenthub-webclient-sdk

Version:

Sitecore Content Hub WebClient SDK.

67 lines 3.23 kB
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()); }); }; import { StatusCodes } from "http-status-codes"; import { TaJson } from "ta-json"; import ErrorMessages from "../error-messages"; import { InvalidOperationError } from "../errors/invalid-operation-error"; import Guard from "../guard"; import { PolicyMapper } from "../mappers/policy-mapper"; import { PolicyResource } from "../models/policies/policy-resource"; import { ResponseHandler } from "./response-handler"; export class PoliciesClient { constructor(client) { Guard.notNull(client); this._client = client; } getUserGroupPolicyAsync(userGroupId) { return __awaiter(this, void 0, void 0, function* () { Guard.validId(userGroupId); const resource = yield this.getPolicyResourceAsync(userGroupId); const result = yield PolicyMapper.mapToUserGroupPolicyAsync(this._client, resource); return result; }); } getUserPolicyAsync(userId) { return __awaiter(this, void 0, void 0, function* () { Guard.validId(userId); const resource = yield this.getPolicyResourceAsync(userId); const result = yield PolicyMapper.mapToUserPolicyAsync(this._client, resource); return result; }); } updateAsync(policy) { return __awaiter(this, void 0, void 0, function* () { Guard.notNull(policy); const resource = yield PolicyMapper.mapToResourceAsync(this._client, policy); const id = policy.getRelatedId(); if (id == null) { throw new InvalidOperationError(ErrorMessages.PoliciesClient.RelatedIdCannotBeNull); } const link = yield this._client.linkHelper.policyToLinkAsync(id); const content = TaJson.serialize(resource); const response = yield this._client.raw.postAsync(link.href, content); 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 === StatusCodes.NOT_FOUND) { return null; } ResponseHandler.handleErrors(response); const resource = TaJson.deserialize(response.content, PolicyResource); return resource; }); } } //# sourceMappingURL=policies-client.js.map