我正在創建的團隊來完成流程的應用程序被拒絕。這些進程的成員是管理員,他們可以寫信給他們,然後只是可以閱讀的普通用戶。當用戶第一次創建一個進程時,默認情況下它們是一個管理員。但是每當我試圖創建一個進程,我收到拒絕「權限」從火力地堡,我無法。我基本上是讀(只是用「管理員」路徑替換「用戶」路徑),我能讀的過程就好了同樣的規則。只是無法做到這一點。任何想法爲什麼發生這種情況。返回許可火力地堡安全規則時,試圖寫入數據庫
下面是安全規則的過程:
"processes": {
"$processID": {
".read": "auth.uid != null && data.child('users/' + auth.uid).val() === true",
".write": "auth.uid != null && newData.child('admins/' + auth.uid).val() === true"
}
}
下面是過程的數據結構:
processes
-KQ_j5Yt75GktE5pBRFS
admins
HESy7LE7JbeNyHKaGeyWRhNIuE83: true
createdOn: "2016-09-01T04:00:00.000Z"
description: "This is an example process"
name: "Example Personal Process"
tasks
team: "-KQ_iwUmXsx0zasoPxT9"
users
HESy7LE7JbeNyHKaGeyWRhNIuE83: true
下面是函數其中I創建一個進程:
actions: {
createProcess(processName, processDescription) {
var teamId = this.controllerFor('processes/new').get('teamId');
var self = this;
console.log("team: "+teamId);
let currentUser = this.get('user').get('currentUser');
let team = this.get('store').peekRecord('team', teamId);
let user = this.get('store').peekRecord('user', currentUser.id);
console.log("user "+currentUser.id)
let process = this.get('store').createRecord('process', {
team: team,
user: user,
admin: user,
name: processName,
description: processDescription
});
user.get('processes').pushObject(process);
user.get('processesLead').pushObject(process);
team.get('processes').pushObject(process);
console.log("about to save process");
process.save().then(function() {
console.log(process.admin.id);
user.save();
console.log("user saved");
team.save();
console.log("team saved");
}).then(() => this.transitionTo('team', teamId));
}
這是我的用戶模型的一部分。
processes: DS.hasMany('process'),
tasks: DS.hasMany('task'),
processesLead: DS.hasMany('process', { inverse: 'admins' }),
teamsLead: DS.hasMany('team', { inverse: 'admins' }),
tasksLead: DS.hasMany('task', { inverse: 'admins' }),
processMember: DS.hasMany('process', { inverse: 'members' }),
teamMember: DS.hasMany('team', { inverse: 'members' }),
taskMember: DS.hasMany('task', { inverse: 'members' })
這裏是我的過程模型的一部分:
users: DS.hasMany('user'),
admins: DS.hasMany('user', { inverse: 'processesLead' }),
members: DS.hasMany('user', { inverse: 'processMember' })
顯示代碼,您寫DB –
看在上帝的份上,請用UNIX時間戳 –
剛剛添加的代碼日期/時間字符串。 @DimaRostopira –