cloudbase-sdkv1
v1.0.0
Published
Cloudbase is a lightweight, server-side SDK to switch between cloud providers with a unified API.
Downloads
112
Readme
Cloudbase
Cloudbase is a lightweight, server-side SDK to switch between cloud providers with a unified API.
Installation
npm install cloudbaseConfiguration
Create cloudbase.config.js in your project root:
module.exports = {
provider: "supabase",
url: "https://your-project.supabase.co",
key: "your-service-key"
}For Firebase (server-side):
module.exports = {
provider: "firebase",
serviceAccount: require("./serviceAccount.json"),
storageBucket: "your-project-id.appspot.com"
}Usage
const { createClient } = require("cloudbase")
const db = createClient()
const User = db.model("users")
await User.create({ name: "Aman", age: 21 })
const adults = await User.find({ age: { gt: 18 } })
const one = await User.findOne({ age: { gt: 18 } })Pagination
await User.find({}, { limit: 10, offset: 0 })Sorting
await User.find({}, { orderBy: "age", order: "desc" })Auth
const auth = db.auth()
await auth.signup("[email protected]", "password123")
await auth.signin("[email protected]")
await auth.logout()Firebase server-side helpers
const auth = db.auth()
const link = await auth.generateSignInWithEmailLink("[email protected]", actionCodeSettings)
const reset = await auth.generatePasswordResetLink("[email protected]", actionCodeSettings)Storage
const storage = db.storage()
await storage.upload("avatars/user-1.png", buffer)
const url = await storage.downloadUrl("avatars/user-1.png")Unified Errors
All provider errors are wrapped as:
{
name: "CloudbaseError",
type: "AUTH_ERROR" | "DB_ERROR" | "STORAGE_ERROR" | "CONFIG_ERROR",
message: "..."
}