111 lines
2.3 KiB
TypeScript
111 lines
2.3 KiB
TypeScript
|
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
||
|
|
|
||
|
|
import { Category } from "./category";
|
||
|
|
import { MapSource } from "./map-source";
|
||
|
|
|
||
|
|
export interface Classification {
|
||
|
|
id: string;
|
||
|
|
name: string;
|
||
|
|
is_open: boolean;
|
||
|
|
is_limited: boolean;
|
||
|
|
is_secret: boolean;
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface ProjectionSystem {
|
||
|
|
id: string;
|
||
|
|
name: string;
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface Producer {
|
||
|
|
id: string;
|
||
|
|
name: string;
|
||
|
|
description: string;
|
||
|
|
thumbnail: string;
|
||
|
|
address: string;
|
||
|
|
phone_number: string;
|
||
|
|
email: string;
|
||
|
|
website: string;
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface Regional {
|
||
|
|
id: string;
|
||
|
|
code: string;
|
||
|
|
name: string;
|
||
|
|
description: any;
|
||
|
|
thumbnail: any;
|
||
|
|
is_active: boolean;
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface Credential {
|
||
|
|
id: string;
|
||
|
|
name: string;
|
||
|
|
description: string;
|
||
|
|
credential_type: string;
|
||
|
|
credential_metadata: CredentialMetadata;
|
||
|
|
is_default: boolean;
|
||
|
|
is_active: boolean;
|
||
|
|
created_by: string;
|
||
|
|
updated_by: string;
|
||
|
|
created_at: string;
|
||
|
|
updated_at: string;
|
||
|
|
last_used_at: any;
|
||
|
|
last_used_by: any;
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface CredentialMetadata {
|
||
|
|
environment: string;
|
||
|
|
version: string;
|
||
|
|
}
|
||
|
|
|
||
|
|
export type Mapset = {
|
||
|
|
id: string;
|
||
|
|
name: string;
|
||
|
|
description: string;
|
||
|
|
scale: string;
|
||
|
|
layer_url: string;
|
||
|
|
layer_type: "line" | "polygon" | "point" | null;
|
||
|
|
metadata_url: string;
|
||
|
|
status_validation: string;
|
||
|
|
classification: Classification;
|
||
|
|
data_status: "sementara" | "tetap";
|
||
|
|
data_update_period: string;
|
||
|
|
data_version: string;
|
||
|
|
download_count: number;
|
||
|
|
coverage_level: string;
|
||
|
|
coverage_area: string;
|
||
|
|
category: Category;
|
||
|
|
projection_system: ProjectionSystem;
|
||
|
|
producer: Producer;
|
||
|
|
regional: Regional;
|
||
|
|
sources: MapSource[];
|
||
|
|
is_popular: boolean;
|
||
|
|
is_active: boolean;
|
||
|
|
created_at: string;
|
||
|
|
updated_at: string;
|
||
|
|
view_count: number;
|
||
|
|
};
|
||
|
|
|
||
|
|
export interface MapsetSubmitPayload {
|
||
|
|
name: string;
|
||
|
|
description: string;
|
||
|
|
scale: string;
|
||
|
|
data_status: string;
|
||
|
|
data_update_period: string;
|
||
|
|
data_version: string;
|
||
|
|
category_id: string;
|
||
|
|
projection_system_id: string;
|
||
|
|
producer_id: string;
|
||
|
|
source_id?: string | string[] | null;
|
||
|
|
is_popular: boolean;
|
||
|
|
is_active: boolean;
|
||
|
|
layer_url: string;
|
||
|
|
layer_type: "line" | "polygon" | "point" | null;
|
||
|
|
metadata_url: string;
|
||
|
|
regional_id: string;
|
||
|
|
classification_id: string;
|
||
|
|
status_validation: string;
|
||
|
|
notes?: string;
|
||
|
|
coverage_level: string;
|
||
|
|
coverage_area: string;
|
||
|
|
}
|