{"id":23218946,"url":"https://github.com/saidqb/adonisjs-rest-api","last_synced_at":"2025-04-05T14:42:19.920Z","repository":{"id":246918249,"uuid":"822902306","full_name":"saidqb/adonisjs-rest-api","owner":"saidqb","description":"adonisjs rest api, with api-key, access_token and sample CRUD user, post","archived":false,"fork":false,"pushed_at":"2024-07-15T06:38:45.000Z","size":178,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-02-11T11:38:37.651Z","etag":null,"topics":["adonis","adonis-api","adonis-rest-api","adonisjs","node-js","nodejs","rest-api"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/saidqb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-02T04:03:42.000Z","updated_at":"2024-07-16T13:30:23.000Z","dependencies_parsed_at":"2024-07-15T08:17:20.261Z","dependency_job_id":null,"html_url":"https://github.com/saidqb/adonisjs-rest-api","commit_stats":null,"previous_names":["saidqb/api-adonisjs","saidqb/adonis-js-rest-api"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saidqb%2Fadonisjs-rest-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saidqb%2Fadonisjs-rest-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saidqb%2Fadonisjs-rest-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saidqb%2Fadonisjs-rest-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/saidqb","download_url":"https://codeload.github.com/saidqb/adonisjs-rest-api/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247353679,"owners_count":20925325,"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":["adonis","adonis-api","adonis-rest-api","adonisjs","node-js","nodejs","rest-api"],"created_at":"2024-12-18T21:18:33.148Z","updated_at":"2025-04-05T14:42:19.903Z","avatar_url":"https://github.com/saidqb.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Adonis-Js Rest Api\n\nVersion Framework: 6\n\n## Description:\n\n[Full Documentation Adonisjs](https://docs.adonisjs.com/guides/preface/introduction)\n\nFork From [AdonisJS-6-REST-API](https://github.com/rayhannovelo/AdonisJS-6-REST-API/tree/main) Banyak perubahan dan modifikasi dari fork\n\nClone and Work, Using adonis js Framework\n\n\n## Requirements:\n- **Node.js** \u003e= 20.6\n\n## Avilable Database\n- Mysql\n\n## Features:\n- User Authentication (Access Token)\n- User Authorization (Bouncer) :: abilities, policies\n- Database [(Lucid)](https://lucid.adonisjs.com/docs/table-builder)\n- Validation [(VineJS)](https://vinejs.dev/docs/types/string#defining-error-messages)\n- Middleware\n- Exception Handling :: not found, unauthorized access, unauthorized action (Bouncer), validation error (VineJS), custom database error (Lucid)\n- CRUD :: configs, user_roles, user_statuses, users, access_tokens, posts\n- Helper\n- Constant\n- Date [(luxon)](https://moment.github.io/luxon/#/?id=luxon)\n- Core :: handler controller\n- Filter query params\n\n\n## VSCODE Extension:\n\n**Command pallate ``F1`` Vscode**\n\n```\nAdonisJS VSCode extension\nEdge VSCode extension\nJapa VSCode extension\n```\n\n# command cheatsheet\nhanya bantuan sekilas\n\n### App-key\n```\nnode ace generate:key \n```\n\n### Controller\n```\nnode ace make:controller users\n```\n\nMenggunakan library [lucid](https://lucid.adonisjs.com/docs/introduction)\n\n\n### Migration\n```\nnode ace make:migration users\n# CREATE: database/migrations/1630981615472_users.ts\n\nnode ace migration:run\n\n# Rollback the latest batch\nnode ace migration:rollback\n\n# Rollback until the start of the migration\nnode ace migration:rollback --batch=0\n\n# Rollback until batch 1\nnode ace migration:rollback --batch=1\n\nnode ace migration:reset\n\nnode ace migration:refresh\n\n# Refresh the database and run all seeders\nnode ace migration:refresh --seed\n\n```\n\n### Seeder\n```\nnode ace make:seeder User\n\n# runs all\nnode ace db:seed\n# runs Specified file\nnode ace db:seed --files \"./database/seeders/user_seeder.ts\"\n# Interactive mode\nnode ace db:seed -i\n\n```\n\n### Model\n```\nnode ace make:model User\n# CREATE: app/Models/User.ts\n\n\nnode ace make:model User -m\n# CREATE: database/migrations/1618903673925_users.ts\n# CREATE: app/Models/User.ts\n\nnode ace make:model User -f\n# CREATE: app/Models/User.ts\n# CREATE: database/factories/User.ts\n```\n\n\n### View\n```\nnode ace make:view email/test\n```\n\n## advance\n```\nnode ace make:command greet\n```\n\n\n# postman\n\n## postman\n\nAkses Api\n```\nApi-Key: \u003cyor api key\u003e\n```\n\nAkses data login\n```\nAuthorization: Bearer \u003ctoken\u003e\n```\ntoken didapat dari login\n\n## postman response default\n\ndisplay single data\n```json\n{\n  \"status\": 200,\n  \"success\": true,\n  \"error_code\": 0,\n  \"message\": \"success\",\n  \"data\": {\n      \"item\": {}\n  }\n}\n```\n\ndisplay multiple data\n```json\n{\n  \"status\": 200,\n  \"success\": true,\n  \"error_code\": 0,\n  \"message\": \"success\",\n  \"data\": {\n      \"items\": [],\n      \"pagination\" : {}\n  }\n}\n```\n\n## Query Params Doc\n\nDOC\n===============\n\n## Filter Query By Field\n\n| Key| Name | Result |\n| ---- | --- | ---- |\n| `eq` | equal | `field = 'value'` |\n| `neq` | not equal | `field != 'value'` |\n| `lt` | lower than | `field \u003c 'value'` |\n| `gt` | greater than | `field \u003e 'value'` |\n| `lte` | lower than equal | `field \u003c= 'value'` |\n| `gte` | greater than equal | `field \u003e= 'value'` |\n| `le` | like end | `field LIKE 'value%'` |\n| `ls` | like start | `field LIKE '%value'` |\n| `lse` | like start end | `field LIKE '%value%'` |\n| `in` | where IN | `field IN (value)` value diberi sparator `,` contoh `1,2,3,4` / `1` |\n| `nin` | where NOT IN | `field NOT IN (value)` value diberi sparator `,` contoh `1,2,3,4` / `1` |\n\n### Avilable Param\n1. Sort =\u003e `sort=-user_name` =\u003e `SORT user_name DESC`\n2. Sort =\u003e `sort=user_name` =\u003e `SORT user_name ASC`\n3. Sort =\u003e field sort sesuai dengan result\n4. Limit =\u003e default 10 \n5. Page =\u003e default 1\n6. search =\u003e `search=keyword` \n\n\n## COFFEE FOR BEST PERFORMANCE\n\n**[COFFEE HERE](https://saidqb.github.io/coffee)** for more inovation\n\nOR\n\n\u003ca href=\"https://trakteer.id/saidqb/tip\" target=\"_blank\"\u003e\u003cimg id=\"wse-buttons-preview\" src=\"https://cdn.trakteer.id/images/embed/trbtn-red-1.png?date=18-11-2023\" height=\"40\" style=\"border:0px;height:40px;\" alt=\"Trakteer Saya\"\u003e\u003c/a\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaidqb%2Fadonisjs-rest-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaidqb%2Fadonisjs-rest-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaidqb%2Fadonisjs-rest-api/lists"}