Sendgrid-nodejs: dynamic_template_data não documentado apropriadamente nas interfaces typescript MailData e PersonalizationData

Criado em 3 mai. 2019  ·  4Comentários  ·  Fonte: sendgrid/sendgrid-nodejs

Resumo do problema

MailData atualmente é capaz de pegar uma propriedade dynamic_template_data , mas sua interface não contém esse campo.

De maneira semelhante, PersonalizationData tem um campo chamado dynamicTemplateData que, até onde posso dizer, não faz nada para modelos dinâmicos. No entanto, se usarmos dynamic_template_data , o guiador dos modelos será substituído corretamente (mas gerará o mesmo erro tslint).

Provavelmente está relacionado a este commit, onde dynamicTemplateData deveria ter sido dynamic_template_data
https://github.com/sendgrid/sendgrid-nodejs/pull/716/files

Passos para reproduzir

  1. Declare uma variável do tipo MailData com um campo chamado dynamic_template_data
const mailOptions: MailData = {
  ...
  dynamic_template_data: {
     hello: "world
  }
}

Comportamento esperado:
tslint não mostra nenhum erro

Comportamento Real
tslint gera um erro de Object literal may only specify known properties

Detalhes técnicos:

"@sendgrid/helpers": "^6.3.0",
"@sendgrid/mail": "^6.3.1",
Node.js Version: v10.15.3
duplicate

Comentários muito úteis

Também estou vendo esse problema. @okhomenko você conseguiu encontrar uma solução?

Todos 4 comentários

Olá @ alberto-fp-24,

Temos um deploy na segunda-feira que deve resolver esse problema. Veja aqui o contexto.

Obrigado!

Obrigado pela atenção,

Elmer

Mesmo assim, dynamic_template_data não existe em MailData:

/** <strong i="6">@type</strong> {import('@sendgrid/helpers/classes/mail').MailData} */
    const emailContent = {
      to: toEmail,
      from: this.SG_USER,
      templateId,
      asm: {
        groupId,
      },
      dynamic_template_data: {
        ...body,
        testingHead: debug.head,
        testingBody: debug.body,
      },
      mail_settings: {
        sandbox_mode: {
          enable: sendgridSandboxMode,
        },
      },
    };

Type '{ to: string; from: any; templateId: string; asm: { groupId: number; }; dynamic_template_data: any; mail_settings: { sandbox_mode: { enable: any; }; }; }' is not assignable to type 'MailData'. Object literal may only specify known properties, but 'dynamic_template_data' does not exist in type 'MailData'. Did you mean to write 'dynamicTemplateData'?ts(2322)

Também estou vendo esse problema. @okhomenko você conseguiu encontrar uma solução?

2021 o mesmo problema ainda está acontecendo

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

Chrischuck picture Chrischuck  ·  3Comentários

wooyah picture wooyah  ·  4Comentários

prasoonjalan picture prasoonjalan  ·  3Comentários

danielflippance picture danielflippance  ·  4Comentários

Loriot-n picture Loriot-n  ·  4Comentários