{"id":31202106,"url":"https://github.com/programmfabrik/fylr-plugin-fjc","last_synced_at":"2026-02-15T15:08:23.003Z","repository":{"id":97950505,"uuid":"498672933","full_name":"programmfabrik/fylr-plugin-fjc","owner":"programmfabrik","description":"Plugin to support EJC classes","archived":false,"fork":false,"pushed_at":"2025-02-05T19:47:25.000Z","size":12,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-02-05T20:51:17.039Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Makefile","has_issues":false,"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/programmfabrik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2022-06-01T09:32:05.000Z","updated_at":"2025-02-05T19:46:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"ad806b6d-4f37-48bd-b359-4e8046e4671b","html_url":"https://github.com/programmfabrik/fylr-plugin-fjc","commit_stats":null,"previous_names":["programmfabrik/fylr-plugin-fjc"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/programmfabrik/fylr-plugin-fjc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/programmfabrik%2Ffylr-plugin-fjc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/programmfabrik%2Ffylr-plugin-fjc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/programmfabrik%2Ffylr-plugin-fjc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/programmfabrik%2Ffylr-plugin-fjc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/programmfabrik","download_url":"https://codeload.github.com/programmfabrik/fylr-plugin-fjc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/programmfabrik%2Ffylr-plugin-fjc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276099780,"owners_count":25585075,"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","status":"online","status_checked_at":"2025-09-20T02:00:10.207Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2025-09-20T13:06:59.382Z","updated_at":"2025-09-20T13:07:02.628Z","avatar_url":"https://github.com/programmfabrik.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fylr-fjc-plugin\nPlugin to support FJC classes\n\n## Installation\n\nThe latest version of this plugin can be found [here](https://github.com/programmfabrik/fylr-plugin-fjc/releases/latest/download/fylr-plugin-fjc.zip).\n\nThe ZIP can be downloaded and installed using the plugin manager, or used directly (recommended).\n\nGithub has an overwiew page to get a list of [all release](https://github.com/programmfabrik/fylr-plugin-fjc/releases/).\n\n## Config endpoint\n\nUse the following endpoints to work with preferences:\n\n### `GET /api/v1/config/plugin/fjc/config`\n\nReturns all preferences known to the plugin. Currently there is only `prefs` available.\n\nFor access the [GJSON Syntax](https://github.com/tidwall/gjson/blob/master/SYNTAX.md) is used. For that the path is converted to **GJSON** by replacing `/` with `.`. `.` is replaced by `\\.`. Make sure to escape all path elements using the URL % escape notation. A `#` becomes a `%23`.\n\n### `POST /api/v1/config/plugin/fjc/config/prefs`\n\nPost all prefs, supported top level keys are:\n\n* `viewsets`\n\nTo access deeper members of JSON data, [SJSON](https://github.com/tidwall/sjson) is used. The GET rules for path replacements are applied for SJSON too, see the Example section for an example.\n\n## Examples\n\n### Replace all prefs with new data\n\n```bash\n\u003e curl -X 'POST' -d '{\"viewsets\": {\"views\": [{\"a\": \"b\"},{\"c\": \"d\"}]}}' -H \"Authorization: Bearer $ACCESS_TOKEN\" http://localhost/api/v1/config/plugin/fjc/config/prefs\n{\n    \"viewsets\": {\n        \"views\": [\n            {\n                \"a\": \"b\"\n            },\n            {\n                \"c\": \"d\"\n            },\n        ]\n    },\n    \"viewsets:info\": {\n        \"is_default\": false\n    }\n}\n```\n\n### Append an deeper nested item\n\n```bash\n\u003e curl -X 'POST' -d '{\"e\": \"f\"}' -H \"Authorization: Bearer $ACCESS_TOKEN\" http://localhost/api/v1/config/plugin/fjc/config/prefs/viewsets/views/-1\nnull\n```\n`null` is returned, because the `-1` doesn't work as a `GJSON` path.\n\n### Delete the first item in viewsets.views\n\n```bash\n\u003e curl -X 'DELETE' -H \"Authorization: Bearer $ACCESS_TOKEN\" http://localhost/api/v1/config/plugin/fjc/config/prefs/viewsets/views/0\n{\n    \"c\": \"d\"\n}\n```\n\n### Get all prefs of the plugin\n\n```bash\n\u003e curl -X 'GET' -H \"Authorization: Bearer $ACCESS_TOKEN\" http://localhost/api/v1/config/plugin/fjc/config\n{\n    \"prefs\": {\n        \"viewsets\": {\n            \"views\": [\n                {\n                    \"c\": \"d\"\n                },\n                {\n                    \"e\": \"f\"\n                }\n            ]\n        },\n        \"viewsets:info\": {\n            \"is_default\": false\n        }\n    }\n}\n```\n\n### Deep filter prefs\n```bash\n\u003e curl -X 'GET' -H \"Authorization: Bearer $ACCESS_TOKEN\" http://localhost/api/v1/config/plugin/fjc/config/prefs/viewsets/views/%23(c=d)/c\"\n\"d\"\n```\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprogrammfabrik%2Ffylr-plugin-fjc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprogrammfabrik%2Ffylr-plugin-fjc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprogrammfabrik%2Ffylr-plugin-fjc/lists"}