{"id":21238535,"url":"https://github.com/dabevlohn/rocketchat-roles","last_synced_at":"2026-04-11T17:02:08.197Z","repository":{"id":263834031,"uuid":"795627333","full_name":"dabevlohn/rocketchat-roles","owner":"dabevlohn","description":"RocketChat roles and permissions research","archived":false,"fork":false,"pushed_at":"2024-09-22T06:40:25.000Z","size":255,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-03T10:29:36.853Z","etag":null,"topics":["api","api-rest","framework","mongo","mongodb","openapi","openapi3","orm","rocket","rocketchat","rocketchat-ui","rust","utoipa","web"],"latest_commit_sha":null,"homepage":"https://localhost:8000/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dabevlohn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-05-03T17:22:26.000Z","updated_at":"2024-11-18T10:19:47.000Z","dependencies_parsed_at":"2024-11-20T15:16:21.386Z","dependency_job_id":"2d76946a-b077-4788-94f1-2014c43810ea","html_url":"https://github.com/dabevlohn/rocketchat-roles","commit_stats":null,"previous_names":["dabevlohn/rocketchat-roles"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/dabevlohn/rocketchat-roles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dabevlohn%2Frocketchat-roles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dabevlohn%2Frocketchat-roles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dabevlohn%2Frocketchat-roles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dabevlohn%2Frocketchat-roles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dabevlohn","download_url":"https://codeload.github.com/dabevlohn/rocketchat-roles/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dabevlohn%2Frocketchat-roles/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31687881,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-11T13:07:20.380Z","status":"ssl_error","status_checked_at":"2026-04-11T13:06:47.903Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["api","api-rest","framework","mongo","mongodb","openapi","openapi3","orm","rocket","rocketchat","rocketchat-ui","rust","utoipa","web"],"created_at":"2024-11-21T00:32:15.201Z","updated_at":"2026-04-11T17:02:08.179Z","avatar_url":"https://github.com/dabevlohn.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Create custom views for RocketChat database collections (Mongo)\n\nWe use Rocket :) web framework written in Rust\n\nNow we have OpenAPI for roles (thanks to `juhaku / utoipa`) and web interface using HTMX and Tera templates.\n\n---\n\n```shell\ncurl http://localhost:8000/users/ | jq\n```\n\n```json\n[\n  {\n    \"_id\": \"rocket.cat\",\n    \"roles\": [\n      \"bot\"\n    ],\n    \"status\": \"online\",\n    \"username\": \"rocket.cat\",\n    \"active\": true\n  },\n  {\n    \"_id\": \"G7RXKXa3w9pMn3RMt\",\n    \"roles\": [\n      \"user\",\n      \"admin\"\n    ],\n    \"status\": \"offline\",\n    \"username\": \"dpl\",\n    \"active\": true\n  }\n]\n```\n\n```shell\ncurl http://localhost:8000/permissions/ | jq\n```\n\n```json\n[\n  {\n    \"_id\": \"access-permissions\",\n    \"roles\": [\n      \"admin\"\n    ]\n  },\n  {\n    \"_id\": \"access-marketplace\",\n    \"roles\": [\n      \"admin\",\n      \"user\"\n    ]\n  },\n  {\n    \"_id\": \"access-setting-permissions\",\n    \"roles\": [\n      \"admin\"\n    ]\n  },\n  {\n    \"_id\": \"add-oauth-service\",\n    \"roles\": [\n      \"admin\"\n    ]\n  },\n  {\n    \"_id\": \"add-user-to-joined-room\",\n    \"roles\": [\n      \"admin\",\n      \"owner\",\n      \"moderator\"\n    ]\n  },\n  {\n    \"_id\": \"add-user-to-any-c-room\",\n    \"roles\": [\n      \"admin\"\n    ]\n  },\n  {\n    \"_id\": \"kick-user-from-any-c-room\",\n    \"roles\": [\n      \"admin\"\n    ]\n  },\n  {\n    \"_id\": \"api-bypass-rate-limit\",\n    \"roles\": [\n      \"admin\",\n      \"bot\",\n      \"app\"\n    ]\n  },\n  {\n    \"_id\": \"archive-room\",\n    \"roles\": [\n      \"admin\",\n      \"owner\"\n    ]\n  },\n  {\n    \"_id\": \"assign-admin-role\",\n    \"roles\": [\n      \"admin\"\n    ]\n  },\n  {\n    \"_id\": \"assign-roles\",\n    \"roles\": [\n      \"admin\"\n    ]\n  },\n  {\n    \"_id\": \"ban-user\",\n    \"roles\": [\n      \"admin\",\n      \"owner\",\n      \"moderator\"\n    ]\n  },\n...\n```\n\n```shell\ncurl http://localhost:8000/roles/ | jq\n```\n\n```json\n[\n  {\n    \"_id\": \"admin\",\n    \"scope\": \"Users\",\n    \"name\": \"admin\"\n  },\n  {\n    \"_id\": \"moderator\",\n    \"scope\": \"Subscriptions\",\n    \"name\": \"moderator\"\n  },\n  {\n    \"_id\": \"leader\",\n    \"scope\": \"Subscriptions\",\n    \"name\": \"leader\"\n  },\n  {\n    \"_id\": \"owner\",\n    \"scope\": \"Subscriptions\",\n    \"name\": \"owner\"\n  },\n  {\n    \"_id\": \"user\",\n    \"scope\": \"Users\",\n    \"name\": \"user\"\n  },\n  {\n    \"_id\": \"bot\",\n    \"scope\": \"Users\",\n    \"name\": \"bot\"\n  },\n  {\n    \"_id\": \"app\",\n    \"scope\": \"Users\",\n    \"name\": \"app\"\n  },\n  {\n    \"_id\": \"guest\",\n    \"scope\": \"Users\",\n    \"name\": \"guest\"\n  },\n  {\n    \"_id\": \"anonymous\",\n    \"scope\": \"Users\",\n    \"name\": \"anonymous\"\n  },\n  {\n    \"_id\": \"livechat-agent\",\n    \"scope\": \"Users\",\n    \"name\": \"livechat-agent\"\n  },\n  {\n    \"_id\": \"livechat-manager\",\n    \"scope\": \"Users\",\n    \"name\": \"livechat-manager\"\n  },\n  {\n    \"_id\": \"livechat-monitor\",\n    \"scope\": \"Users\",\n    \"name\": \"livechat-monitor\"\n  }\n]\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdabevlohn%2Frocketchat-roles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdabevlohn%2Frocketchat-roles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdabevlohn%2Frocketchat-roles/lists"}