这是indexloc提供的服务,不要输入任何密码
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 29 additions & 29 deletions console/src/components/Services/Data/Metadata/Metadata.js
Original file line number Diff line number Diff line change
Expand Up @@ -89,48 +89,48 @@ class Metadata extends Component {

{this.state.showMetadata
? [
<div key="meta_data_1" className={metaDataStyles.intro_note}>
<h4>Reload metadata</h4>
<div className={metaDataStyles.content_width}>
<div key="meta_data_1" className={metaDataStyles.intro_note}>
<h4>Reload metadata</h4>
<div className={metaDataStyles.content_width}>
Refresh Hasura metadata, typically required if you have
changed the underlying postgres.
</div>
</div>,
<div key="meta_data_2">
<ReloadMetadata {...this.props} />
</div>,
<div key="meta_data_3" className={metaDataStyles.intro_note}>
<h4>Reset Metadata</h4>
<div className={metaDataStyles.content_width}>
</div>
</div>,
<div key="meta_data_2">
<ReloadMetadata {...this.props} />
</div>,
<div key="meta_data_3" className={metaDataStyles.intro_note}>
<h4>Reset Metadata</h4>
<div className={metaDataStyles.content_width}>
Permanently clear GraphQL Engine's metadata and configure it
from scratch (tracking relevant tables and relationships).
This process is not reversible.
</div>
</div>,
<div key="meta_data_4">
<ResetMetadata {...this.props} />
</div>,
]
</div>
</div>,
<div key="meta_data_4">
<ResetMetadata {...this.props} />
</div>,
]
: null}

{window.localStorage.CONSOLE_ACCESS_KEY
? [
<div
key="access_key_reset_1"
className={metaDataStyles.intro_note}
>
<h4>Clear access key (logout)</h4>
<div className={metaDataStyles.content_width}>
<div
key="access_key_reset_1"
className={metaDataStyles.intro_note}
>
<h4>Clear access key (logout)</h4>
<div className={metaDataStyles.content_width}>
The console caches the access key (HASURA_GRAPHQL_ACCESS_KEY)
in the browser. You can clear this cache to force a prompt for
the access key when the console is accessed next using this
browser.
</div>
</div>,
<div key="access_key_reset_2">
<ClearAccessKey {...this.props} />
</div>,
]
</div>
</div>,
<div key="access_key_reset_2">
<ClearAccessKey {...this.props} />
</div>,
]
: null}
</div>
);
Expand Down
10 changes: 7 additions & 3 deletions console/src/components/Services/Data/RawSQL/Actions.js
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ const executeSQL = (isMigration, migrationName) => (dispatch, getState) => {
const regExp = /create (view|table) ((\"?\w+\"?)\.(\"?\w+\"?)|(\"?\w+\"?))/; // eslint-disable-line
const matches = sql.match(new RegExp(regExp, 'gmi'));
if (matches) {
matches.forEach((element) => {
matches.forEach(element => {
const itemMatch = element.match(new RegExp(regExp, 'i'));
if (itemMatch && itemMatch.length === 6) {
const trackQuery = {
Expand All @@ -66,8 +66,12 @@ const executeSQL = (isMigration, migrationName) => (dispatch, getState) => {
trackQuery.args.schema = itemMatch[3];
}
// replace and trim schema and table name
trackQuery.args.name = trackQuery.args.name.replace(/['"]+/g, '').trim();
trackQuery.args.schema = trackQuery.args.schema.replace(/['"]+/g, '').trim();
trackQuery.args.name = trackQuery.args.name
.replace(/['"]+/g, '')
.trim();
trackQuery.args.schema = trackQuery.args.schema
.replace(/['"]+/g, '')
.trim();
schemaChangesUp.push(trackQuery);
}
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -253,21 +253,21 @@ class Permissions extends Component {
const bulkSelect = permsState.bulkSelect;
const currentInputSelection = bulkSelect.filter(e => e === role)
.length ? (
<input
onChange={dispatchBulkSelect}
checked="checked"
data-role={role}
className={styles.bulkSelect}
type="checkbox"
/>
) : (
<input
onChange={dispatchBulkSelect}
data-role={role}
className={styles.bulkSelect}
type="checkbox"
/>
);
<input
onChange={dispatchBulkSelect}
checked="checked"
data-role={role}
className={styles.bulkSelect}
type="checkbox"
/>
) : (
<input
onChange={dispatchBulkSelect}
data-role={role}
className={styles.bulkSelect}
type="checkbox"
/>
);
_permissionsRowHtml.push(
<td key={-1}>
<div>
Expand Down
84 changes: 84 additions & 0 deletions console/src/components/Services/EventTrigger/Add/AddActions.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,11 @@ const UPDATE_TABLE_LIST = 'AddTrigger/UPDATE_TABLE_LIST';
const TOGGLE_COLUMNS = 'AddTrigger/TOGGLE_COLUMNS';
const TOGGLE_QUERY_TYPE_SELECTED = 'AddTrigger/TOGGLE_QUERY_TYPE_SELECTED';
const TOGGLE_QUERY_TYPE_DESELECTED = 'AddTrigger/TOGGLE_QUERY_TYPE_DESELECTED';
const REMOVE_HEADER = 'AddTrigger/REMOVE_HEADER';
const SET_HEADERKEY = 'AddTrigger/SET_HEADERKEY';
const SET_HEADERTYPE = 'AddTrigger/SET_HEADERTYPE';
const SET_HEADERVALUE = 'AddTrigger/SET_HEADERVALUE';
const ADD_HEADER = 'AddTrigger/ADD_HEADER';

const setTriggerName = value => ({ type: SET_TRIGGERNAME, value });
const setTableName = value => ({ type: SET_TABLENAME, value });
Expand All @@ -35,6 +40,24 @@ const setWebhookURL = value => ({ type: SET_WEBHOOK_URL, value });
const setRetryNum = value => ({ type: SET_RETRY_NUM, value });
const setRetryInterval = value => ({ type: SET_RETRY_INTERVAL, value });
const setDefaults = () => ({ type: SET_DEFAULTS });
const addHeader = () => ({ type: ADD_HEADER });
const removeHeader = i => ({ type: REMOVE_HEADER, index: i });
const setHeaderKey = (key, index) => ({
type: SET_HEADERKEY,
key,
index,
});
const setHeaderType = (headerType, index) => ({
type: SET_HEADERTYPE,
headerType,
index,
});
const setHeaderValue = (headerValue, index) => ({
type: SET_HEADERVALUE,
headerValue,
index,
});

// General error during validation.
// const validationError = (error) => ({type: VALIDATION_ERROR, error: error});
const validationError = error => {
Expand Down Expand Up @@ -82,6 +105,19 @@ const createTrigger = () => {
if (currentState.retryConf) {
payload.args.retry_conf = currentState.retryConf;
}

// create header payload
const headers = [];
currentState.headers.map(header => {
if (header.key !== '' && header.type !== '') {
if (header.type === 'static') {
headers.push({ name: header.key, value: header.value });
} else if (header.type === 'env') {
headers.push({ name: header.key, value_from_env: header.value });
}
}
});
payload.args.headers = headers;
const upQueryArgs = [];
upQueryArgs.push(payload);
const downQueryArgs = [];
Expand Down Expand Up @@ -196,6 +232,49 @@ const setOperationSelection = (type, isChecked) => {

const addTriggerReducer = (state = defaultState, action) => {
switch (action.type) {
case ADD_HEADER:
return {
...state,
headers: [...state.headers, { key: '', type: '', value: '' }],
};
case REMOVE_HEADER:
return {
...state,
headers: [
...state.headers.slice(0, action.index),
...state.headers.slice(action.index + 1),
],
};
case SET_HEADERKEY:
const i = action.index;
return {
...state,
headers: [
...state.headers.slice(0, i),
{ ...state.headers[i], key: action.key },
...state.headers.slice(i + 1),
],
};
case SET_HEADERTYPE:
const ij = action.index;
return {
...state,
headers: [
...state.headers.slice(0, ij),
{ ...state.headers[ij], type: action.headerType },
...state.headers.slice(ij + 1),
],
};
case SET_HEADERVALUE:
const ik = action.index;
return {
...state,
headers: [
...state.headers.slice(0, ik),
{ ...state.headers[ik], value: action.headerValue },
...state.headers.slice(ik + 1),
],
};
case SET_DEFAULTS:
return {
...defaultState,
Expand Down Expand Up @@ -280,6 +359,11 @@ const addTriggerReducer = (state = defaultState, action) => {

export default addTriggerReducer;
export {
addHeader,
setHeaderKey,
setHeaderValue,
setHeaderType,
removeHeader,
setTriggerName,
setTableName,
setSchemaName,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ const defaultState = {
lastError: null,
internalError: null,
lastSuccess: null,
headers: [{ key: '', type: '', value: '' }],
};

export default defaultState;
Loading