# HG changeset patch # User ymh # Date 1497901581 -7200 # Node ID 1eb52770eefa7ba345c482cb21a885c6b9e4c253 # Parent f16a080e0bc4a89096a1414dc550ce0acaf2b4c7 Backed out changeset f16a080e0bc4 diff -r f16a080e0bc4 -r 1eb52770eefa client/package.json --- a/client/package.json Mon Jun 19 21:37:33 2017 +0200 +++ b/client/package.json Mon Jun 19 21:46:21 2017 +0200 @@ -6,7 +6,6 @@ "dependencies": { "bootstrap-sass": "^3.3.7", "immutable": "^3.8.1", - "localforage": "^1.5.0", "lodash": "^4.17.4", "moment": "^2.18.1", "pouchdb": "^6.2.0", @@ -20,8 +19,6 @@ "redux": "^3.6.0", "redux-history-transitions": "^2.2.0", "redux-immutable": "^4.0.0", - "redux-offline": "^2.0.0", - "redux-persist-transform-immutable": "^4.3.0", "redux-saga": "^0.15.3", "slate": "^0.20.1", "uuid": "^3.0.1" diff -r f16a080e0bc4 -r 1eb52770eefa client/src/actions/notesActions.js --- a/client/src/actions/notesActions.js Mon Jun 19 21:37:33 2017 +0200 +++ b/client/src/actions/notesActions.js Mon Jun 19 21:46:21 2017 +0200 @@ -4,7 +4,7 @@ export const addNote = (session, data) => { return { - type: types.ADD_NOTE, + type: types.ADD_NOTE_ASYNC, note: { _id: uuidV1(), session: session._id, @@ -20,7 +20,7 @@ export const loadNotesBySession = (session) => { return { - type: types.LOAD_NOTES_BY_SESSION, + type: types.LOAD_NOTES_BY_SESSION_ASYNC, session: session } } diff -r f16a080e0bc4 -r 1eb52770eefa client/src/actions/sessionsActions.js --- a/client/src/actions/sessionsActions.js Mon Jun 19 21:37:33 2017 +0200 +++ b/client/src/actions/sessionsActions.js Mon Jun 19 21:46:21 2017 +0200 @@ -1,40 +1,22 @@ -//import uuidV1 from 'uuid/v1'; +import uuidV1 from 'uuid/v1'; import * as types from '../constants/actionTypes'; -export const createSession = (sessionId) => { - - //const sessionId = uuidV1(); - const newSession = { - _id: sessionId, - ext_id: sessionId, +export const createSession = () => { + return { + type: types.CREATE_SESSION_ASYNC, + session: { + _id: uuidV1(), date: new Date(), title: '', description: '', - }; - - return { - type: types.CREATE_SESSION, - session: newSession, - meta: { - offline: { - effect: { - url: "http://localhost:8000/api/notes/sessions/", - body: JSON.stringify(newSession), method: 'POST', - headers: { - Authorization: "JWT eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoyLCJlbWFpbCI6IiIsInVzZXJuYW1lIjoieW1oIiwiZXhwIjoxNDk3NjU2MjY5fQ.qrwbC4oRqvWNOp8x_8yZRJJowVVoFEpjy1uLhiERTTI" - } - }, - commit: { type: types.CREATE_SESSION_ASYNC }, - rollback: { type: 'NoOp'} - } } }; } export const updateSession = (session, values) => { return { - type: types.UPDATE_SESSION, + type: types.UPDATE_SESSION_ASYNC, session: session, values: values, }; @@ -42,6 +24,6 @@ export const loadSessions = () => { return { - type: types.LOAD_SESSIONS + type: types.LOAD_SESSIONS_ASYNC } } diff -r f16a080e0bc4 -r 1eb52770eefa client/src/components/Navbar.js --- a/client/src/components/Navbar.js Mon Jun 19 21:37:33 2017 +0200 +++ b/client/src/components/Navbar.js Mon Jun 19 21:46:21 2017 +0200 @@ -1,3 +1,4 @@ + import PropTypes from 'prop-types'; import React, { Component } from 'react'; import { connect } from 'react-redux'; diff -r f16a080e0bc4 -r 1eb52770eefa client/src/components/NotesList.js --- a/client/src/components/NotesList.js Mon Jun 19 21:37:33 2017 +0200 +++ b/client/src/components/NotesList.js Mon Jun 19 21:46:21 2017 +0200 @@ -14,6 +14,7 @@ No notes yet. Add notes with the textarea below. ); } + return (
{notes.map((note) => diff -r f16a080e0bc4 -r 1eb52770eefa client/src/components/Session.js --- a/client/src/components/Session.js Mon Jun 19 21:37:33 2017 +0200 +++ b/client/src/components/Session.js Mon Jun 19 21:46:21 2017 +0200 @@ -13,7 +13,7 @@ class Session extends Component { componentDidMount = () => { - //this.props.notesActions.loadNotesBySession({ _id: this.props.match.params.id }); + this.props.notesActions.loadNotesBySession({ _id: this.props.match.params.id }); } render() { @@ -50,20 +50,14 @@ const sessionId = props.match.params.id; -// const sessions = state.get('sessions'); -// const notes = state.get('notes'); - const sessions = state['sessions']; - const notes = state['notes']; - + const sessions = state.get('sessions'); + const notes = state.get('notes'); const currentSession = sessions.find(session => session._id === sessionId); - const currentNotes = notes.filter(note => { - return note.session === sessionId; - }); return { currentSession, sessions, - notes: currentNotes, + notes, }; } diff -r f16a080e0bc4 -r 1eb52770eefa client/src/components/Sessions.js --- a/client/src/components/Sessions.js Mon Jun 19 21:37:33 2017 +0200 +++ b/client/src/components/Sessions.js Mon Jun 19 21:46:21 2017 +0200 @@ -6,14 +6,17 @@ import '../App.css'; import Navbar from './Navbar'; import * as sessionsActions from '../actions/sessionsActions'; -import uuidV1 from 'uuid/v1'; class Sessions extends Component { createSession = () => { - const sessionId = uuidV1(); - this.props.sessionsActions.createSession(sessionId); - this.props.history.push('/sessions/' + sessionId); + this.props.sessionsActions.createSession(); + } + + componentDidUpdate = () => { + if (this.props.currentSession) { + this.props.history.push('/sessions/' + this.props.currentSession._id) + } } render() { @@ -43,9 +46,8 @@ function mapStateToProps(state, props) { return { - // currentSession: state.get('currentSession'), - // sessions: state.get('sessions') - sessions: state['sessions'] + currentSession: state.get('currentSession'), + sessions: state.get('sessions') }; } diff -r f16a080e0bc4 -r 1eb52770eefa client/src/reducers/index.js --- a/client/src/reducers/index.js Mon Jun 19 21:37:33 2017 +0200 +++ b/client/src/reducers/index.js Mon Jun 19 21:46:21 2017 +0200 @@ -1,5 +1,4 @@ -//import { combineReducers } from 'redux-immutable'; -import { combineReducers } from 'redux'; +import { combineReducers } from 'redux-immutable'; import { routerReducer } from 'react-router-redux'; import notes from './notesReducer'; @@ -7,7 +6,7 @@ import { isAuthenticated, currentUser, login, token } from './authReducer'; const rootReducer = combineReducers({ -// currentSession, + currentSession, sessions, notes, isAuthenticated, diff -r f16a080e0bc4 -r 1eb52770eefa client/src/reducers/notesReducer.js --- a/client/src/reducers/notesReducer.js Mon Jun 19 21:37:33 2017 +0200 +++ b/client/src/reducers/notesReducer.js Mon Jun 19 21:46:21 2017 +0200 @@ -7,8 +7,7 @@ case types.ADD_NOTE: return state.push(new noteRecord(action.note)); case types.LOAD_NOTES_BY_SESSION: - //return action.notes; - return state; + return action.notes; default: return state; } diff -r f16a080e0bc4 -r 1eb52770eefa client/src/reducers/sessionsReducer.js --- a/client/src/reducers/sessionsReducer.js Mon Jun 19 21:37:33 2017 +0200 +++ b/client/src/reducers/sessionsReducer.js Mon Jun 19 21:46:21 2017 +0200 @@ -1,14 +1,14 @@ import Immutable from 'immutable'; import * as types from '../constants/actionTypes'; -// export const currentSession = (state = null, action) => { -// switch (action.type) { -// case types.CREATE_SESSION: -// return action.session; -// default: -// return state; -// } -// }; +export const currentSession = (state = null, action) => { + switch (action.type) { + case types.CREATE_SESSION: + return action.session; + default: + return state; + } +}; export const sessions = (state = Immutable.List([]), action) => { switch (action.type) { diff -r f16a080e0bc4 -r 1eb52770eefa client/src/sagas/index.js --- a/client/src/sagas/index.js Mon Jun 19 21:37:33 2017 +0200 +++ b/client/src/sagas/index.js Mon Jun 19 21:46:21 2017 +0200 @@ -28,11 +28,10 @@ // --- export function* createSession(action) { - //const response = yield sessionsDB.put(action.session); + const response = yield sessionsDB.put(action.session); // TODO Error control - //const session = Object.assign({}, action.session, { rev: response.rev }); - //yield put({ type: types.CREATE_SESSION, session: session }) - yield console.log("CREATE SESSION", action); + const session = Object.assign({}, action.session, { rev: response.rev }); + yield put({ type: types.CREATE_SESSION, session: session }) } export function* watchCreateSession() { diff -r f16a080e0bc4 -r 1eb52770eefa client/src/store/configureStore.js --- a/client/src/store/configureStore.js Mon Jun 19 21:37:33 2017 +0200 +++ b/client/src/store/configureStore.js Mon Jun 19 21:46:21 2017 +0200 @@ -1,16 +1,11 @@ import rootReducer from '../reducers'; import rootSaga from '../sagas'; import { loadSessions } from '../actions/sessionsActions'; -import { compose, createStore, applyMiddleware } from 'redux'; +import { createStore, applyMiddleware, compose } from 'redux'; import { routerMiddleware } from 'react-router-redux'; import handleTransitions from 'redux-history-transitions'; import createSagaMiddleware from 'redux-saga' import Immutable from 'immutable'; -import { offline } from 'redux-offline'; -import offlineDefaultConfig from 'redux-offline/lib/defaults'; -import localForage from 'localforage'; -import immutableTransform from 'redux-persist-transform-immutable' -import NoteRecord from './noteRecord' import APIClient from '../APIClient'; import config from '../config'; @@ -18,7 +13,7 @@ const currentUser = localStorage.getItem('currentUser'); const defaultState = { -// currentSession: null, + currentSession: null, sessions: Immutable.List([]), notes: Immutable.List([]), isAuthenticated: token !== null, @@ -31,23 +26,7 @@ } }; -const immutableTransformConfig = { - records: [NoteRecord], - whitelist: ['sessions', 'notes'] -} - -const offlineConfig = { - ...offlineDefaultConfig, - persistOptions: { - storage: localForage, - transforms: [immutableTransform(immutableTransformConfig)] - }, - detectNetwork: callback => callback(true), -} - -//const storeInitialState = Immutable.Map(defaultState); -//const storeInitialState = new Map(defaultState); -const storeInitialState = defaultState; +const storeInitialState = Immutable.Map(defaultState); export default (history, initialState = storeInitialState) => { @@ -55,7 +34,7 @@ const saga = createSagaMiddleware(); const transitions = handleTransitions(history); - const store = offline(offlineConfig)(createStore)(rootReducer, initialState, compose( + const store = createStore(rootReducer, initialState, compose( applyMiddleware(router, saga), transitions )); @@ -66,7 +45,7 @@ saga.run(rootSaga, context); - //store.dispatch(loadSessions()); + store.dispatch(loadSessions()); return store; }; diff -r f16a080e0bc4 -r 1eb52770eefa client/src/store/noteRecord.js --- a/client/src/store/noteRecord.js Mon Jun 19 21:37:33 2017 +0200 +++ b/client/src/store/noteRecord.js Mon Jun 19 21:46:21 2017 +0200 @@ -12,4 +12,4 @@ finishedAt: '', categories: [] -}, 'Note'); +}); diff -r f16a080e0bc4 -r 1eb52770eefa client/yarn.lock --- a/client/yarn.lock Mon Jun 19 21:37:33 2017 +0200 +++ b/client/yarn.lock Mon Jun 19 21:46:21 2017 +0200 @@ -54,10 +54,6 @@ dependencies: acorn "^3.0.4" -acorn@^1.0.3: - version "1.2.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-1.2.2.tgz#c8ce27de0acc76d896d2b1fad3df588d9e82f014" - acorn@^3.0.4: version "3.3.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" @@ -292,10 +288,6 @@ version "0.0.7" resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" -ast-types@0.8.15: - version "0.8.15" - resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.8.15.tgz#8eef0827f04dff0ec8857ba925abe3fea6194e52" - async-each@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" @@ -991,10 +983,6 @@ version "0.4.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" -base62@0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/base62/-/base62-0.1.1.tgz#7b4174c2f94449753b11c2651c083da841a7b084" - base64-js@^1.0.2: version "1.2.0" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1" @@ -2142,14 +2130,6 @@ is-date-object "^1.0.1" is-symbol "^1.0.1" -es3ify@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/es3ify/-/es3ify-0.1.4.tgz#ad9fa5df1ae34f3f31e1211b5818b2d51078dfd1" - dependencies: - esprima-fb "~3001.0001.0000-dev-harmony-fb" - jstransform "~3.0.0" - through "~2.3.4" - es5-ext@^0.10.14, es5-ext@^0.10.9, es5-ext@~0.10.14: version "0.10.20" resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.20.tgz#72a9b4fd5832797ba1bb65dceb2e25c04241c492" @@ -2345,10 +2325,6 @@ text-table "~0.2.0" user-home "^2.0.0" -esmangle-evaluator@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/esmangle-evaluator/-/esmangle-evaluator-1.0.1.tgz#620d866ef4861b3311f75766d52a8572bb3c6336" - espree@^3.4.0: version "3.4.3" resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.3.tgz#2910b5ccd49ce893c2ffffaab4fd8b3a31b82374" @@ -2356,14 +2332,6 @@ acorn "^5.0.1" acorn-jsx "^3.0.0" -esprima-fb@~15001.1001.0-dev-harmony-fb: - version "15001.1001.0-dev-harmony-fb" - resolved "https://registry.yarnpkg.com/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz#43beb57ec26e8cf237d3dd8b33e42533577f2659" - -esprima-fb@~3001.0001.0000-dev-harmony-fb, esprima-fb@~3001.1.0-dev-harmony-fb: - version "3001.1.0-dev-harmony-fb" - resolved "https://registry.yarnpkg.com/esprima-fb/-/esprima-fb-3001.0001.0000-dev-harmony-fb.tgz#b77d37abcd38ea0b77426bb8bc2922ce6b426411" - esprima@^2.6.0, esprima@^2.7.1: version "2.7.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" @@ -2542,15 +2510,6 @@ version "1.0.2" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" -falafel@^1.0.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/falafel/-/falafel-1.2.0.tgz#c18d24ef5091174a497f318cd24b026a25cddab4" - dependencies: - acorn "^1.0.3" - foreach "^2.0.5" - isarray "0.0.1" - object-keys "^1.0.6" - fast-future@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/fast-future/-/fast-future-1.0.2.tgz#8435a9aaa02d79248d17d704e76259301d99280a" @@ -3277,13 +3236,6 @@ version "1.3.4" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" -inline-process-browser@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/inline-process-browser/-/inline-process-browser-1.0.0.tgz#46a61b153dd3c9b1624b1a00626edb4f7f414f22" - dependencies: - falafel "^1.0.1" - through2 "^0.6.5" - inquirer@3.0.6: version "3.0.6" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.0.6.tgz#e04aaa9d05b7a3cb9b0f407d04375f0447190347" @@ -3955,7 +3907,7 @@ dependencies: jsonify "~0.0.0" -json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.0, json-stringify-safe@~5.0.1: +json-stringify-safe@~5.0.0, json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" @@ -4005,14 +3957,6 @@ json-schema "0.2.3" verror "1.3.6" -jstransform@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/jstransform/-/jstransform-3.0.0.tgz#a2591ab6cee8d97bf3be830dbfa2313b87cd640b" - dependencies: - base62 "0.1.1" - esprima-fb "~3001.1.0-dev-harmony-fb" - source-map "0.1.31" - jsx-ast-utils@^1.3.4, jsx-ast-utils@^1.4.0: version "1.4.1" resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz#3867213e8dd79bf1e8f2300c0cfc1efb182c0df1" @@ -4115,15 +4059,6 @@ prelude-ls "~1.1.2" type-check "~0.3.2" -lie@3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/lie/-/lie-3.0.2.tgz#ffda21d7bba26f377cad865d3649b2fc8ce39fea" - dependencies: - es3ify "^0.1.3" - immediate "~3.0.5" - inline-process-browser "^1.0.0" - unreachable-branch-transform "^0.3.0" - lie@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz#9a436b2cc7746ca59de7a41fa469b3efb76bd87e" @@ -4177,12 +4112,6 @@ emojis-list "^2.0.0" json5 "^0.5.0" -localforage@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/localforage/-/localforage-1.5.0.tgz#6b994e19b56611fa85df3992df397ac4ab66e815" - dependencies: - lie "3.0.2" - locate-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" @@ -4190,7 +4119,7 @@ p-locate "^2.0.0" path-exists "^3.0.0" -lodash-es@^4.17.4, lodash-es@^4.2.0, lodash-es@^4.2.1: +lodash-es@^4.2.0, lodash-es@^4.2.1: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.4.tgz#dcc1d7552e150a0640073ba9cb31d70f032950e7" @@ -4783,7 +4712,7 @@ version "1.0.1" resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.0.1.tgz#0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6" -object-keys@^1.0.10, object-keys@^1.0.6, object-keys@^1.0.8: +object-keys@^1.0.10, object-keys@^1.0.8: version "1.0.11" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" @@ -5536,7 +5465,7 @@ ansi-regex "^2.1.1" ansi-styles "^3.0.0" -private@^0.1.6, private@~0.1.5: +private@^0.1.6: version "0.1.7" resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1" @@ -5938,15 +5867,6 @@ is-fullwidth-code-point "^1.0.0" mute-stream "0.0.5" -recast@^0.10.1: - version "0.10.43" - resolved "https://registry.yarnpkg.com/recast/-/recast-0.10.43.tgz#b95d50f6d60761a5f6252e15d80678168491ce7f" - dependencies: - ast-types "0.8.15" - esprima-fb "~15001.1001.0-dev-harmony-fb" - private "~0.1.5" - source-map "~0.5.0" - rechoir@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" @@ -5988,27 +5908,6 @@ version "4.0.0" resolved "https://registry.yarnpkg.com/redux-immutable/-/redux-immutable-4.0.0.tgz#3a1a32df66366462b63691f0e1dc35e472bbc9f3" -redux-offline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/redux-offline/-/redux-offline-2.0.0.tgz#5896e95477417c8173e083f4f2d977466ec91808" - dependencies: - redux-persist "^4.5.0" - -redux-persist-transform-immutable@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/redux-persist-transform-immutable/-/redux-persist-transform-immutable-4.3.0.tgz#24720c99f0707dd99e920b95f851ae3d1baa6ed8" - dependencies: - transit-immutable-js "^0.7.0" - transit-js "^0.8.846" - -redux-persist@^4.5.0: - version "4.8.0" - resolved "https://registry.yarnpkg.com/redux-persist/-/redux-persist-4.8.0.tgz#17fd998949bdeef9275e4cf60ad5bbe1c73675fc" - dependencies: - json-stringify-safe "^5.0.1" - lodash "^4.17.4" - lodash-es "^4.17.4" - redux-saga@^0.15.3: version "0.15.3" resolved "https://registry.yarnpkg.com/redux-saga/-/redux-saga-0.15.3.tgz#be2b86b4ad46bf0d84fcfcb0ca96cfc33db91acb" @@ -6534,13 +6433,7 @@ dependencies: source-map "^0.5.6" -source-map@0.1.31: - version "0.1.31" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.31.tgz#9f704d0d69d9e138a81badf6ebb4fde33d151c61" - dependencies: - amdefine ">=0.0.4" - -source-map@0.5.6, source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.0, source-map@~0.5.1, source-map@~0.5.3: +source-map@0.5.6, source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3: version "0.5.6" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" @@ -6870,14 +6763,14 @@ readable-stream "^2.1.5" xtend "~4.0.1" -through2@^0.6.2, through2@^0.6.5, through2@~0.6.3: +through2@~0.6.3: version "0.6.5" resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48" dependencies: readable-stream ">=1.0.33-1 <1.1.0-0" xtend ">=4.0.0 <4.1.0-0" -through@2, through@^2.3.6, through@~2.3, through@~2.3.1, through@~2.3.4: +through@2, through@^2.3.6, through@~2.3, through@~2.3.1: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" @@ -6930,14 +6823,6 @@ version "0.0.3" resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" -transit-immutable-js@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/transit-immutable-js/-/transit-immutable-js-0.7.0.tgz#993e25089b6311ff402140f556276d6d253005d9" - -transit-js@^0.8.846: - version "0.8.846" - resolved "https://registry.yarnpkg.com/transit-js/-/transit-js-0.8.846.tgz#76e06e8f0e6be27675e3442112f5c9bb75343464" - trim-newlines@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" @@ -7045,14 +6930,6 @@ version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" -unreachable-branch-transform@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/unreachable-branch-transform/-/unreachable-branch-transform-0.3.0.tgz#d99cc4c6e746d264928845b611db54b0f3474caa" - dependencies: - esmangle-evaluator "^1.0.0" - recast "^0.10.1" - through2 "^0.6.2" - unzip-response@^1.0.0, unzip-response@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe" diff -r f16a080e0bc4 -r 1eb52770eefa src/.env.tmpl --- a/src/.env.tmpl Mon Jun 19 21:37:33 2017 +0200 +++ b/src/.env.tmpl Mon Jun 19 21:46:21 2017 +0200 @@ -1,41 +1,37 @@ # Base url for the application. default='' -# BASE_URL= +BASE_URL= # base url for static resources (ends with "/") # default : /static/ -# STATIC_URL=/static/ +STATIC_URL=/static/ # The absolute path to the directory where collectstatic will collect static files for deployment. (https://docs.djangoproject.com/en/1.11/ref/settings/#std:setting-STATIC_ROOT) # default: /run/web/static -# STATIC_ROOT= +STATIC_ROOT= # Absolute filesystem path to the directory that will hold user-uploaded files (https://docs.djangoproject.com/en/1.11/ref/settings/#media-root) # default: /run/web/media -# MEDIA_ROOT= +MEDIA_ROOT= # Secret key for the application. cf. https://docs.djangoproject.com/en/1.11/ref/settings/#secret-key -# SECRET_KEY=ARANDOMSECRETKEY +SECRET_KEY=ARANDOMSECRETKEY # Debug the application. Default True -# DEBUG= +DEBUG= # Comma separated values of authorized host. cf. https://docs.djangoproject.com/en/1.11/ref/settings/#allowed-hosts # default: empty -# ALLOWED_HOSTS=127.0.0.1,localhost +ALLOWED_HOSTS=127.0.0.1,localhost # 12factor inspired DATABASE_URL environment variable cf.https://github.com/kennethreitz/dj-database-url # examples: postgres://:@:/ # examples: sqlite:////full/path/to/your/database/file.sqlite # default: sqlite:////run/db/db.sqlite3 -# DATABASE_URL=sqlite:////run/db/db.sqlite3 +DATABASE_URL=sqlite:////run/db/db.sqlite3 # path for the log file # default: /run/log/log.txt -# LOG_FILE= +LOG_FILE= # log level one of CRITICAL, ERROR, WARNING, INFO, DEBUG, NOTSET. Default: ERROR -# LOG_LEVEL=DEBUG - -# expiration delta for JWT tokens (in seconds) -# default: 3600 -# JWT_EXPIRATION_DELTA = 3600 +LOG_LEVEL=DEBUG diff -r f16a080e0bc4 -r 1eb52770eefa src/irinotes/settings.py --- a/src/irinotes/settings.py Mon Jun 19 21:37:33 2017 +0200 +++ b/src/irinotes/settings.py Mon Jun 19 21:46:21 2017 +0200 @@ -10,7 +10,6 @@ https://docs.djangoproject.com/en/1.11/ref/settings/ """ -import datetime import logging from decouple import Csv, config @@ -231,14 +230,8 @@ REST_USE_JWT = True OLD_PASSWORD_FIELD_ENABLED = True -#JWT settings -JWT_AUTH = { - 'JWT_ALLOW_REFRESH' : True, - 'JWT_EXPIRATION_DELTA' : datetime.timedelta( - seconds=config('JWT_EXPIRATION_DELTA', 3600, cast=int) - ) -} - # CORS Headers CORS_ORIGIN_ALLOW_ALL = True CORS_URLS_REGEX = r'^/api/.*$' + + diff -r f16a080e0bc4 -r 1eb52770eefa src/irinotes/urls.py --- a/src/irinotes/urls.py Mon Jun 19 21:37:33 2017 +0200 +++ b/src/irinotes/urls.py Mon Jun 19 21:46:21 2017 +0200 @@ -16,12 +16,10 @@ from allauth.account.views import confirm_email as allauthemailconfirmation from django.conf.urls import include, url from django.contrib import admin -from rest_framework_jwt.views import refresh_jwt_token urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^api/notes/', include('notes.api.urls', namespace='notes')), - url(r'^api/auth/refresh/', refresh_jwt_token, name='rest_refresh'), url(r'^api/auth/', include('rest_auth.urls', namespace='rest_auth')), url( '^api/auth/registration/account-confirm-email/(?P[\\s\\d\\w().+-_\',:&]+)/$',