Rewrite the /sync/:namespace/:kind/:name to return an event-stream
Signed-off-by: Dominik Henneke <dominik.henneke@sda-se.com>
This commit is contained in:
@@ -17,6 +17,7 @@
|
||||
import { createDevApp } from '@backstage/dev-utils';
|
||||
import { NotFoundError } from '@backstage/errors';
|
||||
import React from 'react';
|
||||
import { EntityName } from '@backstage/catalog-model';
|
||||
import {
|
||||
Reader,
|
||||
SyncResult,
|
||||
@@ -81,9 +82,18 @@ function createPage({
|
||||
});
|
||||
}
|
||||
|
||||
async syncEntityDocs() {
|
||||
async syncEntityDocs(_: EntityName, logHandler?: (line: string) => void) {
|
||||
if (syncDocsDelay) {
|
||||
await new Promise(resolve => setTimeout(resolve, syncDocsDelay));
|
||||
for (let i = 0; i < 10; i++) {
|
||||
setTimeout(
|
||||
() => logHandler?.call(this, `Log line ${i}`),
|
||||
((i + 1) * syncDocsDelay) / 10,
|
||||
);
|
||||
}
|
||||
|
||||
await new Promise(resolve => {
|
||||
setTimeout(resolve, syncDocsDelay);
|
||||
});
|
||||
}
|
||||
|
||||
return syncDocs();
|
||||
@@ -195,13 +205,6 @@ createDevApp()
|
||||
syncDocsDelay: 2000,
|
||||
})}
|
||||
</TabbedLayout.Route>
|
||||
|
||||
<TabbedLayout.Route path="/timeout" title="Sync Timeout">
|
||||
{createPage({
|
||||
syncDocs: () => 'timeout',
|
||||
syncDocsDelay: 2000,
|
||||
})}
|
||||
</TabbedLayout.Route>
|
||||
</TabbedLayout>
|
||||
</Page>
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user