UNPKG

@canva/create-app

Version:

A command line tool for creating Canva Apps.

59 lines (51 loc) 1.95 kB
import * as express from "express"; import * as cors from "cors"; import { createBaseServer } from "../utils/backend/base_backend/create"; import { createDamRouter } from "./routers/dam"; async function main() { // TODO: Set the CANVA_APP_ID environment variable in the project's .env file const APP_ID = process.env.CANVA_APP_ID; if (!APP_ID) { throw new Error( `The CANVA_APP_ID environment variable is undefined. Set the variable in the project's .env file.`, ); } const router = express.Router(); /** * TODO: Configure your CORS Policy * * Cross-Origin Resource Sharing * ([CORS](https://developer.mozilla.org/en-US/docs/Glossary/CORS)) is an * [HTTP](https://developer.mozilla.org/en-US/docs/Glossary/HTTP)-header based * mechanism that allows a server to indicate any * [origins](https://developer.mozilla.org/en-US/docs/Glossary/Origin) * (domain, scheme, or port) other than its own from which a browser should * permit loading resources. * * A basic CORS configuration would include the origin of your app in the * following example: * const corsOptions = { * origin: 'https://app-abcdefg.canva-apps.com', * optionsSuccessStatus: 200 * } * * The origin of your app is https://app-${APP_ID}.canva-apps.com, and note * that the APP_ID should to be converted to lowercase. * * https://www.npmjs.com/package/cors#configuring-cors * * You may need to include multiple permissible origins, or dynamic origins * based on the environment in which the server is running. Further * information can be found * [here](https://www.npmjs.com/package/cors#configuring-cors-w-dynamic-origin). */ router.use(cors()); /** * Add routes for digital asset management. */ const damRouter = createDamRouter(); router.use(damRouter); const server = createBaseServer(router); server.start(process.env.CANVA_BACKEND_PORT); } main();