@drodil/backstage-plugin-search-backend-module-qeta 3.59.2 → 3.59.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultQetaCollatorFactory.cjs.js","sources":["../../src/collators/DefaultQetaCollatorFactory.ts"],"sourcesContent":["import { Config } from '@backstage/config';\nimport { Readable } from 'stream';\nimport { DocumentCollatorFactory } from '@backstage/plugin-search-common';\nimport {\n QetaApi,\n QetaClient,\n QetaCollectionDocument,\n QetaPostDocument,\n qetaReadPostPermission,\n selectByPostType,\n} from '@drodil/backstage-plugin-qeta-common';\nimport {\n AuthService,\n DiscoveryService,\n LoggerService,\n} from '@backstage/backend-plugin-api';\n\nexport type QetaCollatorFactoryOptions = {\n logger: LoggerService;\n discovery: DiscoveryService;\n auth?: AuthService;\n};\n\nexport class DefaultQetaCollatorFactory implements DocumentCollatorFactory {\n public readonly type: string = 'qeta';\n visibilityPermission = qetaReadPostPermission;\n private readonly logger: LoggerService;\n private readonly auth?: AuthService;\n private readonly api: QetaApi;\n private readonly qetaRoute: string;\n\n private constructor(config: Config, options: QetaCollatorFactoryOptions) {\n this.logger = options.logger;\n this.auth = options.auth;\n this.api = new QetaClient({ discoveryApi: options.discovery });\n this.qetaRoute = config.getOptionalString('qeta.route') ?? 'qeta';\n }\n\n static fromConfig(config: Config, options: QetaCollatorFactoryOptions) {\n return new DefaultQetaCollatorFactory(config, options);\n }\n\n async getCollator() {\n return Readable.from(this.execute());\n }\n\n async *execute(): AsyncGenerator<QetaPostDocument | QetaCollectionDocument> {\n this.logger.info('Executing QetaCollator');\n let totalPosts = Number.MAX_VALUE;\n let indexedPosts = 0;\n\n while (totalPosts > indexedPosts) {\n let tok = undefined;\n\n if (this.auth) {\n const { token } = await this.auth.getPluginRequestToken({\n onBehalfOf: await this.auth.getOwnServiceCredentials(),\n targetPluginId: 'qeta',\n });\n tok = token;\n }\n\n const data = await this.api.getPosts(\n {\n includeAnswers: true,\n includeComments: true,\n includeExperts: false,\n includeAttachments: false,\n orderBy: 'created',\n order: 'asc',\n limit: 50,\n offset: indexedPosts,\n },\n { token: tok },\n );\n\n if (!data || 'errors' in data || !('posts' in data)) {\n this.logger.error(\n `Error while fetching posts from qeta: ${JSON.stringify(data)}`,\n );\n return;\n }\n\n const posts = data.posts;\n this.logger.info(`Indexing ${posts.length} posts`);\n totalPosts = data.total;\n indexedPosts += posts.length;\n\n for (const post of posts) {\n const postContent = `# ${selectByPostType(\n post.type,\n 'Question',\n 'Article',\n 'Link',\n )}: ${\n (post.type === 'link' ? `${post.url}\\n\\n` : '') + post.title\n }\\n\\n${post.content}`;\n const answersContent = (post.answers ?? []).map(a => {\n return `## ${a.correct ? 'Correct answer' : 'Answer'} by ${\n a.author\n }: ${a.content}`;\n });\n\n const allComments = (post.comments ?? []).concat(\n (post.answers ?? []).flatMap(a => a.comments ?? []),\n );\n const commentsContent = allComments.map(c => {\n return `* Comment by ${c.author}: ${c.content}`;\n });\n\n yield {\n title: post.title,\n text: `${postContent}\\n\\n${answersContent.join('\\n\\n')}\\n\\n${\n commentsContent.length > 0\n ? `Comments:\\n\\n${commentsContent.join('\\n\\n')}`\n : ''\n }`,\n location: selectByPostType(\n post.type,\n `/${this.qetaRoute}/questions/${post.id}`,\n `/${this.qetaRoute}/articles/${post.id}`,\n `/${this.qetaRoute}/links/${post.id}`,\n ),\n docType: 'qeta_post',\n author: post.author,\n created: post.created,\n score: post.score,\n trend: post.trend,\n entityRefs: post.entities,\n answerCount: post.answersCount,\n views: post.views,\n tags: post.tags,\n postType: post.type,\n authorization: {\n resourceRef: `qeta:post:${post.id}`,\n },\n };\n }\n\n // Give some slack for the processing\n await new Promise(resolve => setTimeout(resolve, 1000));\n }\n\n let totalCollections = Number.MAX_VALUE;\n let indexedCollections = 0;\n\n while (totalCollections > indexedCollections) {\n let tok = undefined;\n\n if (this.auth) {\n const { token } = await this.auth.getPluginRequestToken({\n onBehalfOf: await this.auth.getOwnServiceCredentials(),\n targetPluginId: 'qeta',\n });\n tok = token;\n }\n\n const data = await this.api.getCollections(\n {\n orderBy: 'created',\n order: 'asc',\n limit: 50,\n offset: indexedCollections,\n includePosts: false,\n includeExperts: false,\n },\n { token: tok },\n );\n\n if (!data || 'errors' in data || !('collections' in data)) {\n this.logger.error(\n `Error while fetching collections from qeta: ${JSON.stringify(data)}`,\n );\n return;\n }\n\n const collections = data.collections;\n this.logger.info(`Indexing ${collections.length} collections`);\n totalCollections = data.total;\n indexedCollections += collections.length;\n\n for (const collection of collections) {\n yield {\n title: collection.title,\n text: collection.description ?? '',\n location: `/${this.qetaRoute}/collections/${collection.id}`,\n docType: 'qeta_collection',\n postsCount: collection.postsCount,\n owner: collection.owner,\n created: collection.created,\n headerImage: collection.headerImage,\n };\n }\n\n // Give some slack for the processing\n await new Promise(resolve => setTimeout(resolve, 1000));\n }\n }\n}\n"],"names":["qetaReadPostPermission","QetaClient","Readable","selectByPostType"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DefaultQetaCollatorFactory.cjs.js","sources":["../../src/collators/DefaultQetaCollatorFactory.ts"],"sourcesContent":["import { Config } from '@backstage/config';\nimport { Readable } from 'stream';\nimport { DocumentCollatorFactory } from '@backstage/plugin-search-common';\nimport {\n QetaApi,\n QetaClient,\n QetaCollectionDocument,\n QetaPostDocument,\n qetaReadPostPermission,\n selectByPostType,\n} from '@drodil/backstage-plugin-qeta-common';\nimport {\n AuthService,\n DiscoveryService,\n LoggerService,\n} from '@backstage/backend-plugin-api';\n\nexport type QetaCollatorFactoryOptions = {\n logger: LoggerService;\n discovery: DiscoveryService;\n auth?: AuthService;\n};\n\nexport class DefaultQetaCollatorFactory implements DocumentCollatorFactory {\n public readonly type: string = 'qeta';\n visibilityPermission = qetaReadPostPermission;\n private readonly logger: LoggerService;\n private readonly auth?: AuthService;\n private readonly api: QetaApi;\n private readonly qetaRoute: string;\n\n private constructor(config: Config, options: QetaCollatorFactoryOptions) {\n this.logger = options.logger;\n this.auth = options.auth;\n this.api = new QetaClient({ discoveryApi: options.discovery });\n this.qetaRoute = config.getOptionalString('qeta.route') ?? 'qeta';\n }\n\n static fromConfig(config: Config, options: QetaCollatorFactoryOptions) {\n return new DefaultQetaCollatorFactory(config, options);\n }\n\n async getCollator() {\n return Readable.from(this.execute());\n }\n\n async *execute(): AsyncGenerator<QetaPostDocument | QetaCollectionDocument> {\n this.logger.info('Executing QetaCollator');\n let totalPosts = Number.MAX_VALUE;\n let indexedPosts = 0;\n\n while (totalPosts > indexedPosts) {\n let tok = undefined;\n\n if (this.auth) {\n const { token } = await this.auth.getPluginRequestToken({\n onBehalfOf: await this.auth.getOwnServiceCredentials(),\n targetPluginId: 'qeta',\n });\n tok = token;\n }\n\n const data = await this.api.getPosts(\n {\n includeAnswers: true,\n includeComments: true,\n includeExperts: false,\n includeAttachments: false,\n orderBy: 'created',\n order: 'asc',\n limit: 50,\n offset: indexedPosts,\n },\n { token: tok },\n );\n\n if (!data || 'errors' in data || !('posts' in data)) {\n this.logger.error(\n `Error while fetching posts from qeta: ${JSON.stringify(data)}`,\n );\n return;\n }\n\n const posts = data.posts;\n this.logger.info(`Indexing ${posts.length} posts`);\n totalPosts = data.total;\n indexedPosts += posts.length;\n\n for (const post of posts) {\n const postContent = `# ${selectByPostType(\n post.type,\n 'Question',\n 'Article',\n 'Link',\n )}: ${\n (post.type === 'link' ? `${post.url}\\n\\n` : '') + post.title\n }\\n\\n${post.content}`;\n const answersContent = (post.answers ?? []).map(a => {\n return `## ${a.correct ? 'Correct answer' : 'Answer'} by ${\n a.author\n }: ${a.content}`;\n });\n\n const allComments = (post.comments ?? []).concat(\n (post.answers ?? []).flatMap(a => a.comments ?? []),\n );\n const commentsContent = allComments.map(c => {\n return `* Comment by ${c.author}: ${c.content}`;\n });\n\n yield {\n title: post.title,\n text: `${postContent}\\n\\n${answersContent.join('\\n\\n')}\\n\\n${\n commentsContent.length > 0\n ? `Comments:\\n\\n${commentsContent.join('\\n\\n')}`\n : ''\n }`,\n location: selectByPostType(\n post.type,\n `/${this.qetaRoute}/questions/${post.id}`,\n `/${this.qetaRoute}/articles/${post.id}`,\n `/${this.qetaRoute}/links/${post.id}`,\n ),\n docType: 'qeta_post',\n author: post.author,\n created: post.created,\n score: post.score,\n trend: post.trend,\n entityRefs: post.entities,\n answerCount: post.answersCount,\n views: post.views,\n tags: post.tags,\n postType: post.type,\n authorization: {\n resourceRef: `qeta:post:${post.id}`,\n },\n };\n }\n\n // Give some slack for the processing\n await new Promise(resolve => setTimeout(resolve, 1000));\n }\n\n let totalCollections = Number.MAX_VALUE;\n let indexedCollections = 0;\n\n while (totalCollections > indexedCollections) {\n let tok = undefined;\n\n if (this.auth) {\n const { token } = await this.auth.getPluginRequestToken({\n onBehalfOf: await this.auth.getOwnServiceCredentials(),\n targetPluginId: 'qeta',\n });\n tok = token;\n }\n\n const data = await this.api.getCollections(\n {\n orderBy: 'created',\n order: 'asc',\n limit: 50,\n offset: indexedCollections,\n includePosts: false,\n includeExperts: false,\n },\n { token: tok },\n );\n\n if (!data || 'errors' in data || !('collections' in data)) {\n this.logger.error(\n `Error while fetching collections from qeta: ${JSON.stringify(data)}`,\n );\n return;\n }\n\n const collections = data.collections;\n this.logger.info(`Indexing ${collections.length} collections`);\n totalCollections = data.total;\n indexedCollections += collections.length;\n\n for (const collection of collections) {\n yield {\n title: collection.title,\n text: collection.description ?? '',\n location: `/${this.qetaRoute}/collections/${collection.id}`,\n docType: 'qeta_collection',\n postsCount: collection.postsCount,\n owner: collection.owner,\n created: collection.created,\n headerImage: collection.headerImage,\n };\n }\n\n // Give some slack for the processing\n await new Promise(resolve => setTimeout(resolve, 1000));\n }\n }\n}\n"],"names":["qetaReadPostPermission","QetaClient","Readable","selectByPostType"],"mappings":";;;;;AAuBO,MAAM,0BAAA,CAA8D;AAAA,EACzD,IAAA,GAAe,MAAA;AAAA,EAC/B,oBAAA,GAAuBA,gDAAA;AAAA,EACN,MAAA;AAAA,EACA,IAAA;AAAA,EACA,GAAA;AAAA,EACA,SAAA;AAAA,EAET,WAAA,CAAY,QAAgB,OAAA,EAAqC;AACvE,IAAA,IAAA,CAAK,SAAS,OAAA,CAAQ,MAAA;AACtB,IAAA,IAAA,CAAK,OAAO,OAAA,CAAQ,IAAA;AACpB,IAAA,IAAA,CAAK,MAAM,IAAIC,oCAAA,CAAW,EAAE,YAAA,EAAc,OAAA,CAAQ,WAAW,CAAA;AAC7D,IAAA,IAAA,CAAK,SAAA,GAAY,MAAA,CAAO,iBAAA,CAAkB,YAAY,CAAA,IAAK,MAAA;AAAA,EAC7D;AAAA,EAEA,OAAO,UAAA,CAAW,MAAA,EAAgB,OAAA,EAAqC;AACrE,IAAA,OAAO,IAAI,0BAAA,CAA2B,MAAA,EAAQ,OAAO,CAAA;AAAA,EACvD;AAAA,EAEA,MAAM,WAAA,GAAc;AAClB,IAAA,OAAOC,eAAA,CAAS,IAAA,CAAK,IAAA,CAAK,OAAA,EAAS,CAAA;AAAA,EACrC;AAAA,EAEA,OAAO,OAAA,GAAqE;AAC1E,IAAA,IAAA,CAAK,MAAA,CAAO,KAAK,wBAAwB,CAAA;AACzC,IAAA,IAAI,aAAa,MAAA,CAAO,SAAA;AACxB,IAAA,IAAI,YAAA,GAAe,CAAA;AAEnB,IAAA,OAAO,aAAa,YAAA,EAAc;AAChC,MAAA,IAAI,GAAA,GAAM,MAAA;AAEV,MAAA,IAAI,KAAK,IAAA,EAAM;AACb,QAAA,MAAM,EAAE,KAAA,EAAM,GAAI,MAAM,IAAA,CAAK,KAAK,qBAAA,CAAsB;AAAA,UACtD,UAAA,EAAY,MAAM,IAAA,CAAK,IAAA,CAAK,wBAAA,EAAyB;AAAA,UACrD,cAAA,EAAgB;AAAA,SACjB,CAAA;AACD,QAAA,GAAA,GAAM,KAAA;AAAA,MACR;AAEA,MAAA,MAAM,IAAA,GAAO,MAAM,IAAA,CAAK,GAAA,CAAI,QAAA;AAAA,QAC1B;AAAA,UACE,cAAA,EAAgB,IAAA;AAAA,UAChB,eAAA,EAAiB,IAAA;AAAA,UACjB,cAAA,EAAgB,KAAA;AAAA,UAChB,kBAAA,EAAoB,KAAA;AAAA,UACpB,OAAA,EAAS,SAAA;AAAA,UACT,KAAA,EAAO,KAAA;AAAA,UACP,KAAA,EAAO,EAAA;AAAA,UACP,MAAA,EAAQ;AAAA,SACV;AAAA,QACA,EAAE,OAAO,GAAA;AAAI,OACf;AAEA,MAAA,IAAI,CAAC,IAAA,IAAQ,QAAA,IAAY,IAAA,IAAQ,EAAE,WAAW,IAAA,CAAA,EAAO;AACnD,QAAA,IAAA,CAAK,MAAA,CAAO,KAAA;AAAA,UACV,CAAA,sCAAA,EAAyC,IAAA,CAAK,SAAA,CAAU,IAAI,CAAC,CAAA;AAAA,SAC/D;AACA,QAAA;AAAA,MACF;AAEA,MAAA,MAAM,QAAQ,IAAA,CAAK,KAAA;AACnB,MAAA,IAAA,CAAK,MAAA,CAAO,IAAA,CAAK,CAAA,SAAA,EAAY,KAAA,CAAM,MAAM,CAAA,MAAA,CAAQ,CAAA;AACjD,MAAA,UAAA,GAAa,IAAA,CAAK,KAAA;AAClB,MAAA,YAAA,IAAgB,KAAA,CAAM,MAAA;AAEtB,MAAA,KAAA,MAAW,QAAQ,KAAA,EAAO;AACxB,QAAA,MAAM,cAAc,CAAA,EAAA,EAAKC,0CAAA;AAAA,UACvB,IAAA,CAAK,IAAA;AAAA,UACL,UAAA;AAAA,UACA,SAAA;AAAA,UACA;AAAA,SACD,CAAA,EAAA,EAAA,CACE,IAAA,CAAK,SAAS,MAAA,GAAS,CAAA,EAAG,KAAK,GAAG;;AAAA,CAAA,GAAS,EAAA,IAAM,KAAK,KACzD;;AAAA,EAAO,KAAK,OAAO,CAAA,CAAA;AACnB,QAAA,MAAM,kBAAkB,IAAA,CAAK,OAAA,IAAW,EAAC,EAAG,IAAI,CAAA,CAAA,KAAK;AACnD,UAAA,OAAO,CAAA,GAAA,EAAM,CAAA,CAAE,OAAA,GAAU,gBAAA,GAAmB,QAAQ,OAClD,CAAA,CAAE,MACJ,CAAA,EAAA,EAAK,CAAA,CAAE,OAAO,CAAA,CAAA;AAAA,QAChB,CAAC,CAAA;AAED,QAAA,MAAM,WAAA,GAAA,CAAe,IAAA,CAAK,QAAA,IAAY,EAAC,EAAG,MAAA;AAAA,UAAA,CACvC,IAAA,CAAK,WAAW,EAAC,EAAG,QAAQ,CAAA,CAAA,KAAK,CAAA,CAAE,QAAA,IAAY,EAAE;AAAA,SACpD;AACA,QAAA,MAAM,eAAA,GAAkB,WAAA,CAAY,GAAA,CAAI,CAAA,CAAA,KAAK;AAC3C,UAAA,OAAO,CAAA,aAAA,EAAgB,CAAA,CAAE,MAAM,CAAA,EAAA,EAAK,EAAE,OAAO,CAAA,CAAA;AAAA,QAC/C,CAAC,CAAA;AAED,QAAA,MAAM;AAAA,UACJ,OAAO,IAAA,CAAK,KAAA;AAAA,UACZ,IAAA,EAAM,GAAG,WAAW;;AAAA,EAAO,cAAA,CAAe,IAAA,CAAK,MAAM,CAAC;;AAAA,EACpD,eAAA,CAAgB,SAAS,CAAA,GACrB,CAAA;;AAAA,EAAgB,eAAA,CAAgB,IAAA,CAAK,MAAM,CAAC,KAC5C,EACN,CAAA,CAAA;AAAA,UACA,QAAA,EAAUA,0CAAA;AAAA,YACR,IAAA,CAAK,IAAA;AAAA,YACL,CAAA,CAAA,EAAI,IAAA,CAAK,SAAS,CAAA,WAAA,EAAc,KAAK,EAAE,CAAA,CAAA;AAAA,YACvC,CAAA,CAAA,EAAI,IAAA,CAAK,SAAS,CAAA,UAAA,EAAa,KAAK,EAAE,CAAA,CAAA;AAAA,YACtC,CAAA,CAAA,EAAI,IAAA,CAAK,SAAS,CAAA,OAAA,EAAU,KAAK,EAAE,CAAA;AAAA,WACrC;AAAA,UACA,OAAA,EAAS,WAAA;AAAA,UACT,QAAQ,IAAA,CAAK,MAAA;AAAA,UACb,SAAS,IAAA,CAAK,OAAA;AAAA,UACd,OAAO,IAAA,CAAK,KAAA;AAAA,UACZ,OAAO,IAAA,CAAK,KAAA;AAAA,UACZ,YAAY,IAAA,CAAK,QAAA;AAAA,UACjB,aAAa,IAAA,CAAK,YAAA;AAAA,UAClB,OAAO,IAAA,CAAK,KAAA;AAAA,UACZ,MAAM,IAAA,CAAK,IAAA;AAAA,UACX,UAAU,IAAA,CAAK,IAAA;AAAA,UACf,aAAA,EAAe;AAAA,YACb,WAAA,EAAa,CAAA,UAAA,EAAa,IAAA,CAAK,EAAE,CAAA;AAAA;AACnC,SACF;AAAA,MACF;AAGA,MAAA,MAAM,IAAI,OAAA,CAAQ,CAAA,OAAA,KAAW,UAAA,CAAW,OAAA,EAAS,GAAI,CAAC,CAAA;AAAA,IACxD;AAEA,IAAA,IAAI,mBAAmB,MAAA,CAAO,SAAA;AAC9B,IAAA,IAAI,kBAAA,GAAqB,CAAA;AAEzB,IAAA,OAAO,mBAAmB,kBAAA,EAAoB;AAC5C,MAAA,IAAI,GAAA,GAAM,MAAA;AAEV,MAAA,IAAI,KAAK,IAAA,EAAM;AACb,QAAA,MAAM,EAAE,KAAA,EAAM,GAAI,MAAM,IAAA,CAAK,KAAK,qBAAA,CAAsB;AAAA,UACtD,UAAA,EAAY,MAAM,IAAA,CAAK,IAAA,CAAK,wBAAA,EAAyB;AAAA,UACrD,cAAA,EAAgB;AAAA,SACjB,CAAA;AACD,QAAA,GAAA,GAAM,KAAA;AAAA,MACR;AAEA,MAAA,MAAM,IAAA,GAAO,MAAM,IAAA,CAAK,GAAA,CAAI,cAAA;AAAA,QAC1B;AAAA,UACE,OAAA,EAAS,SAAA;AAAA,UACT,KAAA,EAAO,KAAA;AAAA,UACP,KAAA,EAAO,EAAA;AAAA,UACP,MAAA,EAAQ,kBAAA;AAAA,UACR,YAAA,EAAc,KAAA;AAAA,UACd,cAAA,EAAgB;AAAA,SAClB;AAAA,QACA,EAAE,OAAO,GAAA;AAAI,OACf;AAEA,MAAA,IAAI,CAAC,IAAA,IAAQ,QAAA,IAAY,IAAA,IAAQ,EAAE,iBAAiB,IAAA,CAAA,EAAO;AACzD,QAAA,IAAA,CAAK,MAAA,CAAO,KAAA;AAAA,UACV,CAAA,4CAAA,EAA+C,IAAA,CAAK,SAAA,CAAU,IAAI,CAAC,CAAA;AAAA,SACrE;AACA,QAAA;AAAA,MACF;AAEA,MAAA,MAAM,cAAc,IAAA,CAAK,WAAA;AACzB,MAAA,IAAA,CAAK,MAAA,CAAO,IAAA,CAAK,CAAA,SAAA,EAAY,WAAA,CAAY,MAAM,CAAA,YAAA,CAAc,CAAA;AAC7D,MAAA,gBAAA,GAAmB,IAAA,CAAK,KAAA;AACxB,MAAA,kBAAA,IAAsB,WAAA,CAAY,MAAA;AAElC,MAAA,KAAA,MAAW,cAAc,WAAA,EAAa;AACpC,QAAA,MAAM;AAAA,UACJ,OAAO,UAAA,CAAW,KAAA;AAAA,UAClB,IAAA,EAAM,WAAW,WAAA,IAAe,EAAA;AAAA,UAChC,UAAU,CAAA,CAAA,EAAI,IAAA,CAAK,SAAS,CAAA,aAAA,EAAgB,WAAW,EAAE,CAAA,CAAA;AAAA,UACzD,OAAA,EAAS,iBAAA;AAAA,UACT,YAAY,UAAA,CAAW,UAAA;AAAA,UACvB,OAAO,UAAA,CAAW,KAAA;AAAA,UAClB,SAAS,UAAA,CAAW,OAAA;AAAA,UACpB,aAAa,UAAA,CAAW;AAAA,SAC1B;AAAA,MACF;AAGA,MAAA,MAAM,IAAI,OAAA,CAAQ,CAAA,OAAA,KAAW,UAAA,CAAW,OAAA,EAAS,GAAI,CAAC,CAAA;AAAA,IACxD;AAAA,EACF;AACF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.cjs.js","sources":["../../src/collators/config.ts"],"sourcesContent":["import { Config } from '@backstage/config';\nimport {\n readSchedulerServiceTaskScheduleDefinitionFromConfig,\n SchedulerServiceTaskScheduleDefinition,\n} from '@backstage/backend-plugin-api';\nimport { InputError } from '@backstage/errors';\n\nconst configKey = 'search.collators.qeta';\n\nexport const defaults = {\n schedule: {\n frequency: { minutes: 10 },\n timeout: { minutes: 15 },\n initialDelay: { seconds: 3 },\n },\n};\n\nexport function readScheduleConfigOptions(\n configRoot: Config,\n): SchedulerServiceTaskScheduleDefinition {\n let schedule: SchedulerServiceTaskScheduleDefinition | undefined = undefined;\n\n const config = configRoot.getOptionalConfig(configKey);\n if (config) {\n const scheduleConfig = config.getOptionalConfig('schedule');\n if (scheduleConfig) {\n try {\n schedule =\n readSchedulerServiceTaskScheduleDefinitionFromConfig(scheduleConfig);\n } catch (error) {\n throw new InputError(`Invalid schedule at ${configKey}, ${error}`);\n }\n }\n }\n\n return schedule ?? defaults.schedule;\n}\n"],"names":["readSchedulerServiceTaskScheduleDefinitionFromConfig","InputError"],"mappings":";;;;;AAOA,MAAM,
|
|
1
|
+
{"version":3,"file":"config.cjs.js","sources":["../../src/collators/config.ts"],"sourcesContent":["import { Config } from '@backstage/config';\nimport {\n readSchedulerServiceTaskScheduleDefinitionFromConfig,\n SchedulerServiceTaskScheduleDefinition,\n} from '@backstage/backend-plugin-api';\nimport { InputError } from '@backstage/errors';\n\nconst configKey = 'search.collators.qeta';\n\nexport const defaults = {\n schedule: {\n frequency: { minutes: 10 },\n timeout: { minutes: 15 },\n initialDelay: { seconds: 3 },\n },\n};\n\nexport function readScheduleConfigOptions(\n configRoot: Config,\n): SchedulerServiceTaskScheduleDefinition {\n let schedule: SchedulerServiceTaskScheduleDefinition | undefined = undefined;\n\n const config = configRoot.getOptionalConfig(configKey);\n if (config) {\n const scheduleConfig = config.getOptionalConfig('schedule');\n if (scheduleConfig) {\n try {\n schedule =\n readSchedulerServiceTaskScheduleDefinitionFromConfig(scheduleConfig);\n } catch (error) {\n throw new InputError(`Invalid schedule at ${configKey}, ${error}`);\n }\n }\n }\n\n return schedule ?? defaults.schedule;\n}\n"],"names":["readSchedulerServiceTaskScheduleDefinitionFromConfig","InputError"],"mappings":";;;;;AAOA,MAAM,SAAA,GAAY,uBAAA;AAEX,MAAM,QAAA,GAAW;AAAA,EACtB,QAAA,EAAU;AAAA,IACR,SAAA,EAAW,EAAE,OAAA,EAAS,EAAA,EAAG;AAAA,IACzB,OAAA,EAAS,EAAE,OAAA,EAAS,EAAA,EAAG;AAAA,IACvB,YAAA,EAAc,EAAE,OAAA,EAAS,CAAA;AAAE;AAE/B;AAEO,SAAS,0BACd,UAAA,EACwC;AACxC,EAAA,IAAI,QAAA,GAA+D,MAAA;AAEnE,EAAA,MAAM,MAAA,GAAS,UAAA,CAAW,iBAAA,CAAkB,SAAS,CAAA;AACrD,EAAA,IAAI,MAAA,EAAQ;AACV,IAAA,MAAM,cAAA,GAAiB,MAAA,CAAO,iBAAA,CAAkB,UAAU,CAAA;AAC1D,IAAA,IAAI,cAAA,EAAgB;AAClB,MAAA,IAAI;AACF,QAAA,QAAA,GACEA,sEAAqD,cAAc,CAAA;AAAA,MACvE,SAAS,KAAA,EAAO;AACd,QAAA,MAAM,IAAIC,iBAAA,CAAW,CAAA,oBAAA,EAAuB,SAAS,CAAA,EAAA,EAAK,KAAK,CAAA,CAAE,CAAA;AAAA,MACnE;AAAA,IACF;AAAA,EACF;AAEA,EAAA,OAAO,YAAY,QAAA,CAAS,QAAA;AAC9B;;;;;"}
|
package/dist/module.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.cjs.js","sources":["../src/module.ts"],"sourcesContent":["import {\n coreServices,\n createBackendModule,\n} from '@backstage/backend-plugin-api';\nimport { searchIndexRegistryExtensionPoint } from '@backstage/plugin-search-backend-node/alpha';\nimport { readScheduleConfigOptions } from './collators/config';\nimport { DefaultQetaCollatorFactory } from './collators';\n\nexport const searchModuleQetaCollator = createBackendModule({\n pluginId: 'search',\n moduleId: 'qeta-collator',\n register(reg) {\n reg.registerInit({\n deps: {\n config: coreServices.rootConfig,\n logger: coreServices.logger,\n discovery: coreServices.discovery,\n auth: coreServices.auth,\n scheduler: coreServices.scheduler,\n indexRegistry: searchIndexRegistryExtensionPoint,\n },\n async init({\n config,\n logger,\n discovery,\n auth,\n scheduler,\n indexRegistry,\n }) {\n indexRegistry.addCollator({\n schedule: scheduler.createScheduledTaskRunner(\n readScheduleConfigOptions(config),\n ),\n factory: DefaultQetaCollatorFactory.fromConfig(config, {\n discovery,\n auth,\n logger,\n }),\n });\n },\n });\n },\n});\n"],"names":["createBackendModule","coreServices","searchIndexRegistryExtensionPoint","config","readScheduleConfigOptions","DefaultQetaCollatorFactory"],"mappings":";;;;;;;AAQO,MAAM,2BAA2BA,
|
|
1
|
+
{"version":3,"file":"module.cjs.js","sources":["../src/module.ts"],"sourcesContent":["import {\n coreServices,\n createBackendModule,\n} from '@backstage/backend-plugin-api';\nimport { searchIndexRegistryExtensionPoint } from '@backstage/plugin-search-backend-node/alpha';\nimport { readScheduleConfigOptions } from './collators/config';\nimport { DefaultQetaCollatorFactory } from './collators';\n\nexport const searchModuleQetaCollator = createBackendModule({\n pluginId: 'search',\n moduleId: 'qeta-collator',\n register(reg) {\n reg.registerInit({\n deps: {\n config: coreServices.rootConfig,\n logger: coreServices.logger,\n discovery: coreServices.discovery,\n auth: coreServices.auth,\n scheduler: coreServices.scheduler,\n indexRegistry: searchIndexRegistryExtensionPoint,\n },\n async init({\n config,\n logger,\n discovery,\n auth,\n scheduler,\n indexRegistry,\n }) {\n indexRegistry.addCollator({\n schedule: scheduler.createScheduledTaskRunner(\n readScheduleConfigOptions(config),\n ),\n factory: DefaultQetaCollatorFactory.fromConfig(config, {\n discovery,\n auth,\n logger,\n }),\n });\n },\n });\n },\n});\n"],"names":["createBackendModule","coreServices","searchIndexRegistryExtensionPoint","config","readScheduleConfigOptions","DefaultQetaCollatorFactory"],"mappings":";;;;;;;AAQO,MAAM,2BAA2BA,oCAAA,CAAoB;AAAA,EAC1D,QAAA,EAAU,QAAA;AAAA,EACV,QAAA,EAAU,eAAA;AAAA,EACV,SAAS,GAAA,EAAK;AACZ,IAAA,GAAA,CAAI,YAAA,CAAa;AAAA,MACf,IAAA,EAAM;AAAA,QACJ,QAAQC,6BAAA,CAAa,UAAA;AAAA,QACrB,QAAQA,6BAAA,CAAa,MAAA;AAAA,QACrB,WAAWA,6BAAA,CAAa,SAAA;AAAA,QACxB,MAAMA,6BAAA,CAAa,IAAA;AAAA,QACnB,WAAWA,6BAAA,CAAa,SAAA;AAAA,QACxB,aAAA,EAAeC;AAAA,OACjB;AAAA,MACA,MAAM,IAAA,CAAK;AAAA,gBACTC,QAAA;AAAA,QACA,MAAA;AAAA,QACA,SAAA;AAAA,QACA,IAAA;AAAA,QACA,SAAA;AAAA,QACA;AAAA,OACF,EAAG;AACD,QAAA,aAAA,CAAc,WAAA,CAAY;AAAA,UACxB,UAAU,SAAA,CAAU,yBAAA;AAAA,YAClBC,iCAA0BD,QAAM;AAAA,WAClC;AAAA,UACA,OAAA,EAASE,qDAAA,CAA2B,UAAA,CAAWF,QAAA,EAAQ;AAAA,YACrD,SAAA;AAAA,YACA,IAAA;AAAA,YACA;AAAA,WACD;AAAA,SACF,CAAA;AAAA,MACH;AAAA,KACD,CAAA;AAAA,EACH;AACF,CAAC;;;;"}
|
package/package.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"search",
|
|
8
8
|
"backstage.io"
|
|
9
9
|
],
|
|
10
|
-
"version": "3.59.
|
|
10
|
+
"version": "3.59.5",
|
|
11
11
|
"main": "dist/index.cjs.js",
|
|
12
12
|
"types": "dist/index.d.ts",
|
|
13
13
|
"prepublishOnly": "yarn tsc && yarn build",
|
|
@@ -44,16 +44,16 @@
|
|
|
44
44
|
"tsc": "tsc"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@backstage/backend-plugin-api": "^1.
|
|
48
|
-
"@backstage/config": "^1.3.
|
|
49
|
-
"@backstage/errors": "^1.
|
|
50
|
-
"@backstage/plugin-search-backend-node": "^1.4.
|
|
51
|
-
"@backstage/plugin-search-common": "^1.2.
|
|
52
|
-
"@drodil/backstage-plugin-qeta-common": "^3.59.
|
|
47
|
+
"@backstage/backend-plugin-api": "^1.9.0",
|
|
48
|
+
"@backstage/config": "^1.3.7",
|
|
49
|
+
"@backstage/errors": "^1.3.0",
|
|
50
|
+
"@backstage/plugin-search-backend-node": "^1.4.3",
|
|
51
|
+
"@backstage/plugin-search-common": "^1.2.23",
|
|
52
|
+
"@drodil/backstage-plugin-qeta-common": "^3.59.5"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
|
-
"@backstage/backend-test-utils": "^1.11.
|
|
56
|
-
"@backstage/cli": "^0.
|
|
55
|
+
"@backstage/backend-test-utils": "^1.11.2",
|
|
56
|
+
"@backstage/cli": "^0.36.1",
|
|
57
57
|
"msw": "^1.2.1"
|
|
58
58
|
},
|
|
59
59
|
"files": [
|