@sitecore/sc-contenthub-webclient-sdk
Version:
Sitecore Content Hub WebClient SDK.
137 lines • 6.18 kB
JavaScript
;
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