O problema de fechar a conexão do IDB e ter um efeito em cascata, não poderia ser resolvido chamando getConnection
sempre quando a janela é carregada?
Pois mesmo fechando o banco, chamando novamente o método, outro banco sobe, e sendo um Singleton(Somente um), isso é atualizado e corrigido em tempo de execução pelos diferentes usuarios?
> ConnectionFactory.getConnection().then(con => console.log(con))
Promise {<pending>}
IDBDatabase {name: "aluraframe", version: 4, objectStoreNames:
DOMStringList, onabort: null, onclose: null, …}
> ConnectionFactory.getConnection().then(con => console.log(con.close))
Promise {<pending>}
ƒ close() { [native code] }
> ConnectionFactory.getConnection().then(con => console.log(con))
Promise {<pending>}
IDBDatabase {name: "aluraframe", version: 4, objectStoreNames: DOMStringList, onabort: null, onclose: null, …}
Eu conseguiria manipular em cadeia o IDB armazenando uma var no client antes que o banco seja fechado por alguma das partes?
Por exemplo:
> let a
undefined
> let b
undefined
> let c
undefined
> ConnectionFactory.getConnection().then(con => a =con)
Promise {<pending>}
> ConnectionFactory.getConnection().then(con => b =con)
Promise {<pending>}
> ConnectionFactory.getConnection().then(con => c =con.close)
Promise {<pending>}
> c
ƒ close() { [native code] }
> b
IDBDatabase {name: "aluraframe", version: 4, objectStoreNames: DOMStringList, onabort: null, onclose: null, …}
> a
IDBDatabase {name: "aluraframe", version: 4, objectStoreNames: DOMStringList, onabort: null, onclose: null, …}
> a == b
true
Então de certa forma, alguem mau intencionado conseguiria fechar o acesso ao banco?
Quando eu armazeno o banco em vars diferentes do lado do client, eu estou atuando no mesmo banco em todas elas?
Como eu relaciono o uso desse banco com algum método de segurança através do server?
To curtindo muito o curso, o melhor curso da plataforma que já fiz até agora, abraços!