mirror of
https://github.com/unraid/api.git
synced 2026-01-02 22:50:02 -06:00
feat: extraOrigins public, remove origin listener
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
[api]
|
||||
version="3.2.3+f3d357e6"
|
||||
version="3.2.3+0aa4e152"
|
||||
extraOrigins=""
|
||||
[local]
|
||||
[notifier]
|
||||
apikey="unnotify_30994bfaccf839c65bae75f7fa12dd5ee16e69389f754c3b98ed7d5"
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[api]
|
||||
version="3.2.3+f3d357e6"
|
||||
version="3.2.3+0aa4e152"
|
||||
extraOrigins=""
|
||||
[local]
|
||||
[notifier]
|
||||
apikey="unnotify_30994bfaccf839c65bae75f7fa12dd5ee16e69389f754c3b98ed7d5"
|
||||
@@ -15,7 +16,7 @@ regWizTime="1611175408732_0951-1653-3509-FBA155FA23C0"
|
||||
idtoken=""
|
||||
accesstoken=""
|
||||
refreshtoken=""
|
||||
allowedOrigins=""
|
||||
allowedOrigins="/var/run/unraid-notifications.sock, /var/run/unraid-php.sock, /var/run/unraid-cli.sock, http://localhost:8080, https://localhost:4443, https://tower.local:4443, https://192.168.1.150:4443, https://tower:4443, https://192-168-1-150.thisisfourtyrandomcharacters012345678900.myunraid.net:4443, https://85-121-123-122.thisisfourtyrandomcharacters012345678900.myunraid.net:8443, https://10-252-0-1.hash.myunraid.net:4443, https://10-252-1-1.hash.myunraid.net:4443, https://10-253-3-1.hash.myunraid.net:4443, https://10-253-4-1.hash.myunraid.net:4443, https://10-253-5-1.hash.myunraid.net:4443, https://connect.myunraid.net, https://staging.connect.myunraid.net, https://dev-my.myunraid.net:4000, https://studio.apollographql.com"
|
||||
[upc]
|
||||
apikey="unupc_fab6ff6ffe51040595c6d9ffb63a353ba16cc2ad7d93f813a2e80a5810"
|
||||
[connectionStatus]
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { getAllowedOrigins } from '@app/common/allowed-origins';
|
||||
import { DynamicRemoteAccessType } from '@app/remoteAccess/types';
|
||||
import {
|
||||
type SliceState as ConfigSliceState,
|
||||
@@ -35,7 +36,7 @@ export const getWriteableConfig = <T extends ConfigType>(
|
||||
const newState: ConfigObject<T> = {
|
||||
api: {
|
||||
version: api.version ?? initialState.api.version,
|
||||
...(api.extraOrigins ? { extraOrigins: api.extraOrigins } : {}),
|
||||
extraOrigins: api.extraOrigins ?? initialState.api.extraOrigins,
|
||||
},
|
||||
local: {
|
||||
...(local?.['2Fa'] === 'yes' ? { '2Fa': local['2Fa'] } : {}),
|
||||
@@ -61,8 +62,7 @@ export const getWriteableConfig = <T extends ConfigType>(
|
||||
...(mode === 'memory'
|
||||
? {
|
||||
allowedOrigins:
|
||||
remote.allowedOrigins ??
|
||||
initialState.remote.allowedOrigins,
|
||||
getAllowedOrigins().join(', ')
|
||||
}
|
||||
: {}),
|
||||
...(remote.dynamicRemoteAccessType ===
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
import { getAllowedOrigins } from '@app/common/allowed-origins';
|
||||
import { ensurePermission } from '@app/core/utils/permissions/ensure-permission';
|
||||
import { type MutationResolvers } from '@app/graphql/generated/api/types';
|
||||
import { store } from '@app/store/index';
|
||||
import { updateAllowedOrigins } from '@app/store/modules/config';
|
||||
|
||||
export const setAdditionalAllowedOrigins: MutationResolvers['setAdditionalAllowedOrigins'] =
|
||||
async (_, args, context) => {
|
||||
ensurePermission(context.user, {
|
||||
resource: 'connect',
|
||||
possession: 'own',
|
||||
action: 'update',
|
||||
});
|
||||
|
||||
await store.dispatch(
|
||||
updateAllowedOrigins(args.input.origins)
|
||||
);
|
||||
|
||||
return getAllowedOrigins();
|
||||
};
|
||||
|
||||
@@ -2,9 +2,11 @@ import { type Resolvers } from '@app/graphql/generated/api/types';
|
||||
import { sendNotification } from './notifications';
|
||||
import { connectSignIn } from '@app/graphql/resolvers/mutation/connect/connect-sign-in';
|
||||
import { connectSignOut } from '@app/graphql/resolvers/mutation/connect/connect-sign-out';
|
||||
import { setAdditionalAllowedOrigins } from '@app/graphql/resolvers/mutation/connect/set-additional-allowed-origins';
|
||||
|
||||
export const Mutation: Resolvers['Mutation'] = {
|
||||
sendNotification,
|
||||
connectSignIn,
|
||||
connectSignOut
|
||||
connectSignOut,
|
||||
setAdditionalAllowedOrigins,
|
||||
};
|
||||
|
||||
@@ -6,7 +6,6 @@ import {
|
||||
} from '@reduxjs/toolkit';
|
||||
import { type AppDispatch, type RootState } from '@app/store';
|
||||
import { enableUpnpListener } from '@app/store/listeners/upnp-listener';
|
||||
import { enableAllowedOriginListener } from '@app/store/listeners/allowed-origin-listener';
|
||||
import { enableConfigFileListener } from '@app/store/listeners/config-listener';
|
||||
import { enableVersionListener } from '@app/store/listeners/version-listener';
|
||||
import { enableMothershipJobsListener } from '@app/store/listeners/mothership-subscription-listener';
|
||||
@@ -37,7 +36,6 @@ export const startMiddlewareListeners = () => {
|
||||
enableConfigFileListener('flash')();
|
||||
enableConfigFileListener('memory')();
|
||||
enableUpnpListener();
|
||||
enableAllowedOriginListener();
|
||||
enableVersionListener();
|
||||
enableMothershipJobsListener();
|
||||
enableDynamicRemoteAccessListener();
|
||||
|
||||
@@ -239,7 +239,7 @@ export const config = createSlice({
|
||||
return merge(state, { remote: action.payload });
|
||||
},
|
||||
updateAllowedOrigins(state, action: PayloadAction<string[]>) {
|
||||
state.remote.allowedOrigins = action.payload.join(', ');
|
||||
state.api.extraOrigins = action.payload.join(', ');
|
||||
},
|
||||
setUpnpState(
|
||||
state,
|
||||
|
||||
2
api/src/types/my-servers-config.d.ts
vendored
2
api/src/types/my-servers-config.d.ts
vendored
@@ -4,7 +4,7 @@ import { type DynamicRemoteAccessType } from '@app/remoteAccess/types';
|
||||
interface MyServersConfig extends Record<string, unknown> {
|
||||
api: {
|
||||
version: string;
|
||||
extraOrigins?: string;
|
||||
extraOrigins: string;
|
||||
};
|
||||
local: {
|
||||
'2Fa'?: string;
|
||||
|
||||
Reference in New Issue
Block a user