Commit 56cd8a28 authored by shampton's avatar shampton

Visual review app gitlab storage keys

Move away from using generic LocalStorage
and SessionStorage keys which could be
used by the customer for their own application.
parent 1bc2ac33
import { nextView } from '../store'; 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 { clearNote } from './note';
import { buttonClearStyles } from './utils'; import { buttonClearStyles } from './utils';
import { addForm } from './wrapper'; import { addForm } from './wrapper';
...@@ -27,8 +27,8 @@ const comment = state => { ...@@ -27,8 +27,8 @@ const comment = state => {
// If we reach a design where we can logout from multiple views, promote this // If we reach a design where we can logout from multiple views, promote this
// to it's own package // to it's own package
const logoutUser = state => { const logoutUser = state => {
localStorage.removeItem('token'); localStorage.removeItem(STORAGE_TOKEN);
localStorage.removeItem('mergeRequestId'); localStorage.removeItem(STORAGE_MR_ID);
state.token = ''; state.token = '';
state.mergeRequestId = ''; state.mergeRequestId = '';
......
import { nextView } from '../store'; 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 { clearNote } from './note';
import { buttonClearStyles } from './utils'; import { buttonClearStyles } from './utils';
import { addForm } from './wrapper'; import { addForm } from './wrapper';
...@@ -18,7 +18,7 @@ const selectedMrNote = state => { ...@@ -18,7 +18,7 @@ const selectedMrNote = state => {
}; };
const clearMrId = state => { const clearMrId = state => {
localStorage.removeItem('mergeRequestId'); localStorage.removeItem(STORAGE_MR_ID);
state.mergeRequestId = ''; state.mergeRequestId = '';
}; };
......
import { selectCommentBox } from './utils'; 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 saveComment = () => {
const currentComment = selectCommentBox(); const currentComment = selectCommentBox();
...@@ -9,12 +9,12 @@ const saveComment = () => { ...@@ -9,12 +9,12 @@ const saveComment = () => {
// This may be added to any view via top-level beforeunload listener // This may be added to any view via top-level beforeunload listener
// so let's skip if it does not apply // so let's skip if it does not apply
if (currentComment && currentComment.value) { if (currentComment && currentComment.value) {
sessionStorage.setItem('comment', currentComment.value); sessionStorage.setItem(STORAGE_COMMENT, currentComment.value);
} }
}; };
const clearSavedComment = () => { const clearSavedComment = () => {
sessionStorage.removeItem('comment'); sessionStorage.removeItem(STORAGE_COMMENT);
}; };
export { getSavedComment, saveComment, clearSavedComment }; export { getSavedComment, saveComment, clearSavedComment };
import { nextView } from '../store'; 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 { clearNote, postError } from './note';
import { rememberBox, submitButton } from './form_elements'; import { rememberBox, submitButton } from './form_elements';
import { selectRemember, selectToken } from './utils'; import { selectRemember, selectToken } from './utils';
...@@ -22,7 +22,7 @@ const storeToken = (token, state) => { ...@@ -22,7 +22,7 @@ const storeToken = (token, state) => {
const rememberMe = selectRemember().checked; const rememberMe = selectRemember().checked;
if (rememberMe) { if (rememberMe) {
localStorage.setItem('token', token); localStorage.setItem(STORAGE_TOKEN, token);
} }
state.token = token; state.token = token;
......
import { nextView } from '../store'; 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 { clearNote, postError } from './note';
import { rememberBox, submitButton } from './form_elements'; import { rememberBox, submitButton } from './form_elements';
import { selectForm, selectMrBox, selectRemember } from './utils'; import { selectForm, selectMrBox, selectRemember } from './utils';
...@@ -23,7 +23,7 @@ const storeMR = (id, state) => { ...@@ -23,7 +23,7 @@ const storeMR = (id, state) => {
const rememberMe = selectRemember().checked; const rememberMe = selectRemember().checked;
if (rememberMe) { if (rememberMe) {
localStorage.setItem('mergeRequestId', id); localStorage.setItem(STORAGE_MR_ID, id);
} }
state.mergeRequestId = id; state.mergeRequestId = id;
......
...@@ -15,6 +15,12 @@ const REMEMBER_ITEM = 'gitlab-remember-item'; ...@@ -15,6 +15,12 @@ const REMEMBER_ITEM = 'gitlab-remember-item';
const REVIEW_CONTAINER = 'gitlab-review-container'; const REVIEW_CONTAINER = 'gitlab-review-container';
const TOKEN_BOX = 'gitlab-token'; 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 // colors — these are applied programmatically
// rest of styles belong in ./styles // rest of styles belong in ./styles
const BLACK = 'rgba(46, 46, 46, 1)'; const BLACK = 'rgba(46, 46, 46, 1)';
...@@ -39,6 +45,9 @@ export { ...@@ -39,6 +45,9 @@ export {
REMEMBER_ITEM, REMEMBER_ITEM,
REVIEW_CONTAINER, REVIEW_CONTAINER,
TOKEN_BOX, TOKEN_BOX,
STORAGE_MR_ID,
STORAGE_TOKEN,
STORAGE_COMMENT,
BLACK, BLACK,
CLEAR, CLEAR,
MUTED, MUTED,
......
...@@ -14,6 +14,9 @@ import { ...@@ -14,6 +14,9 @@ import {
REMEMBER_ITEM, REMEMBER_ITEM,
REVIEW_CONTAINER, REVIEW_CONTAINER,
TOKEN_BOX, TOKEN_BOX,
STORAGE_MR_ID,
STORAGE_TOKEN,
STORAGE_COMMENT,
BLACK, BLACK,
CLEAR, CLEAR,
MUTED, MUTED,
...@@ -41,6 +44,9 @@ export { ...@@ -41,6 +44,9 @@ export {
REMEMBER_ITEM, REMEMBER_ITEM,
REVIEW_CONTAINER, REVIEW_CONTAINER,
TOKEN_BOX, TOKEN_BOX,
STORAGE_MR_ID,
STORAGE_TOKEN,
STORAGE_COMMENT,
BLACK, BLACK,
CLEAR, CLEAR,
MUTED, MUTED,
......
import { comment, login, mrForm } from '../components'; 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 = { const state = {
browser: '', browser: '',
...@@ -74,8 +74,8 @@ const initializeState = (wind, doc) => { ...@@ -74,8 +74,8 @@ const initializeState = (wind, doc) => {
}; };
const getInitialView = () => { const getInitialView = () => {
const token = localStorage.getItem('token'); const token = localStorage.getItem(STORAGE_TOKEN);
const mrId = localStorage.getItem('mergeRequestId'); const mrId = localStorage.getItem(STORAGE_MR_ID);
if (token) { if (token) {
state.token = token; state.token = token;
......
---
title: Fix visual review app storage keys
merge_request: 31427
author:
type: fixed
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment