Biblioteca de queries
Biblioteca de queriesEnviar um email ao administrador notificando sobre uma nova publicação

Enviar um email ao administrador notificando sobre uma nova publicação

Esta query envia um email ao usuário administrador, notificando sobre a criação de uma nova publicação no site:

query GetPostAndExportData($postId: ID!) {
  post(by: { id: $postId }, status: any) {
    content @export(as: "postContent")
    title @export(as: "postTitle")
    url @export(as: "postURL")
  }
}
 
query GetEmailData
  @depends(on: "GetPostAndExportData")
{
  adminEmail: optionValue(name: "admin_email")
    @export(as: "adminEmail")
 
  emailMessageTemplate: _strConvertMarkdownToHTML(
    text: """
 
There is a [new post on the site]({$postURL}):
 
**{$postTitle}**:
 
{$postContent}
 
    """
  )
  emailMessage: _strReplaceMultiple(
    search: ["{$postTitle}", "{$postContent}", "{$postURL}"],
    replaceWith: [$postTitle, $postContent, $postURL],
    in: $__emailMessageTemplate
  )
    @export(as: "emailMessage")
 
  emailSubject: _sprintf(
    string: "New post: \"%s\"",
    values: [$postTitle]
  )
    @export(as: "emailSubject")
}
 
mutation SendEmailToAdminAboutNewPost @depends(on: "GetEmailData") {
  _sendEmail(
    input: {
      to: $adminEmail
      subject: $emailSubject
      messageAs: {
        html: $emailMessage
      }
    }
  ) {
    status
  }
}