How encore.service.ts files work to define APIs, databases, and business logic with automatic infrastructure
The core of any Leap-generated app is built with Encore.ts services. Each encore.service.ts file defines a microservice with its APIs, database connections, and business logic.
// users/encore.service.tsimport { api } from "encore.dev/api";import { SQLDatabase } from "encore.dev/storage/sqldb";// This creates a database for this serviceconst db = new SQLDatabase("users", { migrations: "./migrations",});// This creates an HTTP API endpointexport const createUser = api( { method: "POST", path: "/users" }, async (data: CreateUserRequest): Promise<User> => { // Your business logic here return await db.queryRow` INSERT INTO users (email, name) VALUES (${data.email}, ${data.name}) RETURNING * `; });