more detailed person type (#12)
Co-authored-by: Michael Hoennig <michael@hoennig.de> Reviewed-on: https://dev.hostsharing.net/hostsharing/hs.hsadmin.ng/pulls/12 Reviewed-by: Michael Hierweck <michael.hierweck@hostsharing.net>
This commit is contained in:
@ -6,10 +6,12 @@ components:
|
||||
HsOfficePersonType:
|
||||
type: string
|
||||
enum:
|
||||
- NATURAL # a human
|
||||
- LEGAL # e.g. Corp., Inc., AG, GmbH, eG
|
||||
- SOLE_REPRESENTATION # e.g. OHG, GbR
|
||||
- JOINT_REPRESENTATION # e.g. community of heirs
|
||||
- UNKNOWN_PERSON
|
||||
- NATURAL_PERSON
|
||||
- LEGAL_PERSON
|
||||
- INCORPORATED_FIRM
|
||||
- UNINCORPORATED_FIRM
|
||||
- PUBLIC_INSTITUTION
|
||||
|
||||
HsOfficePerson:
|
||||
type: object
|
||||
|
@ -770,8 +770,8 @@ do $$
|
||||
|
||||
if '${HSADMINNG_POSTGRES_RESTRICTED_USERNAME}'='restricted' then
|
||||
create role restricted;
|
||||
grant all privileges on all tables in schema public to restricted;
|
||||
end if;
|
||||
-- grant all privileges on all tables in schema public to ${HSADMINNG_POSTGRES_RESTRICTED_USERNAME};
|
||||
end $$
|
||||
--//
|
||||
|
||||
|
@ -4,7 +4,13 @@
|
||||
--changeset hs-office-person-MAIN-TABLE:1 endDelimiter:--//
|
||||
-- ----------------------------------------------------------------------------
|
||||
|
||||
CREATE TYPE HsOfficePersonType AS ENUM ('UNKNOWN', 'NATURAL', 'LEGAL', 'SOLE_REPRESENTATION', 'JOINT_REPRESENTATION');
|
||||
CREATE TYPE HsOfficePersonType AS ENUM (
|
||||
'??', -- unknown
|
||||
'NP', -- natural person
|
||||
'LP', -- legal person
|
||||
'IF', -- incorporated firm
|
||||
'UF', -- unincorporated firm
|
||||
'PI'); -- public institution
|
||||
|
||||
CREATE CAST (character varying as HsOfficePersonType) WITH INOUT AS IMPLICIT;
|
||||
|
||||
|
@ -59,14 +59,14 @@ end; $$;
|
||||
|
||||
do language plpgsql $$
|
||||
begin
|
||||
call createHsOfficePersonTestData('LEGAL', 'First GmbH');
|
||||
call createHsOfficePersonTestData('NATURAL', null, 'Smith', 'Peter');
|
||||
call createHsOfficePersonTestData('LEGAL', 'Second e.K.', 'Sandra', 'Miller');
|
||||
call createHsOfficePersonTestData('SOLE_REPRESENTATION', 'Third OHG');
|
||||
call createHsOfficePersonTestData('SOLE_REPRESENTATION', 'Fourth e.G.');
|
||||
call createHsOfficePersonTestData('JOINT_REPRESENTATION', 'Erben Bessler', 'Mel', 'Bessler');
|
||||
call createHsOfficePersonTestData('NATURAL', null, 'Bessler', 'Anita');
|
||||
call createHsOfficePersonTestData('NATURAL', null, 'Winkler', 'Paul');
|
||||
call createHsOfficePersonTestData('LP', 'First GmbH');
|
||||
call createHsOfficePersonTestData('NP', null, 'Smith', 'Peter');
|
||||
call createHsOfficePersonTestData('LP', 'Second e.K.', 'Sandra', 'Miller');
|
||||
call createHsOfficePersonTestData('IF', 'Third OHG');
|
||||
call createHsOfficePersonTestData('IF', 'Fourth e.G.');
|
||||
call createHsOfficePersonTestData('UF', 'Erben Bessler', 'Mel', 'Bessler');
|
||||
call createHsOfficePersonTestData('NP', null, 'Bessler', 'Anita');
|
||||
call createHsOfficePersonTestData('NP', null, 'Winkler', 'Paul');
|
||||
end;
|
||||
$$;
|
||||
--//
|
||||
|
@ -19,7 +19,6 @@ declare
|
||||
relatedPerson hs_office_person;
|
||||
relatedContact hs_office_contact;
|
||||
relatedDetailsUuid uuid;
|
||||
birthday date;
|
||||
begin
|
||||
idName := cleanIdentifier( personTradeOrFamilyName|| '-' || contactLabel);
|
||||
currentTask := 'creating partner test-data ' || idName;
|
||||
@ -33,18 +32,14 @@ begin
|
||||
where c.label = contactLabel
|
||||
into relatedContact;
|
||||
|
||||
if relatedPerson.persontype = 'NATURAL' then
|
||||
birthday := '1987-10-31'::date;
|
||||
end if;
|
||||
|
||||
raise notice 'creating test partner: %', idName;
|
||||
raise notice '- using person (%): %', relatedPerson.uuid, relatedPerson;
|
||||
raise notice '- using contact (%): %', relatedContact.uuid, relatedContact;
|
||||
|
||||
if relatedPerson.persontype = 'NATURAL' then
|
||||
if relatedPerson.persontype = 'NP' then
|
||||
insert
|
||||
into hs_office_partner_details (uuid, birthName, birthday)
|
||||
values (uuid_generate_v4(), 'Meyer', '1987-10-31')
|
||||
into hs_office_partner_details (uuid, birthName, birthday, birthPlace)
|
||||
values (uuid_generate_v4(), 'Meyer', '1987-10-31', 'Hamburg')
|
||||
returning uuid into relatedDetailsUuid;
|
||||
else
|
||||
insert
|
||||
|
Reference in New Issue
Block a user