diff --git a/apps/app-config/connectors/connectors.def.ts b/apps/app-config/connectors/connectors.def.ts index cce03ae05..b22da0e81 100644 --- a/apps/app-config/connectors/connectors.def.ts +++ b/apps/app-config/connectors/connectors.def.ts @@ -10,6 +10,7 @@ import {default as connectorFirebase} from '@openint/connector-firebase/def' import {default as connectorForeceipt} from '@openint/connector-foreceipt/def' import {default as connectorFs} from '@openint/connector-fs/def' import {default as connectorGoogle} from '@openint/connector-google/def' +import {default as connectorGreenhouse} from '@openint/connector-greenhouse/def' import {default as connectorHeron} from '@openint/connector-heron/def' import {default as connectorHubspot} from '@openint/connector-hubspot/def' import {default as connectorLunchmoney} from '@openint/connector-lunchmoney/def' @@ -52,6 +53,7 @@ export const defConnectors = { foreceipt: connectorForeceipt, fs: connectorFs, google: connectorGoogle, + greenhouse: connectorGreenhouse, heron: connectorHeron, hubspot: connectorHubspot, lunchmoney: connectorLunchmoney, diff --git a/apps/app-config/connectors/connectors.merged.ts b/apps/app-config/connectors/connectors.merged.ts index cf24065b0..18cfc2a9f 100644 --- a/apps/app-config/connectors/connectors.merged.ts +++ b/apps/app-config/connectors/connectors.merged.ts @@ -21,6 +21,8 @@ import {default as connectorFs_def} from '@openint/connector-fs/def' import {default as connectorFs_server} from '@openint/connector-fs/server' import {default as connectorGoogle_def} from '@openint/connector-google/def' import {default as connectorGoogle_server} from '@openint/connector-google/server' +import {default as connectorGreenhouse_def} from '@openint/connector-greenhouse/def' +import {default as connectorGreenhouse_server} from '@openint/connector-greenhouse/server' import {default as connectorHeron_def} from '@openint/connector-heron/def' import {default as connectorHeron_server} from '@openint/connector-heron/server' import {default as connectorHubspot_def} from '@openint/connector-hubspot/def' @@ -133,6 +135,11 @@ const connectorGoogle = { ...connectorGoogle_server, } +const connectorGreenhouse = { + ...connectorGreenhouse_def, + ...connectorGreenhouse_server, +} + const connectorHeron = { ...connectorHeron_def, ...connectorHeron_server, @@ -288,6 +295,7 @@ export const mergedConnectors = { foreceipt: connectorForeceipt, fs: connectorFs, google: connectorGoogle, + greenhouse: connectorGreenhouse, heron: connectorHeron, hubspot: connectorHubspot, lunchmoney: connectorLunchmoney, diff --git a/apps/app-config/connectors/connectors.server.ts b/apps/app-config/connectors/connectors.server.ts index 3c286395b..5e50cfa25 100644 --- a/apps/app-config/connectors/connectors.server.ts +++ b/apps/app-config/connectors/connectors.server.ts @@ -10,6 +10,7 @@ import {default as connectorFirebase} from '@openint/connector-firebase/server' import {default as connectorForeceipt} from '@openint/connector-foreceipt/server' import {default as connectorFs} from '@openint/connector-fs/server' import {default as connectorGoogle} from '@openint/connector-google/server' +import {default as connectorGreenhouse} from '@openint/connector-greenhouse/server' import {default as connectorHeron} from '@openint/connector-heron/server' import {default as connectorHubspot} from '@openint/connector-hubspot/server' import {default as connectorLunchmoney} from '@openint/connector-lunchmoney/server' @@ -50,6 +51,7 @@ export const serverConnectors = { foreceipt: connectorForeceipt, fs: connectorFs, google: connectorGoogle, + greenhouse: connectorGreenhouse, heron: connectorHeron, hubspot: connectorHubspot, lunchmoney: connectorLunchmoney, diff --git a/apps/app-config/connectors/meta.js b/apps/app-config/connectors/meta.js index e2d3955db..f467c6ab3 100644 --- a/apps/app-config/connectors/meta.js +++ b/apps/app-config/connectors/meta.js @@ -108,6 +108,15 @@ module.exports = [ server: '@openint/connector-google/server', }, }, + { + name: 'greenhouse', + dirName: 'connector-greenhouse', + varName: 'connectorGreenhouse', + imports: { + def: '@openint/connector-greenhouse/def', + server: '@openint/connector-greenhouse/server', + }, + }, { name: 'heron', dirName: 'connector-heron', diff --git a/apps/app-config/package.json b/apps/app-config/package.json index 551e55628..cea0b4eac 100644 --- a/apps/app-config/package.json +++ b/apps/app-config/package.json @@ -25,6 +25,7 @@ "@openint/connector-foreceipt": "workspace:*", "@openint/connector-fs": "workspace:*", "@openint/connector-google": "workspace:*", + "@openint/connector-greenhouse": "workspace:*", "@openint/connector-heron": "workspace:*", "@openint/connector-hubspot": "workspace:*", "@openint/connector-lunchmoney": "workspace:*", diff --git a/apps/web/public/_assets/logo-greenhouse.png b/apps/web/public/_assets/logo-greenhouse.png new file mode 100644 index 000000000..65aa60b5c Binary files /dev/null and b/apps/web/public/_assets/logo-greenhouse.png differ diff --git a/connectors/connector-greenhouse/def.ts b/connectors/connector-greenhouse/def.ts new file mode 100644 index 000000000..cf981dc92 --- /dev/null +++ b/connectors/connector-greenhouse/def.ts @@ -0,0 +1,24 @@ +import type {ConnectorDef, ConnectorSchemas} from '@openint/cdk' +import {connHelpers} from '@openint/cdk' +import {z} from '@openint/util' + +export const greenhouseSchema = { + name: z.literal('greenhouse'), + connectorConfig: z.object({apiKey: z.string()}), +} satisfies ConnectorSchemas + +export const greenhouseHelpers = connHelpers(greenhouseSchema) + +export const greenhouseDef = { + name: 'greenhouse', + schemas: greenhouseSchema, + metadata: { + displayName: 'greenhouse', + stage: 'beta', + categories: ['ats'], + logoUrl: '/_assets/logo-greenhouse.png', + nangoProvider: 'greenhouse', + }, +} satisfies ConnectorDef + +export default greenhouseDef diff --git a/connectors/connector-greenhouse/index.ts b/connectors/connector-greenhouse/index.ts new file mode 100644 index 000000000..de937669a --- /dev/null +++ b/connectors/connector-greenhouse/index.ts @@ -0,0 +1,5 @@ +// codegen:start {preset: barrel, include: "./{*.{ts,tsx},*/index.{ts,tsx}}", exclude: "./**/*.{d,spec,test,fixture,gen,node}.{ts,tsx}"} +export * from './def' +export * from './server' +// codegen:end +// export * from '@opensdks/sdk-hubspot' diff --git a/connectors/connector-greenhouse/package.json b/connectors/connector-greenhouse/package.json new file mode 100644 index 000000000..65caa7333 --- /dev/null +++ b/connectors/connector-greenhouse/package.json @@ -0,0 +1,13 @@ +{ + "name": "@openint/connector-greenhouse", + "version": "0.0.1", + "private": true, + "module": "./index.ts", + "dependencies": { + "@openint/cdk": "workspace:*", + "@openint/util": "workspace:*", + "@opensdks/runtime": "^0.0.16", + "@opensdks/sdk-greenhouse": "^0.0.1" + }, + "devDependencies": {} +} diff --git a/connectors/connector-greenhouse/server.ts b/connectors/connector-greenhouse/server.ts new file mode 100644 index 000000000..12120446d --- /dev/null +++ b/connectors/connector-greenhouse/server.ts @@ -0,0 +1,8 @@ +import type {ConnectorServer} from '@openint/cdk' +import type {greenhouseSchema} from './def' + +export const greenhouseServer = {} satisfies ConnectorServer< + typeof greenhouseSchema +> + +export default greenhouseServer diff --git a/package.json b/package.json index d75e0f679..26cb71c51 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,7 @@ "scripts": { "web": "pnpm run --filter web dev", "generate:docs": "pnpm run --filter app-config dev", + "generate:connectorsList": "npx tsx apps/app-config/_generateConnectorLists.ts", "docs": "cd docs && mintlify dev", "lint": "eslint --ext .js,.ts,.tsx --cache .", "mitm": "mitmweb --listen-port 3010 --web-port 3011 --mode reverse:http://localhost:3000", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 731ee7ca9..3c0031b7d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -216,6 +216,9 @@ importers: '@openint/connector-google': specifier: workspace:* version: link:../../connectors/connector-google + '@openint/connector-greenhouse': + specifier: workspace:* + version: link:../../connectors/connector-greenhouse '@openint/connector-heron': specifier: workspace:* version: link:../../connectors/connector-heron @@ -886,6 +889,21 @@ importers: specifier: ^0.0.16 version: 0.0.16 + connectors/connector-greenhouse: + dependencies: + '@openint/cdk': + specifier: workspace:* + version: link:../../kits/cdk + '@openint/util': + specifier: workspace:* + version: link:../../packages/util + '@opensdks/runtime': + specifier: ^0.0.16 + version: 0.0.16 + '@opensdks/sdk-greenhouse': + specifier: ^0.0.1 + version: 0.0.1 + connectors/connector-heron: dependencies: '@openint/cdk': @@ -5200,6 +5218,12 @@ packages: resolution: {integrity: sha512-fbKPSitxFIcCnb3v2kczLAeMuNTOqzT7IEY3O+vRtpRrFVwBjzs8m1ritQyX5nH4uWJiwfNOEPtz+iuTTzYlOw==} dev: false + /@opensdks/sdk-greenhouse@0.0.1: + resolution: {integrity: sha512-4z0DM4/tuStPOE1tkbQCZlaEzBnthfJFk1CVQYfjB1BUPjxRIUl40qpRcPkjVv64e9d0SKfPjp7k7Bm8rbDrig==} + dependencies: + '@opensdks/runtime': 0.0.19 + dev: false + /@opensdks/sdk-hubspot@0.0.6: resolution: {integrity: sha512-UivI44M/g4XwoQvDq57b9PVdlGeiCYS+6zcFJq5HhEJLzYejg21oSJ+R3LC49TINfde88fZvV+wx/ism62C65A==} dev: false