Add support for service variables to Railway integration, add docs for Railway

This commit is contained in:
Tuan Dang
2023-04-09 15:00:40 +03:00
parent f6e23127ac
commit 710364e3a1
35 changed files with 307 additions and 16 deletions
@@ -1,7 +1,7 @@
export {
useGetIntegrationAuthApps,
useGetIntegrationAuthById,
useGetIntegrationAuthRailwayEnvironments,
useGetIntegrationAuthRailwayServices,
useGetIntegrationAuthTeams,
useGetIntegrationAuthVercelBranches,
useGetRailwayEnvironments
} from './queries';
useGetIntegrationAuthVercelBranches} from './queries';
@@ -6,6 +6,7 @@ import {
App,
Environment,
IntegrationAuth,
Service,
Team
} from './types';
@@ -27,6 +28,13 @@ const integrationAuthKeys = {
integrationAuthId: string;
appId: string;
}) => [{ integrationAuthId, appId }, 'integrationAuthRailwayEnvironments'] as const,
getIntegrationAuthRailwayServices: ({
integrationAuthId,
appId
}: {
integrationAuthId: string;
appId: string;
}) => [{ integrationAuthId, appId }, 'integrationAuthRailwayServices'] as const
}
const fetchIntegrationAuthById = async (integrationAuthId: string) => {
@@ -86,6 +94,22 @@ const fetchIntegrationAuthRailwayEnvironments = async ({
return environments;
}
const fetchIntegrationAuthRailwayServices = async ({
integrationAuthId,
appId
}: {
integrationAuthId: string;
appId: string;
}) => {
const { data: { services } } = await apiRequest.get<{ services: Service[] }>(`/api/v1/integration-auth/${integrationAuthId}/railway/services`, {
params: {
appId
}
});
return services;
}
export const useGetIntegrationAuthById = (integrationAuthId: string) => {
return useQuery({
queryKey: integrationAuthKeys.getIntegrationAuthById(integrationAuthId),
@@ -139,7 +163,7 @@ export const useGetIntegrationAuthVercelBranches = ({
});
}
export const useGetRailwayEnvironments = ({
export const useGetIntegrationAuthRailwayEnvironments = ({
integrationAuthId,
appId
}: {
@@ -158,3 +182,23 @@ export const useGetRailwayEnvironments = ({
enabled: true
});
}
export const useGetIntegrationAuthRailwayServices = ({
integrationAuthId,
appId
}: {
integrationAuthId: string;
appId: string;
}) => {
return useQuery({
queryKey: integrationAuthKeys.getIntegrationAuthRailwayServices({
integrationAuthId,
appId,
}),
queryFn: () => fetchIntegrationAuthRailwayServices({
integrationAuthId,
appId,
}),
enabled: true
});
}
@@ -20,4 +20,9 @@ export type Team = {
export type Environment = {
name: string;
environmentId: string;
}
export type Service = {
name: string;
serviceId: string;
}