mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-15 18:15:53 +00:00
* fix: save wip * feat: final impl * feat: docs * Update backend/src/services/app-connection/digital-ocean/digital-ocean-connection-service.ts Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * chore: remove empty conflict files * Update backend/src/server/routes/v1/app-connection-routers/app-connection-router.ts Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * Update frontend/src/components/secret-syncs/forms/schemas/digital-ocean-app-platform-sync-destination-schema.ts Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * Update frontend/src/components/secret-syncs/forms/schemas/digital-ocean-app-platform-sync-destination-schema.ts Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * Update frontend/src/components/secret-syncs/forms/SecretSyncDestinationFields/DigitalOceanAppPlatformSyncFields.tsx Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * Update backend/src/services/secret-sync/digital-ocean-app-platform/digital-ocean-app-platform-sync-schemas.ts Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * fix: lint * feat: Netlify app connection and secrets sync * feat: docs * fix: type check * fix: api client * fix: lint and types * fix: typecheck lint * fix: docs * fix: lint * fix: lint * fix: PR changes * fix: typecheck * fix: PR changes * fix PR changes * fix: PR Change * fix: type error * Small tweaks * fix: support is_secret * fix: revert is_secret * fix: force update existing netlify secret --------- Co-authored-by: sidwebworks <[email protected]> Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> Co-authored-by: x032205 <[email protected]>
43 lines
1.4 KiB
TypeScript
43 lines
1.4 KiB
TypeScript
import { logger } from "@app/lib/logger";
|
|
import { OrgServiceActor } from "@app/lib/types";
|
|
|
|
import { AppConnection } from "../app-connection-enums";
|
|
import { NetlifyPublicAPI } from "./netlify-connection-public-client";
|
|
import { TNetlifyConnection } from "./netlify-connection-types";
|
|
|
|
type TGetAppConnectionFunc = (
|
|
app: AppConnection,
|
|
connectionId: string,
|
|
actor: OrgServiceActor
|
|
) => Promise<TNetlifyConnection>;
|
|
|
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
export const netlifyConnectionService = (getAppConnection: TGetAppConnectionFunc) => {
|
|
const listAccounts = async (connectionId: string, actor: OrgServiceActor) => {
|
|
const appConnection = await getAppConnection(AppConnection.Netlify, connectionId, actor);
|
|
try {
|
|
const accounts = await NetlifyPublicAPI.getNetlifyAccounts(appConnection);
|
|
return accounts;
|
|
} catch (error) {
|
|
logger.error(error, "Failed to list accounts on Netlify");
|
|
return [];
|
|
}
|
|
};
|
|
|
|
const listSites = async (connectionId: string, actor: OrgServiceActor, accountId: string) => {
|
|
const appConnection = await getAppConnection(AppConnection.Netlify, connectionId, actor);
|
|
try {
|
|
const sites = await NetlifyPublicAPI.getSites(appConnection, accountId);
|
|
return sites;
|
|
} catch (error) {
|
|
logger.error(error, "Failed to list sites on Netlify");
|
|
return [];
|
|
}
|
|
};
|
|
|
|
return {
|
|
listAccounts,
|
|
listSites
|
|
};
|
|
};
|