Refactor project structure and dependencies; rename package to azaion-ui, update version to 0.0.1, and remove unused files. Introduce new routing and authentication features in App component.

This commit is contained in:
Oleksandr Bezdieniezhnykh
2026-03-25 03:10:15 +02:00
parent e407308284
commit 157a33096a
112 changed files with 6530 additions and 17843 deletions
+160
View File
@@ -0,0 +1,160 @@
export interface PaginatedResponse<T> {
items: T[]
totalCount: number
page: number
pageSize: number
}
export interface Media {
id: string
name: string
path: string
mediaType: MediaType
mediaStatus: MediaStatus
duration: string | null
annotationCount: number
waypointId: string | null
userId: string
}
export enum MediaType { None = 0, Image = 1, Video = 2 }
export enum MediaStatus { New = 0, AiProcessing = 1, AiProcessed = 2, ManualCreated = 3 }
export enum AnnotationSource { AI = 0, Manual = 1 }
export enum AnnotationStatus { Created = 0, Edited = 1, Validated = 2 }
export enum Affiliation { Unknown = 0, Friendly = 1, Hostile = 2 }
export enum CombatReadiness { NotReady = 0, Ready = 1 }
export interface Detection {
id: string
classNum: number
label: string
confidence: number
affiliation: Affiliation
combatReadiness: CombatReadiness
centerX: number
centerY: number
width: number
height: number
}
export interface AnnotationListItem {
id: string
mediaId: string
time: string | null
createdDate: string
userId: string
source: AnnotationSource
status: AnnotationStatus
isSplit: boolean
splitTile: string | null
detections: Detection[]
}
export interface DetectionClass {
id: number
name: string
shortName: string
color: string
maxSizeM: number
photoMode: number
}
export interface Flight {
id: string
name: string
createdDate: string
aircraftId: string | null
}
export interface Aircraft {
id: string
model: string
type: 'Plane' | 'Copter'
isDefault: boolean
}
export interface Waypoint {
id: string
flightId: string
name: string
latitude: number
longitude: number
order: number
}
export interface SystemSettings {
id: string
name: string | null
militaryUnit: string | null
defaultCameraWidth: number | null
defaultCameraFoV: number | null
thumbnailWidth: number
thumbnailHeight: number
thumbnailBorder: number
generateAnnotatedImage: boolean
silentDetection: boolean
}
export interface DirectorySettings {
id: string
videosDir: string
imagesDir: string
labelsDir: string
resultsDir: string
thumbnailsDir: string
gpsSatDir: string
gpsRouteDir: string
}
export interface CameraSettings {
id: string
altitude: number
focalLength: number
sensorWidth: number
}
export interface UserSettings {
id: string
userId: string
selectedFlightId: string | null
annotationsLeftPanelWidth: number | null
annotationsRightPanelWidth: number | null
datasetLeftPanelWidth: number | null
datasetRightPanelWidth: number | null
}
export interface DatasetItem {
annotationId: string
imageName: string
thumbnailPath: string
status: AnnotationStatus
createdDate: string
createdEmail: string | null
flightName: string | null
source: AnnotationSource
isSeed: boolean
isSplit: boolean
}
export interface ClassDistributionItem {
classNum: number
label: string
color: string
count: number
}
export interface User {
id: string
name: string
email: string
role: string
isActive: boolean
}
export interface AuthUser {
id: string
email: string
name: string
role: string
permissions: string[]
}