Skip to content

Commit c742b89

Browse files
committed
Improved FeedSourceManager with new secrets handling
1 parent 3f7216d commit c742b89

File tree

1 file changed

+35
-8
lines changed

1 file changed

+35
-8
lines changed

src/components/feed-sources/feed-source-manager.jsx

Lines changed: 35 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,39 @@ function FeedSourceManager({
101101
setFormStateObject(initialState);
102102
}, [initialState]);
103103

104+
const [requiredSecrets, setRequiredSecrets] = useState([]);
105+
106+
useEffect(() => {
107+
let newSecrets = {};
108+
if (formStateObject && formStateObject.feedType) {
109+
switch (formStateObject.feedType) {
110+
case "App\\Feed\\EventDatabaseApiFeedType":
111+
newSecrets = {
112+
host: formStateObject.host,
113+
};
114+
break;
115+
case "App\\Feed\\NotifiedFeedType":
116+
newSecrets = {
117+
token: formStateObject.token,
118+
};
119+
break;
120+
case "App\\Feed\\CalendarApiFeedType":
121+
newSecrets = {
122+
resources: formStateObject.resources,
123+
};
124+
break;
125+
case "App\\Feed\\SparkleIOFeedType":
126+
newSecrets = {
127+
BaseUrl: formStateObject.BaseUrl,
128+
clientId: formStateObject.clientId,
129+
clientSecret: formStateObject.clientSecret,
130+
};
131+
break;
132+
}
133+
}
134+
setRequiredSecrets(newSecrets);
135+
}, [formStateObject]);
136+
104137
/** Save feed source. */
105138
function saveFeedSource() {
106139
setLoadingMessage(t("loading-messages.saving-feed-source"));
@@ -112,12 +145,7 @@ function FeedSourceManager({
112145
supportedFeedOutputType: formStateObject.supportedFeedOutputType,
113146
secrets: [
114147
{
115-
host: formStateObject.host,
116-
token: formStateObject.token,
117-
baseUrl: formStateObject.baseUrl,
118-
clientId: formStateObject.clientId,
119-
clientSecret: formStateObject.clientSecret,
120-
resources: formStateObject.resources,
148+
...requiredSecrets,
121149
},
122150
],
123151
};
@@ -145,7 +173,6 @@ function FeedSourceManager({
145173
setFormStateObject(localFormStateObject);
146174
};
147175

148-
149176
useEffect(() => {
150177
if (formStateObject) {
151178
const option = feedSourceTypeOptions.find(
@@ -163,7 +190,7 @@ function FeedSourceManager({
163190
setDynamicFormElement(null);
164191
}
165192
}
166-
}, [formStateObject ? formStateObject : null]);
193+
}, [formStateObject || null]);
167194

168195
/** If the feed source is not loaded, display the error message */
169196
useEffect(() => {

0 commit comments

Comments
 (0)