diff options
| author | rlaks5757 <rlaks5757@gmail.com> | 2025-03-27 17:48:36 +0900 |
|---|---|---|
| committer | rlaks5757 <rlaks5757@gmail.com> | 2025-03-27 17:48:36 +0900 |
| commit | 773918229ccb14c0d00798fbbf2b2be0130a8251 (patch) | |
| tree | ab9e200e65cc471ec139cd8482bde70a3b0a105f /db/migrations/0103_huge_wallflower.sql | |
| parent | 92ddb4f13d48cbf344dc2bf63df4457b3c713608 (diff) | |
| parent | 34bbeb86c1a8d24b5f526710889b5e54d699cfd0 (diff) | |
merge complete
Diffstat (limited to 'db/migrations/0103_huge_wallflower.sql')
| -rw-r--r-- | db/migrations/0103_huge_wallflower.sql | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/db/migrations/0103_huge_wallflower.sql b/db/migrations/0103_huge_wallflower.sql new file mode 100644 index 00000000..b108d28f --- /dev/null +++ b/db/migrations/0103_huge_wallflower.sql @@ -0,0 +1,37 @@ +DROP VIEW "public"."contracts_detail_view";--> statement-breakpoint +CREATE VIEW "public"."contracts_detail_view" AS (select "contracts"."id", "contracts"."contract_no", "contracts"."contract_name", "contracts"."status", "contracts"."start_date", "contracts"."end_date", "contracts"."project_id", "projects"."code", "projects"."name", "contracts"."vendor_id", "vendors"."vendor_name", "contracts"."payment_terms", "contracts"."delivery_terms", "contracts"."delivery_date", "contracts"."delivery_location", "contracts"."currency", "contracts"."total_amount", "contracts"."discount", "contracts"."tax", "contracts"."shipping_fee", "contracts"."net_total", "contracts"."partial_shipping_allowed", "contracts"."partial_payment_allowed", "contracts"."remarks", "contracts"."version", "contracts"."created_at", "contracts"."updated_at", EXISTS ( + SELECT 1 + FROM "contract_envelopes" + WHERE "contract_envelopes"."contract_id" = "contracts"."id" + ) as "has_signature", COALESCE(( + SELECT json_agg( + json_build_object( + 'id', ce.id, + 'envelopeId', ce.envelope_id, + 'documentId', ce.document_id, + 'envelopeStatus', ce.envelope_status, + 'fileName', ce.file_name, + 'filePath', ce.file_path, + 'createdAt', ce.created_at, + 'updatedAt', ce.updated_at, + 'signers', ( + SELECT json_agg( + json_build_object( + 'id', cs.id, + 'vendorContactId', cs.vendor_contact_id, + 'signerType', cs.signer_type, + 'signerEmail', cs.signer_email, + 'signerName', cs.signer_name, + 'signerPosition', cs.signer_position, + 'signerStatus', cs.signer_status, + 'signedAt', cs.signed_at + ) + ) + FROM "contract_signers" AS cs + WHERE cs.envelope_id = ce.id + ) + ) + ) + FROM "contract_envelopes" AS ce + WHERE ce.contract_id = "contracts"."id" + ), '[]') as "envelopes" from "contracts" left join "projects" on "contracts"."project_id" = "projects"."id" left join "vendors" on "contracts"."vendor_id" = "vendors"."id");
\ No newline at end of file |
