@dgac/nmb2b-client
Version:
EUROCONTROL Network Manager B2B SOAP client
128 lines (127 loc) • 4.44 kB
text/typescript
import { SoapDeserializer } from "../utils/types.mjs";
//#region src/Common/types.d.ts
type DateYearMonthDay = Date;
type DateTimeMinute = Date;
type DateTimeSecond = Date;
type Timestamp = Date;
interface ShiftHourMinute {
sign: 'MINUS' | 'PLUS';
value: DurationHourMinute;
}
type NMB2BVersion = string;
interface File {
id: FileId;
type: FileType;
releaseTime: DateTimeSecond;
fileLength: number;
}
type Cost = number;
type FileId = string;
type FileType = string;
type AirNavigationUnitId = string;
type UserId = string;
type PlanDataId = string;
type Colours = string;
type SignedDurationHourMinuteSecond = string;
type SignedDurationHourMinute = string;
type NMInt = string;
interface NMSet<A> {
item: A[];
}
interface NMList<A> {
item: A[];
}
interface NMMap<K, V> {
item: Array<{
key: K;
value: V;
}>;
}
type DurationHourMinute = number;
type DurationMinute = number;
type DurationHourMinuteSecond = number;
type Duration = number;
interface DateYearMonthDayPeriod {
wef?: DateYearMonthDay;
unt?: DateYearMonthDay;
}
interface DateTimeMinutePeriod {
wef: DateTimeMinute;
unt: DateTimeMinute;
}
type TimeHourMinute = string;
interface TimeHourMinutePeriod {
wef: TimeHourMinute;
unt: TimeHourMinute;
}
interface LastUpdate {
timestamp: DateTimeSecond;
userId: UserId;
airNavigationUnitId?: AirNavigationUnitId;
}
type WeightKg = number;
type FlightLevelM = number;
interface Position {
latitude: Latitude;
longitude: Longitude;
}
interface Latitude {
angle: string;
side: LatitudeSide;
}
type LatitudeSide = string;
interface Longitude {
angle: string;
side: LongitudeSide;
}
type LongitudeSide = string;
type DatasetType = 'FORECAST' | 'OPERATIONAL' | 'SIMULATION';
type SimulationId = string;
type SimulationState = 'INITIAL' | 'CURRENT';
interface Dataset {
type: DatasetType;
simulationIdentifier?: SimulationId;
simulationState?: SimulationState;
}
type ReceivedOrSent = 'RECEIVED' | 'SENT' | 'UNKNOWN';
type DistanceM = number;
type DistanceNM = number;
type SignedDistanceNM = number;
type Bearing = number;
type ReplyStatus = 'OK' | 'INVALID_INPUT' | 'INVALID_OUTPUT' | 'INTERNAL_ERROR' | 'SERVICE_UNAVAILABLE' | 'RESOURCE_OVERLOAD' | 'REQUEST_COUNT_QUOTA_EXCEEDED' | 'PARALLEL_REQUEST_COUNT_QUOTA_EXCEEDED' | 'REQUEST_OVERBOOKING_REJECTED' | 'BANDWIDTH_QUOTAS_EXCEEDED' | 'NOT_AUTHORISED' | 'OBJECT_NOT_FOUND' | 'TOO_MANY_RESULTS' | 'OBJECT_EXISTS' | 'OBJECT_OUTDATED' | 'CONFLICTING_UPDATE' | 'INVALID_DATASET';
interface Reply {
requestReceptionTime?: DateTimeSecond;
requestId?: string;
sendTime?: DateTimeSecond;
status: ReplyStatus;
inputValidationErrors?: B2B_Error[];
outputValidationErrors?: B2B_Error[];
warnings?: B2B_Error[];
slaError?: B2B_Error;
reason?: string;
}
type ReplyWithData<TData = never> = Reply & {
data: SoapDeserializer<TData>;
};
type B2BRequest = {
endUserId?: string;
onBehalfOfUnit?: AirNavigationUnitId;
sendTime: DateTimeSecond;
};
type ServiceGroup = 'AIRSPACE' | 'COMMON' | 'FFICE' | 'FLIGHT' | 'FLOW' | 'GENERAL_INFORMATION' | 'PUBLISH_SUBSCRIBE';
interface B2B_Error {
attributes?: string[];
group: ServiceGroup;
category: string;
type: ErrorType;
parameters: {
[key: string]: string;
};
message?: string;
}
type ErrorType = 'UNSUPPORTED_VERSION' | 'ATTRIBUTE_CANNOT_BE_NULL' | 'ATTRIBUTE_MUST_BE_NULL' | 'INVALID_COLLECTION_SIZE' | 'INVALID_ATTRIBUTE_VALUE' | 'MISSING_CHOICE_VALUE' | 'CHOICE_OVERFLOW' | 'REQUESTED_ATTRIBUTE_NOT_ALLOWED' | 'REPLY_ATTRIBUTE_NOT_SET' | 'REQUEST_COUNT_QUOTA_EXCEEDED' | 'REQUEST_OVERBOOKING_ACCEPTED' | 'UNKNOWN';
type UUID = string;
type NMRelease = string;
//#endregion
export { AirNavigationUnitId, B2BRequest, B2B_Error, Bearing, Colours, Cost, Dataset, DatasetType, DateTimeMinute, DateTimeMinutePeriod, DateTimeSecond, DateYearMonthDay, DateYearMonthDayPeriod, DistanceM, DistanceNM, Duration, DurationHourMinute, DurationHourMinuteSecond, DurationMinute, ErrorType, File, FileId, FileType, FlightLevelM, LastUpdate, Latitude, LatitudeSide, Longitude, LongitudeSide, NMB2BVersion, NMInt, NMList, NMMap, NMRelease, NMSet, PlanDataId, Position, ReceivedOrSent, Reply, ReplyStatus, ReplyWithData, ServiceGroup, ShiftHourMinute, SignedDistanceNM, SignedDurationHourMinute, SignedDurationHourMinuteSecond, SimulationId, SimulationState, TimeHourMinute, TimeHourMinutePeriod, Timestamp, UUID, UserId, WeightKg };
//# sourceMappingURL=types.d.mts.map