Biblioteca de queries
Biblioteca de queriesEnviar un email al admin notificando de un nuevo post

Enviar un email al admin notificando de un nuevo post

Esta consulta envía un email al usuario admin, notificando de la creación de un nuevo post en el sitio:

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
  }
}