ostrich-gcloud

3.0.0 • Public • Published

Ostrich Gcloud

Utility belt to easily connect with Gcloud in a Node.js environment.

Set up

Install the module

npm i ostrich-gcloud

Add the gcloud keyfile and add the path as an environment variable

keyfile=../path/to/keyfile.json npm start

Or, alternatively, add all keys seperately as environment variables

project_id=my_project_id bucket=bucket_name ... npm start

Storage

import { Storage } from "ostrich-gcloud";

Storage.uploadFileToBucket

Uploads a file to the defined bucket. All files will automatically be made publicly available.

Argument Type
fileName string
folderPath string

Example:

await uploadFileToBucket("index.html", "/tmp/path");

Storage.uploadFolderToBucket

Uploads an entire folder to the defined bucket. All files will automatically be made publicly available.

Argument Type
folderPath string

Example:

await uploadFolderToBucket("/tmp/path");

DataStore

import { DataStore } from "ostrich-gcloud";

DataStore.findInDatabase

Find one single result in a certain collection. All options are the same as DataStore.findMultipleInDatabase.

Example:

await DataStore.findInDatabase("Todo", { id: "todo1" }, options);

DataStore.findMultipleInDatabase

Find multiple results of a certain selection.

Possible queries:

  • equals: { id: 'some_id' }
  • greater than: { startTime: { gt: new Date().toISOString() } }
  • lower than: { startTime: { lt: new Date().toISOString() } }

Example:

await DataStore.findMultipleInDatabase("User", {
  email: "test@example.com",
  options,
});

Options:

Name Type Default  Description
limit number  50 Limit of results. Hard limit is 500
 offset number 0 Index to start counting from
 orderBy string created_at Which property to order by
orderAsc boolean  false Sort ascending instead of desending
createdBefore Date Adds created_at filter
createdAfter Date Adds created_at filter

DataStore.saveToDatabase

Create new item in the DataStore

Example:

const id = await DataStore.saveToDatabase(
  "Todo",
  { content: "Buy milk" },
  options
);

Options:

Name  Type  Description
excludeFromIndexes string  When you want to add a large value, you should exclude it from indexes

These properties will be added automatically:

  • created_at
  • updated_at
  • id
  • _deleted

DataStore.updateInDatabase

Update a value in the DataStore

Example:

await DataStore.updateInDatabase(
  "Todo",
  todoId,
  { content: "Buy cereal" },
  options
);

Options:

Name  Type  Description
excludeFromIndexes string  When you want to add a large value, you should exclude it from indexes

This command will automatically update the updated_at property.

DataStore.upsertToDatabase

Either update the value or create a new item in the DataStore

Example:

await DataStore.upsertToDatabase(
  "Todo",
  { id: todoId },
  { content: "Buy cereal" }
);

Options: see options from saveToDatabase

DataStore.softDeleteInDatabase

This command will set the _deleted property of an item to true. It will also update updated_at.

Example:

await DataStore.softDeleteInDatabase("Todo", todoId);

Readme

Keywords

none

Package Sidebar

Install

npm i ostrich-gcloud

Weekly Downloads

2

Version

3.0.0

License

MIT

Unpacked Size

863 kB

Total Files

14

Last publish

Collaborators

  • dejakob