84 lines
1.8 KiB
TypeScript
84 lines
1.8 KiB
TypeScript
export interface SearchParams {
|
|
firstName?: string;
|
|
lastName?: string;
|
|
ageAtMigration?: string;
|
|
yearOfArrival?: string;
|
|
regionOfOrigin?: string;
|
|
settlementLocation?: string;
|
|
}
|
|
|
|
// Pagination metadata structure
|
|
export interface Pagination {
|
|
total: number;
|
|
currentPage: number;
|
|
totalPages: number;
|
|
perPage: number;
|
|
}
|
|
|
|
// Migration details for a person
|
|
export interface Migration {
|
|
date_of_arrival_aus?: string;
|
|
date_of_arrival_nt?: string;
|
|
arrival_period?: string;
|
|
data_source?: string;
|
|
}
|
|
|
|
// Naturalization details for a person
|
|
export interface Naturalization {
|
|
certificate_number?: string;
|
|
date_of_naturalization?: string;
|
|
previous_nationality?: string;
|
|
place_of_naturalization?: string;
|
|
}
|
|
|
|
// Residence details for a person
|
|
export interface Residence {
|
|
town_or_city?: string;
|
|
home_at_death?: string;
|
|
}
|
|
|
|
// Family details for a person
|
|
export interface Family {
|
|
spouse_name?: string;
|
|
spouse_origin?: string;
|
|
number_of_children?: number;
|
|
names_of_children?: string;
|
|
additional_notes?: string;
|
|
}
|
|
|
|
// Internment details for a person
|
|
export interface Internment {
|
|
was_interned: boolean;
|
|
camp_name?: string;
|
|
date_of_internment?: string;
|
|
date_of_release?: string;
|
|
additional_notes?: string;
|
|
}
|
|
|
|
// A single search result representing a person record
|
|
export interface SearchResult {
|
|
person_id: string;
|
|
surname: string;
|
|
christian_name: string;
|
|
full_name: string;
|
|
date_of_birth?: string;
|
|
place_of_birth?: string;
|
|
date_of_death?: string;
|
|
occupation?: string;
|
|
additional_notes?: string;
|
|
reference?: string;
|
|
id_card_no?: string;
|
|
migration: Migration;
|
|
naturalization: Naturalization;
|
|
residence: Residence;
|
|
family: Family;
|
|
internment: Internment;
|
|
}
|
|
|
|
// The overall search response from the API
|
|
export interface SearchResponse {
|
|
data: SearchResult[];
|
|
pagination: Pagination;
|
|
success: boolean;
|
|
message: string;
|
|
} |