UNPKG

@equinor/fusion-react-power-bi

Version:
139 lines 4.44 kB
import type { ObservableInput } from 'rxjs'; export type RlsMappingType = 'Unknown' | 'AdGroup' | 'ProjectMembership' | 'AdvancedProjectMembership' | 'ContractMembership' | 'Positions'; export type RlsNotFoundMode = 'UserEmail' | 'Null'; export type RlsDelimiter = ';' | '|'; export type RlsMatch = 'Unkown' | 'All' | 'Any'; export type RlsUserTypes = 'Unknown' | 'PermanentEmployee' | 'ExtHire' | 'Consultant' | 'External'; export type RlsMemberShipRequirementType = 'Unknown' | 'Department' | 'AdGroup' | 'DomainMembership' | 'Account'; export type AccessITRole = { id: string; name: string | null; url: string | null; }; export type RlsAdGroupMapping = { groupId: string; groupName: string | null; identityName: string | null; }; export type WorkspaceRole = { requireMembership: boolean; level: string | null; }; export type RlsGlobalAccessRequirement = { accessIT: AccessITRole | null; workspace: WorkspaceRole | null; }; export type RlsIdentityConfiguration = { mappingType: RlsMappingType; notFoundMode: RlsNotFoundMode; delimiter: RlsDelimiter | null; nameSelector: string | null; adGroupMapping?: RlsAdGroupMapping[] | null; projectMembershipConfig?: RlsIdentityProjectMembershipConfig; }; export type RlsIdentityProjectMembershipConfig = { match: RlsMatch; conditions: RlsCondition[] | null; }; export type RlsCondition = { displayName: string; role?: string | null; obs?: string | null; pmt?: boolean | null; basePositions?: BasePositionCondition[] | null; disciplines?: string[] | null; userTypes?: RlsUserTypes[] | null; }; export type BasePositionCondition = { id: string; name: string | null; }; export type RlsRoleConfiguration = { name: string | null; description: string | null; pbiName: string | null; isAdminRole: boolean; membership: RlsRoleMembershipRequirement[] | null; }; export type RlsRoleMembershipRequirement = { type: RlsMemberShipRequirementType; identifiers: string[] | null; userTypes: RlsUserTypes[] | null; allowExternals: boolean; adGroups?: RlsAdGroup[] | null; domainConfig?: RlsRoleDomainMembershipConfig; }; export type RlsAdGroup = { id: string; name: string | null; }; export type RlsRoleDomainMembershipConfig = { requiredPositionObs: string[] | null; }; export type RlsConfiguration = { version: number; globalAccessRequirement: RlsGlobalAccessRequirement | null; identity: RlsIdentityConfiguration | null; roles: RlsRoleConfiguration[] | null; }; export type AccessToken = { expirationUtc: Date; token: string; }; export type EmbedConfig = { embedType: 'Report' | 'Dashboard'; embedUrl: string; tokenType: 'AAD' | 'Embed'; name?: string; dashboardId?: string; datasetId?: string; groupId?: string; reportId?: string; tileId?: string; rlsConfiguration?: RlsConfiguration | null; contrastMode?: number; }; export type EmbedInfo = { type: 'PowerBI'; embedConfig: EmbedConfig; }; export type Person = { id: string; isAffiliateAccess: boolean; }; export type Report = { id: string; title: string; globalIdentifier?: string | null; ownedBy: Person | null; publishedBy?: Person; userTargetGroup: string; dataRefreshRate: string; dateCreatedUtc: Date | null; dateModifiedUtc: Date | null; datePublishedUtc: Date | null; dataSources: string; access: string; allowExternalUsers: boolean; allowOnlyEmployees: boolean; denyExtHire: boolean; isPublished: boolean; isEmbedOnly: boolean; securityRequirementCheck: 'any' | 'all'; securityRequirements?: { id: string; type: 'discipline' | 'contract'; value: string; }[]; reportType: 'Incomplete' | 'Generic' | 'Shared' | 'Personal' | 'EmbedOnly' | null; isEditable?: boolean; }; export type ApiClient = { acquireAccessToken(reportId: string): ObservableInput<AccessToken>; checkContextAccess(reportId: string, contextExternalId: string, contextType: string): ObservableInput<void>; getEmbedInfo(reportId: string): ObservableInput<EmbedInfo>; getReport(reportId: string): ObservableInput<EmbedInfo>; getReportDescription(reportId: string): ObservableInput<EmbedInfo>; getReportAccessDescription(reportId: string): ObservableInput<string>; }; //# sourceMappingURL=types.d.ts.map