动态适配器pathForType基于auth id

时间:2014-10-11 15:31:37

标签: ember-data firebase emberfire

有没有办法在模型适配器的路径中包含用户的身份验证uid?例如,假设您有一个聊天应用程序和一个conversation模型来表示两个用户之间的私人消息会话,其中的数据存储如下:

{
    "conversations": {
        "<userAuthUID>": {
            "convo1": {...},
            "convo2": {...},
            ...
        },
        "<anotherUserAuthUID>": {
            ...
        }
    }
}

因此,使用此结构,适配器的路径需要为conversations/<currentUserAuthUID>

(仅供参考,这是一个ember-cli项目,如果这有任何区别的话。)

1 个答案:

答案 0 :(得分:0)

似乎使用以下方法:

// adapters/conversation.js

import Ember from 'ember';
import ApplicationAdapter from './application';

export default ApplicationAdapter.extend({
    pathForType: function(type) {
        //get the firebase authentication data via the `Firebase` instance
        //that i have injected into my app via an initializer
        var authData = this.container.lookup('app:firebase').getAuth();

        return  Ember.String.pluralize(type) + '/' + authData.uid;
    }
});