0.4.0 • Published 18 days ago

ec.fdk v0.4.0

Weekly downloads
-
License
ISC
Repository
github
Last release
18 days ago

ec.fdk

Lightweight SDK for entrecode APIs. Currently supports only most common PublicAPI functions.

Install

npm i ec.fdk

Publish

  1. cd packages/ec.fdk
  2. bump version in packages/ec.fdk/package.json
  3. run pnpm readme
  4. commit + push
  5. run pnpm publish

API

Start by calling sdk with your environment (stage | live), then method chain your way to success:

import { sdk } from "ec.fdk";

sdk("stage") // choose stage environment
.dm("83cc6374") // select datamanager via short id
.model("muffin") // select model muffin
.entries() // load entry list
.then(list => {
  console.log(list);
})

You can also reuse parts of the chain with variables:

// we want to do stuff with model muffin here
const muffin = sdk("stage").dm("83cc6374").model("muffin");
// load entry list
const { items } = await muffin.entries();
// edit first entry
await muffin.editEntry(items[0].id, { name: "edit!" });
// delete second entry
await muffin.deleteEntry(items[1].id);
// create a new muffin
await muffin.createEntry({ name: "new muffin" });
// edit third entry with safePut
await muffin.editEntrySafe(items[2].id, { _modified: items[2]._modified, name: "safePut!" });

Now what follows is the autogenerated doc from source:

api.Sdk

Kind: static class of api

sdk.entries(options) ⇒ Promise.<EntryList>

Kind: instance method of Sdk

ParamTypeDescription
optionsobjectoptions for entry list request.

Example

// public model
const muffins = await sdk("stage").dm("83cc6374").model("muffin").entries()

Example

// non-public model
const secrets = await sdk("stage").token(token).dm("83cc6374").model("secret").entries()

sdk.getEntry(entryID) ⇒ Promise.<EntryResource>

Kind: instance method of Sdk

ParamType
entryIDstring

Example

const muffin = await sdk("stage").dm("83cc6374").model("muffin").getEntry("1gOtzWvrdq")

sdk.editEntrySafe(entryID, value) ⇒ Promise.<EntryResource>

Kind: instance method of Sdk

ParamTypeDescription
entryIDstringid of entry to edit
valueobjectvalues to set. undefined fields are ignored

Example

const entry = await sdk("stage")
 .dm("83cc6374")
 .model("muffin")
 .editEntrySafe("1gOtzWvrdq", { name: "test", _modified: "2020-01-01T00:00:00.000Z"})

sdk.getSchema(entryID) ⇒ Promise.<EntrySchema>

Kind: instance method of Sdk

ParamType
entryIDstring

Example

const muffin = await sdk("stage").dm("83cc6374").model("muffin").getSchema()

sdk.assets(options) ⇒ Promise.<AssetList>

Kind: instance method of Sdk

ParamTypeDescription
optionsobjectoptions for entry list request.

Example

// public assetGroup
const files = await sdk("stage").dm("83cc6374").assetGroup("avatars").assets()

Example

// non-public assetGroup
const files = await sdk("stage").token(token).dm("83cc6374").assetGroup("avatars").assets()

sdk.createAsset(options) ⇒ Promise.<AssetResource>

Kind: instance method of Sdk

ParamTypeDescription
optionsObjectoptions for entry list request.

Example

// browser example
document.getElementById("file").addEventListener("input", async (e) => {
  const [file] = e.target.files;
  const asset = await ecadmin.assetgroup("test").createAsset({ file })
});

Example

// node example
const buf = fs.readFileSync("venndiagram.png");
const file = new Blob([buf]);
const upload = await sdk("stage")
.dm("83cc6374")
.assetgroup("test")
.createAsset({ file, name: "venndiagram.png" });

sdk.deleteAsset(assetID) ⇒ Promise.<void>

Kind: instance method of Sdk

ParamType
assetIDstring

Example

await ecadmin.assetgroup("test").deleteAsset('xxxx');

sdk.getAsset(assetID) ⇒ Promise.<AssetResource>

Kind: instance method of Sdk

ParamType
assetIDstring

Example

const asset = await sdk("stage").dm("83cc6374").assetgroup("test").getAsset("tP-ZxpZZTGmbPnET-wArAQ")

sdk.createEntry(value) ⇒ Promise.<EntryResource>

Kind: instance method of Sdk

ParamTypeDescription
valueobjectvalues to set.

Example

const entry = await sdk("stage").dm("83cc6374").model("muffin").createEntry({ name: 'test' })

sdk.editEntry(entryID, value) ⇒ Promise.<EntryResource>

Kind: instance method of Sdk

ParamTypeDescription
entryIDstringid of entry to edit
valueobjectvalues to set. undefined fields are ignored

Example

const entry = await sdk("stage").dm("83cc6374").model("muffin").editEntry("1gOtzWvrdq", { name: "test" })

sdk.deleteEntry(entryID) ⇒ void

Kind: instance method of Sdk

ParamTypeDescription
entryIDstringid of entry to delete

Example

await sdk("stage").dm("83cc6374").model("muffin").deleteEntry("1gOtzWvrdq")

sdk.resourceList(options) ⇒ Promise.<ResourceList>

Kind: instance method of Sdk

ParamTypeDescription
optionsobjectoptions for list request.

Example

const res = await sdk("stage").resource("template").resourceList()

sdk.raw(options) ⇒ Promise.<any>

Kind: instance method of Sdk

ParamTypeDescription
optionsobjectoptions for list request.

Example

const res = await sdk("stage").route("stats").raw()

sdk.model(model) ⇒

Kind: instance method of Sdk
Returns: Sdk

ParamTypeDescription
modelstringname of the model

sdk.token(token) ⇒

Kind: instance method of Sdk
Returns: Sdk

ParamType
tokenstring

sdk.dmShortID(dmShortID) ⇒

Kind: instance method of Sdk
Returns: Sdk

ParamType
dmShortIDstring

sdk.dmID(dmID) ⇒

Kind: instance method of Sdk
Returns: Sdk

ParamType
dmIDstring

sdk.dm(dmShortID) ⇒

Kind: instance method of Sdk
Returns: Sdk

ParamType
dmShortIDstring

sdk.assetGroup(assetGroup) ⇒

Kind: instance method of Sdk
Returns: Sdk

ParamTypeDescription
assetGroupstringname of the asset group

sdk.assetgroup(assetGroup) ⇒

Kind: instance method of Sdk
Returns: Sdk

ParamTypeDescription
assetGroupstringname of the asset group

sdk.subdomain(subdomain) ⇒

Kind: instance method of Sdk
Returns: Sdk

ParamTypeDescription
subdomainstringsubdomain

sdk.resource(resource) ⇒

Kind: instance method of Sdk
Returns: Sdk

ParamTypeDescription
resourcestringname of the resource

sdk.route(route) ⇒

Kind: instance method of Sdk
Returns: Sdk

ParamTypeDescription
routestringroute

sdk.publicApi() ⇒

Kind: instance method of Sdk
Returns: any

sdk.getDatamanager() ⇒

Kind: instance method of Sdk
Returns: any

sdk.dmList(options) ⇒ Promise.<DatamanagerList>

Kind: instance method of Sdk

ParamTypeDescription
optionsobjectoptions for entry list request.

Example

const dms = await sdk("stage").dmList()

sdk.modelList(options) ⇒ Promise.<ModelList>

Kind: instance method of Sdk

ParamTypeDescription
optionsobjectoptions for entry list request.

Example

const models = await sdk("stage").dmID("254a03f1-cb76-4f1e-a52a-bbd4180ca10c").modelList()
0.4.0

18 days ago

0.3.1

1 month ago

0.3.0

1 month ago

0.2.27

2 months ago

0.2.26

2 months ago

0.2.25

2 months ago

0.2.30

2 months ago

0.2.31

2 months ago

0.2.29

2 months ago

0.2.28

2 months ago

0.2.24

3 months ago

0.2.23

3 months ago

0.2.22

3 months ago

0.2.21

3 months ago

0.2.20

3 months ago

0.2.19

3 months ago

0.2.18

4 months ago

0.2.17

4 months ago

0.2.16

4 months ago

0.2.15

4 months ago

0.2.14

4 months ago

0.2.13

4 months ago

0.2.12

4 months ago

0.2.11

4 months ago

0.2.10

5 months ago

0.2.7

5 months ago

0.2.6

5 months ago

0.2.9

5 months ago

0.2.8

5 months ago

0.2.5

5 months ago

0.2.3

5 months ago

0.2.2

5 months ago

0.2.4

5 months ago

0.2.1

5 months ago

0.2.0

5 months ago

0.1.8

5 months ago

0.1.9

5 months ago

0.1.7

6 months ago

0.1.4

6 months ago

0.1.3

6 months ago

0.1.6

6 months ago

0.1.5

6 months ago

0.1.2

9 months ago

0.1.1

9 months ago

0.1.0

9 months ago