@omnia/fx-models
Version:
Provide Omnia Fx Models Stuffs.
102 lines (101 loc) • 4.14 kB
JavaScript
;
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 = {}));