File size: 816 Bytes
e229d32
 
 
37ab4cc
 
 
 
 
 
 
 
 
fd2bdff
37ab4cc
 
 
 
e229d32
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import {getFirestore, collection, addDoc, onSnapshot, query, serverTimestamp} from "https://www.gstatic.com/firebasejs/11.6.1/firebase-firestore.js";
import {getDB} from './firebase.js';

export async function saveNeuron(n){
  const db=getDB();
  if(!db) return; 
  const ref=collection(db,'artifacts',n.appId,'public','data','neurons');
  await addDoc(ref,{userId:n.userId,username:n.username,label:n.label,level:n.level,position:{x:n.position.x,y:n.position.y,z:n.position.z},topic:n.topic||null,createdAt:serverTimestamp()});
}
export function subscribeNeurons(appId,cb){
  const db=getDB();
  if(!db){
    setTimeout(()=>{ try{ cb({ empty:true, forEach:()=>{} }); }catch{} },0);
    return ()=>{};
  }
  const ref=query(collection(db,'artifacts',appId,'public','data','neurons'));
  return onSnapshot(ref,cb);
}