-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
7 changed files
with
263 additions
and
8 deletions.
There are no files selected for viewing
50 changes: 50 additions & 0 deletions
50
components/aitable_ai/actions/create-datasheet/create-datasheet.mjs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
import app from "../../aitable_ai.app.mjs"; | ||
|
||
export default { | ||
key: "aitable_ai-create-datasheet", | ||
name: "Create Datasheet", | ||
description: "Create a datasheet in the specified space. [See the documentation](https://developers.aitable.ai/api/reference#tag/Datasheet/operation/create-datasheets)", | ||
version: "0.0.1", | ||
type: "action", | ||
props: { | ||
app, | ||
spaceId: { | ||
propDefinition: [ | ||
app, | ||
"spaceId", | ||
], | ||
}, | ||
name: { | ||
propDefinition: [ | ||
app, | ||
"name", | ||
], | ||
}, | ||
description: { | ||
propDefinition: [ | ||
app, | ||
"description", | ||
], | ||
}, | ||
folderId: { | ||
propDefinition: [ | ||
app, | ||
"folderId", | ||
], | ||
}, | ||
}, | ||
|
||
async run({ $ }) { | ||
const response = await this.app.createDatasheet({ | ||
$, | ||
spaceId: this.spaceId, | ||
data: { | ||
name: this.name, | ||
description: this.description, | ||
folderId: this.folderId, | ||
}, | ||
}); | ||
$.export("$summary", `Successfully created Datasheet with ID '${response.data.id}'`); | ||
return response; | ||
}, | ||
}; |
44 changes: 44 additions & 0 deletions
44
components/aitable_ai/actions/create-field/create-field.mjs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
import app from "../../aitable_ai.app.mjs"; | ||
|
||
export default { | ||
key: "aitable_ai-create-field", | ||
name: "Create Field", | ||
description: "Create a new field in the specified datasheet. [See the documentation](https://developers.aitable.ai/api/reference#tag/Field/operation/create-fields)", | ||
version: "0.0.1", | ||
type: "action", | ||
props: { | ||
app, | ||
spaceId: { | ||
propDefinition: [ | ||
app, | ||
"spaceId", | ||
], | ||
}, | ||
type: { | ||
propDefinition: [ | ||
app, | ||
"type", | ||
], | ||
}, | ||
name: { | ||
propDefinition: [ | ||
app, | ||
"name", | ||
], | ||
description: "Name of the Field", | ||
}, | ||
}, | ||
|
||
async run({ $ }) { | ||
const response = await this.app.createField({ | ||
$, | ||
spaceId: this.spaceId, | ||
data: { | ||
type: this.type, | ||
name: this.name, | ||
}, | ||
}); | ||
$.export("$summary", `Successfully sent request to create field. Result: '${response.message}'`); | ||
return response; | ||
}, | ||
}; |
34 changes: 34 additions & 0 deletions
34
components/aitable_ai/actions/delete-field/delete-field.mjs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
import app from "../../aitable_ai.app.mjs"; | ||
|
||
export default { | ||
key: "aitable_ai-delete-field", | ||
name: "Delete Field", | ||
description: "Delete a field in the specified datasheet. [See the documentation](https://developers.aitable.ai/api/reference/#tag/Field/operation/delete-fields)", | ||
version: "0.0.1", | ||
type: "action", | ||
props: { | ||
app, | ||
spaceId: { | ||
propDefinition: [ | ||
app, | ||
"spaceId", | ||
], | ||
}, | ||
fieldId: { | ||
propDefinition: [ | ||
app, | ||
"fieldId", | ||
], | ||
}, | ||
}, | ||
|
||
async run({ $ }) { | ||
const response = await this.app.deleteField({ | ||
$, | ||
spaceId: this.spaceId, | ||
fieldId: this.fieldId, | ||
}); | ||
$.export("$summary", `Successfully deleted the field with ID '${this.fieldId}'`); | ||
return response; | ||
}, | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,121 @@ | ||
import { axios } from "@pipedream/platform"; | ||
import constants from "./common/constants.mjs"; | ||
|
||
export default { | ||
type: "app", | ||
app: "aitable_ai", | ||
propDefinitions: {}, | ||
propDefinitions: { | ||
spaceId: { | ||
type: "string", | ||
label: "Space ID", | ||
description: "ID of the Space", | ||
async options() { | ||
const response = await this.getSpaces({}); | ||
const spaceIds = response.data.spaces; | ||
return spaceIds.map(({ | ||
id, name, | ||
}) => ({ | ||
value: id, | ||
label: name, | ||
})); | ||
}, | ||
}, | ||
fieldId: { | ||
type: "string", | ||
label: "Field ID", | ||
description: "ID of the Field", | ||
async options() { | ||
const response = await this.getFields({}); | ||
const fieldIds = response.data.fields; | ||
return fieldIds.map(({ | ||
id, name, | ||
}) => ({ | ||
value: id, | ||
label: name, | ||
})); | ||
}, | ||
}, | ||
name: { | ||
type: "string", | ||
label: "Name", | ||
description: "Name of the Datasheet", | ||
}, | ||
description: { | ||
type: "string", | ||
label: "Description", | ||
description: "Description of the Datasheet", | ||
}, | ||
folderId: { | ||
type: "string", | ||
label: "Folder ID", | ||
description: "The Folder ID is located in the `URL` when the folder is selected on the `Workbench page`, i.e.: if the URL is `https://aitable.ai/workbench/123456`, the `Folder ID` is 123456", | ||
optional: true, | ||
}, | ||
type: { | ||
type: "string", | ||
label: "Type", | ||
description: "Type of the Field", | ||
options: constants.FIELD_TYPES, | ||
}, | ||
}, | ||
methods: { | ||
// this.$auth contains connected account data | ||
authKeys() { | ||
console.log(Object.keys(this.$auth)); | ||
_baseUrl() { | ||
return "https://aitable.ai/fusion/v1"; | ||
}, | ||
async _makeRequest(opts = {}) { | ||
const { | ||
$ = this, | ||
path, | ||
headers, | ||
...otherOpts | ||
} = opts; | ||
return axios($, { | ||
...otherOpts, | ||
url: this._baseUrl() + path, | ||
headers: { | ||
...headers, | ||
Authorization: `Bearer ${this.$auth.api_token}`, | ||
}, | ||
}); | ||
}, | ||
async createDatasheet({ | ||
spaceId, ...args | ||
}) { | ||
return this._makeRequest({ | ||
path: `/spaces/${spaceId}/datasheets`, | ||
method: "post", | ||
...args, | ||
}); | ||
}, | ||
async createField({ | ||
spaceId, ...args | ||
}) { | ||
return this._makeRequest({ | ||
path: `/spaces/${spaceId}/datasheets/${this.$auth.datasheet_id}/fields`, | ||
method: "post", | ||
...args, | ||
}); | ||
}, | ||
async deleteField({ | ||
spaceId, fieldId, ...args | ||
}) { | ||
return this._makeRequest({ | ||
path: `/spaces/${spaceId}/datasheets/${this.$auth.datasheet_id}/fields/${fieldId}`, | ||
method: "delete", | ||
...args, | ||
}); | ||
}, | ||
async getSpaces(args = {}) { | ||
return this._makeRequest({ | ||
path: "/spaces", | ||
...args, | ||
}); | ||
}, | ||
async getFields(args = {}) { | ||
return this._makeRequest({ | ||
path: `/datasheets/${this.$auth.datasheet_id}/fields`, | ||
...args, | ||
}); | ||
}, | ||
}, | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
export default { | ||
FIELD_TYPES: [ | ||
"Text", | ||
"URL", | ||
"Phone", | ||
"Email", | ||
"WorkDoc", | ||
"AutoNumber", | ||
"CreatedBy", | ||
], | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
{ | ||
"name": "@pipedream/aitable_ai", | ||
"version": "0.0.1", | ||
"version": "0.1.0", | ||
"description": "Pipedream AITable.ai Components", | ||
"main": "aitable_ai.app.mjs", | ||
"keywords": [ | ||
|
@@ -11,5 +11,8 @@ | |
"author": "Pipedream <[email protected]> (https://pipedream.com/)", | ||
"publishConfig": { | ||
"access": "public" | ||
}, | ||
"dependencies": { | ||
"@pipedream/platform": "^3.0.3" | ||
} | ||
} | ||
} |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.