From 80a26283e9d129be1e0a0fac381d6d45e339bfe9 Mon Sep 17 00:00:00 2001 From: Andrew Ferrazzutti Date: Fri, 30 Sep 2022 13:50:38 -0400 Subject: [PATCH] Make various typechecking improvements (#505) * Make various typechecking improvements * Use `Record` to cover `{}` --- changelog.d/505.misc | 1 + src/Connections/GithubRepo.ts | 2 +- src/Connections/GitlabRepo.ts | 4 ++-- src/Connections/JiraProject.ts | 2 +- src/Widgets/BridgeWidgetApi.ts | 2 +- web/BridgeAPI.ts | 9 +++++---- web/components/roomConfig/GitlabRepoConfig.tsx | 6 +++--- web/components/roomConfig/RoomConfig.tsx | 9 +++++---- 8 files changed, 19 insertions(+), 16 deletions(-) create mode 100644 changelog.d/505.misc diff --git a/changelog.d/505.misc b/changelog.d/505.misc new file mode 100644 index 00000000..5cab6c6c --- /dev/null +++ b/changelog.d/505.misc @@ -0,0 +1 @@ +Improve some type-checking in the codebase. diff --git a/src/Connections/GithubRepo.ts b/src/Connections/GithubRepo.ts index e7a2ba04..5e98e8fb 100644 --- a/src/Connections/GithubRepo.ts +++ b/src/Connections/GithubRepo.ts @@ -1042,7 +1042,7 @@ ${event.release.body}`; } } - public getProvisionerDetails() { + public getProvisionerDetails(): GitHubRepoResponseItem { return { ...GitHubRepoConnection.getProvisionerDetails(this.as.botUserId), id: this.connectionId, diff --git a/src/Connections/GitlabRepo.ts b/src/Connections/GitlabRepo.ts index a6152d31..980c3d6b 100644 --- a/src/Connections/GitlabRepo.ts +++ b/src/Connections/GitlabRepo.ts @@ -257,7 +257,7 @@ export class GitLabRepoConnection extends CommandConnection(type: string, filters?: unknown): Promise { - const searchParams = filters && new URLSearchParams(filters as Record); + getConnectionTargets(type: string, filters?: Record|Record): Promise { + const searchParams = filters && new URLSearchParams(filters); return this.request('GET', `/widgetapi/v1/targets/${encodeURIComponent(type)}${searchParams ? `?${searchParams}` : ''}`); } } diff --git a/web/components/roomConfig/GitlabRepoConfig.tsx b/web/components/roomConfig/GitlabRepoConfig.tsx index 55f4e5c2..fc3fbf1d 100644 --- a/web/components/roomConfig/GitlabRepoConfig.tsx +++ b/web/components/roomConfig/GitlabRepoConfig.tsx @@ -20,7 +20,7 @@ const ConnectionSearch: FunctionComponent<{api: BridgeAPI, onPicked: (state: Git try { const res = await api.getConnectionTargets(EventType, filter); if (!filter.instance) { - setInstances(res); + setInstances(res as GitLabRepoConnectionInstanceTarget[]); if (res[0]) { setFilter({instance: res[0].name, search: ""}); } @@ -82,12 +82,12 @@ const ConnectionSearch: FunctionComponent<{api: BridgeAPI, onPicked: (state: Git {instances === null &&

Loading GitLab instances.

} {instances?.length === 0 &&

You are not logged into any GitLab instances.

} {searchError && {searchError} } - 0 : false} label="GitLab Instance" noPadding={true}> + - 0 : false} label="Project" noPadding={true}> + {currentProjectPath ?? ""} diff --git a/web/components/roomConfig/RoomConfig.tsx b/web/components/roomConfig/RoomConfig.tsx index b67384e1..29cf8024 100644 --- a/web/components/roomConfig/RoomConfig.tsx +++ b/web/components/roomConfig/RoomConfig.tsx @@ -4,9 +4,10 @@ import { BridgeAPI, BridgeAPIError } from "../../BridgeAPI"; import { ErrorPane, ListItem } from "../elements"; import style from "./RoomConfig.module.scss"; import { GetConnectionsResponseItem } from "../../../src/provisioning/api"; +import { IConnectionState } from "../../../src/Connections"; -export interface ConnectionConfigurationProps { +export interface ConnectionConfigurationProps { serviceConfig: SConfig; onSave: (newConfig: ConnectionState) => void, existingConnection?: ConnectionType; @@ -14,7 +15,7 @@ export interface ConnectionConfigurationProps { +interface IRoomConfigProps { api: BridgeAPI; roomId: string; type: string; @@ -30,7 +31,7 @@ interface IRoomConfigProps>; } -export const RoomConfig = function(props: IRoomConfigProps) { +export const RoomConfig = function(props: IRoomConfigProps) { const { api, roomId, type, headerImg, text, listItemName, connectionEventType } = props; const ConnectionConfigComponent = props.connectionConfigComponent; const [ error, setError ] = useState(null); @@ -69,7 +70,7 @@ export const RoomConfig = function { + const handleSaveOnCreation = useCallback((config: ConnectionState) => { api.createConnection(roomId, connectionEventType, config).then(() => { // Force reload incrementConnectionKey(undefined);