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 fullName?: 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 tenantId?: string concurrencyStamp?: string userName?: string name?: string surname?: string fullName?: 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[] departments: AssignedDepartmentViewModel[] jobPositions: AssignedJobPositionViewModel[] lockUser: boolean lastPasswordChangeTime?: Date | string emailConfirmed: boolean phoneNumberConfirmed: boolean accessFailedCount: number shouldChangePasswordOnNextLogin: boolean rocketUsername?: string creationTime: Date | string lastModificationTime: Date | string workHour?: string departmentId?: string department?: AssignedDepartmentViewModel jobPositionId?: string nationality?: string sskNo?: string hireDate?: Date | string terminationDate?: Date | string identityNumber?: string serialNo?: string province?: string district?: string village?: string volumeNo?: string familySequenceNo?: string sequenceNo?: string issuedPlace?: string issuedDate?: Date | string birthPlace?: string birthDate?: Date | string fatherName?: string motherName?: string maritalStatus?: string marriageDate?: Date | string homeAddress?: string educationLevel?: string graduationSchool?: string bloodType?: 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 AssignedDepartmentViewModel { id: string name?: string isAssigned: boolean } export interface AssignedJobPositionViewModel { id: string name?: string departmentId?: string isAssigned: boolean } export interface UserClaimModel { id?: string userId?: string claimType: string claimValue: string }