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.
This commit is contained in:
parent
1bc2ac330e
commit
56cd8a282e
9 changed files with 36 additions and 16 deletions
|
@ -1,5 +1,5 @@
|
||||||
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 => {
|
||||||
// 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 = '';
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
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 => {
|
||||||
};
|
};
|
||||||
|
|
||||||
const clearMrId = state => {
|
const clearMrId = state => {
|
||||||
localStorage.removeItem('mergeRequestId');
|
localStorage.removeItem(STORAGE_MR_ID);
|
||||||
state.mergeRequestId = '';
|
state.mergeRequestId = '';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
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 = () => {
|
||||||
// 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 };
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
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) => {
|
||||||
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;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
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) => {
|
||||||
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';
|
||||||
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 {
|
||||||
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 {
|
||||||
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 {
|
||||||
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,
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
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) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
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;
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Fix visual review app storage keys
|
||||||
|
merge_request: 31427
|
||||||
|
author:
|
||||||
|
type: fixed
|
Loading…
Reference in a new issue