UNPKG

@omnia/fx-models

Version:
102 lines (101 loc) 4.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.UserSortColumn = exports.DocumentDirectionSettings = exports.UserAccessibilitySettings = exports.UserPropertyBagModel = exports.ResolvedUserIdentity = exports.UserIdentity = void 0; const models_1 = require("@omnia/fx-models/internal-do-not-import-from-here/shared/models"); const Enums_1 = require("../Enums"); const ManifestIds_1 = require("../ManifestIds"); const NamedProperty_1 = require("../NamedProperty"); const BuiltInIdentityProvider_1 = require("./BuiltInIdentityProvider"); const Identity_1 = require("./Identity"); const IdentityTypes_1 = require("./IdentityTypes"); const ScopeTypes_1 = require("./ScopeTypes"); class AzureAdUserPropertyValues { constructor(resolvedUser) { this.resolvedUser = resolvedUser; this.objectId = new models_1.Guid(this.resolvedUser.providerIdentity); this.profileUrl = `https://delve.office.com/?u=${this.objectId}`; } } class UserIdentity extends Identity_1.Identity { constructor() { super(...arguments); this.type = IdentityTypes_1.IdentityTypes.User; } } exports.UserIdentity = UserIdentity; class ResolvedUserIdentity extends UserIdentity { static create(options) { return Object.assign({ id: null, displayName: null, providerId: null, userTypeId: null, username: null, email: null, preferredLanguage: null, uiLanguage: null, image: null, type: IdentityTypes_1.IdentityTypes.User, propertyValues: [], scope: "", isRemoved: null, replacedByIdentity: null, replacesIdentity: null, scopeType: ScopeTypes_1.ScopeTypes.Tenant }, options); } static isAzureAdUser(resolvedUser) { return resolvedUser?.providerId == BuiltInIdentityProvider_1.BuiltInIdentityProviderIds.defaultAd; } static isOmniaUser(resolvedUser) { return resolvedUser?.providerId == BuiltInIdentityProvider_1.BuiltInIdentityProviderIds.omnia; } static tryToGetAzureAdProperties(resolvedUser) { if (!resolvedUser || !this.isAzureAdUser(resolvedUser)) { return null; } return new AzureAdUserPropertyValues(resolvedUser); } static safeGetUiLanguage(resolvedUser) { if (!resolvedUser) { return null; } return resolvedUser.uiLanguage ?? resolvedUser.preferredLanguage; } static isAnonymousUser(resolvedUser) { return resolvedUser.id == Enums_1.SecurityIdentities.AnonymousIdentity; } static getDisplayName(user, deletedUserText) { return !user || (user.isRemoved && !user.displayName) ? deletedUserText : user.displayName?.value.text + (user.isRemoved ? " *" : ""); } } exports.ResolvedUserIdentity = ResolvedUserIdentity; class UserPropertyBagModel extends NamedProperty_1.OmniaNamedModel { } exports.UserPropertyBagModel = UserPropertyBagModel; class UserAccessibilitySettings extends UserPropertyBagModel { constructor() { super(ManifestIds_1.OmniaService.Id, "useraccessibility"); this.useContrastTheme = false; this.useAccessibilityFeature = false; } } exports.UserAccessibilitySettings = UserAccessibilitySettings; class DocumentDirectionSettings extends UserPropertyBagModel { constructor() { super(ManifestIds_1.OmniaService.Id, "documentdirection"); this.useContrastTheme = false; this.isRTLDocument = false; } } exports.DocumentDirectionSettings = DocumentDirectionSettings; var UserSortColumn; (function (UserSortColumn) { UserSortColumn[UserSortColumn["DisplayName"] = 1] = "DisplayName"; UserSortColumn[UserSortColumn["Email"] = 2] = "Email"; UserSortColumn[UserSortColumn["Username"] = 3] = "Username"; UserSortColumn[UserSortColumn["ProviderId"] = 4] = "ProviderId"; UserSortColumn[UserSortColumn["UserTypeId"] = 5] = "UserTypeId"; })(UserSortColumn = exports.UserSortColumn || (exports.UserSortColumn = {}));