0
Fork 0
mirror of https://github.com/logto-io/logto.git synced 2025-01-27 21:39:16 -05:00

fix: initConnector use hasConnector (#195)

This commit is contained in:
Wang Sijie 2022-01-25 11:32:05 +08:00 committed by GitHub
parent 070506f934
commit 7d182e2b46
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 4 deletions

View file

@ -1,10 +1,11 @@
import RequestError from '@/errors/RequestError';
import { findConnectorById, insertConnector } from '@/queries/connector';
import { findConnectorById, hasConnector, insertConnector } from '@/queries/connector';
import * as AliyunDM from './aliyun-dm';
import * as GitHub from './github';
import { ConnectorInstance } from './types';
const allConnectors: ConnectorInstance[] = [AliyunDM];
const allConnectors: ConnectorInstance[] = [AliyunDM, GitHub];
export const getConnectorInstances = async (): Promise<ConnectorInstance[]> => {
return Promise.all(
@ -32,8 +33,7 @@ export const getConnectorInstanceById = async (id: string): Promise<ConnectorIns
export const initConnectors = async () => {
await Promise.all(
allConnectors.map(async ({ metadata: { id } }) => {
const record = await findConnectorById(id);
if (record) {
if (await hasConnector(id)) {
return;
}

View file

@ -21,6 +21,13 @@ export const findConnectorById = async (id: string) =>
where ${fields.id}=${id}
`);
export const hasConnector = async (id: string) =>
pool.exists(sql`
select ${sql.join(Object.values(fields), sql`, `)}
from ${table}
where ${fields.id}=${id}
`);
export const insertConnector = buildInsertInto<CreateConnector, Connector>(pool, Connectors, {
returning: true,
});