{"id":13780223,"url":"https://github.com/jonascript/feathers-airtable","last_synced_at":"2025-05-11T13:31:41.156Z","repository":{"id":42809295,"uuid":"258642389","full_name":"jonascript/feathers-airtable","owner":"jonascript","description":"A Feathers Common API service for Airtable","archived":false,"fork":false,"pushed_at":"2022-12-30T20:34:11.000Z","size":6562,"stargazers_count":7,"open_issues_count":13,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-29T01:22:07.732Z","etag":null,"topics":["feathers-service","feathers-service-adapter","feathersjs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jonascript.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/contributing.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-04-24T22:58:53.000Z","updated_at":"2022-02-21T17:22:13.000Z","dependencies_parsed_at":"2023-01-31T16:01:37.579Z","dependency_job_id":null,"html_url":"https://github.com/jonascript/feathers-airtable","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonascript%2Ffeathers-airtable","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonascript%2Ffeathers-airtable/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonascript%2Ffeathers-airtable/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonascript%2Ffeathers-airtable/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jonascript","download_url":"https://codeload.github.com/jonascript/feathers-airtable/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224703869,"owners_count":17355710,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["feathers-service","feathers-service-adapter","feathersjs"],"created_at":"2024-08-03T18:01:13.477Z","updated_at":"2024-11-17T15:31:00.669Z","avatar_url":"https://github.com/jonascript.png","language":"JavaScript","funding_links":[],"categories":["Plugins"],"sub_categories":["Database"],"readme":"# feathers-airtable\nThis module wraps airtable in feathers common API to make it callable by frameworks such as React Admin. \n\n**This is currently Alpha**.\n\n## To Do\n- Multi option\n- Allow Airtable specific whitelist calls\n\n![Demo of feathers airtable](./feathers-airtable-demo.gif)\n\n```bash\n$ npm install --save feathers-airtable\n```\n\n\u003e __Important:__ `feathers-airtable` implements the [Feathers Common database adapter API](https://docs.feathersjs.com/api/databases/common.html) and [querying syntax](https://docs.feathersjs.com/api/databases/querying.html).\n\n\n## API\n\n### `service(options)`\n\nReturns a new service instance initialized with the given options.\n\n```js\nconst service = require('feathers-airtable');\n\napp.use('/my-table', service({\n  apiKey: '123123213'\n  baseId: '123123'\n  tableName: 'Table 1'\n}));\napp.use('/my-table', service({ apiKey, baseId, tableName }));\n```\n\n__Options:__\n- `apiKey` (**required**) - Airtable API Key \n- `tableName` (**required**) - Name of your table\n- `baseId` (**required**) - `(e.g. appAbba123456)`\n\n## Example\n\nSee the [clients](https://docs.feathersjs.com/api/client.html) chapter for more information about using Feathers in the browser and React Native.\n\n\n## Server\n\n```js\nimport feathers from '@feathersjs/feathers';\nimport airtable from 'feathers-airtable';\n\nconst app = feathers()\n  .use('/my-table', airtable({\n    apiKey: '123123213'\n    baseId: '123123'\n    tableName: 'Table 1' \n  }));\n\nconst myTable = app.service('my-table');\n\nmyTable.create({\n  text: 'Message from React Native'\n});\n```\n\n### Browser\nI would strongly recommend not using this in the browser directly as Airtable API key grants full permissions!\n\n\n### Developing\nTo develop you need to do the following \n1. copy the .env.sample file into .env and \n1. Create a test Base and Table and fill in the values to match\n1. Run the test by doing ``` jest -i``` or ```jest --watch -i``` (i makes sure the tests are run sequentially) \n1. The tests should clean up the records in the DB but if you get odd failing tests do to stray records while developing you can simply delete the records in the table.\n1. DON'T ever set to live data as it could be destructive. \n\n\n## License\n\nCopyright (c) 2020\n\nLicensed under the [MIT license](LICENSE).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonascript%2Ffeathers-airtable","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonascript%2Ffeathers-airtable","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonascript%2Ffeathers-airtable/lists"}