summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshampton <shampton@gitlab.com>2019-08-02 10:38:26 -0700
committershampton <shampton@gitlab.com>2019-08-02 10:38:26 -0700
commit56cd8a282e5c5dab3eb49be332448a8991470288 (patch)
treef0088d42ac7a139bc1e57ad4a713dadfb200738d
parent1bc2ac330e503005b6eec45c409f774178e3059f (diff)
downloadgitlab-ce-visual-review-tools-constant-storage-keys.tar.gz
Visual review app gitlab storage keysvisual-review-tools-constant-storage-keys
Move away from using generic LocalStorage and SessionStorage keys which could be used by the customer for their own application.
-rw-r--r--app/assets/javascripts/visual_review_toolbar/components/comment.js6
-rw-r--r--app/assets/javascripts/visual_review_toolbar/components/comment_mr_note.js4
-rw-r--r--app/assets/javascripts/visual_review_toolbar/components/comment_storage.js8
-rw-r--r--app/assets/javascripts/visual_review_toolbar/components/login.js4
-rw-r--r--app/assets/javascripts/visual_review_toolbar/components/mr_id.js4
-rw-r--r--app/assets/javascripts/visual_review_toolbar/shared/constants.js9
-rw-r--r--app/assets/javascripts/visual_review_toolbar/shared/index.js6
-rw-r--r--app/assets/javascripts/visual_review_toolbar/store/state.js6
-rw-r--r--changelogs/unreleased/visual-review-tools-constant-storage-keys.yml5
9 files changed, 36 insertions, 16 deletions
diff --git a/app/assets/javascripts/visual_review_toolbar/components/comment.js b/app/assets/javascripts/visual_review_toolbar/components/comment.js
index 20effc1751d..a03dc14b319 100644
--- a/app/assets/javascripts/visual_review_toolbar/components/comment.js
+++ b/app/assets/javascripts/visual_review_toolbar/components/comment.js
@@ -1,5 +1,5 @@
import { nextView } from '../store';
-import { localStorage, COMMENT_BOX, LOGOUT } from '../shared';
+import { localStorage, COMMENT_BOX, LOGOUT, STORAGE_MR_ID, STORAGE_TOKEN } from '../shared';
import { clearNote } from './note';
import { buttonClearStyles } from './utils';
import { addForm } from './wrapper';
@@ -27,8 +27,8 @@ const comment = state => {
// If we reach a design where we can logout from multiple views, promote this
// to it's own package
const logoutUser = state => {
- localStorage.removeItem('token');
- localStorage.removeItem('mergeRequestId');
+ localStorage.removeItem(STORAGE_TOKEN);
+ localStorage.removeItem(STORAGE_MR_ID);
state.token = '';
state.mergeRequestId = '';
diff --git a/app/assets/javascripts/visual_review_toolbar/components/comment_mr_note.js b/app/assets/javascripts/visual_review_toolbar/components/comment_mr_note.js
index f71ffbf4f20..da67763261c 100644
--- a/app/assets/javascripts/visual_review_toolbar/components/comment_mr_note.js
+++ b/app/assets/javascripts/visual_review_toolbar/components/comment_mr_note.js
@@ -1,5 +1,5 @@
import { nextView } from '../store';
-import { localStorage, CHANGE_MR_ID_BUTTON, COMMENT_BOX } from '../shared';
+import { localStorage, CHANGE_MR_ID_BUTTON, COMMENT_BOX, STORAGE_MR_ID } from '../shared';
import { clearNote } from './note';
import { buttonClearStyles } from './utils';
import { addForm } from './wrapper';
@@ -18,7 +18,7 @@ const selectedMrNote = state => {
};
const clearMrId = state => {
- localStorage.removeItem('mergeRequestId');
+ localStorage.removeItem(STORAGE_MR_ID);
state.mergeRequestId = '';
};
diff --git a/app/assets/javascripts/visual_review_toolbar/components/comment_storage.js b/app/assets/javascripts/visual_review_toolbar/components/comment_storage.js
index 32a9e7e2f05..49c9400437e 100644
--- a/app/assets/javascripts/visual_review_toolbar/components/comment_storage.js
+++ b/app/assets/javascripts/visual_review_toolbar/components/comment_storage.js
@@ -1,7 +1,7 @@
import { selectCommentBox } from './utils';
-import { sessionStorage } from '../shared';
+import { sessionStorage, STORAGE_COMMENT } from '../shared';
-const getSavedComment = () => sessionStorage.getItem('comment') || '';
+const getSavedComment = () => sessionStorage.getItem(STORAGE_COMMENT) || '';
const saveComment = () => {
const currentComment = selectCommentBox();
@@ -9,12 +9,12 @@ const saveComment = () => {
// This may be added to any view via top-level beforeunload listener
// so let's skip if it does not apply
if (currentComment && currentComment.value) {
- sessionStorage.setItem('comment', currentComment.value);
+ sessionStorage.setItem(STORAGE_COMMENT, currentComment.value);
}
};
const clearSavedComment = () => {
- sessionStorage.removeItem('comment');
+ sessionStorage.removeItem(STORAGE_COMMENT);
};
export { getSavedComment, saveComment, clearSavedComment };
diff --git a/app/assets/javascripts/visual_review_toolbar/components/login.js b/app/assets/javascripts/visual_review_toolbar/components/login.js
index 4a6976ef2fd..20ab01bc690 100644
--- a/app/assets/javascripts/visual_review_toolbar/components/login.js
+++ b/app/assets/javascripts/visual_review_toolbar/components/login.js
@@ -1,5 +1,5 @@
import { nextView } from '../store';
-import { localStorage, LOGIN, TOKEN_BOX } from '../shared';
+import { localStorage, LOGIN, TOKEN_BOX, STORAGE_TOKEN } from '../shared';
import { clearNote, postError } from './note';
import { rememberBox, submitButton } from './form_elements';
import { selectRemember, selectToken } from './utils';
@@ -22,7 +22,7 @@ const storeToken = (token, state) => {
const rememberMe = selectRemember().checked;
if (rememberMe) {
- localStorage.setItem('token', token);
+ localStorage.setItem(STORAGE_TOKEN, token);
}
state.token = token;
diff --git a/app/assets/javascripts/visual_review_toolbar/components/mr_id.js b/app/assets/javascripts/visual_review_toolbar/components/mr_id.js
index f51e9631dd2..695b3af8aa0 100644
--- a/app/assets/javascripts/visual_review_toolbar/components/mr_id.js
+++ b/app/assets/javascripts/visual_review_toolbar/components/mr_id.js
@@ -1,5 +1,5 @@
import { nextView } from '../store';
-import { MR_ID, MR_ID_BUTTON, localStorage } from '../shared';
+import { MR_ID, MR_ID_BUTTON, STORAGE_MR_ID, localStorage } from '../shared';
import { clearNote, postError } from './note';
import { rememberBox, submitButton } from './form_elements';
import { selectForm, selectMrBox, selectRemember } from './utils';
@@ -23,7 +23,7 @@ const storeMR = (id, state) => {
const rememberMe = selectRemember().checked;
if (rememberMe) {
- localStorage.setItem('mergeRequestId', id);
+ localStorage.setItem(STORAGE_MR_ID, id);
}
state.mergeRequestId = id;
diff --git a/app/assets/javascripts/visual_review_toolbar/shared/constants.js b/app/assets/javascripts/visual_review_toolbar/shared/constants.js
index a56ea378b14..0d5b666ab0a 100644
--- a/app/assets/javascripts/visual_review_toolbar/shared/constants.js
+++ b/app/assets/javascripts/visual_review_toolbar/shared/constants.js
@@ -15,6 +15,12 @@ const REMEMBER_ITEM = 'gitlab-remember-item';
const REVIEW_CONTAINER = 'gitlab-review-container';
const TOKEN_BOX = 'gitlab-token';
+// Storage keys
+const STORAGE_PREFIX = '--gitlab'; // Using `--` to make the prefix more unique
+const STORAGE_MR_ID = `${STORAGE_PREFIX}-merge-request-id`;
+const STORAGE_TOKEN = `${STORAGE_PREFIX}-token`;
+const STORAGE_COMMENT = `${STORAGE_PREFIX}-comment`;
+
// colors — these are applied programmatically
// rest of styles belong in ./styles
const BLACK = 'rgba(46, 46, 46, 1)';
@@ -39,6 +45,9 @@ export {
REMEMBER_ITEM,
REVIEW_CONTAINER,
TOKEN_BOX,
+ STORAGE_MR_ID,
+ STORAGE_TOKEN,
+ STORAGE_COMMENT,
BLACK,
CLEAR,
MUTED,
diff --git a/app/assets/javascripts/visual_review_toolbar/shared/index.js b/app/assets/javascripts/visual_review_toolbar/shared/index.js
index 751eae74dde..d8ccb170592 100644
--- a/app/assets/javascripts/visual_review_toolbar/shared/index.js
+++ b/app/assets/javascripts/visual_review_toolbar/shared/index.js
@@ -14,6 +14,9 @@ import {
REMEMBER_ITEM,
REVIEW_CONTAINER,
TOKEN_BOX,
+ STORAGE_MR_ID,
+ STORAGE_TOKEN,
+ STORAGE_COMMENT,
BLACK,
CLEAR,
MUTED,
@@ -41,6 +44,9 @@ export {
REMEMBER_ITEM,
REVIEW_CONTAINER,
TOKEN_BOX,
+ STORAGE_MR_ID,
+ STORAGE_TOKEN,
+ STORAGE_COMMENT,
BLACK,
CLEAR,
MUTED,
diff --git a/app/assets/javascripts/visual_review_toolbar/store/state.js b/app/assets/javascripts/visual_review_toolbar/store/state.js
index 741a5c7d99c..b7853bb0723 100644
--- a/app/assets/javascripts/visual_review_toolbar/store/state.js
+++ b/app/assets/javascripts/visual_review_toolbar/store/state.js
@@ -1,5 +1,5 @@
import { comment, login, mrForm } from '../components';
-import { localStorage, COMMENT_BOX, LOGIN, MR_ID } from '../shared';
+import { localStorage, COMMENT_BOX, LOGIN, MR_ID, STORAGE_MR_ID, STORAGE_TOKEN } from '../shared';
const state = {
browser: '',
@@ -74,8 +74,8 @@ const initializeState = (wind, doc) => {
};
const getInitialView = () => {
- const token = localStorage.getItem('token');
- const mrId = localStorage.getItem('mergeRequestId');
+ const token = localStorage.getItem(STORAGE_TOKEN);
+ const mrId = localStorage.getItem(STORAGE_MR_ID);
if (token) {
state.token = token;
diff --git a/changelogs/unreleased/visual-review-tools-constant-storage-keys.yml b/changelogs/unreleased/visual-review-tools-constant-storage-keys.yml
new file mode 100644
index 00000000000..4c9b048aaa3
--- /dev/null
+++ b/changelogs/unreleased/visual-review-tools-constant-storage-keys.yml
@@ -0,0 +1,5 @@
+---
+title: Fix visual review app storage keys
+merge_request: 31427
+author:
+type: fixed