mirror of
https://github.com/socketio/socket.io.git
synced 2026-04-30 03:00:39 -04:00
52 lines
1.1 KiB
JavaScript
52 lines
1.1 KiB
JavaScript
import { createServer } from "http";
|
|
import { createApplication } from "./app.js";
|
|
import { Sequelize } from "sequelize";
|
|
import pg from "pg";
|
|
import { PostgresTodoRepository } from "./todo-management/todo.repository.js";
|
|
|
|
const httpServer = createServer();
|
|
|
|
const sequelize = new Sequelize("postgres", "postgres", "changeit", {
|
|
dialect: "postgres",
|
|
});
|
|
|
|
const connectionPool = new pg.Pool({
|
|
user: "postgres",
|
|
host: "localhost",
|
|
database: "postgres",
|
|
password: "changeit",
|
|
port: 5432,
|
|
});
|
|
|
|
createApplication(
|
|
httpServer,
|
|
{
|
|
connectionPool,
|
|
todoRepository: new PostgresTodoRepository(sequelize),
|
|
},
|
|
{
|
|
cors: {
|
|
origin: ["http://localhost:4200"],
|
|
},
|
|
}
|
|
);
|
|
|
|
const main = async () => {
|
|
// create the tables if they do not exist already
|
|
await sequelize.sync();
|
|
|
|
// create the table needed by the postgres adapter
|
|
await connectionPool.query(`
|
|
CREATE TABLE IF NOT EXISTS socket_io_attachments (
|
|
id bigserial UNIQUE,
|
|
created_at timestamptz DEFAULT NOW(),
|
|
payload bytea
|
|
);
|
|
`);
|
|
|
|
// uncomment when running in standalone mode
|
|
// httpServer.listen(3000);
|
|
};
|
|
|
|
main();
|