{"id":26569751,"url":"https://github.com/mvitlov/firebird-rest","last_synced_at":"2025-03-22T21:23:48.572Z","repository":{"id":57236697,"uuid":"166229775","full_name":"mvitlov/firebird-rest","owner":"mvitlov","description":"Simple REST Server for FirebirdSQL","archived":false,"fork":false,"pushed_at":"2022-12-09T10:58:16.000Z","size":51,"stargazers_count":17,"open_issues_count":4,"forks_count":8,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-22T16:49:26.295Z","etag":null,"topics":["api","database","expressjs","firebird","http","javascript","json","nodejs","rest","server","sql"],"latest_commit_sha":null,"homepage":null,"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/mvitlov.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-01-17T13:24:22.000Z","updated_at":"2025-03-16T23:44:21.000Z","dependencies_parsed_at":"2023-01-25T23:16:26.916Z","dependency_job_id":null,"html_url":"https://github.com/mvitlov/firebird-rest","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mvitlov%2Ffirebird-rest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mvitlov%2Ffirebird-rest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mvitlov%2Ffirebird-rest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mvitlov%2Ffirebird-rest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mvitlov","download_url":"https://codeload.github.com/mvitlov/firebird-rest/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245021502,"owners_count":20548345,"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":["api","database","expressjs","firebird","http","javascript","json","nodejs","rest","server","sql"],"created_at":"2025-03-22T21:23:47.864Z","updated_at":"2025-03-22T21:23:48.560Z","avatar_url":"https://github.com/mvitlov.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HTTP REST server for Firebird Databases\n\nA simple REST HTTP server that will parse FirebirdSQL query and return response in **JSON** format.\n\n[![npm version](https://badge.fury.io/js/firebird-rest.svg)](https://badge.fury.io/js/firebird-rest)\n\n## Installation\n\n```\nnpm install -g firebird-rest\n```\n\n## Usage\n\n```\nUsage: firebird-rest [options]\n```\n\n## Flags\n\n```\n--port Port that app listens to (default: 4444)\n--h    Firebird host (default: \"localhost\")\n--p    Firebird port (default: 3050)\n--db   Firebird database path (default:\"\")\n--u    Firebird User (default: \"SYSDBA\")\n--pw   User password (default: \"masterkey\")\n--r    User role (default: null)\n```\n\n## Usage\n\n### Port\n\nThis package is preconfigured to listen on **TCP port 4444**, however, you can specify any port you want with ``--port`` flag. If you do that, make sure you add that port to the list of accessible ports in firewall settings.  \nFor testing purposes you can use:\n\n- [Postman](https://www.getpostman.com/)\n- `curl` command from the console\n- your browser by pointing it to:\n\n```\nhttp://localhost:\u003cport\u003e/?sql=\u003cyour sql query\u003e\n```\n\n### Example\n\n```\n~ $ firebird --db /opt/firebird/examples/empbuild/employee.fdb\n^Z\n[1]+  Stopped firebird --db /opt/firebird/examples/empbuild/employee.fdb\n~ $ bg\n[1]+ firebird --db /opt/firebird/examples/empbuild/employee.fdb \u0026\n~ $ curl 'http://localhost:4444' -d sql='select * from country' -L\n[{\"COUNTRY\":\"USA\",\"CURRENCY\":\"Dollar\"},{\"COUNTRY\":\"England\",\"CURRENCY\":\"Pound\"},{\"COUNTRY\":\"Canada\",\"CURRENCY\":\"CdnDlr\"},{\"COUNTRY\":\"Switzerland\",\"CURRENCY\":\"SFranc\"},{\"COUNTRY\":\"Japan\",\"CURRENCY\":\"Yen\"},{\"COUNTRY\":\"Italy\",\"CURRENCY\":\"Lira\"},{\"COUNTRY\":\"France\",\"CURRENCY\":\"FFranc\"},{\"COUNTRY\":\"Germany\",\"CURRENCY\":\"D-Mark\"},{\"COUNTRY\":\"Australia\",\"CURRENCY\":\"ADollar\"},{\"COUNTRY\":\"Hong Kong\",\"CURRENCY\":\"HKDollar\"},{\"COUNTRY\":\"Netherlands\",\"CURRENCY\":\"Guilder\"},{\"COUNTRY\":\"Belgium\",\"CURRENCY\":\"BFranc\"},{\"COUNTRY\":\"Austria\",\"CURRENCY\":\"Schilling\"},{\"COUNTRY\":\"Fiji\",\"CURRENCY\":\"FDollar\"}]\n~ $ fg\nfirebird --db /opt/firebird/examples/empbuild/employee.fdb\n^C\n```\n\n## Limitations\n\nCharset for database connection is always **UTF-8**.\nNode is unicode, no matter if your database is using another charset to store string or blob, Firebird will transliterate automatically.\nThis is why you should use Firebird 2.5 server at least.\n\n### Firebird 3.0 Support\n\nFirebird's new wire protocol is not supported yet, so for Firebird 3.0 you need to add the following in `firebird.conf`\n\n```\nAuthServer = Legacy_Auth\nWireCrypt = Disabled\n```\n\n## License\n\n[MIT](/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmvitlov%2Ffirebird-rest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmvitlov%2Ffirebird-rest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmvitlov%2Ffirebird-rest/lists"}