pointyapi-mailer
TypeScript icon, indicating that this package has built-in type declarations

0.0.9 • Public • Published

PointyAPI User Mailer Module

Created by Stateless Studio

Installation

npm i pointyapi-mailer

Step 1: Create Model

Create the following Model file:

/src/models/email-template.ts

// Typeorm Columns
import { Entity } from 'typeorm';
import { BaseEmailTemplate } from 'pointyapi-mailer/model';

/**
 * EmailTemplate Entity
 */
@Entity()
export class EmailTemplate extends BaseEmailTemplate {}

Step 2: Create Router

Create this router file:

/src/routers/email-template.ts

import { Router } from 'express';
import { createRouter } from 'pointyapi-mailer/router';
import { EmailTemplate } from '../models/email-template';

let router: Router = Router();

router = createRouter(router, EmailTemplate);

export const emailTemplateRouter: Router = router;

Step 3: Initialize

Import module:

/src/server.ts

...

// Import email module
import { MailerModule } from 'pointyapi-mailer';
import { EmailTemplate } from './models/email-template';
import { emailTemplateRouter } from './routes/email-template';

...

Add EmailTemplate model to setEntities

/src/server.ts

	...

	await pointy.db
		.setEntities([
			...
			EmailTemplate // Add this line
		])
		.connect(ROOT_PATH)
		.catch((error) => pointy.error('Error', error));

	...

Add template router to app

/src/server.ts

pointy.before = async (app) => {
	...
	app.use('/api/v1/email-template', emailTemplateRouter); // Add this line
	...

Initialize MailerModule

/src/server.ts

pointy.before = async (app) => {
	...

	// Mailgun
	MailerModule.init(EmailTemplate);

	...

Readme

Keywords

none

Package Sidebar

Install

npm i pointyapi-mailer

Weekly Downloads

2

Version

0.0.9

License

MIT

Unpacked Size

47.5 kB

Total Files

25

Last publish

Collaborators

  • stateless-studio