Insert new profiles as (in)active based on contract end date
Signed-off-by: Émile Ré <emile@getprobo.com>
This commit is contained in:
@@ -154,12 +154,9 @@ WITH people_identities AS (
|
|||||||
p.position AS position,
|
p.position AS position,
|
||||||
p.contract_start_date AS contract_start_date,
|
p.contract_start_date AS contract_start_date,
|
||||||
p.contract_end_date AS contract_end_date,
|
p.contract_end_date AS contract_end_date,
|
||||||
sc.id IS NOT NULL AS scim
|
|
||||||
FROM
|
FROM
|
||||||
peoples
|
peoples
|
||||||
JOIN identities i ON i.primary_email_address = p.primary_email_address
|
JOIN identities i ON i.primary_email_address = p.primary_email_address
|
||||||
JOIN organizations o ON o.id = p.organization_id
|
|
||||||
LEFT JOIN iam_scim_configurations sc ON sc.organization_id = o.id
|
|
||||||
),
|
),
|
||||||
people_memberships AS (
|
people_memberships AS (
|
||||||
INSERT INTO
|
INSERT INTO
|
||||||
@@ -182,7 +179,8 @@ people_memberships AS (
|
|||||||
'EMPLOYEE' :: authz_role,
|
'EMPLOYEE' :: authz_role,
|
||||||
'MANUAL',
|
'MANUAL',
|
||||||
CASE
|
CASE
|
||||||
WHEN pi.scim THEN 'INACTIVE' :: membership_state
|
WHEN p.contract_end_date IS NOT NULL
|
||||||
|
AND p.contract_end_date <= NOW() THEN 'INACTIVE' :: membership_state
|
||||||
ELSE 'ACTIVE' :: membership_state
|
ELSE 'ACTIVE' :: membership_state
|
||||||
END,
|
END,
|
||||||
NOW(),
|
NOW(),
|
||||||
|
|||||||
Reference in New Issue
Block a user