0.3.32 • Published 6 months ago

@bageldb/bageldb-nuxt v0.3.32

Weekly downloads
8
License
MIT
Repository
github
Last release
6 months ago

BagelDB Client for NuxtJS

npm version npm downloads License Nuxt

BagelDB is a content management system with flexible database with user login for doing amazing things.

Features

  •   Flexible Database
  • 🚠   Simplicity First
  • 🌲   Powerful Editor Tools

Quick Setup

  1. Add @bageldb/bageldb-nuxt dependency to your project
# Using pnpm
pnpm add @bageldb/bageldb-nuxt

# Using yarn
yarn add @bageldb/bageldb-nuxt

# Using npm
npm i @bageldb/bageldb-nuxt

# Using bun
bun i @bageldb/bageldb-nuxt
  1. Add @bageldb/bageldb-nuxt to the modules section of nuxt.config.ts
export default defineNuxtConfig({
  modules: [
    '@bageldb/bageldb-nuxt',
    {
      token: process.env.NUXT_ENV_BAGEL_TOKEN,
      alias: "db", // (optional)
      exposePublicClient: true // (optional) - this will expose the client to the browser
    }
  ]
})

The default alias is $db but can be set easily in the import. Two instances can be used in one project, but they must have different instances.

** in older versions it used to default to $bageldb

Use It

The db instance can be accessed globally anywhere in the code

retreive it via the context:

export default {
  async asyncData({ $db }) {
    let { data: books } = await $db.collection("books").get();
    return { books };
  },
};

Authentication

Using Auth with Nuxt.js works the same as evey BagelDB js framework, by using the users() method.

export default {
  methods: {
    async login(email, password) {
      await this.$db.users().validate(email, password);
    },
    async logout() {
      await this.$db.users().logout();
    },
    async signUp(email, password, userName) {
      let userID = await this.$db
        .users()
        .create(email, password)
        .catch(console.log);
      // create an item with the user's id to store more information about the user.
      await this.$db.collection("users").item(userID).set({ email, userName });
    },
  },
};

every call made after that will use the Auth token stored in the cookie.

That's it! You can now use BagelNuxt in your Nuxt app ✨

Development

# Install dependencies
npm install

# Generate type stubs
npm run dev:prepare

# Develop with the playground
npm run dev

# Build the playground
npm run dev:build

# Run ESLint
npm run lint

# Run Vitest
npm run test
npm run test:watch

# Release new version
npm run release
0.3.30

6 months ago

0.3.32

6 months ago

0.3.29

6 months ago

0.3.20

6 months ago

0.3.28

6 months ago

0.3.27

6 months ago

0.3.26

6 months ago

0.3.25

6 months ago

0.3.24

6 months ago

0.3.23

6 months ago

0.3.22

6 months ago

0.3.21

6 months ago

0.3.19

6 months ago

0.3.18

6 months ago

0.3.6

6 months ago

0.3.8

6 months ago

0.3.7

6 months ago

0.3.2

6 months ago

0.3.1

6 months ago

0.3.4

6 months ago

0.3.3

6 months ago

0.3.9

6 months ago

0.3.17

6 months ago

0.3.16

6 months ago

0.3.15

6 months ago

0.3.14

6 months ago

0.3.13

6 months ago

0.3.12

6 months ago

0.3.11

6 months ago

0.3.10

6 months ago

0.2.24

2 years ago

0.2.23

2 years ago

0.2.22

2 years ago

0.2.21

2 years ago

0.2.25-dev.1.1

2 years ago

0.2.3-dev.2.1

2 years ago

0.2.23-dev.1.1

2 years ago

0.2.4

2 years ago

0.2.3-dev.1.1

2 years ago

0.2.3-dev.1.2

2 years ago

0.1.91

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.1.9

2 years ago

0.2.2

2 years ago

0.1.8

3 years ago

0.1.7

3 years ago

0.1.6

3 years ago

0.1.4

3 years ago

0.1.5

3 years ago

0.1.3

3 years ago

0.1.2

3 years ago

0.1.0

3 years ago