diff --git a/tdrive/backend/node/src/cli/cmds/search_cmds/index_all.ts b/tdrive/backend/node/src/cli/cmds/search_cmds/index_all.ts index 3f0e66ab..efc2b774 100644 --- a/tdrive/backend/node/src/cli/cmds/search_cmds/index_all.ts +++ b/tdrive/backend/node/src/cli/cmds/search_cmds/index_all.ts @@ -22,11 +22,12 @@ type Options = { }; const waitTimeoutMS = (ms: number) => ms > 0 && new Promise(r => setTimeout(r, ms)); +const defaultPageSize = "100"; async function iterateOverRepoPages( repository: Repository, forEachPage: (entities: Entity[]) => Promise, - pageSizeAsStringForReasons: string = "100", + pageSizeAsStringForReasons: string = defaultPageSize, filter: FindFilter = {}, delayPerPageMS: number = 200, ) { @@ -79,24 +80,16 @@ class SearchIndexAll { CompanyUser, ); let count = 0; - await iterateOverRepoPages( - repository, - async entities => { - for (const user of entities) { - const companies = await companiesUsersRepository.find( - { user_id: user.id }, - {}, - undefined, - ); - user.cache ||= { companies: [] }; - user.cache.companies = companies.getEntities().map(company => company.group_id); - await repository.save(user, undefined); - } - count += entities.length; - options.spinner.start(`Adding companies to cache of ${count} users...`); - }, - "2", - ); + await iterateOverRepoPages(repository, async entities => { + for (const user of entities) { + const companies = await companiesUsersRepository.find({ user_id: user.id }, {}, undefined); + user.cache ||= { companies: [] }; + user.cache.companies = companies.getEntities().map(company => company.group_id); + await repository.save(user, undefined); + } + count += entities.length; + options.spinner.start(`Adding companies to cache of ${count} users...`); + }); options.spinner.succeed(`Added companies to cache of ${count} users`); }