diff --git a/components/genderize/actions/get-gender-from-name/get-gender-from-name.mjs b/components/genderize/actions/get-gender-from-name/get-gender-from-name.mjs new file mode 100644 index 0000000000000..ceca045a07c19 --- /dev/null +++ b/components/genderize/actions/get-gender-from-name/get-gender-from-name.mjs @@ -0,0 +1,28 @@ +import app from "../../genderize.app.mjs"; + +export default { + key: "genderize-get-gender-from-name", + name: "Get Gender From Name", + description: "Check the statistical probability of a name being male or female. [See the documentation](https://genderize.io/documentation#basic-usage)", + version: "0.0.1", + type: "action", + props: { + app, + name: { + propDefinition: [ + app, + "name", + ], + }, + }, + async run({ $ }) { + const response = await this.app.getGenderFromName({ + $, + params: { + name: this.name, + }, + }); + $.export("$summary", `Successfully sent the request. Result: ${response.gender}`); + return response; + }, +}; diff --git a/components/genderize/genderize.app.mjs b/components/genderize/genderize.app.mjs index 4ae21563beea2..201aa16c2efdb 100644 --- a/components/genderize/genderize.app.mjs +++ b/components/genderize/genderize.app.mjs @@ -1,11 +1,38 @@ +import { axios } from "@pipedream/platform"; + export default { type: "app", app: "genderize", - propDefinitions: {}, + propDefinitions: { + name: { + type: "string", + label: "Name", + description: "Name that will be checked", + }, + }, methods: { - // this.$auth contains connected account data - authKeys() { - console.log(Object.keys(this.$auth)); + _baseUrl() { + return "https://api.genderize.io"; + }, + async _makeRequest(opts = {}) { + const { + $ = this, + params, + ...otherOpts + } = opts; + return axios($, { + ...otherOpts, + url: this._baseUrl(), + params: { + api_key: `${this.$auth.api_key}`, + ...params, + }, + }); + }, + async getGenderFromName(args = {}) { + return this._makeRequest({ + ...args, + }); }, }, }; diff --git a/components/genderize/package.json b/components/genderize/package.json index f860e7b27ff0e..4256bc0ec9b0e 100644 --- a/components/genderize/package.json +++ b/components/genderize/package.json @@ -1,6 +1,6 @@ { "name": "@pipedream/genderize", - "version": "0.0.1", + "version": "0.1.0", "description": "Pipedream Genderize Components", "main": "genderize.app.mjs", "keywords": [ @@ -11,5 +11,8 @@ "author": "Pipedream (https://pipedream.com/)", "publishConfig": { "access": "public" + }, + "dependencies": { + "@pipedream/platform": "^3.0.3" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 81c3936811067..2e48ab4f80149 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4929,7 +4929,11 @@ importers: specifier: ^3.0.0 version: 3.0.3 - components/genderize: {} + components/genderize: + dependencies: + '@pipedream/platform': + specifier: ^3.0.3 + version: 3.0.3 components/generated_photos: dependencies: