Skip to content

ClaireNeveu/parseconfig

 
 

Repository files navigation

parseconfig is a command-line tool for schema migrations on the Parse Platform.

Installation

yarn add --dev @hustle/parseconfig

Usage

The tool takes a schema file containing all the collections, functions, and triggers you want to configure Parse with (see below for an example). To apply the schema to a Parse database you need the master key and application id for that server. Once you have those run

parseconfig apply <url where parse is> <location of schema file> -k <master key> -i <application id>

Example Schema

{
  "collections": [{
    "className": "Memo",
    "fields": {
      "objectId": {
        "type": "String"
      },
      "createdAt": {
        "type": "Date"
      },
      "updatedAt": {
        "type": "Date"
      },
      "ACL": {
        "type": "ACL"
      },
      "name": {
        "type": "String"
      },
      "author": {
        "type": "String"
      },
      "category": {
        "type": "String"
      },
      "deletedAt": {
        "type": "Date"
      }
    },
    "classLevelPermissions": {
      "find": {
        "role:user": true
      },
      "get": {
        "role:user": true
      },
      "create": {
        "role:admin": true
      },
      "update": {},
      "delete": {},
      "addField": {},
      "readUserFields": [],
      "writeUserFields": []
    },
    "indexes": {
      "author_index": {
        "author": 1
      }
    }
  }],
  "functions": [{
    "functionName": "launchMissiles",
    "url": "/hooks/functions/launchMissiles"
  }],
  "triggers": [{
    "className": "Memo",
    "triggerName": "beforeSave",
    "url": "/hooks/triggers/memo/validate"
  }]
}

Development

To get the project running locally clone the repo then run

yarn install; yarn build

The dist folder will now have executable files for you to run.

About

CLI tool for Parse Platform migrations

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 99.2%
  • Shell 0.8%