diff --git a/mygovid-mock-service/src/routes/static/mock-login.html b/mygovid-mock-service/src/routes/static/mock-login.html index aeef9c9dfd8..9259f76ba3e 100644 --- a/mygovid-mock-service/src/routes/static/mock-login.html +++ b/mygovid-mock-service/src/routes/static/mock-login.html @@ -218,11 +218,18 @@ }, { user_name: "Tony Stark", - govid_email: "tony.stark@mail.ie", + govid_email: "tony.stark@gov.ie", oid: "71848ec91433bc4222d0", sub: "7ffe40ff7d558de01c54", is_public_servant: true, }, + { + user_name: "John Doe", + govid_email: "john.doe@gov.ie", + oid: "71848ec91433bc422244", + sub: "7ffe40ff7d558de01c67", + is_public_servant: true, + }, ] } diff --git a/packages/cli/src/commands/database/ogcio/ogcio-seeder-local.json b/packages/cli/src/commands/database/ogcio/ogcio-seeder-local.json index b1f30bfee72..6fef86fe66e 100644 --- a/packages/cli/src/commands/database/ogcio/ogcio-seeder-local.json +++ b/packages/cli/src/commands/database/ogcio/ogcio-seeder-local.json @@ -5,6 +5,11 @@ "name": "OGCIO Seeded Org", "description": "Organization created through seeder", "id": "ogcio" + }, + { + "name": "Inactive Public Servants Org", + "description": "Temporary organization for inactive Public Servants", + "id": "inactive-ps-org" } ], "organization_permissions": { @@ -18,7 +23,8 @@ "messaging:template:*", "messaging:citizen:*", "messaging:event:read", - "life-events:digital-wallet-flow:*" + "life-events:digital-wallet-flow:*", + "bb:public-servant.inactive:*" ] }, "organization_roles": [ @@ -50,6 +56,12 @@ "name": "Life Events Public Servant", "description": "Life Events Public servant", "specific_permissions": ["life-events:digital-wallet-flow:*"] + }, + { + "id": "bb-inactive-ps", + "name": "Inactive Public Servant", + "description": "Inactive Public Servant", + "specific_permissions": ["bb:public-servant.inactive:*"] } ], "applications": [ diff --git a/packages/cli/src/commands/database/ogcio/ogcio-seeder.json b/packages/cli/src/commands/database/ogcio/ogcio-seeder.json index bc2316ccce6..a3095156eba 100644 --- a/packages/cli/src/commands/database/ogcio/ogcio-seeder.json +++ b/packages/cli/src/commands/database/ogcio/ogcio-seeder.json @@ -5,6 +5,11 @@ "name": "OGCIO", "description": "OGCIO Organization", "id": "ogcio" + }, + { + "name": "Inactive Public Servants Org", + "description": "Temporary organization for inactive Public Servants", + "id": "inactive-ps-org" } ], "organization_permissions": { @@ -18,7 +23,8 @@ "messaging:template:*", "messaging:citizen:*", "messaging:event:read", - "life-events:digital-wallet-flow:*" + "life-events:digital-wallet-flow:*", + "bb:public-servant.inactive:*" ] }, "organization_roles": [ @@ -50,6 +56,12 @@ "name": "Life Events Public Servant", "description": "Life Events Public servant", "specific_permissions": ["life-events:digital-wallet-flow:*"] + }, + { + "id": "bb-inactive-ps", + "name": "Inactive Public Servant", + "description": "Inactive Public Servant", + "specific_permissions": ["bb:public-servant.inactive:*"] } ], "applications": [ diff --git a/packages/core/src/libraries/ogcio-constants.ts b/packages/core/src/libraries/ogcio-constants.ts index 67aede7aa86..578272635d2 100644 --- a/packages/core/src/libraries/ogcio-constants.ts +++ b/packages/core/src/libraries/ogcio-constants.ts @@ -1,9 +1,11 @@ export const OGCIO_ORGANIZATIONS = { OGCIO: 'ogcio', + INACTIVE_PS: 'inactive-ps-org', }; export const OGCIO_ORGANIZATION_ROLES = { - BB_PUBLIC_SERVANT: 'pay-public-servant', + INACTIVE_PUBLIC_SERVANT: 'bb-inactive-ps', + PAY_PUBLIC_SERVANT: 'pay-public-servant', MSG_PUBLIC_SERVANT: 'msg-public-servant', }; diff --git a/packages/core/src/libraries/ogcio-user.ts b/packages/core/src/libraries/ogcio-user.ts index 42ff811612d..f807b2a6b51 100644 --- a/packages/core/src/libraries/ogcio-user.ts +++ b/packages/core/src/libraries/ogcio-user.ts @@ -162,7 +162,7 @@ const assignCitizenRole = async ( const assignUserToOrganization = async (user: User, organizationQueries: OrganizationQueries) => { try { - const organization = await organizationQueries.findById(OGCIO_ORGANIZATIONS.OGCIO); + const organization = await organizationQueries.findById(OGCIO_ORGANIZATIONS.INACTIVE_PS); await organizationQueries.relations.users.insert({ organizationId: organization.id, userId: user.id, @@ -179,7 +179,7 @@ const assignOrganizationRoleToUser = async ( organizationQueries: OrganizationQueries ) => { const publicServantRole = await organizationQueries.roles.findById( - OGCIO_ORGANIZATION_ROLES.BB_PUBLIC_SERVANT + OGCIO_ORGANIZATION_ROLES.INACTIVE_PUBLIC_SERVANT ); await organizationQueries.relations.usersRoles.insert({ @@ -189,7 +189,10 @@ const assignOrganizationRoleToUser = async ( }); }; -const assignPublicServantRole = async (user: User, organizationQueries: OrganizationQueries) => { +const assignInactivePublicServantRole = async ( + user: User, + organizationQueries: OrganizationQueries +) => { const organization = await assignUserToOrganization(user, organizationQueries); if (!organization) { @@ -222,7 +225,7 @@ export const manageDefaultUserRole = async ( } if (PUBLIC_SERVANT_DOMAINS.has(domain)) { - return assignPublicServantRole(user, organizationQueries); + return assignInactivePublicServantRole(user, organizationQueries); } return assignCitizenRole(user, getRoles, insertUsersRoles);