0.2.6 • Published 5 years ago

@nvitaterna/plugin-sails v0.2.6

Weekly downloads
-
License
MIT
Repository
github
Last release
5 years ago

Vuex ORM Plugin: Sails

License

Forked from @vuex-orm/plugin-axios

Installation

import VuexORM from '@vuex-orm/core'
import VuexORMSails from '@nvitaterna/plugin-sails'
import database from './database'
..

VuexORM.use(VuexORMSails, {
  database,
  http: {
    baseURL: 'https://websocket.url',
    url: '/',
    headers: {}
  }
})
..

export default () => new Vuex.Store({
  namespaced: true,
  plugins: [VuexORM.install(database)]
})

Sails Request Config

export const SailsIOConfig = {
  /**
   * Default create new io instance, provide
   * option to pass an existing instance through.
   */
  io: undefined,
  /**
   * Default Base URL
   */
  baseURL: 'http://localhost:1337',

  /**
   * Default Request URL
   */
  url: '/',
  /**
   * Default Headers
   */
  headers: {},
};

Model Methods

import User from '../models/User';

/**
 * @uri `/users`
 */
User.$fetch();

/**
 * @uri `/users/:id`
 */
User.$get({
  params: {
    id: 1
  }
}); 

/**
 * @uri `/users`
 */
User.$create({
  data: {}
});

/**
 * @uri `/users/:id`
 */
User.$update({
  params: {
    id: 1
  },
  data: {}
});

/**
 * @uri `/users/:id`
 */
User.$delete({
  params: {
    id: 1
  }
});

Model Config

Default Model

import { Model } from '@vuex-orm/core'

export default class Post extends Model {
  static entity = 'posts'

  static fields () {
    return {
      id: this.increment(),
      title: this.string('')
    }
  }
}

Edited Model

import { Model } from '@vuex-orm/core'

export default class Post extends Model {
  static entity = 'posts'

  static fields () {
    return {
      id: this.increment(),
      title: this.string('')
    }
  }

  static methodConf = {
    sails: {
      url: '/post'
    },
    methods: {
      $fetch: {
        name: 'fetch',
        sails: {
          url: '',
          method: 'get',
        },
      },
      $get: {
        name: 'get',
        sails: {
          url: '/:id',
          method: 'get',
        },
      },
      $create: {
        name: 'create',
        sails: {
          url: '',
          method: 'post',
        },
      },
      $update: {
        name: 'update',
        sails: {
          url: '/:id',
          method: 'put',
        },
      },
      $delete: {
        name: 'delete',
        sails: {
          url: '/:id',
          method: 'delete',
        },
      },
    },
  }
}
0.2.6

5 years ago

0.2.5

5 years ago

0.2.4

5 years ago

0.2.3

5 years ago

0.2.2

5 years ago

0.2.1

5 years ago

0.2.0

5 years ago

0.1.6

5 years ago

0.1.5

5 years ago

0.1.4

5 years ago

0.1.3

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago

0.0.1

5 years ago