Skip to content

Commit

Permalink
Attach current config to services
Browse files Browse the repository at this point in the history
  • Loading branch information
kouak committed Feb 7, 2024
1 parent 22b16c1 commit 5c0c449
Show file tree
Hide file tree
Showing 7 changed files with 78 additions and 70 deletions.
14 changes: 7 additions & 7 deletions src/Airspace/index.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
import path from 'path';
import { getWSDLPath } from '../constants';
import { getEndpoint } from '../config';
import { prepareSecurity } from '../security';
import { createClient } from 'soap';
import { Config } from '../config';
import { getWSDLPath } from '../constants';
import { prepareSecurity } from '../security';
import { deserializer as customDeserializer } from '../utils/transformers';

export const getWSDL = ({
Expand Down Expand Up @@ -34,16 +32,17 @@ function createAirspaceServices(config: Config): Promise<AirspaceClient> {
import queryCompleteAIXMDatasets, {
Resolver as QueryCompleteAIXMDatasets,
} from './queryCompleteAIXMDatasets';
import retrieveAUP, { Resolver as RetrieveAUP } from './retrieveAUP';
import retrieveAUPChain, {
Resolver as RetrieveAUPChain,
} from './retrieveAUPChain';
import retrieveAUP, { Resolver as RetrieveAUP } from './retrieveAUP';
import retrieveEAUPChain, {
Resolver as RetrieveEAUPChain,
} from './retrieveEAUPChain';

export interface AirspaceService {
__soapClient: object;
import { BaseServiceInterface } from '../Common/ServiceInterface';

export interface AirspaceService extends BaseServiceInterface {
queryCompleteAIXMDatasets: QueryCompleteAIXMDatasets;
retrieveAUPChain: RetrieveAUPChain;
retrieveEAUPChain: RetrieveEAUPChain;
Expand All @@ -53,6 +52,7 @@ export interface AirspaceService {
export function getAirspaceClient(config: Config): Promise<AirspaceService> {
return createAirspaceServices(config).then((client) => ({
__soapClient: client,
config,
queryCompleteAIXMDatasets: queryCompleteAIXMDatasets(client),
retrieveAUPChain: retrieveAUPChain(client),
retrieveEAUPChain: retrieveEAUPChain(client),
Expand Down
6 changes: 6 additions & 0 deletions src/Common/ServiceInterface.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import type { Config } from '../config';

export interface BaseServiceInterface {
__soapClient: object;
config: Config;
}
28 changes: 13 additions & 15 deletions src/Flight/index.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
import path from 'path';
import { getWSDLPath } from '../constants';
import { getEndpoint } from '../config';
import { prepareSecurity } from '../security';
import { createClient } from 'soap';
import { Config } from '../config';
import util from 'util';
import { getWSDLPath } from '../constants';
import { prepareSecurity } from '../security';
import { deserializer as customDeserializer } from '../utils/transformers';

const getWSDL = ({ flavour, XSD_PATH }: Pick<Config, 'flavour' | 'XSD_PATH'>) =>
Expand Down Expand Up @@ -38,32 +35,32 @@ function createFlightServices(config: Config): Promise<FlightClient> {
});
}

import retrieveFlight from './retrieveFlight';
import type { Resolver as RetrieveFlight } from './retrieveFlight';
import retrieveFlight from './retrieveFlight';

import queryFlightsByAirspace from './queryFlightsByAirspace';
import type { Resolver as QueryFlightsByAirspace } from './queryFlightsByAirspace';
import queryFlightsByAirspace from './queryFlightsByAirspace';

import queryFlightPlans from './queryFlightPlans';
import type { Resolver as QueryFlightPlans } from './queryFlightPlans';
import queryFlightPlans from './queryFlightPlans';

import queryFlightsByTrafficVolume from './queryFlightsByTrafficVolume';
import type { Resolver as QueryFlightsByTrafficVolume } from './queryFlightsByTrafficVolume';
import queryFlightsByTrafficVolume from './queryFlightsByTrafficVolume';

import queryFlightsByMeasure from './queryFlightsByMeasure';
import type { Resolver as QueryFlightsByMeasure } from './queryFlightsByMeasure';
import queryFlightsByMeasure from './queryFlightsByMeasure';

import queryFlightsByAerodrome from './queryFlightsByAerodrome';
import type { Resolver as QueryFlightsByAerodrome } from './queryFlightsByAerodrome';
import queryFlightsByAerodrome from './queryFlightsByAerodrome';

import queryFlightsByAerodromeSet from './queryFlightsByAerodromeSet';
import type { Resolver as QueryFlightsByAerodromeSet } from './queryFlightsByAerodromeSet';
import queryFlightsByAerodromeSet from './queryFlightsByAerodromeSet';

import queryFlightsByAircraftOperator from './queryFlightsByAircraftOperator';
import { BaseServiceInterface } from '../Common/ServiceInterface';
import type { Resolver as QueryFlightsByAircraftOperator } from './queryFlightsByAircraftOperator';
import queryFlightsByAircraftOperator from './queryFlightsByAircraftOperator';

export interface FlightService {
__soapClient: object;
export interface FlightService extends BaseServiceInterface {
retrieveFlight: RetrieveFlight;
queryFlightsByAirspace: QueryFlightsByAirspace;
queryFlightPlans: QueryFlightPlans;
Expand All @@ -77,6 +74,7 @@ export interface FlightService {
export function getFlightClient(config: Config): Promise<FlightService> {
return createFlightServices(config).then((client) => ({
__soapClient: client,
config,
retrieveFlight: retrieveFlight(client),
queryFlightsByAirspace: queryFlightsByAirspace(client),
queryFlightPlans: queryFlightPlans(client),
Expand Down
48 changes: 25 additions & 23 deletions src/Flow/index.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
import path from 'path';
import { getWSDLPath } from '../constants';
import { getEndpoint } from '../config';
import { prepareSecurity } from '../security';
import { createClient } from 'soap';
import { Config } from '../config';
import util from 'util';
import { getWSDLPath } from '../constants';
import { prepareSecurity } from '../security';
import { deserializer as customDeserializer } from '../utils/transformers';

const getWSDL = ({ flavour, XSD_PATH }: Pick<Config, 'flavour' | 'XSD_PATH'>) =>
Expand Down Expand Up @@ -38,31 +35,35 @@ function createFlowServices(config: Config): Promise<FlowClient> {
});
}

import retrieveSectorConfigurationPlan from './retrieveSectorConfigurationPlan';
import { Resolver as RetrieveSectorConfigurationPlan } from './retrieveSectorConfigurationPlan';
import queryTrafficCountsByAirspace from './queryTrafficCountsByAirspace';
import { Resolver as QueryTrafficCountsByAirspace } from './queryTrafficCountsByAirspace';
import queryRegulations from './queryRegulations';
import { Resolver as QueryRegulations } from './queryRegulations';
import queryHotspots from './queryHotspots';
import { Resolver as QueryHotspots } from './queryHotspots';
import queryTrafficCountsByTrafficVolume from './queryTrafficCountsByTrafficVolume';
import { Resolver as QueryTrafficCountsByTrafficVolume } from './queryTrafficCountsByTrafficVolume';
import retrieveOTMVPlan from './retrieveOTMVPlan';
import { Resolver as RetrieveOTMVPlan } from './retrieveOTMVPlan';
import updateOTMVPlan from './updateOTMVPlan';
import { Resolver as UpdateOTMVPlan } from './updateOTMVPlan';
import { BaseServiceInterface } from '../Common/ServiceInterface';
import queryHotspots, { Resolver as QueryHotspots } from './queryHotspots';
import queryRegulations, {
Resolver as QueryRegulations,
} from './queryRegulations';
import queryTrafficCountsByAirspace, {
Resolver as QueryTrafficCountsByAirspace,
} from './queryTrafficCountsByAirspace';
import queryTrafficCountsByTrafficVolume, {
Resolver as QueryTrafficCountsByTrafficVolume,
} from './queryTrafficCountsByTrafficVolume';
import retrieveCapacityPlan, {
Resolver as RetrieveCapacityPlan,
} from './retrieveCapacityPlan';
import updateCapacityPlan from './updateCapacityPlan';
import { Resolver as UpdateCapacityPlan } from './updateCapacityPlan';
import retrieveOTMVPlan, {
Resolver as RetrieveOTMVPlan,
} from './retrieveOTMVPlan';
import retrieveRunwayConfigurationPlan, {
Resolver as RetrieveRunwayConfigurationPlan,
} from './retrieveRunwayConfigurationPlan';
import retrieveSectorConfigurationPlan, {
Resolver as RetrieveSectorConfigurationPlan,
} from './retrieveSectorConfigurationPlan';
import updateCapacityPlan, {
Resolver as UpdateCapacityPlan,
} from './updateCapacityPlan';
import updateOTMVPlan, { Resolver as UpdateOTMVPlan } from './updateOTMVPlan';

export interface FlowService {
__soapClient: object;
export interface FlowService extends BaseServiceInterface {
retrieveSectorConfigurationPlan: RetrieveSectorConfigurationPlan;
queryTrafficCountsByAirspace: QueryTrafficCountsByAirspace;
queryRegulations: QueryRegulations;
Expand All @@ -78,6 +79,7 @@ export interface FlowService {
export function getFlowClient(config: Config): Promise<FlowService> {
return createFlowServices(config).then((client) => ({
__soapClient: client,
config,
retrieveSectorConfigurationPlan: retrieveSectorConfigurationPlan(client),
queryTrafficCountsByAirspace: queryTrafficCountsByAirspace(client),
queryRegulations: queryRegulations(client),
Expand Down
11 changes: 5 additions & 6 deletions src/GeneralInformation/index.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
import { createClient } from 'soap';
import { Config, getEndpoint } from '../config';
import { getWSDLPath } from '../constants';
import { getEndpoint } from '../config';
import { prepareSecurity } from '../security';
import { createClient } from 'soap';
import { Config } from '../config';
import util from 'util';
import { deserializer as customDeserializer } from '../utils/transformers';

const getWSDL = ({ flavour, XSD_PATH }: Pick<Config, 'flavour' | 'XSD_PATH'>) =>
Expand Down Expand Up @@ -36,12 +34,12 @@ function createGeneralInformationServices(
});
}

import { BaseServiceInterface } from '../Common/ServiceInterface';
import queryNMB2BWSDLs, {
Resolver as QueryNMB2BWSDLs,
} from './queryNMB2BWSDLs';

export interface GeneralInformationService {
__soapClient: object;
export interface GeneralInformationService extends BaseServiceInterface {
queryNMB2BWSDLs: QueryNMB2BWSDLs;
}

Expand All @@ -51,6 +49,7 @@ export function getGeneralInformationClient(
return createGeneralInformationServices(config).then(
(client) => ({
__soapClient: client,
config,
queryNMB2BWSDLs: queryNMB2BWSDLs(client),
}),
(err) => {
Expand Down
38 changes: 21 additions & 17 deletions src/PublishSubscribe/index.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
import path from 'path';
import { createClient } from 'soap';
import { Config, getEndpoint } from '../config';
import { getWSDLPath } from '../constants';
import { getEndpoint } from '../config';
import { prepareSecurity } from '../security';
import { createClient } from 'soap';
import { Config } from '../config';
import { deserializer as customDeserializer } from '../utils/transformers';

const getWSDL = ({ flavour, XSD_PATH }: Pick<Config, 'flavour' | 'XSD_PATH'>) =>
Expand All @@ -30,19 +28,24 @@ function createPublishSubscribeServices(
);
}

import listSubscriptions from './listSubscriptions';
import { Resolver as ListSubscriptions } from './listSubscriptions';
import createSubscription from './createSubscription';
import { Resolver as CreateSubscription } from './createSubscription';
import deleteSubscription from './deleteSubscription';
import { Resolver as DeleteSubscription } from './deleteSubscription';
import resumeSubscription from './resumeSubscription';
import { Resolver as ResumeSubscription } from './resumeSubscription';
import pauseSubscription from './pauseSubscription';
import { Resolver as PauseSubscription } from './pauseSubscription';
import createSubscription, {
Resolver as CreateSubscription,
} from './createSubscription';
import deleteSubscription, {
Resolver as DeleteSubscription,
} from './deleteSubscription';
import listSubscriptions, {
Resolver as ListSubscriptions,
} from './listSubscriptions';
import pauseSubscription, {
Resolver as PauseSubscription,
} from './pauseSubscription';
import resumeSubscription, {
Resolver as ResumeSubscription,
} from './resumeSubscription';
import { BaseServiceInterface } from '../Common/ServiceInterface';

export interface PublishSubscribeService {
__soapClient: object;
export interface PublishSubscribeService extends BaseServiceInterface {
listSubscriptions: ListSubscriptions;
createSubscription: CreateSubscription;
deleteSubscription: DeleteSubscription;
Expand All @@ -53,8 +56,9 @@ export interface PublishSubscribeService {
export function getPublishSubscribeClient(
config: Config,
): Promise<PublishSubscribeService> {
return createPublishSubscribeServices(config).then(client => ({
return createPublishSubscribeServices(config).then((client) => ({
__soapClient: client,
config,
listSubscriptions: listSubscriptions(client),
createSubscription: createSubscription(client),
deleteSubscription: deleteSubscription(client),
Expand Down
3 changes: 1 addition & 2 deletions src/index.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@ import { Config } from './config';

import { describe, test, expect } from 'vitest';

// jest.setTimeout(20000);

describe('Main API', () => {
test('makeB2BClient', async () => {
const b2bClient = await makeB2BClient(b2bOptions as Config);
Expand All @@ -34,5 +32,6 @@ describe('Main API', () => {
])('%O', async (fn) => {
const res = await fn(b2bOptions);
expect(res).toBeDefined();
expect(res.config).toEqual(b2bOptions);
});
});

0 comments on commit 5c0c449

Please sign in to comment.