From d30e401404151bf4872b9834093d4480a49613cb Mon Sep 17 00:00:00 2001 From: hieuunguyeen Date: Wed, 13 Dec 2023 13:35:54 +0200 Subject: [PATCH] Fix wrong endpoint response schema id duplication --- .../tsp/payments-initiate/response.json | 2 +- .../_types/tsp/payments-initiate/request.ts | 60 ++++------ .../_types/tsp/payments-initiate/response.ts | 108 ++++++++++++++++++ .../io-ts/tsp/payments-initiate/response.ts | 3 + 4 files changed, 136 insertions(+), 37 deletions(-) create mode 100644 maas-schemas/src/io-ts/_types/tsp/payments-initiate/response.ts create mode 100644 maas-schemas/src/io-ts/tsp/payments-initiate/response.ts diff --git a/maas-schemas/schemas/tsp/payments-initiate/response.json b/maas-schemas/schemas/tsp/payments-initiate/response.json index 944991282..7ded30724 100644 --- a/maas-schemas/schemas/tsp/payments-initiate/response.json +++ b/maas-schemas/schemas/tsp/payments-initiate/response.json @@ -1,5 +1,5 @@ { - "$id": "https://schemas.maas.global/tsp/payments-initiate/request.json", + "$id": "https://schemas.maas.global/tsp/payments-initiate/response.json", "description": "Response schema for creating payment through TSP api", "type": "object", "properties": { diff --git a/maas-schemas/src/io-ts/_types/tsp/payments-initiate/request.ts b/maas-schemas/src/io-ts/_types/tsp/payments-initiate/request.ts index 43b717b28..e1b6b16c3 100644 --- a/maas-schemas/src/io-ts/_types/tsp/payments-initiate/request.ts +++ b/maas-schemas/src/io-ts/_types/tsp/payments-initiate/request.ts @@ -1,7 +1,7 @@ /* undefined -Response schema for creating payment through TSP api +Request schema for creating payment through TSP api !!! AUTO GENERATED BY IOTSFJS REFRAIN FROM MANUAL EDITING !!! See https://www.npmjs.com/package/io-ts-from-json-schema @@ -31,48 +31,42 @@ export const Defined: DefinedC = new DefinedType(); export const schemaId = 'https://schemas.maas.global/tsp/payments-initiate/request.json'; -// Response +// Request // The default export. More information at the top. -export type Response = t.Branded< +export type Request = t.Branded< { tspId?: Booking_4353_.TspId; - amount?: number; - paymentStatus?: string; + paymentAmount?: number; } & { tspId: Defined; - amount: Defined; - paymentStatus: Defined; + paymentAmount: Defined; }, - ResponseBrand + RequestBrand >; -export type ResponseC = t.BrandC< +export type RequestC = t.BrandC< t.IntersectionC< [ t.PartialC<{ tspId: typeof Booking_4353_.TspId; - amount: t.NumberC; - paymentStatus: t.StringC; + paymentAmount: t.NumberC; }>, t.TypeC<{ tspId: typeof Defined; - amount: typeof Defined; - paymentStatus: typeof Defined; + paymentAmount: typeof Defined; }>, ] >, - ResponseBrand + RequestBrand >; -export const Response: ResponseC = t.brand( +export const Request: RequestC = t.brand( t.intersection([ t.partial({ tspId: Booking_4353_.TspId, - amount: t.number, - paymentStatus: t.string, + paymentAmount: t.number, }), t.type({ tspId: Defined, - amount: Defined, - paymentStatus: Defined, + paymentAmount: Defined, }), ]), ( @@ -80,29 +74,23 @@ export const Response: ResponseC = t.brand( ): x is t.Branded< { tspId?: Booking_4353_.TspId; - amount?: number; - paymentStatus?: string; + paymentAmount?: number; } & { tspId: Defined; - amount: Defined; - paymentStatus: Defined; + paymentAmount: Defined; }, - ResponseBrand + RequestBrand > => true, - 'Response', + 'Request', ); -export type ResponseBrand = { - readonly Response: unique symbol; +export type RequestBrand = { + readonly Request: unique symbol; }; -/** require('io-ts-validator').validator(nonEmptyArray(Response)).decodeSync(examplesResponse) // => examplesResponse */ -export const examplesResponse: NonEmptyArray = [ - { - tspId: '00000000-cafe-cafe-cafe-cafecafecafe', - amount: 2405, - paymentStatus: 'CONFIRMED', - }, -] as unknown as NonEmptyArray; +/** require('io-ts-validator').validator(nonEmptyArray(Request)).decodeSync(examplesRequest) // => examplesRequest */ +export const examplesRequest: NonEmptyArray = [ + { tspId: '00000000-cafe-cafe-cafe-cafecafecafe', paymentAmount: 2405 }, +] as unknown as NonEmptyArray; -export default Response; +export default Request; // Success diff --git a/maas-schemas/src/io-ts/_types/tsp/payments-initiate/response.ts b/maas-schemas/src/io-ts/_types/tsp/payments-initiate/response.ts new file mode 100644 index 000000000..d390c9cc5 --- /dev/null +++ b/maas-schemas/src/io-ts/_types/tsp/payments-initiate/response.ts @@ -0,0 +1,108 @@ +/* + +undefined +Response schema for creating payment through TSP api + +!!! AUTO GENERATED BY IOTSFJS REFRAIN FROM MANUAL EDITING !!! +See https://www.npmjs.com/package/io-ts-from-json-schema + +*/ + +import { NonEmptyArray } from 'fp-ts/lib/NonEmptyArray'; +import * as t from 'io-ts'; +import { nonEmptyArray } from 'io-ts-types/lib/nonEmptyArray'; + +import * as Booking_4353_ from '../../core/booking'; + +export type Defined = {} | null; +export class DefinedType extends t.Type { + readonly _tag: 'DefinedType' = 'DefinedType'; + constructor() { + super( + 'defined', + (u): u is Defined => typeof u !== 'undefined', + (u, c) => (this.is(u) ? t.success(u) : t.failure(u, c)), + t.identity, + ); + } +} +export type DefinedC = {} & DefinedType; +export const Defined: DefinedC = new DefinedType(); + +export const schemaId = 'https://schemas.maas.global/tsp/payments-initiate/response.json'; + +// Response +// The default export. More information at the top. +export type Response = t.Branded< + { + tspId?: Booking_4353_.TspId; + amount?: number; + paymentStatus?: string; + } & { + tspId: Defined; + amount: Defined; + paymentStatus: Defined; + }, + ResponseBrand +>; +export type ResponseC = t.BrandC< + t.IntersectionC< + [ + t.PartialC<{ + tspId: typeof Booking_4353_.TspId; + amount: t.NumberC; + paymentStatus: t.StringC; + }>, + t.TypeC<{ + tspId: typeof Defined; + amount: typeof Defined; + paymentStatus: typeof Defined; + }>, + ] + >, + ResponseBrand +>; +export const Response: ResponseC = t.brand( + t.intersection([ + t.partial({ + tspId: Booking_4353_.TspId, + amount: t.number, + paymentStatus: t.string, + }), + t.type({ + tspId: Defined, + amount: Defined, + paymentStatus: Defined, + }), + ]), + ( + x, + ): x is t.Branded< + { + tspId?: Booking_4353_.TspId; + amount?: number; + paymentStatus?: string; + } & { + tspId: Defined; + amount: Defined; + paymentStatus: Defined; + }, + ResponseBrand + > => true, + 'Response', +); +export type ResponseBrand = { + readonly Response: unique symbol; +}; +/** require('io-ts-validator').validator(nonEmptyArray(Response)).decodeSync(examplesResponse) // => examplesResponse */ +export const examplesResponse: NonEmptyArray = [ + { + tspId: '00000000-cafe-cafe-cafe-cafecafecafe', + amount: 2405, + paymentStatus: 'CONFIRMED', + }, +] as unknown as NonEmptyArray; + +export default Response; + +// Success diff --git a/maas-schemas/src/io-ts/tsp/payments-initiate/response.ts b/maas-schemas/src/io-ts/tsp/payments-initiate/response.ts new file mode 100644 index 000000000..68cdc898f --- /dev/null +++ b/maas-schemas/src/io-ts/tsp/payments-initiate/response.ts @@ -0,0 +1,3 @@ +// Generated by update-index.ts Do not edit! + +export * from '../../_types/tsp/payments-initiate/response';