[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"marketplace-site-banners":3,"github-stars":9,"directus-extension-sync":115},[4],{"id":5,"icon":6,"content":7,"link":8,"include_paths":6,"exclude_paths":6},"5cf2f5f6-aecf-4395-8c23-69de326fdf02",null,"AI Assistant: Query Your Data, Update Content + More","https:\u002F\u002Fdirectus.com\u002Fai",{"id":10,"node_id":11,"name":12,"full_name":13,"private":14,"owner":15,"html_url":33,"description":34,"fork":14,"url":35,"forks_url":36,"keys_url":37,"collaborators_url":38,"teams_url":39,"hooks_url":40,"issue_events_url":41,"events_url":42,"assignees_url":43,"branches_url":44,"tags_url":45,"blobs_url":46,"git_tags_url":47,"git_refs_url":48,"trees_url":49,"statuses_url":50,"languages_url":51,"stargazers_url":52,"contributors_url":53,"subscribers_url":54,"subscription_url":55,"commits_url":56,"git_commits_url":57,"comments_url":58,"issue_comment_url":59,"contents_url":60,"compare_url":61,"merges_url":62,"archive_url":63,"downloads_url":64,"issues_url":65,"pulls_url":66,"milestones_url":67,"notifications_url":68,"labels_url":69,"releases_url":70,"deployments_url":71,"created_at":72,"updated_at":73,"pushed_at":74,"git_url":75,"ssh_url":76,"clone_url":77,"svn_url":33,"homepage":78,"size":79,"stargazers_count":80,"watchers_count":80,"language":81,"has_issues":82,"has_projects":82,"has_downloads":14,"has_wiki":14,"has_pages":14,"has_discussions":82,"forks_count":83,"mirror_url":6,"archived":14,"disabled":14,"open_issues_count":84,"license":85,"allow_forking":82,"is_template":14,"web_commit_signoff_required":14,"has_pull_requests":82,"pull_request_creation_policy":90,"topics":91,"visibility":32,"forks":83,"open_issues":84,"watchers":80,"default_branch":111,"temp_clone_token":6,"custom_properties":112,"organization":113,"network_count":83,"subscribers_count":114},7122594,"MDEwOlJlcG9zaXRvcnk3MTIyNTk0","directus","directus\u002Fdirectus",false,{"login":12,"id":16,"node_id":17,"avatar_url":18,"gravatar_id":19,"url":20,"html_url":21,"followers_url":22,"following_url":23,"gists_url":24,"starred_url":25,"subscriptions_url":26,"organizations_url":27,"repos_url":28,"events_url":29,"received_events_url":30,"type":31,"user_view_type":32,"site_admin":14},15967950,"MDEyOk9yZ2FuaXphdGlvbjE1OTY3OTUw","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F15967950?v=4","","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus","https:\u002F\u002Fgithub.com\u002Fdirectus","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Ffollowers","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Ffollowing{\u002Fother_user}","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Fgists{\u002Fgist_id}","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Fstarred{\u002Fowner}{\u002Frepo}","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Fsubscriptions","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Forgs","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Frepos","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Fevents{\u002Fprivacy}","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Freceived_events","Organization","public","https:\u002F\u002Fgithub.com\u002Fdirectus\u002Fdirectus","The flexible backend for all your projects 🐰 Turn your DB into a headless CMS, admin panels, or apps with a custom UI, instant APIs, auth & more.","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fforks","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fkeys{\u002Fkey_id}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcollaborators{\u002Fcollaborator}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fteams","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fhooks","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fissues\u002Fevents{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fevents","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fassignees{\u002Fuser}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fbranches{\u002Fbranch}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Ftags","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fgit\u002Fblobs{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fgit\u002Ftags{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fgit\u002Frefs{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fgit\u002Ftrees{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fstatuses\u002F{sha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Flanguages","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fstargazers","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcontributors","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fsubscribers","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fsubscription","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcommits{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fgit\u002Fcommits{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcomments{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fissues\u002Fcomments{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcontents\u002F{+path}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcompare\u002F{base}...{head}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fmerges","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002F{archive_format}{\u002Fref}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fdownloads","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fissues{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fpulls{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fmilestones{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fnotifications{?since,all,participating}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Flabels{\u002Fname}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Freleases{\u002Fid}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fdeployments","2012-12-12T01:35:36Z","2026-10-23T03:44:32Z","2026-10-22T21:09:46Z","git:\u002F\u002Fgithub.com\u002Fdirectus\u002Fdirectus.git","git@github.com:directus\u002Fdirectus.git","https:\u002F\u002Fgithub.com\u002Fdirectus\u002Fdirectus.git","https:\u002F\u002Fdirectus.com",454545,38621,"TypeScript",true,4981,354,{"key":86,"name":87,"spdx_id":88,"url":6,"node_id":89},"other","Other","NOASSERTION","MDc6TGljZW5zZTA=","all",[92,93,94,95,96,97,12,98,99,100,101,102,103,104,105,106,107,108,109,110],"api","app","cms","composable","data-visualization","database","graphql","headless-cms","javascript","mariadb","mssql","mysql","no-code","node","postgresql","sql","sqlite","typescript","vue","main",{},{"login":12,"id":16,"node_id":17,"avatar_url":18,"gravatar_id":19,"url":20,"html_url":21,"followers_url":22,"following_url":23,"gists_url":24,"starred_url":25,"subscriptions_url":26,"organizations_url":27,"repos_url":28,"events_url":29,"received_events_url":30,"type":31,"user_view_type":32,"site_admin":14},346,{"name":116,"description":117,"verified":14,"id":118,"readme":119,"type":120,"publisher":121,"last_updated":124,"host_version":125,"downloads":126,"total_downloads":180,"sandbox":14,"license":212,"versions":213,"formatted_name":432,"formatted_readme":433,"formatted_description":117,"featured_image":434,"images":435,"repository_url":219,"recent_downloads_7_days":436,"recent_downloads_30_days":437},"directus-extension-sync","This extension exposes routes to manage id mapping for Directus sync.","ac87824c-d2a0-4521-979f-98a57061efbc","# `directus-extension-sync`\n\nThe `directus-sync` CLI provides a set of tools for managing and synchronizing the schema and\ncollections within Directus across different environments.\nIt allows to synchronize the following\nelements: `dashboards`, `flows`, `folders`, `operations`, `panels`, `permissions`, `policies`, `presets`, `roles`, `settings` and `translations`.\n\nMore information about the `directus-sync` CLI tool can be found [here](https:\u002F\u002Fgithub.com\u002Ftractr\u002Fdirectus-sync).\n\n## Overview\n\nThe `directus-extension-sync` is an essential extension required for using the `directus-sync` CLI. It manages the\nmapping between synchronization identifiers (SyncIDs) and Directus's internal entity IDs. This extension\nallows `directus-sync` to perform version control and synchronization tasks across various Directus instances.\n\n## Features\n\n- **ID Mapping**: Maintains a mapping table linking SyncIDs with Directus's internal IDs.\n- **Initialization**: Automatically creates the mapping table upon first use.\n- **CRUD Operations**: Provides endpoints to create, read, update, and delete mappings.\n\n## Installation\n\n### Installation with NPM\n\nIn your Directus installation root, run:\n\n```bash\nnpm install directus-extension-sync\n```\n\nThen, restart Directus.\n\n### Use pre-built Docker image\n\nYou can use the pre-built Docker image with this extension pre-installed.\n\nThis image is available on Docker Hub: [tractr\u002Fdirectus-sync](https:\u002F\u002Fhub.docker.com\u002Fr\u002Ftractr\u002Fdirectus-sync).\n\n### Installation within custom Docker image\n\nIf you prefer to build your own Docker image, you can follow the instructions from this\nissue: https:\u002F\u002Fgithub.com\u002Ftractr\u002Fdirectus-sync\u002Fissues\u002F63#issuecomment-2096657924\n\n### Installation with Directus Marketplace\n\nUnfortunately, the extension is not available in the Directus Marketplace out of the box.\nDirectus Marketplace does not support extensions that require a database\nconnection ([more details here](https:\u002F\u002Fdirectus.io\u002Fdocs\u002Fguides\u002Fextensions\u002Fapi-extensions\u002Fsandbox)).\n\n**However**, you can force Directus Marketplace to show all extensions by setting the `MARKETPLACE_TRUST` environment\nvariable to `all`.\n\n```bash\nMARKETPLACE_TRUST=all\n```\n\nThen, go to the Directus Marketplace and search for the `directus-extension-sync` extension.\n\n![Marketplace installation](https:\u002F\u002Fraw.githubusercontent.com\u002Ftractr\u002Fdirectus-sync\u002Fmain\u002Fpackages\u002Fapi\u002Fdocs\u002Fmarketplace.png)\n\n## Usage\n\nThe extension provides a set of RESTful endpoints that are used internally by the `directus-sync` tool to manage\nSyncIDs. These endpoints include:\n\n- `GET \u002Fdirectus-extension-sync\u002Ftable\u002F:table\u002Fsync_id\u002F:sync_id`: Retrieve a mapping by SyncID.\n- `GET \u002Fdirectus-extension-sync\u002Ftable\u002F:table\u002Flocal_id\u002F:local_id`: Retrieve a mapping by local ID.\n- `GET \u002Fdirectus-extension-sync\u002Ftable\u002F:table`: Retrieve all mappings for a table.\n- `POST \u002Fdirectus-extension-sync\u002Ftable\u002F:table`: Create a new mapping entry.\n- `DELETE \u002Fdirectus-extension-sync\u002Ftable\u002F:table\u002Fsync_id\u002F:sync_id`: Remove a mapping by SyncID.\n- `DELETE \u002Fdirectus-extension-sync\u002Ftable\u002F:table\u002Flocal_id\u002F:local_id`: Remove a mapping by local ID.\n\n### Helpers\n\n- `DELETE \u002Fdirectus-extension-sync\u002Fhelpers\u002Fpermissions\u002Fduplicates`: Remove conflicts in permissions when there are\n  duplicated groups \"policy + collection + action\".\n\n## Development\n\nLink the package to a development Directus instance:\n\n```bash\nnpm run link \u002Fpath\u002Fto\u002Fdirectus\u002Fextensions\n```\n\nThe run in development mode:\n\n```bash\nnpm run dev\n```\n","endpoint",{"username":122,"verified":14,"id":123,"github_username":6,"github_name":6,"github_blog":6,"github_bio":6,"github_location":6,"github_company":6,"github_avatar_url":6},"edouarddemotes","aa9ffc81-cac0-4b3d-bcd9-e7b19c6edf1d","2026-04-13T22:06:59.337Z","^11.0.0",[127,130,133,136,139,142,145,148,151,154,157,160,163,166,169,172,175,178,181,184,187,190,193,195,198,200,202,204,206,209],{"date":128,"count":129},"2026-09-19",50,{"date":131,"count":132},"2026-09-20",257,{"date":134,"count":135},"2026-09-21",413,{"date":137,"count":138},"2026-09-22",403,{"date":140,"count":141},"2026-09-23",353,{"date":143,"count":144},"2026-09-24",379,{"date":146,"count":147},"2026-09-25",289,{"date":149,"count":150},"2026-09-26",86,{"date":152,"count":153},"2026-09-27",49,{"date":155,"count":156},"2026-09-28",443,{"date":158,"count":159},"2026-09-29",382,{"date":161,"count":162},"2026-09-30",298,{"date":164,"count":165},"2026-10-01",313,{"date":167,"count":168},"2026-10-02",255,{"date":170,"count":171},"2026-10-03",126,{"date":173,"count":174},"2026-10-04",112,{"date":176,"count":177},"2026-10-05",507,{"date":179,"count":180},"2026-10-06",0,{"date":182,"count":183},"2026-10-07",282,{"date":185,"count":186},"2026-10-08",358,{"date":188,"count":189},"2026-10-09",316,{"date":191,"count":192},"2026-10-10",227,{"date":194,"count":147},"2026-10-11",{"date":196,"count":197},"2026-10-12",462,{"date":199,"count":180},"2026-10-13",{"date":201,"count":180},"2026-10-14",{"date":203,"count":180},"2026-10-15",{"date":205,"count":138},"2026-10-16",{"date":207,"count":208},"2026-10-17",246,{"date":210,"count":211},"2026-10-18",300,"GPL-3.0",[214,226,236,249,258,269,278,288,297,306,316,325,334,344,353,362,371,380,389,398,407,416,424],{"version":215,"package":118,"publisher":123,"type":120,"host_version":216,"publish_date":217,"verified":14,"id":218,"url_repository":219,"url_homepage":6,"url_bugs":6,"file_count":220,"unpacked_size":221,"bundled":222,"maintainers":223,"sandbox":14,"sandbox_requested_scopes":6,"license":212},"3.0.1","^11.1.0","2024-09-25T14:01:48.079Z","02487cf7-ac0b-4f57-a9a5-e06cbd26a803","https:\u002F\u002Fgithub.com\u002Ftractr\u002Fdirectus-sync.git",5,119602,[],[224,225],11423,11424,{"version":227,"package":118,"publisher":123,"type":120,"host_version":125,"publish_date":228,"verified":14,"id":229,"url_repository":219,"url_homepage":6,"url_bugs":6,"file_count":230,"unpacked_size":231,"bundled":232,"maintainers":233,"sandbox":14,"sandbox_requested_scopes":6,"license":212},"3.0.5","2025-09-25T20:56:17.848Z","140fd49d-c520-4e0a-bd3e-7e270e59e82a",11,187726,[],[234,235],13126,13127,{"version":237,"package":118,"publisher":238,"type":120,"host_version":239,"publish_date":240,"verified":14,"id":241,"url_repository":219,"url_homepage":242,"url_bugs":243,"file_count":220,"unpacked_size":244,"bundled":245,"maintainers":246,"sandbox":14,"sandbox_requested_scopes":6,"license":212},"1.1.6","0beab2ac-7035-4226-a78c-033f8bced8ba","^10.1.13","2024-05-09T04:10:41.527Z","32cecb16-2f07-45ed-a4c1-aea696f31e74","https:\u002F\u002Fgithub.com\u002Ftractr\u002Fdirectus-sync#readme","https:\u002F\u002Fgithub.com\u002Ftractr\u002Fdirectus-sync\u002Fissues",172307,[],[247,248],10804,10805,{"version":250,"package":118,"publisher":123,"type":120,"host_version":125,"publish_date":251,"verified":14,"id":252,"url_repository":219,"url_homepage":6,"url_bugs":6,"file_count":230,"unpacked_size":253,"bundled":254,"maintainers":255,"sandbox":14,"sandbox_requested_scopes":6,"license":212},"3.0.4","2025-08-14T15:16:19.843Z","34125dce-8c7b-4319-8a74-3deb365aa2cb",137125,[],[256,257],12888,12889,{"version":259,"package":118,"publisher":123,"type":120,"host_version":239,"publish_date":260,"verified":14,"id":261,"url_repository":219,"url_homepage":242,"url_bugs":243,"file_count":262,"unpacked_size":263,"bundled":264,"maintainers":265,"sandbox":14,"sandbox_requested_scopes":6,"license":268},"1.1.0","2024-03-04T18:26:43.616Z","3564d0d2-eaea-4fcb-b0bc-5ca7b69deb1f",7,76277,[],[266,267],10436,10437,"MIT",{"version":270,"package":118,"publisher":238,"type":120,"host_version":239,"publish_date":271,"verified":14,"id":272,"url_repository":219,"url_homepage":242,"url_bugs":243,"file_count":262,"unpacked_size":273,"bundled":274,"maintainers":275,"sandbox":14,"sandbox_requested_scopes":6,"license":268},"0.2.0","2023-11-30T04:18:46.906Z","3e8f99a4-67d1-4f2c-9979-577afea33658",75240,[],[276,277],9281,9282,{"version":279,"package":118,"publisher":123,"type":120,"host_version":239,"publish_date":280,"verified":14,"id":281,"url_repository":219,"url_homepage":242,"url_bugs":243,"file_count":282,"unpacked_size":283,"bundled":284,"maintainers":285,"sandbox":14,"sandbox_requested_scopes":6,"license":268},"0.1.3","2023-11-13T19:20:52.868Z","4641fe20-e0aa-4203-81b2-6ff4e4d01949",3,71760,[],[286,287],9273,9274,{"version":289,"package":118,"publisher":123,"type":120,"host_version":239,"publish_date":290,"verified":14,"id":291,"url_repository":219,"url_homepage":242,"url_bugs":243,"file_count":262,"unpacked_size":292,"bundled":293,"maintainers":294,"sandbox":14,"sandbox_requested_scopes":6,"license":268},"1.1.2","2024-03-12T15:14:03.733Z","586771b3-af9d-4cfb-93e1-0101188dc141",76771,[],[295,296],10479,10480,{"version":298,"package":118,"publisher":238,"type":120,"host_version":239,"publish_date":299,"verified":14,"id":300,"url_repository":219,"url_homepage":242,"url_bugs":243,"file_count":262,"unpacked_size":301,"bundled":302,"maintainers":303,"sandbox":14,"sandbox_requested_scopes":6,"license":268},"0.1.10","2023-11-20T20:01:04.271Z","6766f7f2-63f6-41e2-8b07-f580caa0b91f",74761,[],[304,305],9277,9278,{"version":307,"package":118,"publisher":123,"type":120,"host_version":239,"publish_date":308,"verified":14,"id":309,"url_repository":219,"url_homepage":242,"url_bugs":243,"file_count":310,"unpacked_size":311,"bundled":312,"maintainers":313,"sandbox":14,"sandbox_requested_scopes":6,"license":212},"1.1.3","2024-05-02T16:23:38.888Z","7626d5bf-b4de-4140-9468-fd9e78747a0c",8,171495,[],[314,315],10774,10775,{"version":317,"package":118,"publisher":123,"type":120,"host_version":125,"publish_date":318,"verified":14,"id":319,"url_repository":219,"url_homepage":6,"url_bugs":6,"file_count":220,"unpacked_size":320,"bundled":321,"maintainers":322,"sandbox":14,"sandbox_requested_scopes":6,"license":212},"3.0.3","2025-02-05T03:06:43.861Z","7969c194-83ef-403f-b8e4-ebcd9f83d0ec",123418,[],[323,324],11937,11938,{"version":326,"package":118,"publisher":123,"type":120,"host_version":239,"publish_date":327,"verified":14,"id":328,"url_repository":219,"url_homepage":6,"url_bugs":6,"file_count":220,"unpacked_size":329,"bundled":330,"maintainers":331,"sandbox":14,"sandbox_requested_scopes":6,"license":212},"3.0.0","2024-09-05T20:24:46.606Z","80dd541f-3ce7-4a8e-9ff8-04bcbd77f7c8",119295,[],[332,333],11421,11422,{"version":335,"package":118,"publisher":238,"type":120,"host_version":239,"publish_date":336,"verified":14,"id":337,"url_repository":219,"url_homepage":242,"url_bugs":243,"file_count":338,"unpacked_size":339,"bundled":340,"maintainers":341,"sandbox":14,"sandbox_requested_scopes":6,"license":212},"1.1.4","2024-05-08T20:55:50.430Z","88d59ca7-b5ff-41ff-b3c2-7eec0bb43952",9,244094,[],[342,343],10800,10801,{"version":345,"package":118,"publisher":123,"type":120,"host_version":239,"publish_date":346,"verified":14,"id":347,"url_repository":219,"url_homepage":242,"url_bugs":243,"file_count":262,"unpacked_size":348,"bundled":349,"maintainers":350,"sandbox":14,"sandbox_requested_scopes":6,"license":268},"1.0.0","2024-02-27T15:34:51.665Z","8b7f6f03-cc6a-4050-84f3-c50d9f75339c",75934,[],[351,352],10393,10394,{"version":354,"package":118,"publisher":123,"type":120,"host_version":125,"publish_date":355,"verified":14,"id":356,"url_repository":219,"url_homepage":6,"url_bugs":6,"file_count":220,"unpacked_size":357,"bundled":358,"maintainers":359,"sandbox":14,"sandbox_requested_scopes":6,"license":212},"3.0.2","2024-09-25T14:10:26.830Z","9dea2d5d-cc77-4c57-ac71-304dd1bead5d",119910,[],[360,361],11425,11426,{"version":363,"package":118,"publisher":123,"type":120,"host_version":239,"publish_date":364,"verified":14,"id":365,"url_repository":219,"url_homepage":242,"url_bugs":243,"file_count":262,"unpacked_size":366,"bundled":367,"maintainers":368,"sandbox":14,"sandbox_requested_scopes":6,"license":268},"0.3.1","2024-01-16T17:08:13.724Z","a5cb0a65-f5e7-4c39-b0b9-e28d70d1bc66",75618,[],[369,370],9285,9286,{"version":372,"package":118,"publisher":238,"type":120,"host_version":239,"publish_date":373,"verified":14,"id":374,"url_repository":219,"url_homepage":242,"url_bugs":243,"file_count":262,"unpacked_size":375,"bundled":376,"maintainers":377,"sandbox":14,"sandbox_requested_scopes":6,"license":268},"0.1.11","2023-11-21T13:51:54.097Z","a8cb1ce7-6217-4539-b942-bcfb6e0d3e21",74992,[],[378,379],9279,9280,{"version":381,"package":118,"publisher":123,"type":120,"host_version":239,"publish_date":382,"verified":14,"id":383,"url_repository":219,"url_homepage":242,"url_bugs":243,"file_count":220,"unpacked_size":384,"bundled":385,"maintainers":386,"sandbox":14,"sandbox_requested_scopes":6,"license":212},"2.0.0","2024-05-23T21:05:12.956Z","adc59912-05d0-4034-8873-8b32c35e5eb2",118835,[],[387,388],10899,10900,{"version":390,"package":118,"publisher":123,"type":120,"host_version":239,"publish_date":391,"verified":14,"id":392,"url_repository":219,"url_homepage":242,"url_bugs":243,"file_count":262,"unpacked_size":393,"bundled":394,"maintainers":395,"sandbox":14,"sandbox_requested_scopes":6,"license":268},"0.4.0","2024-01-24T06:20:39.328Z","bdb7f147-b39f-4b2f-ad5f-7325eea32b0d",75847,[],[396,397],9287,9288,{"version":399,"package":118,"publisher":238,"type":120,"host_version":239,"publish_date":400,"verified":14,"id":401,"url_repository":219,"url_homepage":242,"url_bugs":243,"file_count":262,"unpacked_size":402,"bundled":403,"maintainers":404,"sandbox":14,"sandbox_requested_scopes":6,"license":268},"0.3.0","2023-11-30T04:44:20.653Z","be07f5d2-3deb-4750-bf90-291543a0de63",75530,[],[405,406],9283,9284,{"version":408,"package":118,"publisher":238,"type":120,"host_version":239,"publish_date":409,"verified":14,"id":410,"url_repository":219,"url_homepage":242,"url_bugs":243,"file_count":262,"unpacked_size":411,"bundled":412,"maintainers":413,"sandbox":14,"sandbox_requested_scopes":6,"license":268},"0.1.9","2023-11-20T19:09:36.425Z","c41c7f3b-24ac-43bb-b8d2-b122903d61d0",74671,[],[414,415],9275,9276,{"version":417,"package":118,"publisher":123,"type":120,"host_version":125,"publish_date":124,"verified":14,"id":418,"url_repository":219,"url_homepage":6,"url_bugs":6,"file_count":230,"unpacked_size":419,"bundled":420,"maintainers":421,"sandbox":14,"sandbox_requested_scopes":6,"license":212},"3.0.6","c818b17c-9664-45f2-8322-ab0f73c62581",174017,[],[422,423],14167,14168,{"version":425,"package":118,"publisher":238,"type":120,"host_version":239,"publish_date":426,"verified":14,"id":427,"url_repository":6,"url_homepage":6,"url_bugs":6,"file_count":282,"unpacked_size":428,"bundled":429,"maintainers":430,"sandbox":14,"sandbox_requested_scopes":6,"license":6},"0.1.2","2023-11-13T03:24:22.098Z","fb079b77-b2ed-48ae-a157-9d3557917a0c",70265,[],[431],9272,"Sync","\u003Ch1>\u003Ccode>directus-extension-sync\u003C\u002Fcode>\u003C\u002Fh1>\n\u003Cp>The \u003Ccode>directus-sync\u003C\u002Fcode> CLI provides a set of tools for managing and synchronizing the schema and\ncollections within Directus across different environments.\nIt allows to synchronize the following\nelements: \u003Ccode>dashboards\u003C\u002Fcode>, \u003Ccode>flows\u003C\u002Fcode>, \u003Ccode>folders\u003C\u002Fcode>, \u003Ccode>operations\u003C\u002Fcode>, \u003Ccode>panels\u003C\u002Fcode>, \u003Ccode>permissions\u003C\u002Fcode>, \u003Ccode>policies\u003C\u002Fcode>, \u003Ccode>presets\u003C\u002Fcode>, \u003Ccode>roles\u003C\u002Fcode>, \u003Ccode>settings\u003C\u002Fcode> and \u003Ccode>translations\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>More information about the \u003Ccode>directus-sync\u003C\u002Fcode> CLI tool can be found \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftractr\u002Fdirectus-sync\">here\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch2>Overview\u003C\u002Fh2>\n\u003Cp>The \u003Ccode>directus-extension-sync\u003C\u002Fcode> is an essential extension required for using the \u003Ccode>directus-sync\u003C\u002Fcode> CLI. It manages the\nmapping between synchronization identifiers (SyncIDs) and Directus's internal entity IDs. This extension\nallows \u003Ccode>directus-sync\u003C\u002Fcode> to perform version control and synchronization tasks across various Directus instances.\u003C\u002Fp>\n\u003Ch2>Features\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Cstrong>ID Mapping\u003C\u002Fstrong>: Maintains a mapping table linking SyncIDs with Directus's internal IDs.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Initialization\u003C\u002Fstrong>: Automatically creates the mapping table upon first use.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>CRUD Operations\u003C\u002Fstrong>: Provides endpoints to create, read, update, and delete mappings.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Installation\u003C\u002Fh2>\n\u003Ch3>Installation with NPM\u003C\u002Fh3>\n\u003Cp>In your Directus installation root, run:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">npm install directus-extension-sync\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Then, restart Directus.\u003C\u002Fp>\n\u003Ch3>Use pre-built Docker image\u003C\u002Fh3>\n\u003Cp>You can use the pre-built Docker image with this extension pre-installed.\u003C\u002Fp>\n\u003Cp>This image is available on Docker Hub: \u003Ca href=\"https:\u002F\u002Fhub.docker.com\u002Fr\u002Ftractr\u002Fdirectus-sync\">tractr\u002Fdirectus-sync\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Installation within custom Docker image\u003C\u002Fh3>\n\u003Cp>If you prefer to build your own Docker image, you can follow the instructions from this\nissue: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftractr\u002Fdirectus-sync\u002Fissues\u002F63#issuecomment-2096657924\">https:\u002F\u002Fgithub.com\u002Ftractr\u002Fdirectus-sync\u002Fissues\u002F63#issuecomment-2096657924\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Installation with Directus Marketplace\u003C\u002Fh3>\n\u003Cp>Unfortunately, the extension is not available in the Directus Marketplace out of the box.\nDirectus Marketplace does not support extensions that require a database\nconnection (\u003Ca href=\"https:\u002F\u002Fdirectus.io\u002Fdocs\u002Fguides\u002Fextensions\u002Fapi-extensions\u002Fsandbox\">more details here\u003C\u002Fa>).\u003C\u002Fp>\n\u003Cp>\u003Cstrong>However\u003C\u002Fstrong>, you can force Directus Marketplace to show all extensions by setting the \u003Ccode>MARKETPLACE_TRUST\u003C\u002Fcode> environment\nvariable to \u003Ccode>all\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">MARKETPLACE_TRUST=all\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Then, go to the Directus Marketplace and search for the \u003Ccode>directus-extension-sync\u003C\u002Fcode> extension.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Ftractr\u002Fdirectus-sync\u002Fmain\u002Fpackages\u002Fapi\u002Fdocs\u002Fmarketplace.png\" alt=\"Marketplace installation\">\u003C\u002Fp>\n\u003Ch2>Usage\u003C\u002Fh2>\n\u003Cp>The extension provides a set of RESTful endpoints that are used internally by the \u003Ccode>directus-sync\u003C\u002Fcode> tool to manage\nSyncIDs. These endpoints include:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>GET \u002Fdirectus-extension-sync\u002Ftable\u002F:table\u002Fsync_id\u002F:sync_id\u003C\u002Fcode>: Retrieve a mapping by SyncID.\u003C\u002Fli>\n\u003Cli>\u003Ccode>GET \u002Fdirectus-extension-sync\u002Ftable\u002F:table\u002Flocal_id\u002F:local_id\u003C\u002Fcode>: Retrieve a mapping by local ID.\u003C\u002Fli>\n\u003Cli>\u003Ccode>GET \u002Fdirectus-extension-sync\u002Ftable\u002F:table\u003C\u002Fcode>: Retrieve all mappings for a table.\u003C\u002Fli>\n\u003Cli>\u003Ccode>POST \u002Fdirectus-extension-sync\u002Ftable\u002F:table\u003C\u002Fcode>: Create a new mapping entry.\u003C\u002Fli>\n\u003Cli>\u003Ccode>DELETE \u002Fdirectus-extension-sync\u002Ftable\u002F:table\u002Fsync_id\u002F:sync_id\u003C\u002Fcode>: Remove a mapping by SyncID.\u003C\u002Fli>\n\u003Cli>\u003Ccode>DELETE \u002Fdirectus-extension-sync\u002Ftable\u002F:table\u002Flocal_id\u002F:local_id\u003C\u002Fcode>: Remove a mapping by local ID.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Helpers\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ccode>DELETE \u002Fdirectus-extension-sync\u002Fhelpers\u002Fpermissions\u002Fduplicates\u003C\u002Fcode>: Remove conflicts in permissions when there are\nduplicated groups \"policy + collection + action\".\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Development\u003C\u002Fh2>\n\u003Cp>Link the package to a development Directus instance:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">npm run link \u002Fpath\u002Fto\u002Fdirectus\u002Fextensions\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The run in development mode:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">npm run dev\n\u003C\u002Fcode>\u003C\u002Fpre>\n","https:\u002F\u002Fraw.githubusercontent.com\u002Ftractr\u002Fdirectus-sync\u002Fmain\u002Fpackages\u002Fapi\u002Fdocs\u002Fmarketplace.png",[434],546,6122]