@omnia/fx-models
Version:
Provide Omnia Fx Models Stuffs.
44 lines (43 loc) • 1.99 kB
JavaScript
;
// create separate file to prevent circular reference.
Object.defineProperty(exports, "__esModule", { value: true });
const AnonymousIdentity_1 = require("./AnonymousIdentity");
const DynamicGroupIdentity_1 = require("./DynamicGroupIdentity");
const ExtensionIdentity_1 = require("./ExtensionIdentity");
const GroupIdentity_1 = require("./GroupIdentity");
const Identity_1 = require("./Identity");
const IdentityTypes_1 = require("./IdentityTypes");
const RoleIdentity_1 = require("./RoleIdentity");
const UserIdentity_1 = require("./UserIdentity");
Identity_1.Identity["createIdentity"] = function (type, id) {
switch (type) {
case IdentityTypes_1.IdentityTypes.User:
return new UserIdentity_1.UserIdentity(id);
case IdentityTypes_1.IdentityTypes.Group:
return new GroupIdentity_1.GroupIdentity(id);
case IdentityTypes_1.IdentityTypes.Extension:
return new ExtensionIdentity_1.ExtensionIdentity(id);
case IdentityTypes_1.IdentityTypes.Role:
return new RoleIdentity_1.RoleIdentity(id);
case IdentityTypes_1.IdentityTypes.DynamicGroup:
return new DynamicGroupIdentity_1.DynamicGroupIdentity(id);
case IdentityTypes_1.IdentityTypes.Anonymous:
return new AnonymousIdentity_1.AnonymousIdentity(id);
default:
throw new Error(`Can't create identity for unhandled type. -> ${type}`);
}
};
// export function createIdentity(type: IdentityTypes, id: GuidValue) {
// switch (type) {
// case IdentityTypes.User:
// return new UserIdentity(id);
// case IdentityTypes.Group:
// return new GroupIdentity(id);
// case IdentityTypes.Extension:
// return new ExtensionIdentity(id);
// case IdentityTypes.Role:
// return new RoleIdentity(id);
// default:
// throw new Error(`Can't create identity for unhandled type. -> ${type}`);
// }
// }