Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
oh.snap ist ein Framework welches ein generisches soziales Netzwerk aufbaut.
npm install oh.snap --save
Um die API zu verwenden muss das Paket geladen werden und die Konfiguration für die zu verwendende Datenbank muss übergeben werden. Derzeit wird MongoDB als Datenbank voll unterstützt, an einer vollen Unterstützung für Neo4J wird derzeit noch gearbeitet.
const snap = require('oh.snap').init({
"type": DATABASETYPE, // Beispiel: "mongodb"
"host": HOST, // Beispiel: "mongodb://127.0.0.1:27017/"
"dataStore": DATENBANK-NAME, // Beipiel: "test"
"login": DATENBANK-LOGIN,
"password": DATENBANK-PASSWORT
})
Die API umfasst folgede Funktionen
snap.users.reducers.register(identifer, func)
snap.users.reducers.keys()
snap.users.builders.register(identifer, func)
snap.users.builders.keys()
snap.users.login(loginData, callback)
snap.users.register(newUserObj, builders, callback)
snap.users.authenticate(authToken, reducers)
snap.users.get(authToken, options, reducers, callback)
snap.users.connect(token, userIdFrom, userIdTo, callback)
snap.users.disconnect(token, userIdFrom, userIdTo, callback)
snap.users.logout(token, callback)
snap.content.reducers.register(identifer, func)
snap.content.reducers.keys()
snap.content.builders.register(identifer, func)
snap.content.builders.keys()
snap.content.create(authToken, newContentObj, builders, callback)
snap.content.get(authToken, options, reducers, callback)
snap.content.update(authToken, updatedContentObj, builders, callback)
let userName = "ein User"
let password = "myPassword"
snap.users.login(
{userName, password, passwordConf: password},
["myBuilder"], // siehe Builder und Reducer
(err, userObject) => {
if (!!err) {
console.log(err)
}
else {
console.log(userObject)
}
})
let userName = "ein User"
let password = "myPassword"
snap.users.login(
{userName, password},
["myReducer"], // siehe Builder und Reducer
(err, userArray) => {
if (!!err) {
console.log(err)
}
else {
console.log(userArray)
}
})
Suchen aller Benutzer die das Feld online = true haben
let jwtToken = "USER-JWT-TOKEN"
snap.users.get(
jwtToken,
{online: true},
["myReducer"], // siehe Builder und Reducer
(err, userList) => {
if (!!err) {
console.log(err)
}
else {
console.log(userList)
}
})
Suchen eines Benutzers anhand der ID
let jwtToken = "USER-JWT-TOKEN"
snap.users.get(
jwtToken,
{_id: 1},
["myReducer"], // siehe Builder und Reducer
(err, userList) => {
if (!!err) {
console.log(err)
}
else {
console.log(userList)
}
})
Follow Beziehung zwischen zwei Nutzern erzeugen
let jwtToken = "USER-JWT-TOKEN"
snap.users.connect(
jwtToken,
userIdFrom,
userIdTo,
(err, userToObject) => {
if (!!err) {
console.log(err)
}
else {
console.log(userToObject)
}
})
Soll die Verbindung wie eine Freundschaft funktionieren ist die Funktion erneut auszuführen, mit den userIdFrom und userIdTo getauscht.
Builder und Reducer sind Funktionen die zum verarbeiten von User- und Content-Objekten beim laden oder speichern verwendet werden können. Zukünfig sollen hier default mehrere Funktionen zur verfügung gestellt werden, es können jedoch auch eigene Builder & Reducer registriert und verwendet werden.
Per Default sind folgende die Builder addRegisterTimestamp für User und addCreationTimestamp für Content verfügbar, die bei der Registrierung / dem Anlegen ein timesptamp Feld in das jeweilige Objekt schreiben.
Beispiel für die Nutzung von Usergruppen.
snap.users.builders.register("benutzer-gruppe-1", (userObj) => {
userObj.role="group1"
return userObj
})
snap.users.builders.register("benutzer-gruppe-2", (userObj) => {
userObj.role="group2"
return userObj
})
Beim Registrieren kann dann eine Rolle übergeben werden.
let userName = "ein User"
let password = "myPassword"
snap.users.register(
{userName, password, passwordConf: password, publicKey},
["benutzer-gruppe-1"], // siehe Builder und Reducer
(err, data) => {
if (!!err) {
console.log(err)
}
else {
console.log(data)
}
})
})
FAQs
social network api project
The npm package oh.snap receives a total of 2 weekly downloads. As such, oh.snap popularity was classified as not popular.
We found that oh.snap demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.