@omnia/fx-models
Version:
Provide Omnia Fx Models Stuffs.
72 lines (71 loc) • 2.24 kB
TypeScript
import { GuidValue } from "@omnia/fx-models/internal-do-not-import-from-here/shared/models";
import { GroupIdentity } from "./identities";
/**
* Used for filtering etc
* */
export declare class TargetingPropertyType {
static groupMembership: number;
static userProfileProperty: number;
static azureAdProperty: number;
static groupIdentity: number;
static userProperty: number;
}
export interface TargetingPropertyData {
/**
* Uses const values and not enum so new types might be defined by others
* Use type value > 4096 for none built in types
* For built in type any of TargetingPropertyType
* */
type: number;
title: string;
}
export interface TargetingProperty<T extends TargetingPropertyData> {
id: GuidValue;
data: T;
enterprisePropertyDefinitionId: GuidValue;
}
export interface TargetingPropertyGroupMembershipData extends TargetingPropertyData {
mappings: {
[id: string]: Array<string>;
};
}
export interface TargetingPropertyGroupIdentityData extends TargetingPropertyData {
taxonomyToGroupMappings: {
[id: string]: Array<GroupIdentity>;
};
}
export interface TargetingPropertyUserProfilePropertyData extends TargetingPropertyData {
property: string;
}
export interface TargetingPropertyAzureAdPropertyData extends TargetingPropertyData {
property: string;
}
export interface TargetingPropertyUserPropertyData extends TargetingPropertyData {
propertyBindingId: GuidValue;
}
export interface TargetingValue {
id: GuidValue;
parentId: GuidValue;
parent: TargetingValue;
}
export interface TargetingPropertyQuery {
enterprisePropertyDefinitionId: GuidValue;
includeChildTerms: boolean;
targetingPropertyIds: Array<GuidValue>;
}
export interface TargetingPropertyResult {
enterprisePropertyDefinitionId: GuidValue;
internalName: string;
values: Array<TargetingValue>;
targetingPropertyValues: {
[key: string]: Array<TargetingValue>;
};
languages: string[];
}
export interface TargetingPropertyFlatResult {
enterprisePropertyDefinitionId: GuidValue;
internalName: string;
values: Array<GuidValue>;
includeChildTerms: boolean;
languages: string[];
}