class Printos::EmailService
Constants
- API_BASE
Public Class Methods
email_role(org_id, role_name, subject, body)
click to toggle source
# File lib/printos/email_service.rb, line 7 def self.email_role(org_id, role_name, subject, body) user_ids = role_users(org_id, role_name) if user_ids && user_ids.size > 0 email_users(user_ids, subject, body) end end
email_users(user_ids, subject, body)
click to toggle source
# File lib/printos/email_service.rb, line 15 def self.email_users(user_ids, subject, body) pay_load = { userIds: user_ids, emailInfo: { subject: subject, body: body } } post_resource("#{API_BASE}/emails/users", pay_load, true) end
invite_user(cust_id, email, fname = "", lname = "")
click to toggle source
# File lib/printos/email_service.rb, line 26 def self.invite_user(cust_id, email, fname = "", lname = "") payload = { invitation: { email: email, firstName: fname, lastName: lname, internalId: { gbu: 'ThreeD', gbuInternalId: cust_id, internalIdType: 'PSPId' }, organizationType: 'PSP', invitationType: 'PSP_ADMIN', subType: '3dpaas', ext_payload: { onboard: { redirectAppId: '3dpaas', '3dpaas' => { customerRef: cust_id } } } } } post_resource("#{API_BASE}/invitations", payload, true) end
Private Class Methods
role_id(role_name)
click to toggle source
# File lib/printos/email_service.rb, line 55 def self.role_id(role_name) response = Printos::AaaService.system_roles(true) id = response[:systemRoles].select {|role| role[:name] == role_name}&.first&.dig(:id) raise "Unable to lookup id for role '#{role_name}'" unless (id) id end
role_users(org_id, role_name)
click to toggle source
# File lib/printos/email_service.rb, line 50 def self.role_users(org_id, role_name) system_role_users = Printos::AaaService.system_role_users(org_id, role_id(role_name)) system_role_users[:users].map {|user| user[:userId]} end