UNPKG

@sitecore/sc-contenthub-webclient-sdk

Version:

Sitecore Content Hub WebClient SDK.

137 lines 6.18 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.EntityDefinition = void 0; const string_format_1 = __importDefault(require("string-format")); 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 member_group_1 = require("./member-group"); const property_definition_1 = require("./property-definition"); const relation_definition_1 = require("./relation-definition"); let EntityDefinition = class EntityDefinition { get isNew() { return !this.id; } constructor(init) { this.isSystemOwned = false; this.isLight = false; Object.assign(this, init); this.memberGroups = this.memberGroups || []; this.labels = this.labels || {}; } getPropertyDefinition(name) { guard_1.default.stringNotNullOrEmpty(name); return (this.getPropertyDefinitions().find(propertyDefinition => { return propertyDefinition.name.toLowerCase() === name.toLowerCase(); }) || null); } getPropertyDefinitions() { return this.getMemberDefinitions(property_definition_1.PropertyDefinition); } getRelationDefinition(name, role) { guard_1.default.stringNotNullOrEmpty(name); const relationDefinition = this.getRelationDefinitions().find(relationDefinition => { return (relationDefinition.name.toLowerCase() === name.toLowerCase() && (role == null || relationDefinition.role === role)); }); if ((relationDefinition === null || relationDefinition === void 0 ? void 0 : relationDefinition.associatedEntityDefinitionName) === this.name && role == null) { const errorMessage = (0, string_format_1.default)(error_messages_1.default.NoRoleSpecifiedForSelfRelation, name); throw new invalid_operation_error_1.InvalidOperationError(errorMessage); } return relationDefinition !== null && relationDefinition !== void 0 ? relationDefinition : null; } getRelationDefinitions() { return this.getMemberDefinitions(relation_definition_1.RelationDefinition); } getMemberDefinitions(typeT) { const members = []; for (const group of this.memberGroups) { for (const member of group.memberDefinitions) { if (member instanceof typeT) { members.push(member); } } } return members; } }; exports.EntityDefinition = EntityDefinition; __decorate([ (0, ta_json_1.JsonProperty)("id"), __metadata("design:type", Number) ], EntityDefinition.prototype, "id", void 0); __decorate([ (0, ta_json_1.JsonProperty)("name"), __metadata("design:type", String) ], EntityDefinition.prototype, "name", void 0); __decorate([ (0, ta_json_1.JsonProperty)("created_by"), __metadata("design:type", Number) ], EntityDefinition.prototype, "createdBy", void 0); __decorate([ (0, ta_json_1.JsonProperty)("created_on"), __metadata("design:type", Date) ], EntityDefinition.prototype, "createdOn", void 0); __decorate([ (0, ta_json_1.JsonProperty)("modified_by"), __metadata("design:type", Number) ], EntityDefinition.prototype, "modifiedBy", void 0); __decorate([ (0, ta_json_1.JsonProperty)("modified_on"), __metadata("design:type", Date) ], EntityDefinition.prototype, "modifiedOn", void 0); __decorate([ (0, ta_json_1.JsonProperty)("display_template"), __metadata("design:type", String) ], EntityDefinition.prototype, "displayTemplate", void 0); __decorate([ (0, ta_json_1.JsonProperty)("is_taxonomy_item_definition"), __metadata("design:type", Boolean) ], EntityDefinition.prototype, "isTaxonomyItemDefinition", void 0); __decorate([ (0, ta_json_1.JsonProperty)("is_path_enabled_definition"), __metadata("design:type", Boolean) ], EntityDefinition.prototype, "isPathEnabledDefinition", void 0); __decorate([ (0, ta_json_1.JsonProperty)("is_manual_sorting_allowed"), __metadata("design:type", Boolean) ], EntityDefinition.prototype, "isManualSortingAllowed", void 0); __decorate([ (0, ta_json_1.JsonProperty)("is_system_owned"), __metadata("design:type", Boolean) ], EntityDefinition.prototype, "isSystemOwned", void 0); __decorate([ (0, ta_json_1.JsonProperty)("is_light"), __metadata("design:type", Boolean) ], EntityDefinition.prototype, "isLight", void 0); __decorate([ (0, ta_json_1.JsonProperty)("member_groups"), (0, ta_json_1.JsonElementType)(member_group_1.MemberGroup), __metadata("design:type", Array) ], EntityDefinition.prototype, "memberGroups", void 0); __decorate([ (0, ta_json_1.JsonProperty)("labels"), __metadata("design:type", Object) ], EntityDefinition.prototype, "labels", void 0); __decorate([ (0, ta_json_1.JsonProperty)("usage_type"), __metadata("design:type", String) ], EntityDefinition.prototype, "usageType", void 0); exports.EntityDefinition = EntityDefinition = __decorate([ (0, ta_json_1.JsonObject)(), __metadata("design:paramtypes", [Object]) ], EntityDefinition); //# sourceMappingURL=entity-definition.js.map