New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

arbase-crud

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

arbase-crud - npm Package Compare versions

Comparing version 0.1.1 to 0.2.0

4

package.json
{
"name": "arbase-crud",
"version": "0.1.1",
"version": "0.2.0",
"description": "Arbase-crud is a package to expose a CRUD-like interface from an arbase API config",

@@ -26,3 +26,3 @@ "main": "src/index.js",

"@hapi/boom": "^8.0.1",
"@hapi/joi": "^16.1.5"
"@hapi/joi": "^16.1.7"
},

@@ -29,0 +29,0 @@ "peerDependencies": {

@@ -6,4 +6,2 @@ 'use strict'

const client = require('arbase/src/client')
function generateConfig (entry, valPayload, valId, valPage) {

@@ -20,3 +18,6 @@ const out = { validate: {} }

if (valPayload) {
out.validate.payload = entry.validator
out.validate.payload = Joi.object({
item: entry.validator.required(),
tags: Joi.object()
})
}

@@ -34,3 +35,3 @@

module.exports = ({server, entry, name, prefix, middleware, arweave}) => {
module.exports = ({server, entry, name, prefix, middleware, client}) => {
// TODO: use joi

@@ -97,7 +98,7 @@ if (!middleware) { middleware = {} }

try {
const res = await client.write.entryCreate(arweave, entry, request.payload)
const res = await client.write.entryCreate(entry, request.payload)
return h.response(res).code(200)
} catch (error) {
// TODO: better errorss
throw Boom.badImplementation(error.message)
throw processError(error)
}

@@ -109,23 +110,38 @@ }

entry.attributes.filter(a => a.isList).forEach(list => {
server.route({
method: 'GET',
path: `${base}/{id}/${list.name}`,
// TODO: where, payload validate, param validate, limit, id-based pagination
config: generateConfig(entry, false, false, true),
handler: async (request, h) => {
await m('pre', 'read', request, h)
server.route({
method: 'GET',
path: `${base}`,
// TODO: where, payload validate, param validate, limit, id-based pagination
config: generateConfig(entry, false, false, true),
handler: async (request, h) => {
await m('pre', 'read', request, h)
// TODO: where filters
const {page, perPage} = request.query
// TODO: where filters
// const {page, perPage} = request.query
try {
// TODO: add include
// TODO: where filter, limit, id-based pagination
try {
// TODO: add include
// TODO: where filter, limit, id-based pagination
const { id } = request.params
const {data, live} = await client.read.query(`SELECT ${entry.fullName} WHERE 'equals(board, $1)'`, {params: [request.query.board], arqlLang: 'fnc'})
return h.response(Object.keys(data).reduce((a, b) => {
a[b] = data[b]
}, []))
.header('x-is-live', live)
// TODO: rework with pagination and sanity
/* const { id } = request.params
const offset = (page - 1) * perPage
const res = await client.read.list(arweave, entry, list, id, list.name)
client.read.query(`SELECT SINGLE ${entry.fullName} WHERE equals(id, $1)`, {params: [id], lang: 'fnc'})
const {data: items, total: count} = await client.read.list(entry, list, id, { offset, limit: perPage })
const res = {
// TODO: get entry element for actual element via listEntry
rows: await Promise.all(items.map(item => client.read.list(entry, item))),
count
}
await m('post', 'read', request, h, res)

@@ -139,8 +155,7 @@

.header('X-Has-Prev', JSON.stringify(Boolean(offset)))
.code(200)
} catch (error) {
throw Boom.badImplementation(error.message)
}
.code(200) */
} catch (error) {
throw processError(error)
}
})
}
})

@@ -158,7 +173,7 @@

const { id } = request.params
const res = await client.read.entry(arweave, entry, id)
const res = await client.read.query(`SELECT SINGLE ${entry.fullName} WHERE 'equals(i, $1)'`, {params: [id], arqlLang: 'fnc'})
await m('post', 'read', request, h, res)
if (res) {
return h.response(res).code(200)
return h.response(res.data).header('x-is-live', String(res.live)).code(200)
} else {

@@ -185,3 +200,3 @@ throw Boom.notFound(`${name} with ID ${id} does not exist!`)

const { id } = request.params
const updated = await client.write.entryUpdate(arweave, entry, id)
const updated = await client.write.entryUpdate(entry, id)

@@ -212,3 +227,3 @@ await m('post', 'update', request, h, updated)

const { id } = request.params
const deleted = await client.write.entryDelete(arweave, entry, id)
const deleted = await client.write.entryDelete(entry, id)

@@ -215,0 +230,0 @@ await m('post', 'delete', request, h, deleted)

'use strict'
const crud = require('./crud')
const Client = require('arbase/src/client')
module.exports = (server, {entry, entries}, {prefix}) => {
entries.forEach(entry => {
module.exports = (server, e, {prefix}) => {
const client = Client(server.arweave, e)
e.entries.forEach(entry => {
crud({

@@ -13,5 +16,5 @@ server,

middleware: {},
arweave: server.arweave
client
})
})
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc