Documentation ¶
Index ¶
- func AddNonProdEnvToSubject(subject string, env appconfig.Environment) string
- func HumanizeSnakeCase(s string) string
- type Client
- func (c Client) SendCantFindSomethingEmail(ctx context.Context, input SendCantFindSomethingEmailInput) error
- func (c Client) SendCedarNewTeamMemberEmail(ctx context.Context, newTeamMemberName string, newTeamMemberEmail string, ...) error
- func (c Client) SendCedarRolesChangedEmail(ctx context.Context, requesterFullName string, targetFullName string, ...) error
- func (c Client) SendCedarYouHaveBeenAddedEmail(ctx context.Context, systemName string, systemID string, roles []string, ...) error
- func (c Client) SendFeedbackEmail(ctx context.Context, input SendFeedbackEmailInput) error
- func (c Client) SendLCIDExpirationAlertEmail(ctx context.Context, recipients models.EmailNotificationRecipients, ...) error
- func (c Client) SendReportAProblemEmail(ctx context.Context, input SendReportAProblemEmailInput) error
- func (c Client) SendTRBAttendeeAddedNotification(ctx context.Context, attendeeEmail models.EmailAddress, requestName string, ...) error
- func (c Client) SendTRBEditsNeededOnFormNotification(ctx context.Context, recipients []models.EmailAddress, copyTRBMailbox bool, ...) error
- func (c Client) SendTRBFormSubmissionNotificationToAdmins(ctx context.Context, requestID uuid.UUID, requestName string, ...) error
- func (c Client) SendTRBFormSubmissionNotificationToRequester(ctx context.Context, requestID uuid.UUID, requestName string, ...) error
- func (c Client) SendTRBGuidanceLetterInternalReviewEmail(ctx context.Context, input SendTRBGuidanceLetterInternalReviewEmailInput) error
- func (c Client) SendTRBGuidanceLetterSubmittedEmail(ctx context.Context, input SendTRBGuidanceLetterSubmittedEmailInput) error
- func (c Client) SendTRBReadyForConsultNotification(ctx context.Context, recipients []models.EmailAddress, copyTRBMailbox bool, ...) error
- func (c Client) SendTRBRequestClosedEmail(ctx context.Context, input SendTRBRequestClosedEmailInput) error
- func (c Client) SendTRBRequestConsultMeetingEmail(ctx context.Context, input SendTRBRequestConsultMeetingEmailInput) error
- func (c Client) SendTRBRequestReopenedEmail(ctx context.Context, input SendTRBRequestReopenedEmailInput) error
- func (c Client) SendTRBRequestTRBLeadAssignedEmails(ctx context.Context, input SendTRBRequestTRBLeadEmailInput) error
- func (c Client) SendTestEmail(ctx context.Context) error
- func (c Client) SendWithdrawRequestEmail(ctx context.Context, requestName string) error
- type Config
- type Email
- func (e Email) WithBCCAddresses(bccAddresses []models.EmailAddress) Email
- func (e Email) WithBody(body string) Email
- func (e Email) WithCCAddresses(ccAddresses []models.EmailAddress) Email
- func (e Email) WithSubject(subject string) Email
- func (e Email) WithToAddresses(toAddresses []models.EmailAddress) Email
- type SendCantFindSomethingEmailInput
- type SendFeedbackEmailInput
- type SendReportAProblemEmailInput
- type SendSystemIntakeAdminUploadDocEmailInput
- type SendTRBGuidanceLetterInternalReviewEmailInput
- type SendTRBGuidanceLetterSubmittedEmailInput
- type SendTRBRequestClosedEmailInput
- type SendTRBRequestConsultMeetingEmailInput
- type SendTRBRequestReopenedEmailInput
- type SendTRBRequestTRBLeadEmailInput
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddNonProdEnvToSubject ¶
func AddNonProdEnvToSubject(subject string, env appconfig.Environment) string
AddNonProdEnvToSubject takes a subject and an environment and returns a new subject with the environment prepended if (and only if) the environment is non-production Otherwise, it returns the original subject
func HumanizeSnakeCase ¶
HumanizeSnakeCase replaces underscores with spaces and converts an uppercased word to a capitalized one
Types ¶
type Client ¶
type Client struct { SystemIntake *systemIntakeEmails // contains filtered or unexported fields }
Client is an EASi SES client wrapper
func (Client) SendCantFindSomethingEmail ¶
func (c Client) SendCantFindSomethingEmail(ctx context.Context, input SendCantFindSomethingEmailInput) error
SendCantFindSomethingEmail sends an email to the EASI team containing a user's request for help
func (Client) SendCedarNewTeamMemberEmail ¶
func (Client) SendCedarRolesChangedEmail ¶
func (c Client) SendCedarRolesChangedEmail( ctx context.Context, requesterFullName string, targetFullName string, didAdd bool, didDelete bool, roleTypeNamesBefore []string, roleTypeNamesAfter []string, systemName string, timestamp time.Time, ) error
SendCedarRolesChangedEmail notifies someone that they've been added as an attendee on a TRB request
func (Client) SendCedarYouHaveBeenAddedEmail ¶
func (Client) SendFeedbackEmail ¶
func (c Client) SendFeedbackEmail(ctx context.Context, input SendFeedbackEmailInput) error
SendFeedbackEmail sends an email to the EASI team containing feedback from a user
func (Client) SendLCIDExpirationAlertEmail ¶
func (c Client) SendLCIDExpirationAlertEmail( ctx context.Context, recipients models.EmailNotificationRecipients, systemIntakeID uuid.UUID, projectName string, requesterName string, lcid string, lcidIssuedAt *time.Time, lcidExpirationDate *time.Time, scope models.HTML, lifecycleCostBaseline string, nextSteps models.HTML, ) error
SendLCIDExpirationAlertEmail sends an email to the governance mailbox notifying them about LCID that is expiring soon
func (Client) SendReportAProblemEmail ¶
func (c Client) SendReportAProblemEmail(ctx context.Context, input SendReportAProblemEmailInput) error
SendReportAProblemEmail sends an email to the EASI team containing a user's request for help
func (Client) SendTRBAttendeeAddedNotification ¶
func (c Client) SendTRBAttendeeAddedNotification( ctx context.Context, attendeeEmail models.EmailAddress, requestName string, requesterName string, ) error
SendTRBAttendeeAddedNotification notifies someone that they've been added as an attendee on a TRB request
func (Client) SendTRBEditsNeededOnFormNotification ¶
func (c Client) SendTRBEditsNeededOnFormNotification( ctx context.Context, recipients []models.EmailAddress, copyTRBMailbox bool, requestID uuid.UUID, requestName string, requesterName string, feedback models.HTML, ) error
SendTRBEditsNeededOnFormNotification notifies user-selected recipients that a TRB request form needs edits
func (Client) SendTRBFormSubmissionNotificationToAdmins ¶
func (c Client) SendTRBFormSubmissionNotificationToAdmins(ctx context.Context, requestID uuid.UUID, requestName string, requesterName string, component string) error
SendTRBFormSubmissionNotificationToAdmins notifies the TRB admin mailbox that a TRB Request form has been submitted
func (Client) SendTRBFormSubmissionNotificationToRequester ¶
func (c Client) SendTRBFormSubmissionNotificationToRequester( ctx context.Context, requestID uuid.UUID, requestName string, requesterEmail models.EmailAddress, requesterName string, ) error
SendTRBFormSubmissionNotificationToRequester notifies a TRB requester that their TRB Request form has been submitted
func (Client) SendTRBGuidanceLetterInternalReviewEmail ¶
func (c Client) SendTRBGuidanceLetterInternalReviewEmail(ctx context.Context, input SendTRBGuidanceLetterInternalReviewEmailInput) error
SendTRBGuidanceLetterInternalReviewEmail sends an email to the EASI admin team indicating that a guidance letter is ready for internal review
func (Client) SendTRBGuidanceLetterSubmittedEmail ¶
func (c Client) SendTRBGuidanceLetterSubmittedEmail(ctx context.Context, input SendTRBGuidanceLetterSubmittedEmailInput) error
SendTRBGuidanceLetterSubmittedEmail sends an email to the EASI admin team indicating that a guidance letter has been submitted
func (Client) SendTRBReadyForConsultNotification ¶
func (c Client) SendTRBReadyForConsultNotification( ctx context.Context, recipients []models.EmailAddress, copyTRBMailbox bool, requestID uuid.UUID, requestName string, requesterName string, feedback models.HTML, ) error
SendTRBReadyForConsultNotification notifies user-selected recipients that a TRB request is ready for its consult session
func (Client) SendTRBRequestClosedEmail ¶
func (c Client) SendTRBRequestClosedEmail(ctx context.Context, input SendTRBRequestClosedEmailInput) error
SendTRBRequestClosedEmail sends an email to the EASI admin team indicating that a TRB request has been closed
func (Client) SendTRBRequestConsultMeetingEmail ¶
func (c Client) SendTRBRequestConsultMeetingEmail(ctx context.Context, input SendTRBRequestConsultMeetingEmailInput) error
SendTRBRequestConsultMeetingEmail sends an email to the EASI team containing a user's request for help
func (Client) SendTRBRequestReopenedEmail ¶
func (c Client) SendTRBRequestReopenedEmail(ctx context.Context, input SendTRBRequestReopenedEmailInput) error
SendTRBRequestReopenedEmail sends an email to the EASI admin team indicating that a TRB request has been re-opened
func (Client) SendTRBRequestTRBLeadAssignedEmails ¶
func (c Client) SendTRBRequestTRBLeadAssignedEmails(ctx context.Context, input SendTRBRequestTRBLeadEmailInput) error
SendTRBRequestTRBLeadAssignedEmails sends emails to the TRB team and the TRB lead when the lead is assigned to a TRB request
func (Client) SendTestEmail ¶
SendTestEmail sends an email to a no-reply address
type Config ¶
type Config struct { GRTEmail models.EmailAddress ITInvestmentEmail models.EmailAddress EASIHelpEmail models.EmailAddress TRBEmail models.EmailAddress CEDARTeamEmail models.EmailAddress OITFeedbackChannelSlackLink string URLHost string URLScheme string TemplateDirectory string }
Config holds EASi application specific configs for SES
type Email ¶
type Email struct { ToAddresses []models.EmailAddress CcAddresses []models.EmailAddress BccAddresses []models.EmailAddress Subject string Body string }
func (Email) WithBCCAddresses ¶
func (e Email) WithBCCAddresses(bccAddresses []models.EmailAddress) Email
func (Email) WithCCAddresses ¶
func (e Email) WithCCAddresses(ccAddresses []models.EmailAddress) Email
func (Email) WithSubject ¶
func (Email) WithToAddresses ¶
func (e Email) WithToAddresses(toAddresses []models.EmailAddress) Email
type SendCantFindSomethingEmailInput ¶
SendCantFindSomethingEmailInput contains the data submitted by the user to the "can't find find what you're looking for" help form
type SendFeedbackEmailInput ¶
type SendFeedbackEmailInput struct { IsAnonymous bool ReporterName string ReporterEmail string CanBeContacted bool EasiServicesUsed []string CmsRole string SystemEasyToUse string DidntNeedHelpAnswering string QuestionsWereRelevant string HadAccessToInformation string HowSatisfied string HowCanWeImprove string }
SendFeedbackEmailInput contains the data submitted by the user to send feedback
type SendReportAProblemEmailInput ¶
type SendReportAProblemEmailInput struct { IsAnonymous bool ReporterName string ReporterEmail string CanBeContacted bool EasiService string WhatWereYouDoing string WhatWentWrong string HowSevereWasTheProblem string }
SendReportAProblemEmailInput contains the data submitted by the user to the "report a problem" help form
type SendTRBGuidanceLetterInternalReviewEmailInput ¶
type SendTRBGuidanceLetterInternalReviewEmailInput struct { TRBRequestID uuid.UUID TRBRequestName string TRBLeadName string }
SendTRBGuidanceLetterInternalReviewEmailInput contains the data needed to to send the TRB guidance letter internal review email
type SendTRBGuidanceLetterSubmittedEmailInput ¶
type SendTRBGuidanceLetterSubmittedEmailInput struct { TRBRequestID uuid.UUID RequestName string RequestType string RequesterName string Component string SubmissionDate *time.Time ConsultDate *time.Time CopyTRBMailbox bool Recipients []models.EmailAddress }
SendTRBGuidanceLetterSubmittedEmailInput contains the data needed to to send the TRB guidance letter submitted email
type SendTRBRequestClosedEmailInput ¶
type SendTRBRequestClosedEmailInput struct { TRBRequestID uuid.UUID TRBRequestName string RequesterName string Recipients []models.EmailAddress CopyTRBMailbox bool ReasonClosed models.HTML }
SendTRBRequestClosedEmailInput contains the data needed to to send the TRB request closed email
type SendTRBRequestConsultMeetingEmailInput ¶
type SendTRBRequestConsultMeetingEmailInput struct { TRBRequestID uuid.UUID ConsultMeetingTime time.Time CopyTRBMailbox bool NotifyEmails []models.EmailAddress TRBRequestName string Notes string RequesterName string }
SendTRBRequestConsultMeetingEmailInput contains the data submitted by the user to the "report a problem" help form
type SendTRBRequestReopenedEmailInput ¶
type SendTRBRequestReopenedEmailInput struct { TRBRequestID uuid.UUID TRBRequestName string RequesterName string Recipients []models.EmailAddress CopyTRBMailbox bool ReasonReopened models.HTML }
SendTRBRequestReopenedEmailInput contains the data needed to send the TRB guidance letter submitted email
type SendTRBRequestTRBLeadEmailInput ¶
type SendTRBRequestTRBLeadEmailInput struct { TRBRequestID uuid.UUID TRBRequestName string RequesterName string TRBLeadName string Component string TRBLeadEmail models.EmailAddress }
SendTRBRequestTRBLeadEmailInput contains the data needed to send an email to the TRB team indicating that a TRB lead has been assigned
Source Files ¶
- cedar_new_team_member.go
- cedar_roles_changed.go
- cedar_you_have_been_added.go
- email.go
- help_cant_find_something.go
- help_report_a_problem.go
- help_send_feedback.go
- request_withdraw.go
- subject_prepender.go
- system_intake_admin_upload_doc.go
- system_intake_change_lcid_retirement_date.go
- system_intake_close.go
- system_intake_confirm_lcid.go
- system_intake_create_grb_reviewer.go
- system_intake_emails.go
- system_intake_expire_lcid.go
- system_intake_issue_lcid.go
- system_intake_lcid_expiration_alert.go
- system_intake_not_approved.go
- system_intake_not_it_gov_request.go
- system_intake_progress_to_new_step.go
- system_intake_reopen.go
- system_intake_request_edits.go
- system_intake_retire_lcid.go
- system_intake_submit_business_case.go
- system_intake_submit_initial_form.go
- system_intake_unretire_lcid.go
- system_intake_update_lcid.go
- trb_attendee_added.go
- trb_edits_needed_on_form.go
- trb_guidance_letter_internal_review.go
- trb_guidance_letter_submitted.go
- trb_ready_for_consult.go
- trb_request_closed.go
- trb_request_consult_meeting.go
- trb_request_form_submission.go
- trb_request_reopened.go
- trb_request_trb_lead.go