Security News
Node.js EOL Versions CVE Dubbed the "Worst CVE of the Year" by Security Experts
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
syncano-server
Advanced tools
This library supposed to be used in Syncano Sockets (inside scripts) to communicate with Syncano Core Services. Syncano provides various Core Services:
To initialize library simply type:
import { data, users, socket, response, event, logger } from 'syncano-server'
Library initiated that way will grab necessary information from the context of you Socket Script - it means that you don't need to provide additional information such as Instance name or authentication key (token) to your Instance.
If you want to force the library to connect to specified instance type:
import Server from 'syncano-server'
const { data, events } = new Server({
token: '9-12jdiasdnfo23nrokms',
instanceName: 'example-instance-name'
})
In this example tags
is a name of a class (data model) configured for that instance.
// Create new object in tags class
data.tags
.create({
name: 'javascript',
usage_count: 0
})
.then(tag => {});
// Get list of 140 tags used more than 100 times
data.tags
.where('usage_count', 'gt', 100)
.take(140)
.list()
.then(tags => {})
// Get list of post where author is reference to other class
// and author email is john@example.com
data.posts
.where('author.email', 'john@example.com')
.list()
.then(posts => {})
// Get list of post - author column will be expanded with data from target class
data.posts
.with('author')
.list()
.then(posts => {})
// Delete tags with with given array of ids
data.tags.delete([8735, 8733])
// Delete single tag
data.tags.delete(7652)
// Get first user with given mail
users
.where('email', 'john.doe@example.com')
.first()
.then(user => {
// user variable is null if not found
// so no need for catch method
})
// Get first user with given mail, throws error if user was not found
users
.where('email', 'john.doe@example.com')
.firstOrFail()
.then(user => {})
.catch(err => {
// error is thrown if user was not found
})
event.emit('my_signal', {dummyKey: 'dummy_value'})
.then(event => {})
.catch(err => {
// error is thrown if emit was unsuccessful
})
channel.publish('my_channel', {dummyKey: 'dummy_value'})
.then(res => {})
.catch(err => {})
const latestTags = await socket.get('tags/list', { sort: 'latest' })
const createdTag = await socket.post('tags/create', { name: 'nature' })
// Simple text/plain response
// response(content, status, contentType, headers)
response('Hello world')
response('Hello world', 200, 'text/plain', {
'X-RATE-LIMIT': 50
})
// Respond with custom header
response
.header('X-RATE-LIMIT', 50)
.header('X-USAGE', 35)
('Check headers')
// Respond with json string
response.json({
title: "Post title",
content: "Lorem ipsum dolor sit amet."
})
response
.header('X-RATE-LIMIT', 50)
.json({
title: "Post title",
content: "Lorem ipsum dolor sit amet."
})
For debug purposes you can use logger
:
Example:
import {logger} from 'syncano-server'
// Listen for all events
logger.listen(event => {
// Handle event - save to db or send email
})
// Create custom logger levels - optionally
// Defaults are: error, warn, debug, info
logger.levels(['error', 'notice', 'fatal'])
// Initialize logger with scope "User Socket"
const log = logger('User Socket')
// Specific level loggers
log.error('This is error message!')
log.warn('This is warning message!')
log.info('This is info message!', {hello: "world"})
log.debug('This is debug message!')
Check documentation to learn more.
FAQs
A library to intereact with the Syncano API on a server side
The npm package syncano-server receives a total of 19 weekly downloads. As such, syncano-server popularity was classified as not popular.
We found that syncano-server demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.