Skip to content
Open
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import { adjustPropDefinitions } from "../../common/utils.mjs";
import component from "../../../launchdarkly/actions/evaluate-feature-flag/evaluate-feature-flag.mjs";
import app from "../../launch_darkly_oauth.app.mjs";

const {
name, description, type, ...others
} = component;
const props = adjustPropDefinitions(others.props, app);

export default {
...component,
key: "launch_darkly_oauth-evaluate-feature-flag",
version: "0.0.1",
name,
description,
type,
props: {
app,
...props,
},
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import { adjustPropDefinitions } from "../../common/utils.mjs";
import component from "../../../launchdarkly/actions/toggle-feature-flag/toggle-feature-flag.mjs";
import app from "../../launch_darkly_oauth.app.mjs";

const {
name, description, type, ...others
} = component;
const props = adjustPropDefinitions(others.props, app);

export default {
...component,
key: "launch_darkly_oauth-toggle-feature-flag",
version: "0.0.1",
name,
description,
type,
props: {
app,
...props,
},
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import { adjustPropDefinitions } from "../../common/utils.mjs";
import component from "../../../launchdarkly/actions/update-feature-flag/update-feature-flag.mjs";
import app from "../../launch_darkly_oauth.app.mjs";

const {
name, description, type, ...others
} = component;
const props = adjustPropDefinitions(others.props, app);

export default {
...component,
key: "launch_darkly_oauth-update-feature-flag",
version: "0.0.1",
name,
description,
type,
props: {
app,
...props,
},
};
40 changes: 40 additions & 0 deletions components/launch_darkly_oauth/common/utils.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
export function adjustPropDefinitions(props, app) {
return Object.fromEntries(
Object.entries(props).map(([
key,
prop,
]) => {
if (typeof prop === "string") return [
key,
prop,
];
const {
propDefinition, ...otherValues
} = prop;
if (propDefinition) {
const [
, ...otherDefs
] = propDefinition;
return [
key,
{
propDefinition: [
app,
...otherDefs,
],
...otherValues,
},
];
}
return [
key,
otherValues.type === "app"
? null
: otherValues,
];
})
.filter(([
, value,
]) => value),
);
}
15 changes: 10 additions & 5 deletions components/launch_darkly_oauth/launch_darkly_oauth.app.mjs
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
import launchdarkly from "../launchdarkly/launchdarkly.app.mjs";

export default {
type: "app",
...launchdarkly,
app: "launch_darkly_oauth",
propDefinitions: {},
methods: {
// this.$auth contains connected account data
authKeys() {
console.log(Object.keys(this.$auth));
...launchdarkly.methods,
getHeaders(headers) {
return {
"Content-Type": "application/json",
...headers,
"Authorization": `Bearer ${this.$auth.oauth_access_token}`,
};
},
},
};
18 changes: 18 additions & 0 deletions components/launch_darkly_oauth/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"name": "@pipedream/launch_darkly_oauth",
"version": "0.0.1",
"description": "Pipedream LaunchDarkly (OAuth) Components",
"main": "launch_darkly_oauth.app.mjs",
"keywords": [
"pipedream",
"launch_darkly_oauth"
],
"homepage": "https://pipedream.com/apps/launch_darkly_oauth",
"author": "Pipedream <[email protected]> (https://pipedream.com/)",
"publishConfig": {
"access": "public"
},
"dependencies": {
"@pipedream/platform": "^3.0.3"
}
}
14 changes: 14 additions & 0 deletions components/launch_darkly_oauth/sources/common/webhook.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import app from "../../launch_darkly_oauth.app.mjs";
import common from "../../../launchdarkly/sources/common/webhook.mjs";

export default {
...common,
props: {
app,
db: "$.service.db",
http: {
type: "$.interface.http",
customResponse: true,
},
},
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import common from "../common/webhook.mjs";
import component from "../../../launchdarkly/sources/new-access-token-event/new-access-token-event.mjs";

const {
name, description, type,
} = component;

export default {
...component,
key: "launch_darkly_oauth-new-access-token-event",
version: "0.0.1",
name,
description,
type,
props: {
...common.props,
memberId: {
propDefinition: [
common.props.app,
"memberId",
],
},
},
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import common from "../common/webhook.mjs";
import component from "../../../launchdarkly/sources/new-flag-event/new-flag-event.mjs";

const {
name, description, type,
} = component;

export default {
...component,
key: "launch_darkly_oauth-new-flag-event",
version: "0.0.1",
name,
description,
type,
props: common.props,
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import common from "../common/webhook.mjs";
import component from "../../../launchdarkly/sources/new-user-event/new-user-event.mjs";

const {
name, description, type,
} = component;

export default {
...component,
key: "launch_darkly_oauth-new-user-event",
version: "0.0.1",
name,
description,
type,
props: common.props,
};
6 changes: 6 additions & 0 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading