import { ExtensibleEntityDto, ExtensibleObject } from '..' export interface IdentityRoleDto extends ExtensibleEntityDto { name?: string isDefault: boolean isStatic: boolean isPublic: boolean concurrencyStamp?: string } export interface PermissionDefinitionRecord { groupName: string name: string parentName: string displayName: string isEnabled: boolean } export interface PermissionGroupDto { name?: string displayName?: string permissions: PermissionGrantInfoDto[] } export interface GetPermissionListResultDto { entityDisplayName?: string groups: PermissionGroupDto[] } export interface PermissionGrantInfoDto { name?: string displayName?: string parentName?: string isGranted: boolean allowedProviders: string[] grantedProviders: ProviderInfoDto[] } export type PermissionWithGroupName = PermissionGrantInfoDto & { groupName: string } export type PermissionWithStyle = PermissionGrantInfoDto & { class: string } export interface ProviderInfoDto { providerName?: string providerKey?: string } export interface UpdatePermissionDto { name?: string isGranted: boolean } export interface UpdatePermissionsDto { permissions: UpdatePermissionDto[] } export interface IdentityUserDto extends ExtensibleFullAuditedEntityDto { tenantId?: string userName?: string name?: string surname?: string email?: string emailConfirmed: boolean phoneNumber?: string phoneNumberConfirmed: boolean isActive: boolean lockoutEnabled: boolean lockoutEnd?: string concurrencyStamp?: string } export class ExtensibleCreationAuditedEntityDto< TPrimaryKey = string, > extends ExtensibleEntityDto { creationTime?: Date | string creatorId?: string constructor(initialValues: Partial> = {}) { super(initialValues) } } export class ExtensibleAuditedEntityDto< TPrimaryKey = string, > extends ExtensibleCreationAuditedEntityDto { lastModificationTime?: Date | string lastModifierId?: string constructor(initialValues: Partial> = {}) { super(initialValues) } } export class ExtensibleFullAuditedEntityDto< TPrimaryKey = string, > extends ExtensibleAuditedEntityDto { isDeleted?: boolean deleterId?: string deletionTime?: Date | string constructor(initialValues: Partial> = {}) { super(initialValues) } } export interface UserInfoViewModel extends ExtensibleObject { id?: string concurrencyStamp?: string userName?: string name?: string surname?: string email?: string phoneNumber?: string isActive: boolean lockoutEnabled: boolean lockoutEnd?: string loginEndDate?: Date | string isVerified: boolean userRoleNames: string[] roles: AssignedRoleViewModel[] branches: AssignedRoleViewModel[] claims: AssignedClaimViewModel[] workHours: AssignedWorkHourViewModel[] lockUser: boolean lastPasswordChangeTime?: Date | string emailConfirmed: boolean phoneNumberConfirmed: boolean accessFailedCount: number shouldChangePasswordOnNextLogin: boolean rocketUsername?: string creationTime: Date | string lastModificationTime: Date | string workHour?: string } export interface AssignedRoleViewModel { name?: string isAssigned: boolean } export interface AssignedBranchViewModel { name?: string isAssigned: boolean } export interface AssignedClaimViewModel { id: string claimType: string claimValue: string isAssigned: boolean } export interface AssignedWorkHourViewModel { id: string name?: string isAssigned: boolean } export interface UserClaimModel { id?: string userId?: string claimType: string claimValue: string }