diff --git a/ui/src/lib/api/zone.ts b/ui/src/lib/api/zone.ts index c1e57fe..fde3ec9 100644 --- a/ui/src/lib/api/zone.ts +++ b/ui/src/lib/api/zone.ts @@ -1,6 +1,6 @@ import { handleApiResponse } from '$lib/errors'; import type { Domain } from '$lib/model/domain'; -import type { ServiceMeta } from '$lib/model/service'; +import type { ServiceCombined, ServiceMeta } from '$lib/model/service'; import type { ServiceRecord, Zone, ZoneMeta } from '$lib/model/zone'; export async function getZone(domain: Domain, id: string): Promise { @@ -51,7 +51,7 @@ export async function diffZone(domain: Domain, id1: string, id2: string): Promis return await handleApiResponse>(res); } -export async function addZoneService(domain: Domain, id: string, service: ServiceMeta): Promise { +export async function addZoneService(domain: Domain, id: string, service: ServiceCombined): Promise { let subdomain = service._domain; if (subdomain === '') subdomain = '@'; @@ -67,7 +67,7 @@ export async function addZoneService(domain: Domain, id: string, service: Servic return await handleApiResponse(res); } -export async function updateZoneService(domain: Domain, id: string, service: ServiceMeta): Promise { +export async function updateZoneService(domain: Domain, id: string, service: ServiceCombined): Promise { const dnid = encodeURIComponent(domain.id); id = encodeURIComponent(id); @@ -86,7 +86,7 @@ export async function deleteZoneService(domain: Domain, id: string, service: Ser const dnid = encodeURIComponent(domain.id); id = encodeURIComponent(id); subdomain = encodeURIComponent(subdomain); - const svcid = encodeURIComponent(service._id); + const svcid = service._id?encodeURIComponent(service._id):undefined; const res = await fetch(`/api/domains/${dnid}/zone/${id}/${subdomain}/services/${svcid}`, { method: 'DELETE', @@ -101,7 +101,7 @@ export async function getServiceRecords(domain: Domain, id: string, service: Ser const dnid = encodeURIComponent(domain.id); id = encodeURIComponent(id); - const svcid = encodeURIComponent(service._id); + const svcid = service._id?encodeURIComponent(service._id):undefined; const res = await fetch(`/api/domains/${dnid}/zone/${id}/${subdomain}/services/${svcid}/records`, { headers: {'Accept': 'application/json'} diff --git a/ui/src/lib/components/Onboarding.svelte b/ui/src/lib/components/Onboarding.svelte index 80d6859..03cdacb 100644 --- a/ui/src/lib/components/Onboarding.svelte +++ b/ui/src/lib/components/Onboarding.svelte @@ -2,16 +2,10 @@ import { goto } from '$app/navigation'; import { - Badge, - Button, Card, CardBody, CardGroup, - Col, Container, - Icon, - Row, - Spinner, } from 'sveltestrap'; import Logo from '$lib/components/Logo.svelte'; diff --git a/ui/src/lib/components/domains/AliasModal.svelte b/ui/src/lib/components/domains/AliasModal.svelte index 7120df9..6944f2b 100644 --- a/ui/src/lib/components/domains/AliasModal.svelte +++ b/ui/src/lib/components/domains/AliasModal.svelte @@ -1,7 +1,9 @@ @@ -100,9 +103,13 @@ {/if} @@ -116,23 +123,10 @@ {:else} ({domain: dn, id_provider: provider._id}))} + domains={importableDomainsList.map((dn) => ({domain: dn, id_provider: provider._id, wait: false}))} >
- {#if domain.state} - - {#if domain.state === 'success'} - - {:else if domain.state === 'info'} - - {:else if domain.state === 'warning'} - - {:else if domain.state === 'danger'} - - {/if} - {domain.message} - - {:else if haveDomain(domain.domain)} + {#if haveDomain($domains_idx, domain.domain)} {$t('service.already')} @@ -143,23 +137,15 @@ class="ml-1" color="primary" size="sm" - disabled={domain.wait} - on:click={() => importDomain(domain.domain)} + disabled={domain.wait || allImportInProgress} + on:click={() => importDomain(domain)} > + {#if domain.wait} + + {/if} {$t('domains.add-now')} {/if} - {#if domain.btn} - - {/if}
{#if discoveryError} diff --git a/ui/src/lib/components/resources/object.svelte b/ui/src/lib/components/resources/object.svelte index bdb1b59..87018c4 100644 --- a/ui/src/lib/components/resources/object.svelte +++ b/ui/src/lib/components/resources/object.svelte @@ -10,7 +10,6 @@ } from 'sveltestrap'; import { getServiceSpec } from '$lib/api/service_specs'; - import { deleteZoneService } from '$lib/api/zone'; import ResourceInput from '$lib/components/ResourceInput.svelte'; import type { Field } from '$lib/model/custom_form'; import type { ServiceInfos } from '$lib/model/service_specs'; diff --git a/ui/src/lib/model/service.ts b/ui/src/lib/model/service.ts index 74c6d12..e7a67f7 100644 --- a/ui/src/lib/model/service.ts +++ b/ui/src/lib/model/service.ts @@ -1,13 +1,13 @@ export interface ServiceMeta { _svctype: string; - _id: string; - _ownerid: string; + _id?: string; + _ownerid?: string; _domain: string; - _ttl: number; - _comment: string; - _mycomment: string; - _aliases: Array; - _tmp_hint_nb: number; + _ttl?: number; + _comment?: string; + _mycomment?: string; + _aliases?: Array; + _tmp_hint_nb?: number; }; export interface ServiceCombined extends ServiceMeta { diff --git a/ui/src/routes/domains/[dn]/[[historyid]]/+layout.svelte b/ui/src/routes/domains/[dn]/[[historyid]]/+layout.svelte index 42f35e7..f72630d 100644 --- a/ui/src/routes/domains/[dn]/[[historyid]]/+layout.svelte +++ b/ui/src/routes/domains/[dn]/[[historyid]]/+layout.svelte @@ -1,7 +1,7 @@