From 771359dd736cef67c694bf2cea5c755d1a49e6d6 Mon Sep 17 00:00:00 2001 From: lahirulakruwan Date: Mon, 30 Sep 2024 14:43:19 +0530 Subject: [PATCH] update person api changes added --- api/main.bal | 34 ++++++++++++++++++++++++---------- api/types.bal | 1 + 2 files changed, 25 insertions(+), 10 deletions(-) diff --git a/api/main.bal b/api/main.bal index a4cba60..92a2b9c 100644 --- a/api/main.bal +++ b/api/main.bal @@ -5498,9 +5498,8 @@ AND p.organization_id IN ( isolated resource function get persons(int? organization_id, int? avinya_type_id) returns PersonData[]|error? { stream persons_data; - if (organization_id != null && avinya_type_id != null) { - - lock { + if(organization_id != null && organization_id != -1 && avinya_type_id !=null){ + lock { persons_data = db_client->query( `SELECT * from person p @@ -5513,6 +5512,22 @@ AND p.organization_id IN ( );`); } + } else if (organization_id != null && organization_id ==-1 && avinya_type_id != null) { + + lock { + persons_data = db_client->query( + `SELECT * + from person p + where + p.avinya_type_id = ${avinya_type_id} and + p.organization_id IN( + Select child_org_id + from parent_child_organization pco + );`); + } + } else { + return error("Provide non-null values for both 'organization_id' and 'avinya_type_id'."); + } PersonData[] personDatas = []; check from Person person_data_record in persons_data @@ -5525,9 +5540,6 @@ AND p.organization_id IN ( check persons_data.close(); return personDatas; - } else { - return error("Provide non-null values for both 'organization_id' and 'avinya_type_id'."); - } } @@ -5555,6 +5567,7 @@ AND p.organization_id IN ( transaction { int permanent_address_id = permanent_address?.id ?: 0; + City permanent_address_city = permanent_address?.city; Address|error? permanent_address_raw = db_client->queryRow( `SELECT * @@ -5569,7 +5582,7 @@ AND p.organization_id IN ( `UPDATE address SET street_address = ${permanent_address?.street_address}, phone = ${permanent_address?.phone}, - city_id = ${permanent_address?.city_id} + city_id = ${permanent_address_city.id} WHERE id = ${permanent_address_id};`); permanent_address_insert_id = permanent_address_id; @@ -5589,7 +5602,7 @@ AND p.organization_id IN ( ) VALUES( ${permanent_address?.street_address}, ${permanent_address?.phone}, - ${permanent_address?.city_id} + ${permanent_address_city.id} );` ); @@ -5602,6 +5615,7 @@ AND p.organization_id IN ( } int mailing_address_id = mailing_address?.id ?: 0; + City mailing_address_city = mailing_address?.city; Address|error? mailing_address_raw = db_client->queryRow( `SELECT * @@ -5617,7 +5631,7 @@ AND p.organization_id IN ( `UPDATE address SET street_address = ${mailing_address?.street_address}, phone = ${mailing_address?.phone}, - city_id = ${mailing_address?.city_id} + city_id = ${mailing_address_city.id} WHERE id = ${mailing_address_id};`); mailing_address_insert_id = mailing_address_id; @@ -5637,7 +5651,7 @@ AND p.organization_id IN ( ) VALUES( ${mailing_address?.street_address}, ${mailing_address?.phone}, - ${mailing_address?.city_id} + ${mailing_address_city.id} );` ); diff --git a/api/types.bal b/api/types.bal index eeec072..a9a60e2 100644 --- a/api/types.bal +++ b/api/types.bal @@ -50,6 +50,7 @@ public type Address record { string street_address; int? phone; int city_id; + City? city; }; public type AvinyaType record {|