Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tsp payments endpoints #772

Merged
merged 3 commits into from
Dec 18, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion maas-schemas/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "maas-schemas",
"version": "21.0.0",
"version": "21.1.0",
"description": "Schemas for MaaS infrastructure",
"main": "index.js",
"engine": {
Expand Down
21 changes: 21 additions & 0 deletions maas-schemas/schemas/tsp/payments-initiate/request.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"$id": "https://schemas.maas.global/tsp/payments-initiate/request.json",
"description": "Request schema for creating payment through TSP api",
"type": "object",
"properties": {
"tspId": {
"$ref": "https://schemas.maas.global/core/booking.json#/definitions/tspId"
},
"paymentAmount": {
"type": "number"
}
},
"required": ["tspId", "paymentAmount"],
"additionalProperties": false,
"examples": [
{
"tspId": "00000000-cafe-cafe-cafe-cafecafecafe",
"paymentAmount": 2405
}
]
}
25 changes: 25 additions & 0 deletions maas-schemas/schemas/tsp/payments-initiate/response.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"$id": "https://schemas.maas.global/tsp/payments-initiate/response.json",
"description": "Response schema for creating payment through TSP api",
"type": "object",
"properties": {
"tspId": {
"$ref": "https://schemas.maas.global/core/booking.json#/definitions/tspId"
},
"amount": {
"type": "number"
},
"paymentStatus": {
"type": "string"
}
},
"required": ["tspId", "amount", "paymentStatus"],
"additionalProperties": false,
"examples": [
{
"tspId": "00000000-cafe-cafe-cafe-cafecafecafe",
"amount": 2405,
"paymentStatus": "CONFIRMED"
}
]
}
17 changes: 17 additions & 0 deletions maas-schemas/schemas/tsp/payments-retrieve/request.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"$id": "https://schemas.maas.global/tsp/payments-retrieve/request.json",
"description": "Request schema for retrieving a TSP payment from TSP api",
"type": "object",
"properties": {
"tspId": {
"$ref": "https://schemas.maas.global/core/booking.json#/definitions/tspId"
}
},
"required": ["tspId"],
"additionalProperties": false,
"examples": [
{
"tspId": "00000000-cafe-cafe-cafe-cafecafecafe"
}
]
}
25 changes: 25 additions & 0 deletions maas-schemas/schemas/tsp/payments-retrieve/response.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"$id": "https://schemas.maas.global/tsp/payments-retrieve/response.json",
"description": "Response schema for retrieving a TSP payment from TSP api",
"type": "object",
"properties": {
"tspId": {
"$ref": "https://schemas.maas.global/core/booking.json#/definitions/tspId"
},
"amount": {
"type": "number"
},
"paymentStatus": {
"type": "string"
}
},
"required": ["tspId", "amount", "paymentStatus"],
"additionalProperties": false,
"examples": [
{
"tspId": "00000000-cafe-cafe-cafe-cafecafecafe",
"amount": 2405,
"paymentStatus": "PENDING"
}
]
}
4 changes: 4 additions & 0 deletions maas-schemas/src/ajv/registry.ts
Original file line number Diff line number Diff line change
Expand Up @@ -357,6 +357,10 @@ export const registry: mjsv.Registry = {
require('../../schemas/tsp/manage/response.json'),
require('../../schemas/tsp/package-create/request.json'),
require('../../schemas/tsp/package-create/response.json'),
require('../../schemas/tsp/payments-initiate/request.json'),
require('../../schemas/tsp/payments-initiate/response.json'),
require('../../schemas/tsp/payments-retrieve/request.json'),
require('../../schemas/tsp/payments-retrieve/response.json'),
require('../../schemas/tsp/post-kyc-verification-update/request.json'),
require('../../schemas/tsp/post-kyc-verification-update/response.json'),
require('../../schemas/tsp/stations-list/request.json'),
Expand Down
18 changes: 18 additions & 0 deletions maas-schemas/src/io-ts/_translation.log
Original file line number Diff line number Diff line change
Expand Up @@ -2612,6 +2612,24 @@ WARNING: missing $schema declaration
in schemas/tsp/package-create/request.json
WARNING: missing $schema declaration
in schemas/tsp/package-create/response.json
WARNING: missing $schema declaration
in schemas/tsp/payments-initiate/request.json
INFO: primitive type "number" used outside top-level definitions
in schemas/tsp/payments-initiate/request.json
WARNING: missing $schema declaration
in schemas/tsp/payments-initiate/response.json
INFO: primitive type "number" used outside top-level definitions
in schemas/tsp/payments-initiate/response.json
INFO: primitive type "string" used outside top-level definitions
in schemas/tsp/payments-initiate/response.json
WARNING: missing $schema declaration
in schemas/tsp/payments-retrieve/request.json
WARNING: missing $schema declaration
in schemas/tsp/payments-retrieve/response.json
INFO: primitive type "number" used outside top-level definitions
in schemas/tsp/payments-retrieve/response.json
INFO: primitive type "string" used outside top-level definitions
in schemas/tsp/payments-retrieve/response.json
WARNING: missing $schema declaration
in schemas/tsp/post-kyc-verification-update/request.json
INFO: primitive type "string" used outside top-level definitions
Expand Down
96 changes: 96 additions & 0 deletions maas-schemas/src/io-ts/_types/tsp/payments-initiate/request.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
/*

undefined
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

*/

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<Defined> {
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/request.json';

// Request
// The default export. More information at the top.
export type Request = t.Branded<
{
tspId?: Booking_4353_.TspId;
paymentAmount?: number;
} & {
tspId: Defined;
paymentAmount: Defined;
},
RequestBrand
>;
export type RequestC = t.BrandC<
t.IntersectionC<
[
t.PartialC<{
tspId: typeof Booking_4353_.TspId;
paymentAmount: t.NumberC;
}>,
t.TypeC<{
tspId: typeof Defined;
paymentAmount: typeof Defined;
}>,
]
>,
RequestBrand
>;
export const Request: RequestC = t.brand(
t.intersection([
t.partial({
tspId: Booking_4353_.TspId,
paymentAmount: t.number,
}),
t.type({
tspId: Defined,
paymentAmount: Defined,
}),
]),
(
x,
): x is t.Branded<
{
tspId?: Booking_4353_.TspId;
paymentAmount?: number;
} & {
tspId: Defined;
paymentAmount: Defined;
},
RequestBrand
> => true,
'Request',
);
export type RequestBrand = {
readonly Request: unique symbol;
};
/** require('io-ts-validator').validator(nonEmptyArray(Request)).decodeSync(examplesRequest) // => examplesRequest */
export const examplesRequest: NonEmptyArray<Request> = [
{ tspId: '00000000-cafe-cafe-cafe-cafecafecafe', paymentAmount: 2405 },
] as unknown as NonEmptyArray<Request>;

export default Request;

// Success
108 changes: 108 additions & 0 deletions maas-schemas/src/io-ts/_types/tsp/payments-initiate/response.ts
Original file line number Diff line number Diff line change
@@ -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<Defined> {
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<Response> = [
{
tspId: '00000000-cafe-cafe-cafe-cafecafecafe',
amount: 2405,
paymentStatus: 'CONFIRMED',
},
] as unknown as NonEmptyArray<Response>;

export default Response;

// Success
Loading