fix build errors and add index concurrency env var

This commit is contained in:
msukkari 2025-02-15 16:58:05 -08:00
parent 54d14ea98e
commit e17331a672
3 changed files with 19 additions and 15 deletions

View file

@ -33,4 +33,6 @@ export const POSTHOG_HOST = getEnv(process.env.POSTHOG_HOST);
export const FALLBACK_GITHUB_TOKEN = getEnv(process.env.FALLBACK_GITHUB_TOKEN); export const FALLBACK_GITHUB_TOKEN = getEnv(process.env.FALLBACK_GITHUB_TOKEN);
export const FALLBACK_GITLAB_TOKEN = getEnv(process.env.FALLBACK_GITLAB_TOKEN); export const FALLBACK_GITLAB_TOKEN = getEnv(process.env.FALLBACK_GITLAB_TOKEN);
export const FALLBACK_GITEA_TOKEN = getEnv(process.env.FALLBACK_GITEA_TOKEN); export const FALLBACK_GITEA_TOKEN = getEnv(process.env.FALLBACK_GITEA_TOKEN);
export const INDEX_CONCURRENCY_MULTIPLE = getEnv(process.env.INDEX_CONCURRENCY_MULTIPLE);

View file

@ -5,6 +5,7 @@ import { DEFAULT_SETTINGS } from './constants.js';
import { Redis } from 'ioredis'; import { Redis } from 'ioredis';
import { ConnectionManager } from './connectionManager.js'; import { ConnectionManager } from './connectionManager.js';
import { RepoManager } from './repoManager.js'; import { RepoManager } from './repoManager.js';
import { INDEX_CONCURRENCY_MULTIPLE } from './environment.js';
const logger = createLogger('main'); const logger = createLogger('main');
@ -22,9 +23,14 @@ export const main = async (db: PrismaClient, context: AppContext) => {
process.exit(1); process.exit(1);
}); });
const connectionManager = new ConnectionManager(db, DEFAULT_SETTINGS, redis); const settings = DEFAULT_SETTINGS;
if (INDEX_CONCURRENCY_MULTIPLE) {
settings.indexConcurrencyMultiple = parseInt(INDEX_CONCURRENCY_MULTIPLE);
}
const connectionManager = new ConnectionManager(db, settings, redis);
connectionManager.registerPollingCallback(); connectionManager.registerPollingCallback();
const repoManager = new RepoManager(db, DEFAULT_SETTINGS, redis, context); const repoManager = new RepoManager(db, settings, redis, context);
await repoManager.blockingPollLoop(); await repoManager.blockingPollLoop();
} }

View file

@ -502,14 +502,6 @@ export const makeOwner = async (newOwnerId: string, domain: string): Promise<{ s
withAuth((session) => withAuth((session) =>
withOwner(session, domain, async (orgId) => { withOwner(session, domain, async (orgId) => {
const currentUserId = session.user.id; const currentUserId = session.user.id;
const currentUserRole = await prisma.userToOrg.findUnique({
where: {
orgId_userId: {
userId: currentUserId,
orgId,
},
},
});
if (newOwnerId === currentUserId) { if (newOwnerId === currentUserId) {
return { return {
@ -602,30 +594,34 @@ const parseConnectionConfig = (connectionType: string, config: string) => {
const { numRepos, hasToken } = (() => { const { numRepos, hasToken } = (() => {
switch (connectionType) { switch (connectionType) {
case "github": case "github": {
const githubConfig = parsedConfig as GithubConnectionConfig; const githubConfig = parsedConfig as GithubConnectionConfig;
return { return {
numRepos: githubConfig.repos?.length, numRepos: githubConfig.repos?.length,
hasToken: !!githubConfig.token, hasToken: !!githubConfig.token,
} }
case "gitlab": }
case "gitlab": {
const gitlabConfig = parsedConfig as GitlabConnectionConfig; const gitlabConfig = parsedConfig as GitlabConnectionConfig;
return { return {
numRepos: gitlabConfig.projects?.length, numRepos: gitlabConfig.projects?.length,
hasToken: !!gitlabConfig.token, hasToken: !!gitlabConfig.token,
} }
case "gitea": }
case "gitea": {
const giteaConfig = parsedConfig as GiteaConnectionConfig; const giteaConfig = parsedConfig as GiteaConnectionConfig;
return { return {
numRepos: giteaConfig.repos?.length, numRepos: giteaConfig.repos?.length,
hasToken: !!giteaConfig.token, hasToken: !!giteaConfig.token,
} }
case "gerrit": }
case "gerrit": {
const gerritConfig = parsedConfig as GerritConnectionConfig; const gerritConfig = parsedConfig as GerritConnectionConfig;
return { return {
numRepos: gerritConfig.projects?.length, numRepos: gerritConfig.projects?.length,
hasToken: true, // gerrit doesn't use a token atm hasToken: true, // gerrit doesn't use a token atm
} }
}
default: default:
return { return {
numRepos: undefined, numRepos: undefined,