{"_id":"@bluelinklabs/ctzn-api-client","_rev":"1-5bdd9b1dd60c86c039a8e764a82c5c6e","name":"@bluelinklabs/ctzn-api-client","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"@bluelinklabs/ctzn-api-client","version":"0.0.1","description":"API client to CTZN servers.","main":"node.js","browser":"browser.dist.js","type":"module","scripts":{"build":"rollup -c && cp ./ctzn-api-client.build.js ../ui/static/vendor/ctzn-api-client.js","prepare":"echo ''","postpublish":"echo ''","test":"echo ''"},"keywords":[],"author":{"name":"Paul Frazee","email":"pfrazee@gmail.com"},"license":"MIT","dependencies":{"arraybuffer-to-buffer":"^0.0.7","fetch-blob":"^2.1.2","formdata-node":"^3.4.0","node-fetch":"^2.6.1"},"devDependencies":{"rollup":"^2.36.1"},"_id":"@bluelinklabs/ctzn-api-client@0.0.1","_nodeVersion":"16.1.0","_npmVersion":"7.11.2","dist":{"integrity":"sha512-Wkc3sNyYqDsXfyXhaBLg7oWnchTsU7xR5qUsFgC8v0BqJ1XJyYyoghoCshVeijofh1yP8bbvRSO2ymPzpYcxQw==","shasum":"e3ffd930a652d1687a019de518dc5bd0de8452ff","tarball":"https://registry.npmjs.org/@bluelinklabs/ctzn-api-client/-/ctzn-api-client-0.0.1.tgz","fileCount":7,"unpackedSize":32394,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrUMCCRA9TVsSAnZWagAAYRQP/3ahBnwgPomtRU0dlAD+\noDLqx1OfnJW1dgqWn+YTzBbzTkC6nDJLptpCk2VCYdBWYMbNRn0TTCuSnO+N\nvwD2Ei6T8GllgzfWJ2xqIq8fezfr58hjcHaT+b9qYXfW6W3iC5898SPFUTSe\ntYWjRFj3rIhmc8rsLItVUvMyCpMa+TuVc7GiVv9D6eJrSpDdyOdfsn1/LRk2\n4RvDp/LEBp1F/bQBK+8ogv7NQlHbJlah4oN8vCSCyN7djNJllG8aT0tLLpzA\nkKRRdkweQDr4FJ/iQf2FwUttl8bVhklhQGHUUBMEfWTmtrlz3g4F1XpesALp\nvVbYwrqskERp+rq/QUXH1Tf///UONiKirkTaKk6AsFaVhU7nTxgkriIa7fD7\nz8uinsZPNF+TokiER1YvV4o4egl6h+weO4XzOtiUMgpkSRD8/o4Y2LIRndN+\n5D+nnQ8gRQlajwnQ+EdsMY3NvGpzC6FQ6Vl4copz9CGpzH6bkxVZZlc57KZ8\nhtnF/F+EU/8usrvICqIwR/F2T4SeVZyBQKbcf5RHTK54CKiXTMVyOS9wkAnb\nxzJTMXj7/WHPvmdeItVCyKkNJjB3ze8hyErXUje7E/QC4YGHCQ5hsyl8m0pp\nPF968MQvDk67jEEaD4I4VeLRbM0tLOcCx8BVA2vIgxoDpn99VHLwF/omDrPw\nHec2\r\n=Fx6i\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCU66kO8EWoWCclKLmPpQByReKnJXdbQOuMF4LT5osp3gIgFsZphrInNW88QA52TemakoVKyfnEJNLK9JnnLotx1Lk="}]},"_npmUser":{"name":"pfrazee","email":"pfrazee@gmail.com"},"directories":{},"maintainers":[{"name":"pfrazee","email":"pfrazee@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctzn-api-client_0.0.1_1621967617690_0.6280347092126701"},"_hasShrinkwrap":false}},"time":{"created":"2021-05-25T18:33:37.321Z","0.0.1":"2021-05-25T18:33:37.803Z","modified":"2022-04-04T19:49:02.620Z"},"maintainers":[{"name":"pfrazee","email":"pfrazee@gmail.com"}],"description":"API client to CTZN servers.","keywords":[],"author":{"name":"Paul Frazee","email":"pfrazee@gmail.com"},"license":"MIT","readme":"# CTZN API Client\n\nIn nodeJS:\n\n```\nnpm i @bluelinklabs/ctzn-api-client\n```\n\nThen\n\n```js\nimport { create } from '@bluelinklabs/ctzn-api-client'\nconst api = create()\n```\n\nIn the browser with ESM, copy `ctzn-api-client.build.js` into your project and then:\n\n```js\nimport { create } from '/vendor/ctzn-api-client.build.js'\nconst api = create()\n```\n\n## Table of contents\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [API Reference](#api-reference)\n  - [Getters](#getters)\n    - [`api.getProfile(dbId)`](#apigetprofiledbid)\n    - [`api.listUserFeed(dbId[, opts])`](#apilistuserfeeddbid-opts)\n    - [`api.getPost(dbId, postKey)`](#apigetpostdbid-postkey)\n    - [`api.getComment(dbId, commentKey)`](#apigetcommentdbid-commentkey)\n    - [`api.getThread(dbUrl)`](#apigetthreaddburl)\n    - [`api.listFollowers(dbId)`](#apilistfollowersdbid)\n  - [Views and methods](#views-and-methods)\n    - [`api.method(path[, params])`](#apimethodpath-params)\n    - [`api.view.get(path[, params])`](#apiviewgetpath-params)\n  - [Tables](#tables)\n    - [`api.db(dbId).table(schemaId).list([opts])`](#apidbdbidtableschemaidlistopts)\n    - [`api.table.list(dbId, schemaId[, opts])`](#apitablelistdbid-schemaid-opts)\n    - [`api.db(dbId).table(schemaId).get(key)`](#apidbdbidtableschemaidgetkey)\n    - [`api.table.get(dbId, schemaId, key)`](#apitablegetdbid-schemaid-key)\n    - [`api.db(dbId).table(schemaId).create(value)`](#apidbdbidtableschemaidcreatevalue)\n    - [`api.table.create(dbId, schemaId, value)`](#apitablecreatedbid-schemaid-value)\n    - [`api.db(dbId).table(schemaId).createWithBlobs(value, blobs)`](#apidbdbidtableschemaidcreatewithblobsvalue-blobs)\n    - [`api.table.createWithBlobs(dbId, schemaId, value, blobs)`](#apitablecreatewithblobsdbid-schemaid-value-blobs)\n    - [`api.db(dbId).table(schemaId).update(key, value)`](#apidbdbidtableschemaidupdatekey-value)\n    - [`api.table.update(dbId, schemaId, key, value)`](#apitableupdatedbid-schemaid-key-value)\n    - [`api.db(dbId).table(schemaId).delete(key)`](#apidbdbidtableschemaiddeletekey)\n    - [`api.table.delete(dbId, schemaId, key)`](#apitabledeletedbid-schemaid-key)\n    - [`api.db(dbId).table(schemaId).getBlob(key, blobName)`](#apidbdbidtableschemaidgetblobkey-blobname)\n    - [`api.table.getBlob(dbId, schemaId, key, blobName)`](#apitablegetblobdbid-schemaid-key-blobname)\n    - [`api.db(dbId).table(schemaId).putBlob(key, blobName, buf, mimeType)`](#apidbdbidtableschemaidputblobkey-blobname-buf-mimetype)\n    - [`api.table.putBlob(dbId, schemaId, key, blobName, buf, mimeType)`](#apitableputblobdbid-schemaid-key-blobname-buf-mimetype)\n    - [`api.db(dbId).table(schemaId).delBlob(key, blobName)`](#apidbdbidtableschemaiddelblobkey-blobname)\n    - [`api.table.delBlob(dbId, schemaId, key, blobName)`](#apitabledelblobdbid-schemaid-key-blobname)\n  - [Session](#session)\n    - [`api.user`](#apiuser)\n    - [`api.session.info`](#apisessioninfo)\n    - [`api.session.isActive()`](#apisessionisactive)\n    - [`api.session.onChange(cb)`](#apisessiononchangecb)\n    - [`api.session.setup()`](#apisessionsetup)\n    - [`api.session.login({username, password})`](#apisessionloginusername-password)\n    - [`api.session.logout()`](#apisessionlogout)\n    - [`api.session.signup({username, displayName, description, email, password})`](#apisessionsignupusername-displayname-description-email-password)\n    - [`api.session.requestPasswordChangeCode({username})`](#apisessionrequestpasswordchangecodeusername)\n    - [`api.session.changePassword({username, code, newPassword})`](#apisessionchangepasswordusername-code-newpassword)\n  - [Utility](#utility)\n    - [`api.get(path[, query])`](#apigetpath-query)\n    - [`api.getBuf(path[, query])`](#apigetbufpath-query)\n    - [`api.post(path, body)`](#apipostpath-body)\n    - [`api.postMultipart(path, parts)`](#apipostmultipartpath-parts)\n    - [`api.put(path, body)`](#apiputpath-body)\n    - [`api.putBuf(path, body, mimeType)`](#apiputbufpath-body-mimetype)\n    - [`api.delete(path)`](#apideletepath)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## API Reference\n\nAll methods are async unless specified otherwise.\n\n### Getters\n\n#### `api.getProfile(dbId)`\n\n- `dbId` String.\n- Returns object.\n\n#### `api.listUserFeed(dbId[, opts])`\n\n- `dbId` String.\n- `opts` Optional object.\n- Returns object.\n\n#### `api.getPost(dbId, postKey)`\n\n- `dbId` String.\n- `postKey` String.\n- Returns object.\n\n#### `api.getComment(dbId, commentKey)`\n\n- `dbId` String.\n- `commentKey` String.\n- Returns object.\n\n#### `api.getThread(dbUrl)`\n\n- `dbUrl` String.\n- Returns object.\n\n#### `api.listFollowers(dbId)`\n\n- `dbId` String.\n- Returns object.\n\n### Views and methods\n\n#### `api.method(path[, params])`\n\n- `path` String.\n- `params` Optional object.\n- Returns an object.\n\n#### `api.view.get(path[, params])`\n\n- `path` String.\n- `params` Optional object.\n- Returns an object.\n\n### Tables\n\n#### `api.db(dbId).table(schemaId).list([opts])`\n#### `api.table.list(dbId, schemaId[, opts])`\n\n- `dbId` String.\n- `schemaId` String.\n- `opts` Optional object.\n- Returns an object.\n\n#### `api.db(dbId).table(schemaId).get(key)`\n#### `api.table.get(dbId, schemaId, key)`\n\n- `dbId` String.\n- `schemaId` String.\n- `key` String.\n- Returns an object.\n\n#### `api.db(dbId).table(schemaId).create(value)`\n#### `api.table.create(dbId, schemaId, value)`\n\n- `dbId` String.\n- `schemaId` String.\n- `value` Object.\n- Returns an object.\n\n#### `api.db(dbId).table(schemaId).createWithBlobs(value, blobs)`\n#### `api.table.createWithBlobs(dbId, schemaId, value, blobs)`\n\n- `dbId` String.\n- `schemaId` String.\n- `value` Object.\n- `blobs` Object. A map of blobnames to objects with the following attributes:\n  - `base64buf` String.\n  - `mimeType` String.\n- Returns an object.\n\n#### `api.db(dbId).table(schemaId).update(key, value)`\n#### `api.table.update(dbId, schemaId, key, value)`\n\n- `dbId` String.\n- `schemaId` String.\n- `key` String.\n- `value` Object.\n- Returns an object.\n\n#### `api.db(dbId).table(schemaId).delete(key)`\n#### `api.table.delete(dbId, schemaId, key)`\n\n- `dbId` String.\n- `schemaId` String.\n- `key` String.\n- Returns an object.\n\n#### `api.db(dbId).table(schemaId).getBlob(key, blobName)`\n#### `api.table.getBlob(dbId, schemaId, key, blobName)`\n\n- `dbId` String.\n- `schemaId` String.\n- `key` String.\n- `blobName` String.\n- Returns an ArrayBuffer.\n\n#### `api.db(dbId).table(schemaId).putBlob(key, blobName, buf, mimeType)`\n#### `api.table.putBlob(dbId, schemaId, key, blobName, buf, mimeType)`\n\n- `dbId` String.\n- `schemaId` String.\n- `key` String.\n- `blobName` String.\n- `buf` String or ArrayBuffer. If a string, must be base64-encoded.\n- `mimeType` String.\n- Returns an object.\n\n#### `api.db(dbId).table(schemaId).delBlob(key, blobName)`\n#### `api.table.delBlob(dbId, schemaId, key, blobName)`\n\n- `dbId` String.\n- `schemaId` String.\n- `key` String.\n- `blobName` String.\n- Returns an object.\n\n### Session\n\n#### `api.user`\n\nAn alias to `api.db(api.session.info.dbKey)`\n\n#### `api.session.info`\n\nThe current session's information. Contains:\n\n- `hasSession` Boolean.\n- `url` String.\n- `dbKey` String.\n- `username` String.\n\n#### `api.session.isActive()`\n\n- Returns boolean.\n\n#### `api.session.onChange(cb)`\n\nCalls `cb` any time the current session changes (login / logout).\n\n- `cb` Function.\n\n#### `api.session.setup()`\n\nSets up the current session. Must be called before accessing any of the `api.session` api.\n\n#### `api.session.login({username, password})`\n\n- `username` String.\n- `password` String.\n- Returns object.\n\n#### `api.session.logout()`\n\n- Returns object.\n\n#### `api.session.signup({username, displayName, description, email, password})`\n\n- `email` String.\n- `username` String.\n- `password` String.\n- `displayName` String.\n- `description` String.\n- Returns object.\n\n#### `api.session.requestPasswordChangeCode({username})`\n\n- `username` String.\n- Returns object.\n\n#### `api.session.changePassword({username, code, newPassword})`\n\n- `username` String.\n- `code` String.\n- `newPassword` String.\n- Returns object.\n\n### Utility\n\n#### `api.get(path[, query])`\n\n- `path` String.\n- `query` Optional object.\n- Returns an object.\n\n#### `api.getBuf(path[, query])`\n\n- `path` String.\n- `query` Optional object.\n- Returns an ArrayBuffer.\n\n#### `api.post(path, body)`\n\n- `path` String.\n- `body` Object.\n- Returns an object.\n\n#### `api.postMultipart(path, parts)`\n\n- `path` String.\n- `parts`. Object. An object mapping keys to `Blob`s.\n- Returns an object.\n\n#### `api.put(path, body)`\n\n- `path` String.\n- `body` Object.\n- Returns an object.\n\n#### `api.putBuf(path, body, mimeType)`\n\n- `path` String.\n- `body` ArrayBuffer.\n- `mimeType` String.\n- Returns an object.\n\n#### `api.delete(path)`\n\n- `path` String.\n\n","readmeFilename":"README.md"}