Skip to content

Instantly share code, notes, and snippets.

@HonbraDev
Created March 28, 2021 12:32
Show Gist options
  • Save HonbraDev/8f5d16b06a9acbb0a1adb7239a09a7dc to your computer and use it in GitHub Desktop.
Save HonbraDev/8f5d16b06a9acbb0a1adb7239a09a7dc to your computer and use it in GitHub Desktop.
Realtime DB in DodgyCoin
import { User } from "../typings/Database";
import * as admin from "firebase-admin";
const serviceAccount = require("../../firebaseadmin.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL:
"https://dodgycoin-default-rtdb.europe-west1.firebasedatabase.app",
});
const db = admin.database();
const getUser = (id: string) =>
new Promise<User>((resolve) =>
db.ref(`users/${id}`).once("value", (snap) => {
if (snap.exists()) {
resolve(snap.val() as User);
} else {
resolve({ monies: 0 });
}
})
);
const setMonies = (id: string, monies: number) =>
new Promise((resolve, reject) =>
db.ref(`users/${id}/monies`).set(monies).then(resolve)
);
export { getUser, setMonies };
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment