Syncano Server-side Library
This library supposed to be used in Syncano Sockets (inside scripts)
to communicate with Syncano Core Services. Syncano provides various Core Services:
- Database (db) - NoSQL database to store your application data
- Users Management (users) - service to store and manage users and groups of your application
- Event Loop (events) - service to emit events which can be caught by any Socket
- Realtime Channels (channels) - implement publish/subscribe model for realtime communication
Library initialization
To initialize library simply type:
import server from 'syncano-server-js'
const { data, events } = 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:
const { data, events } = server({
token: '9-12jdiasdnfo23nrokms',
instanceName: 'example-instance-name'
})
Examples
Using Database (data)
In this example tags
is a name of a class (data model) configured for that instance.
data.tags
.where('usage_count', 'gt', 100)
.take(140)
.list()
.then(tags => {})
data.tags.delete([8735, 8733])
data.tags.delete(7652)
Managing users (users)
data.users
.where('email', 'john.doe@example.com')
.first()
.then(user => {
})
data.users
.where('email', 'john.doe@example.com')
.firstOrFail()
.then(user => {})
.then(err => {
})
Using Events (events)
event.emit('my_signal', {dummyKey: 'dummy_value'})
.then(event => {})
.catch(err => {
})
Check documentation to learn more.