46 lines
2.0 KiB
TypeScript
Raw Normal View History

2025-02-18 15:41:59 +01:00
import type {Connector} from '../api/connectors'
import { ConnectorProvider} from '../api/connectors'
import {OvhCloudConnectorForm} from "./forms/OvhCloudConnectorForm"
import type {FormInstance} from "antd"
import type React from "react"
import {GandiConnectorForm} from "./forms/GandiConnectorForm"
import {NamecheapConnectorForm} from "./forms/NamecheapConnectorForm"
import {AutoDnsConnectorForm} from "./forms/AutoDnsConnectorForm"
import {NamecomConnectorForm} from "./forms/NamecomConnectorForm"
2024-07-30 17:48:09 +02:00
2025-02-18 15:41:59 +01:00
export type ProviderConfig = {
tosLink: string
tokenLink: string
form: ({form, onCreate}: { form: FormInstance, onCreate: (values: Connector) => void }) => React.ReactElement
2024-07-30 17:48:09 +02:00
}
2025-02-18 15:41:59 +01:00
export const providersConfig: () => Record<ConnectorProvider, ProviderConfig> = () => {
return {
[ConnectorProvider.OVHcloud]: {
tosLink: 'https://www.ovhcloud.com/en/terms-and-conditions/contracts/',
tokenLink: 'https://api.ovh.com/createToken/?GET=/order/cart&GET=/order/cart/*&POST=/order/cart&POST=/order/cart/*&DELETE=/order/cart/*&GET=/domain/extensions',
form: OvhCloudConnectorForm
},
[ConnectorProvider.Gandi]: {
tosLink: 'https://www.gandi.net/en/contracts/terms-of-service',
tokenLink: 'https://admin.gandi.net/organizations/account/pat',
form: GandiConnectorForm
},
[ConnectorProvider.Namecheap]: {
tosLink: 'https://www.namecheap.com/legal/universal/universal-tos/',
tokenLink: 'https://ap.www.namecheap.com/settings/tools/apiaccess/',
form: NamecheapConnectorForm
},
[ConnectorProvider.AutoDNS]: {
tosLink: 'https://www.internetx.com/agb/',
tokenLink: 'https://en.autodns.com/domain-robot-api/',
form: AutoDnsConnectorForm
},
[ConnectorProvider["Name.com"]]: {
tosLink: 'https://www.name.com/policies/',
tokenLink: 'https://www.name.com/account/settings/api',
form: NamecomConnectorForm
}
2024-07-30 17:48:09 +02:00
}
2024-12-30 23:50:15 +01:00
}