diff --git a/hasura/metadata/tables.yaml b/hasura/metadata/tables.yaml index 6810d55d3..08e234281 100644 --- a/hasura/metadata/tables.yaml +++ b/hasura/metadata/tables.yaml @@ -4502,6 +4502,62 @@ _eq: X-Hasura-User-Id - active: _eq: true +- table: + name: payment_response + schema: public + object_relationships: + - name: bodyshop + using: + foreign_key_constraint_on: bodyshopid + - name: job + using: + foreign_key_constraint_on: jobid + - name: payment + using: + foreign_key_constraint_on: paymentid + insert_permissions: + - role: user + permission: + check: + bodyshop: + associations: + _and: + - user: + authid: + _eq: X-Hasura-User-Id + - active: + _eq: true + columns: + - amount + - bodyshopid + - declinereason + - ext_paymentid + - jobid + - paymentid + - response + - successful + select_permissions: + - role: user + permission: + columns: + - successful + - response + - amount + - declinereason + - ext_paymentid + - bodyshopid + - id + - jobid + - paymentid + filter: + bodyshop: + associations: + _and: + - user: + authid: + _eq: X-Hasura-User-Id + - active: + _eq: true - table: name: payments schema: public diff --git a/hasura/migrations/1677082378941_create_table_public_payment_response/down.sql b/hasura/migrations/1677082378941_create_table_public_payment_response/down.sql new file mode 100644 index 000000000..be122bd24 --- /dev/null +++ b/hasura/migrations/1677082378941_create_table_public_payment_response/down.sql @@ -0,0 +1 @@ +DROP TABLE "public"."payment_response"; diff --git a/hasura/migrations/1677082378941_create_table_public_payment_response/up.sql b/hasura/migrations/1677082378941_create_table_public_payment_response/up.sql new file mode 100644 index 000000000..4cacf9df9 --- /dev/null +++ b/hasura/migrations/1677082378941_create_table_public_payment_response/up.sql @@ -0,0 +1,2 @@ +CREATE TABLE "public"."payment_response" ("id" uuid NOT NULL DEFAULT gen_random_uuid(), "bodyshopid" uuid NOT NULL, "jobid" uuid, "paymentid" uuid, "successful" boolean NOT NULL DEFAULT false, "ext_paymentid" text NOT NULL, "amount" numeric NOT NULL, "declinereason" text, "response" jsonb NOT NULL DEFAULT jsonb_build_object(), PRIMARY KEY ("id") , FOREIGN KEY ("bodyshopid") REFERENCES "public"."bodyshops"("id") ON UPDATE cascade ON DELETE cascade, FOREIGN KEY ("jobid") REFERENCES "public"."jobs"("id") ON UPDATE cascade ON DELETE cascade, FOREIGN KEY ("paymentid") REFERENCES "public"."payments"("id") ON UPDATE cascade ON DELETE cascade); +CREATE EXTENSION IF NOT EXISTS pgcrypto;