Skip to content

Commit e5357fe

Browse files
committed
Add owner validation for only-me mode save operation
Prevents saving "only-me" mode when no relay owner is set by: - Adding owner existence check before mode save - Showing clear error messages to guide users - Blocking invalid saves to maintain system integrity
1 parent 8df8059 commit e5357fe

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

src/components/allowed-users/layouts/AllowedUsersLayout.tsx

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React, { useState, useEffect } from 'react';
2-
import { Card, Row, Col, Spin, Alert, Button, Space } from 'antd';
2+
import { Card, Row, Col, Spin, Alert, Button, Space, message } from 'antd';
33
import { SaveOutlined } from '@ant-design/icons';
44
import { useAllowedUsersSettings } from '@app/hooks/useAllowedUsers';
55
import { ModeSelector } from '../components/ModeSelector/ModeSelector';
@@ -8,6 +8,7 @@ import { TiersConfig } from '../components/TiersConfig/TiersConfig';
88
import { NPubManagement } from '../components/NPubManagement/NPubManagement';
99
import { RelayOwnerConfig } from '../components/RelayOwnerConfig/RelayOwnerConfig';
1010
import { AllowedUsersMode, MODE_CONFIGURATIONS, AllowedUsersSettings, DEFAULT_TIERS } from '@app/types/allowedUsers.types';
11+
import { getRelayOwner } from '@app/api/allowedUsers.api';
1112
import * as S from './AllowedUsersLayout.styles';
1213

1314
export const AllowedUsersLayout: React.FC = () => {
@@ -73,6 +74,21 @@ export const AllowedUsersLayout: React.FC = () => {
7374
const handleSave = async () => {
7475
if (!localSettings) return;
7576

77+
// Check if owner exists when trying to save "only-me" mode
78+
if (localSettings.mode === 'only-me') {
79+
try {
80+
const ownerResponse = await getRelayOwner();
81+
if (!ownerResponse.relay_owner) {
82+
message.error('Cannot save "Only Me" mode: Please set a relay owner first.');
83+
return;
84+
}
85+
} catch (error) {
86+
console.error('Failed to check relay owner:', error);
87+
message.error('Cannot verify relay owner. Please ensure owner is set before saving "Only Me" mode.');
88+
return;
89+
}
90+
}
91+
7692
setSaving(true);
7793
try {
7894
await updateSettings(localSettings);

0 commit comments

Comments
 (0)