3.0.0 • Published 2 years ago

ostrich-gcloud v3.0.0

Weekly downloads
1,188
License
MIT
Repository
-
Last release
2 years ago

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.

ArgumentType
fileNamestring
folderPathstring

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.

ArgumentType
folderPathstring

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:

NameTypeDefault Description
limitnumber 50Limit of results. Hard limit is 500
 offsetnumber0Index to start counting from
 orderBystringcreated_atWhich property to order by
orderAscboolean falseSort ascending instead of desending
createdBeforeDateAdds created_at filter
createdAfterDateAdds 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
excludeFromIndexesstring 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
excludeFromIndexesstring 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);
1.6.0

2 years ago

3.0.0

2 years ago

2.0.0

2 years ago

1.2.0

3 years ago

1.1.0

3 years ago

1.0.0

3 years ago