Итак, у меня есть модель пользователя и магазин пользователей. Когда пользователь аутентифицируется, как лучше всего управлять жизненным циклом этого аутентифицированного пользователя? Мой текущий подход: 1. У меня есть магазин всех пользователей («UsersStore») с моделью для «Пользователь» 2. У меня есть второй магазин для аутентифицированных пользователей («AuthenticatedUsersStore») с моделью для «AuthenticatedUser», 3. Оба они имеют отдельные конечные точки REST.Базовая аутентификация с Sencha Touch или ExtJS
Это похоже на беспорядочный подход, но для меня проще, чтобы пользователь и другие пользователи, прошедшие аутентификацию, отделились и запросили их отдельно и т. Д. Но я уверен, что есть более элегантный способ справиться с этим только с одной моделью и один магазин.
Может кто-нибудь указать мне в правильном направлении? Любая помощь высоко ценится! Благодаря!
Большое спасибо за ваш комментарий Macy. Итак, скажем, для приложения, в котором у меня есть набор поставщиков (таких же, как у пользователей), у которых есть профили (и связанные данные), которые являются общедоступными, а для аутентифицированного поставщика - намного больше данных. Я ранее реализовал его как поле для пользовательской модели в хранилищах пользователей, но я обнаружил, что у меня было много «hasMany» отношений от пользователя к другим моделям в моем приложении, которые применяются только к аутентифицированному пользователю, и поэтому он чувствовал себя излишним есть все эти ассоциации, но быть пустым и для каждого другого пользователя. Мысли? –
Я бы реализовал это как имеющее одну модель, Vendor, с базовым свойством и ассоциациями. Затем я расширил эту модель с помощью AuthenticatedVendor, которая объявила больше полей и соответствующих методов. Таким образом, ваши модели Vendor не засоряются ненужными полями и методами, но ваши модели AuthenticatedVendor могут использовать функциональность базового Vendor. –
Arite. Имеет смысл. Пользователь My User и Authenticated User расширил общий базовый класс, но это имеет смысл. Я попробую. Спасибо! –