Guest User

Untitled

a guest
Jan 16th, 2019
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.43 KB | None | 0 0
  1. import "reflect-metadata";
  2. import { APIGatewayEvent, Context } from "aws-lambda";
  3. import { BaseEntity, Column, Connection, Entity, getConnectionManager, PrimaryColumn } from "typeorm";
  4. import v4 = require("uuid/v4");
  5.  
  6. @Entity()
  7. export class TData extends BaseEntity {
  8. @PrimaryColumn()
  9. public id: string;
  10.  
  11. @Column()
  12. public colA: string;
  13. }
  14.  
  15. const manager = getConnectionManager();
  16. let conn: Connection;
  17.  
  18. export async function handle(event: APIGatewayEvent, context: Context) {
  19. if (manager.has("default")) {
  20. conn = await manager.get("default");
  21. console.log("Reusing EXISTING connection from manager.");
  22. } else {
  23. console.log("Creating NEW connection to DB.");
  24. conn = await manager.create({
  25. name: "default",
  26. type: "postgres",
  27. port: process.env.DB_PORT
  28. ? parseInt(process.env.DB_PORT, 10)
  29. : 5432,
  30. synchronize: true,
  31. logging: "all",
  32. host: process.env.DB_HOST,
  33. username: process.env.DB_USERNAME,
  34. database: process.env.DB_NAME,
  35. password: process.env.DB_PASSWORD,
  36. entities: [TData]
  37. });
  38. }
  39.  
  40. if (! conn.isConnected) {
  41. console.log("CACHED connection was NOT connected, attempting to reconnect.")
  42. await conn.connect();
  43. }
  44.  
  45. const data = new TData();
  46. data.id = v4();
  47. data.colA = "colA";
  48.  
  49. await data.save();
  50.  
  51. return data;
  52. }
Add Comment
Please, Sign In to add comment