atmosphere explorer pdsls.dev
atproto tool typescript

remote validation trigger

juli.ee c08e4f19 80b949a4

verified
Changed files
+19 -4
src
views
+19 -4
src/views/record.tsx
··· 59 } 60 61 const didDocument = await didDocPromise; 62 - 63 const pdsEndpoint = getPdsEndpoint(didDocument); 64 65 if (!pdsEndpoint) { ··· 199 const [validSchema, setValidSchema] = createSignal<boolean | undefined>(undefined); 200 const [schema, setSchema] = createSignal<ResolvedSchema>(); 201 const [lexiconNotFound, setLexiconNotFound] = createSignal<boolean>(); 202 const did = params.repo; 203 let rpc: Client; 204 ··· 250 251 const validateRemoteSchema = async (record: Record<string, unknown>) => { 252 try { 253 const { resolved, failed } = await resolveAllLexicons(params.collection as Nsid); 254 255 if (failed.size > 0) { ··· 274 setValidSchema(false); 275 setValidationError(err.message || String(err)); 276 } 277 }; 278 279 const verifyRecordIntegrity = async () => { ··· 518 ></span> 519 </div> 520 <Show when={validRecord() === false}> 521 - <div class="wrap-break-word">{verifyError()}</div> 522 </Show> 523 </div> 524 <div> ··· 530 "iconify lucide--check text-green-500 dark:text-green-400": 531 validSchema() === true, 532 "iconify lucide--x text-red-500 dark:text-red-400": validSchema() === false, 533 - "iconify lucide--loader-circle animate-spin": validSchema() === undefined, 534 }} 535 ></span> 536 </div> 537 <Show when={validSchema() === false}> 538 - <div class="wrap-break-word">{validationError()}</div> 539 </Show> 540 </div> 541 <Show when={lexiconUri()}>
··· 59 } 60 61 const didDocument = await didDocPromise; 62 const pdsEndpoint = getPdsEndpoint(didDocument); 63 64 if (!pdsEndpoint) { ··· 198 const [validSchema, setValidSchema] = createSignal<boolean | undefined>(undefined); 199 const [schema, setSchema] = createSignal<ResolvedSchema>(); 200 const [lexiconNotFound, setLexiconNotFound] = createSignal<boolean>(); 201 + const [remoteValidation, setRemoteValidation] = createSignal<boolean>(); 202 const did = params.repo; 203 let rpc: Client; 204 ··· 250 251 const validateRemoteSchema = async (record: Record<string, unknown>) => { 252 try { 253 + setRemoteValidation(true); 254 const { resolved, failed } = await resolveAllLexicons(params.collection as Nsid); 255 256 if (failed.size > 0) { ··· 275 setValidSchema(false); 276 setValidationError(err.message || String(err)); 277 } 278 + setRemoteValidation(false); 279 }; 280 281 const verifyRecordIntegrity = async () => { ··· 520 ></span> 521 </div> 522 <Show when={validRecord() === false}> 523 + <div class="text-xs wrap-break-word">{verifyError()}</div> 524 </Show> 525 </div> 526 <div> ··· 532 "iconify lucide--check text-green-500 dark:text-green-400": 533 validSchema() === true, 534 "iconify lucide--x text-red-500 dark:text-red-400": validSchema() === false, 535 + "iconify lucide--loader-circle animate-spin": 536 + validSchema() === undefined && remoteValidation(), 537 }} 538 ></span> 539 </div> 540 <Show when={validSchema() === false}> 541 + <div class="text-xs wrap-break-word">{validationError()}</div> 542 + </Show> 543 + <Show 544 + when={ 545 + !remoteValidation() && 546 + validSchema() === undefined && 547 + params.collection && 548 + !(params.collection in lexicons) 549 + } 550 + > 551 + <Button onClick={() => validateRemoteSchema(record()!.value)}> 552 + Validate remotely 553 + </Button> 554 </Show> 555 </div> 556 <Show when={lexiconUri()}>