From 407c0b3da79047371e95f53be623c5e349538819 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrej=20Rama=C5=A1euski?= <andrej@x2.cz> Date: Mon, 17 Apr 2023 15:32:24 +0200 Subject: [PATCH] Info o platbe --- .gitlab-ci.yml | 2 +- lib/CF2022/Controller/Orders.pm | 25 +++++++++++++++++++++++++ openapi.yaml | 22 ++++++++++++++++++++++ 3 files changed, 48 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9080fd4..e2a83cc 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -2,7 +2,7 @@ image: docker:20.10.9 variables: DOCKER_TLS_CERTDIR: "/certs" - IMAGE_VER: 0.16.0 + IMAGE_VER: 0.17.0 services: - docker:20.10.9-dind diff --git a/lib/CF2022/Controller/Orders.pm b/lib/CF2022/Controller/Orders.pm index 328d053..f6a23fb 100644 --- a/lib/CF2022/Controller/Orders.pm +++ b/lib/CF2022/Controller/Orders.pm @@ -234,6 +234,31 @@ sub get ($c ) { ); } +sub payment ($c ) { + my $order; + + if ( $c->stash->{id} =~ /\D/) { + $order = $c->schema->resultset('Order')->search({ + order_id => {ilike => $c->stash->{id}}, + deleted => undef, + })->first; + } + else { + $order = $c->schema->resultset('Order')->find({ + id => $c->stash->{id}, + deleted => undef, + }); + } + return $c->error(404, 'NOT FOUND') if ! $order; + + my $pr = $c->_payment_request($order); + + $c->render( + status => 200, + json => $pr, + ); +} + sub qr ($c) { my $order; diff --git a/openapi.yaml b/openapi.yaml index 234e727..0bf067a 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -210,3 +210,25 @@ paths: application/json: schema: type: object + + /orders/{id}/payment/: + get: + x-mojo-to: orders#payment + tags: + - order + summary: "Info o platbe" + operationId: getOrderPayment + parameters: + - name: "id" + in: path + required: true + description: "ID nebo Pretix ID" + schema: + type: string + responses: + 200: + description: Informace o platbe + content: + application/json: + schema: + type: object -- GitLab