This is a simple chat-like program using pub-sub pattern, backed by PostgreSQL's LISTEN/NOTIFY command.
publish message to foo
channel from user nickname
.
$ python pub.py foo nickname
PUBLISH to channel #foo
/** | |
* Remove all specified keys from an object, no matter how deep they are. | |
* The removal is done in place, so run it on a copy if you don't want to modify the original object. | |
* This function has no limit so circular objects will probably crash the browser | |
* | |
* @param obj The object from where you want to remove the keys | |
* @param keys An array of property names (strings) to remove | |
*/ | |
function removeKeys(obj, keys){ | |
var index; |
// Example: https://codepen.io/marcelo-ribeiro/pen/OJmVOyW | |
const accentsMap = new Map([ | |
["A", "Á|À|Ã|Â|Ä"], | |
["a", "á|à|ã|â|ä"], | |
["E", "É|È|Ê|Ë"], | |
["e", "é|è|ê|ë"], | |
["I", "Í|Ì|Î|Ï"], | |
["i", "í|ì|î|ï"], | |
["O", "Ó|Ò|Ô|Õ|Ö"], |
const state = { | |
now: new Date | |
} | |
const actions = { | |
start ({ commit }) { | |
setInterval(() => { | |
commit('updateTime') | |
}, 1000 * 60) | |
} |
We have introduced 3 new hooks and 2 new middleware as part of feathers-permissions that give you much more flexibility and control over access permissions than was previously possible. Permissions are stored in the database on the entity record that needs to have access permissions checked (typically a user). They look like this:
[
'*', // all services, all methods, all docs
'users:*', // all methods on users service
'users:remove:*', // can remove any user
'*:remove', // can remove on any service