added 260907 version of worker toolkit
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
import Ember from 'ember';
|
||||
import ApplicationRouteMixin from 'ember-simple-auth/mixins/application-route-mixin';
|
||||
|
||||
const {
|
||||
get,
|
||||
Route,
|
||||
inject: {
|
||||
service,
|
||||
},
|
||||
} = Ember;
|
||||
|
||||
export default Route.extend(ApplicationRouteMixin, {
|
||||
notifications: service(),
|
||||
session: service(),
|
||||
|
||||
beforeModel() {
|
||||
get(this, 'notifications').loadNotifications();
|
||||
},
|
||||
|
||||
sessionAuthenticated() {
|
||||
this._super(...arguments);
|
||||
|
||||
get(this, 'notifications').loadNotifications();
|
||||
},
|
||||
|
||||
actions: {
|
||||
routeToLogin() {
|
||||
this.router.transitionTo('login');
|
||||
},
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,9 @@
|
||||
import Ember from 'ember';
|
||||
import AuthenticatedRouteMixin from 'flaredown/mixins/authenticated-route-mixin';
|
||||
|
||||
const {
|
||||
Route,
|
||||
} = Ember;
|
||||
|
||||
export default Route.extend(AuthenticatedRouteMixin, {
|
||||
});
|
||||
@@ -0,0 +1,22 @@
|
||||
import Ember from 'ember';
|
||||
import AuthenticatedRouteMixin from 'flaredown/mixins/authenticated-route-mixin';
|
||||
import CheckinByDate from 'flaredown/mixins/checkin-by-date';
|
||||
import moment from 'moment';
|
||||
|
||||
const {
|
||||
set,
|
||||
Route,
|
||||
RSVP,
|
||||
} = Ember;
|
||||
|
||||
export default Route.extend(AuthenticatedRouteMixin, CheckinByDate, {
|
||||
beforeModel: function(transition){
|
||||
set(this, 'date', transition.queryParams.date);
|
||||
},
|
||||
|
||||
model(params) {
|
||||
const date = params.date_key || moment(new Date()).format('YYYY-MM-DD');
|
||||
|
||||
return RSVP.hash({ checkins: this.checkinByDate(date), date: date })
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,29 @@
|
||||
import Ember from 'ember';
|
||||
import AuthenticatedRouteMixin from 'flaredown/mixins/authenticated-route-mixin';
|
||||
import CheckinByDate from 'flaredown/mixins/checkin-by-date';
|
||||
import moment from 'moment';
|
||||
|
||||
const {
|
||||
get,
|
||||
set,
|
||||
Route,
|
||||
} = Ember;
|
||||
|
||||
export default Route.extend(AuthenticatedRouteMixin, CheckinByDate, {
|
||||
beforeModel: function(transition){
|
||||
set(this, 'date', transition.queryParams.date);
|
||||
},
|
||||
|
||||
model() {
|
||||
const date = get(this, 'date') || moment(new Date()).format('YYYY-MM-DD');
|
||||
|
||||
this.checkinByDate(date).then(
|
||||
() => {
|
||||
this.routeToCheckin(date);
|
||||
},
|
||||
() => {
|
||||
this.routeToNewCheckin(date);
|
||||
}
|
||||
);
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,35 @@
|
||||
import Ember from 'ember';
|
||||
import AuthenticatedRouteMixin from 'flaredown/mixins/authenticated-route-mixin';
|
||||
|
||||
const {
|
||||
get,
|
||||
set,
|
||||
RSVP,
|
||||
Route,
|
||||
} = Ember;
|
||||
|
||||
export default Route.extend(AuthenticatedRouteMixin, {
|
||||
beforeModel() {
|
||||
this._super(...arguments);
|
||||
|
||||
const store = get(this, 'store');
|
||||
|
||||
if(store.peekAll('condition').length > 0){
|
||||
store.unloadAll('condition');
|
||||
}
|
||||
},
|
||||
|
||||
model(params) {
|
||||
var checkinId = params.checkin_id;
|
||||
var stepId = `${this.routeName.split('.')[0]}-${params.step_key}`;
|
||||
|
||||
return RSVP.hash({
|
||||
stepId,
|
||||
checkin: this.store.findRecord('checkin', checkinId),
|
||||
});
|
||||
},
|
||||
|
||||
afterModel(model) {
|
||||
set(this, 'stepsService.checkin', model.checkin);
|
||||
},
|
||||
});
|
||||
12
worker-toolkit-flaredown/repo/frontend/app/routes/delete.js
Normal file
12
worker-toolkit-flaredown/repo/frontend/app/routes/delete.js
Normal file
@@ -0,0 +1,12 @@
|
||||
import Ember from 'ember';
|
||||
import AuthenticatedRouteMixin from 'flaredown/mixins/authenticated-route-mixin';
|
||||
|
||||
const {
|
||||
Route,
|
||||
} = Ember;
|
||||
|
||||
export default Route.extend(AuthenticatedRouteMixin, {
|
||||
model() {
|
||||
return this.get('session.currentUser');
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,26 @@
|
||||
import Ember from 'ember';
|
||||
import AuthenticatedRouteMixin from 'flaredown/mixins/authenticated-route-mixin';
|
||||
|
||||
export default Ember.Route.extend(AuthenticatedRouteMixin, {
|
||||
ajax: Ember.inject.service(),
|
||||
|
||||
beforeModel(transition) {
|
||||
var promise = this.get('ajax').request('/api/discourse', {
|
||||
headers: {
|
||||
"Authorization": `Token token="${this.get('session.token')}", email="${this.get('session.email')}"`
|
||||
},
|
||||
method: 'POST',
|
||||
data: {
|
||||
sso: transition.queryParams.sso,
|
||||
sig: transition.queryParams.sig
|
||||
}
|
||||
});
|
||||
|
||||
promise.then( (payload) => {
|
||||
window.location = payload.url;
|
||||
});
|
||||
|
||||
return promise;
|
||||
}
|
||||
|
||||
});
|
||||
50
worker-toolkit-flaredown/repo/frontend/app/routes/index.js
Normal file
50
worker-toolkit-flaredown/repo/frontend/app/routes/index.js
Normal file
@@ -0,0 +1,50 @@
|
||||
import Ember from 'ember';
|
||||
import AuthenticatedRouteMixin from 'flaredown/mixins/authenticated-route-mixin';
|
||||
import CheckinByDate from 'flaredown/mixins/checkin-by-date';
|
||||
import moment from 'moment';
|
||||
|
||||
const {
|
||||
get,
|
||||
Route,
|
||||
} = Ember;
|
||||
|
||||
export default Route.extend(CheckinByDate, AuthenticatedRouteMixin, {
|
||||
/*
|
||||
REQUIREMENTS:
|
||||
If the user hasn't completed the onboarding process
|
||||
default route is the last completed onboarding step
|
||||
Else
|
||||
If the user has already checked-in today
|
||||
default route should be start screen of today's check-in
|
||||
Else
|
||||
default route should be summary screen of today's check-in
|
||||
*/
|
||||
beforeModel(transition) {
|
||||
if (typeof FastBoot !== 'undefined') { return; }
|
||||
|
||||
transition.abort();
|
||||
|
||||
if (get(this, 'session.isAuthenticated')) {
|
||||
get(this, 'session.currentUser').then(currentUser => {
|
||||
get(currentUser, 'profile').then(profile => {
|
||||
if (get(profile, 'isOnboarded')) {
|
||||
const date = moment(new Date()).format('YYYY-MM-DD');
|
||||
|
||||
this.checkinByDate(date).then(
|
||||
() => {
|
||||
this.routeToCheckinsForDate(date);
|
||||
},
|
||||
() => {
|
||||
this.routeToNewCheckin(date);
|
||||
}
|
||||
);
|
||||
} else {
|
||||
this.transitionTo('onboarding', get(profile, 'onboardingStep.stepName'));
|
||||
}
|
||||
});
|
||||
});
|
||||
} else {
|
||||
return this._super(...arguments);
|
||||
}
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,6 @@
|
||||
import Ember from 'ember';
|
||||
import UnauthenticatedRouteMixin from 'flaredown/mixins/unauthenticated-route-mixin';
|
||||
|
||||
export default Ember.Route.extend(UnauthenticatedRouteMixin, {
|
||||
|
||||
});
|
||||
@@ -0,0 +1,9 @@
|
||||
import Ember from 'ember';
|
||||
import UnauthenticatedRouteMixin from 'flaredown/mixins/unauthenticated-route-mixin';
|
||||
|
||||
const {
|
||||
Route,
|
||||
} = Ember;
|
||||
|
||||
export default Route.extend(UnauthenticatedRouteMixin, {
|
||||
});
|
||||
@@ -0,0 +1,18 @@
|
||||
import Ember from 'ember';
|
||||
import HistoryTrackable from 'flaredown/mixins/history-trackable';
|
||||
|
||||
const {
|
||||
get,
|
||||
inject: {
|
||||
service,
|
||||
},
|
||||
Route
|
||||
} = Ember;
|
||||
|
||||
export default Route.extend(HistoryTrackable, {
|
||||
notifications: service('notifications'),
|
||||
|
||||
model() {
|
||||
return get(this, 'notifications');
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,37 @@
|
||||
import Ember from 'ember';
|
||||
import AuthenticatedRouteMixin from 'flaredown/mixins/authenticated-route-mixin';
|
||||
|
||||
const {
|
||||
get,
|
||||
RSVP,
|
||||
Route,
|
||||
getProperties,
|
||||
} = Ember;
|
||||
|
||||
export default Route.extend(AuthenticatedRouteMixin, {
|
||||
model(params) {
|
||||
return get(this, 'session.currentUser').then(currentUser => {
|
||||
const stepId = `${this.routeName}-${params.step_key}`;
|
||||
|
||||
return RSVP.hash({
|
||||
stepId,
|
||||
profile: get(currentUser, 'profile'),
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
afterModel(model, transition) {
|
||||
get(this, 'session.currentUser.profile').then(profile => {
|
||||
const savedStep = get(profile, 'onboardingStep');
|
||||
const currentStep = get(this, `stepsService.steps.${model.stepId}`);
|
||||
|
||||
if (currentStep.priority > savedStep.priority) {
|
||||
transition.abort();
|
||||
|
||||
const { prefix, stepName } = getProperties(savedStep, 'prefix', 'stepName');
|
||||
|
||||
this.transitionTo(prefix, stepName);
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,8 @@
|
||||
import Ember from 'ember';
|
||||
|
||||
const {
|
||||
Route,
|
||||
} = Ember;
|
||||
|
||||
export default Route.extend({
|
||||
});
|
||||
@@ -0,0 +1,11 @@
|
||||
import Ember from 'ember';
|
||||
|
||||
const {
|
||||
Route,
|
||||
} = Ember;
|
||||
|
||||
export default Route.extend({
|
||||
model() {
|
||||
return this.store.createRecord('oracleRequest', { symptomIds: [] });
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,11 @@
|
||||
import Ember from 'ember';
|
||||
|
||||
const {
|
||||
Route,
|
||||
} = Ember;
|
||||
|
||||
export default Route.extend({
|
||||
model(params) {
|
||||
return this.store.findRecord('oracleRequest', params.id);
|
||||
}
|
||||
});
|
||||
@@ -0,0 +1,4 @@
|
||||
import Ember from 'ember';
|
||||
import UnauthenticatedRouteMixin from 'flaredown/mixins/unauthenticated-route-mixin';
|
||||
|
||||
export default Ember.Route.extend(UnauthenticatedRouteMixin, {});
|
||||
@@ -0,0 +1,15 @@
|
||||
import Ember from 'ember';
|
||||
import UnauthenticatedRouteMixin from 'flaredown/mixins/unauthenticated-route-mixin';
|
||||
|
||||
const {
|
||||
get,
|
||||
Route,
|
||||
} = Ember;
|
||||
|
||||
export default Route.extend(UnauthenticatedRouteMixin, {
|
||||
model(params) {
|
||||
if (typeof FastBoot === 'undefined') {
|
||||
return get(this, 'store').findRecord('password', params.password_id).catch(() => null);
|
||||
}
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,13 @@
|
||||
import Ember from 'ember';
|
||||
import AuthenticatedRouteMixin from 'flaredown/mixins/authenticated-route-mixin';
|
||||
|
||||
const {
|
||||
get,
|
||||
Route,
|
||||
} = Ember;
|
||||
|
||||
export default Route.extend(AuthenticatedRouteMixin, {
|
||||
model() {
|
||||
return get(this, 'store').findAll('pattern');
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,21 @@
|
||||
import Ember from 'ember';
|
||||
import config from 'flaredown/config/environment';
|
||||
import CryptoJS from 'cryptojs';
|
||||
|
||||
const {
|
||||
get,
|
||||
Route,
|
||||
} = Ember;
|
||||
|
||||
export default Route.extend({
|
||||
secretPhrase: config.encryptionSecret,
|
||||
staticUrl: config.staticUrl,
|
||||
|
||||
model(params) {
|
||||
const friendlyUrl = decodeURIComponent(params.friendly_id);
|
||||
const decryptedArray = CryptoJS.AES.decrypt(friendlyUrl, get(this, 'secretPhrase')).toString(CryptoJS.enc.Utf8);
|
||||
const patternIds = decryptedArray.split(', ').map((id) => id.replace(/\s+/g,""));
|
||||
|
||||
return get(this, 'store').query('pattern', { pattern_ids: patternIds });
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,4 @@
|
||||
import Ember from 'ember';
|
||||
|
||||
export default Ember.Route.extend({
|
||||
});
|
||||
@@ -0,0 +1,14 @@
|
||||
import Ember from 'ember';
|
||||
import HistoryTrackable from 'flaredown/mixins/history-trackable';
|
||||
import AuthenticatedRouteMixin from 'flaredown/mixins/authenticated-route-mixin';
|
||||
|
||||
const {
|
||||
get,
|
||||
Route,
|
||||
} = Ember;
|
||||
|
||||
export default Route.extend(HistoryTrackable, AuthenticatedRouteMixin, {
|
||||
model() {
|
||||
return get(this, 'session.currentUser').then(user => get(user, 'topicFollowing'));
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,77 @@
|
||||
import Ember from 'ember';
|
||||
import HistoryTrackable from 'flaredown/mixins/history-trackable';
|
||||
import ToggleHeaderLogo from 'flaredown/mixins/toggle-header-logo';
|
||||
import AddMetaTags from 'flaredown/mixins/add-meta-tags';
|
||||
|
||||
const {
|
||||
set,
|
||||
get,
|
||||
Route,
|
||||
RSVP: {
|
||||
hash,
|
||||
},
|
||||
} = Ember;
|
||||
|
||||
export default Route.extend(HistoryTrackable, ToggleHeaderLogo, AddMetaTags, {
|
||||
queryParams: {
|
||||
following: { refreshModel: true },
|
||||
query: { refreshModel: true }
|
||||
},
|
||||
|
||||
model(params) {
|
||||
set(this, 'query', params.query);
|
||||
const currentUser = get(this, 'session.currentUser');
|
||||
|
||||
return hash({
|
||||
posts: get(this, 'store').query('post', params).then(q => q.toArray()),
|
||||
topicFollowing: currentUser ? currentUser.then(user => get(user, 'topicFollowing')) : [],
|
||||
});
|
||||
},
|
||||
|
||||
setHeadTags: function() {
|
||||
const currentUrl = get(this, 'currentUrl');
|
||||
|
||||
const headTags = [
|
||||
{ type: 'meta',
|
||||
tagId: 'title',
|
||||
attrs: {
|
||||
property: 'og:title',
|
||||
content: 'Discussion',
|
||||
},
|
||||
},
|
||||
{ type: 'meta',
|
||||
tagId: 'description',
|
||||
attrs: {
|
||||
property: 'og:description',
|
||||
content: 'Discussion',
|
||||
},
|
||||
},
|
||||
{ type: 'meta',
|
||||
tagId: 'url',
|
||||
attrs: {
|
||||
property: 'og:url',
|
||||
content: currentUrl,
|
||||
},
|
||||
},
|
||||
|
||||
//Twitter meta tags
|
||||
{ type: 'meta',
|
||||
tagId: 'card',
|
||||
attrs: {
|
||||
name: 'twitter:card',
|
||||
content: 'summary',
|
||||
},
|
||||
},
|
||||
{
|
||||
type: 'meta',
|
||||
tagId: 'googleDesc',
|
||||
attrs: {
|
||||
name: 'description',
|
||||
content: 'Discussion',
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
set(this, 'headTags', headTags);
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,26 @@
|
||||
import Ember from 'ember';
|
||||
import HistoryTrackable from 'flaredown/mixins/history-trackable';
|
||||
|
||||
const {
|
||||
get,
|
||||
Route,
|
||||
} = Ember;
|
||||
|
||||
export default Route.extend(HistoryTrackable, {
|
||||
model() {
|
||||
return get(this, 'store')
|
||||
.createRecord(
|
||||
'post',
|
||||
{
|
||||
tagIds: [],
|
||||
symptomIds: [],
|
||||
conditionIds: [],
|
||||
treatmentIds: [],
|
||||
}
|
||||
);
|
||||
},
|
||||
|
||||
historyEntry() {
|
||||
return null;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,13 @@
|
||||
import Ember from 'ember';
|
||||
import PostableGetable from 'flaredown/mixins/postable-getable';
|
||||
import HistoryTrackable from 'flaredown/mixins/history-trackable';
|
||||
|
||||
const {
|
||||
Route,
|
||||
} = Ember;
|
||||
|
||||
export default Route.extend(PostableGetable, HistoryTrackable, {
|
||||
model() {
|
||||
return this.getPostables(1);
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,94 @@
|
||||
import Ember from 'ember';
|
||||
import HistoryTrackable from 'flaredown/mixins/history-trackable';
|
||||
import ToggleHeaderLogo from 'flaredown/mixins/toggle-header-logo';
|
||||
import AddMetaTags from 'flaredown/mixins/add-meta-tags';
|
||||
import UpdateNotifications from 'flaredown/mixins/update-notifications';
|
||||
|
||||
const {
|
||||
get,
|
||||
set,
|
||||
run: {
|
||||
schedule,
|
||||
},
|
||||
Route,
|
||||
} = Ember;
|
||||
|
||||
export default Route.extend(HistoryTrackable, ToggleHeaderLogo, AddMetaTags, UpdateNotifications, {
|
||||
updateNotifications: true,
|
||||
|
||||
afterModel() {
|
||||
const currentModel = this.modelFor(this.routeName);
|
||||
|
||||
schedule('afterRender', this, this.updatePostNotifications, currentModel);
|
||||
},
|
||||
|
||||
resetController(controller, isExiting) {
|
||||
if (isExiting) {
|
||||
set(controller, 'anchor', null);
|
||||
}
|
||||
},
|
||||
model(params) {
|
||||
return get(this, 'store').find('post', params.id);
|
||||
},
|
||||
|
||||
setupController(controller, model) {
|
||||
this._super(controller, model);
|
||||
|
||||
set(controller, 'newComment', get(this, 'store').createRecord('comment'));
|
||||
},
|
||||
|
||||
historyEntry(model) {
|
||||
let entry = this._super(...arguments);
|
||||
|
||||
entry.pushObject([get(model, 'id')]);
|
||||
|
||||
return entry;
|
||||
},
|
||||
|
||||
setHeadTags: function(model) {
|
||||
const currentUrl = get(this, 'currentUrl');
|
||||
|
||||
const headTags = [
|
||||
{ type: 'meta',
|
||||
tagId: 'title',
|
||||
attrs: {
|
||||
property: 'og:title',
|
||||
content: model.get('title'),
|
||||
},
|
||||
},
|
||||
{ type: 'meta',
|
||||
tagId: 'description',
|
||||
attrs: {
|
||||
property: 'og:description',
|
||||
content: model.get('body'),
|
||||
},
|
||||
},
|
||||
{ type: 'meta',
|
||||
tagId: 'url',
|
||||
attrs: {
|
||||
property: 'og:url',
|
||||
content: currentUrl,
|
||||
},
|
||||
},
|
||||
|
||||
//Twitter meta tags
|
||||
{ type: 'meta',
|
||||
tagId: 'card',
|
||||
attrs: {
|
||||
name: 'twitter:card',
|
||||
content: 'summary',
|
||||
},
|
||||
},
|
||||
{
|
||||
type: 'meta',
|
||||
tagId: 'googleDesc',
|
||||
attrs: {
|
||||
name: 'description',
|
||||
content: model.get('body'),
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
set(this, 'headTags', headTags);
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,97 @@
|
||||
import Ember from 'ember';
|
||||
import HistoryTrackable from 'flaredown/mixins/history-trackable';
|
||||
import ToggleHeaderLogo from 'flaredown/mixins/toggle-header-logo';
|
||||
import AddMetaTags from 'flaredown/mixins/add-meta-tags';
|
||||
|
||||
const {
|
||||
get,
|
||||
set,
|
||||
inject: {
|
||||
service,
|
||||
},
|
||||
Route,
|
||||
getProperties,
|
||||
RSVP: {
|
||||
hash,
|
||||
},
|
||||
} = Ember;
|
||||
|
||||
const availableTypes = ['tag', 'symptom', 'condition', 'treatment'];
|
||||
|
||||
export default Route.extend(HistoryTrackable, ToggleHeaderLogo, AddMetaTags, {
|
||||
session: service(),
|
||||
|
||||
model(params) {
|
||||
const { id, type } = params;
|
||||
|
||||
if (!availableTypes.includes(type)) {
|
||||
return this.transitionTo('posts');
|
||||
}
|
||||
|
||||
const store = get(this, 'store');
|
||||
const currentUser = get(this, 'session.currentUser');
|
||||
|
||||
return hash({
|
||||
id,
|
||||
type,
|
||||
page: 1,
|
||||
posts: store.query('post', { id, type }).then(q => q.toArray()),
|
||||
topic: store.findRecord(type, id),
|
||||
topicFollowing: currentUser ? currentUser.then(user => get(user, 'topicFollowing')) : [],
|
||||
});
|
||||
},
|
||||
|
||||
historyEntry(model) {
|
||||
const { id, type } = getProperties(model, 'id', 'type');
|
||||
|
||||
return this._super(...arguments).pushObjects([type, id]);
|
||||
},
|
||||
|
||||
setHeadTags: function(model) {
|
||||
const currentUrl = get(this, 'currentUrl');
|
||||
|
||||
const headTags = [
|
||||
{ type: 'meta',
|
||||
tagId: 'title',
|
||||
attrs: {
|
||||
property: 'og:title',
|
||||
content: 'Topic',
|
||||
},
|
||||
},
|
||||
{ type: 'meta',
|
||||
tagId: 'description',
|
||||
attrs: {
|
||||
property: 'og:description',
|
||||
content: get(model, 'topic.name'),
|
||||
},
|
||||
},
|
||||
{ type: 'meta',
|
||||
tagId: 'url',
|
||||
attrs: {
|
||||
property: 'og:url',
|
||||
content: currentUrl,
|
||||
},
|
||||
},
|
||||
|
||||
//Twitter meta tags
|
||||
{ type: 'meta',
|
||||
tagId: 'card',
|
||||
attrs: {
|
||||
name: 'twitter:card',
|
||||
content: 'summary',
|
||||
},
|
||||
},
|
||||
{
|
||||
type: 'meta',
|
||||
tagId: 'googleDesc',
|
||||
attrs: {
|
||||
name: 'description',
|
||||
content: get(model, 'topic.name'),
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
set(this, 'headTags', headTags);
|
||||
},
|
||||
|
||||
});
|
||||
@@ -0,0 +1,19 @@
|
||||
import Ember from 'ember';
|
||||
import AuthenticatedRouteMixin from 'flaredown/mixins/authenticated-route-mixin';
|
||||
|
||||
const {
|
||||
Route,
|
||||
get
|
||||
} = Ember;
|
||||
|
||||
export default Route.extend(AuthenticatedRouteMixin, {
|
||||
model() {
|
||||
return get(this, 'session.currentUser').then(user => user.get('profile'));
|
||||
},
|
||||
|
||||
actions: {
|
||||
invalidateSession() {
|
||||
this.get('session').invalidate();
|
||||
},
|
||||
},
|
||||
});
|
||||
13
worker-toolkit-flaredown/repo/frontend/app/routes/signup.js
Normal file
13
worker-toolkit-flaredown/repo/frontend/app/routes/signup.js
Normal file
@@ -0,0 +1,13 @@
|
||||
import Ember from 'ember';
|
||||
import UnauthenticatedRouteMixin from 'flaredown/mixins/unauthenticated-route-mixin';
|
||||
|
||||
const {
|
||||
Route,
|
||||
} = Ember;
|
||||
|
||||
export default Route.extend(UnauthenticatedRouteMixin, {
|
||||
|
||||
model() {
|
||||
return this.store.createRecord('registration');
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,20 @@
|
||||
import Ember from 'ember';
|
||||
|
||||
const {
|
||||
get,
|
||||
Route,
|
||||
inject : { service }
|
||||
} = Ember;
|
||||
|
||||
export default Route.extend({
|
||||
ajax: service('ajax'),
|
||||
|
||||
beforeModel(transition) {
|
||||
const notifyToken = transition.params.unsubscribe.notify_token;
|
||||
|
||||
get(this, 'ajax').request(`/unsubscribe/${ notifyToken }`, {
|
||||
type: 'GET',
|
||||
data: transition.queryParams,
|
||||
});
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user