import { Rpc, RpcGroup } from "@effect/rpc";
import { Schema } from "effect";
import {
BadRequest,
Conflict,
InternalServerError,
Unauthorized,
} from "./errors/index.js";
import { CreateDatabaseResponse } from "./schemas/database.js";
export class DatabaseRpcs extends RpcGroup.make(
Rpc.make("CreateDatabase", {
success: CreateDatabaseResponse,
error: Schema.Union(
InternalServerError,
Unauthorized,
BadRequest,
Conflict
),
payload: {
name: Schema.String,
organizationId: Schema.String,
},
})
) {}
import { Rpc, RpcGroup } from "@effect/rpc";
import { Schema } from "effect";
import {
BadRequest,
Conflict,
InternalServerError,
Unauthorized,
} from "./errors/index.js";
import { CreateDatabaseResponse } from "./schemas/database.js";
export class DatabaseRpcs extends RpcGroup.make(
Rpc.make("CreateDatabase", {
success: CreateDatabaseResponse,
error: Schema.Union(
InternalServerError,
Unauthorized,
BadRequest,
Conflict
),
payload: {
name: Schema.String,
organizationId: Schema.String,
},
})
) {}