{"id":19879572,"url":"https://github.com/openclassify/connect-module","last_synced_at":"2025-05-02T13:31:25.808Z","repository":{"id":37859056,"uuid":"380161319","full_name":"openclassify/connect-module","owner":"openclassify","description":null,"archived":false,"fork":false,"pushed_at":"2024-05-02T11:50:50.000Z","size":271,"stargazers_count":3,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-19T11:46:03.818Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","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/openclassify.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,"zenodo":null}},"created_at":"2021-06-25T07:35:31.000Z","updated_at":"2024-05-02T11:50:55.000Z","dependencies_parsed_at":"2022-08-25T05:11:41.601Z","dependency_job_id":"740a8518-7b4f-4f52-a8dc-97344cf2771b","html_url":"https://github.com/openclassify/connect-module","commit_stats":{"total_commits":100,"total_committers":8,"mean_commits":12.5,"dds":0.5900000000000001,"last_synced_commit":"86d396a07684090677d3dbacf496c247a6a4eeaf"},"previous_names":[],"tags_count":66,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclassify%2Fconnect-module","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclassify%2Fconnect-module/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclassify%2Fconnect-module/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclassify%2Fconnect-module/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openclassify","download_url":"https://codeload.github.com/openclassify/connect-module/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250449265,"owners_count":21432423,"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":[],"created_at":"2024-11-12T17:08:52.202Z","updated_at":"2025-05-02T13:31:25.791Z","avatar_url":"https://github.com/openclassify.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OAuth2 Connect Module\n\nThe Connect Module makes it quick and easy to access your application and Streams data via a secure public API.\n\n## Commands\n\n    php artisan passport:install\n\n    php artisan passport:client --password\n\n    chmod 600 storage/streams/default/oauth-*\n    \n    \n#API Routes\n\nThis section will go over everything you need to know about API routes.\n\n    /api/entries/{namespace}/{stream}\n    \nThe entries endpoint exposes Stream entries specified by the namespace and stream parameters.\n\n### Parameters\n\n\nKey | Required | Type | Example | Description\n--- | --- | --- | --- |---\nnamespace | true | string | pages | The namespace of the Stream you want to access entries for.\nstream | true | string | pages | The slug of the Stream you want to access entries for within the provided namespace.\n\n\n    /api/entries/{namespace}/{stream}/{id}\n\n\nThe entries endpoint also exposes single Stream entries specified by the namespace, stream, and id parameters.\n\n### Parameters\n\nKey | Required | Type | Example | Description\n--- | --- | --- | --- |---\nnamespace | true | string | pages | The namespace of the Stream you want to access entries for.\nstream | true | string | pages | The slug of the Stream you want to access entries for within the provided namespace.\nid | true | integer | 10 | The ID of the entry you want to access within the provided namespace and stream\n\n\u003chr\u003e\n\n## Example Authentication\n\n###### Request:\n\n        var myHeaders = new Headers();\n        myHeaders.append(\"Content-Type\", \"application/x-www-form-urlencoded\");\n        \n        var urlencoded = new URLSearchParams();\n        urlencoded.append(\"grant_type\", \"password\");\n        urlencoded.append(\"client_id\", \"******\");\n        urlencoded.append(\"client_secret\", \"**********************************\");\n        urlencoded.append(\"username\", \"admin@example.com\");\n        urlencoded.append(\"password\", \"admin123\");\n        \n        var requestOptions = {\n         method: 'POST',\n         headers: myHeaders,\n         body: urlencoded,\n         redirect: 'follow'\n        };\n        \n        fetch(\"https://your-site/oauth/token\", requestOptions)\n         .then(response =\u003e response.text())\n         .then(result =\u003e console.log(result))\n          .catch(error =\u003e console.log('error', error));\n\n\n\n###### Response:\n\n        {\n           \"token_type\": \"Bearer\",\n           \"expires_in\": 31536000,\n           \"access_token\": \"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIzIiwianRpIjoiODAwMjZiMTUwMDU0MWFhMTI2MWY4MmI1ZWM5MDI5NTdiZTAyNjg4ZDc1MjAxYWQ3OWM1ZmQwODFiMjdjYjIyYzE2ZTI1ZjJiMmNkYzk2Y2EiLCJpYXQiOjE2MjI3OTY2NDMuMjUyMjQ0LCJuYmYiOjE2MjI3OTY2NDMuMjUyMjQ3LCJleHAiOjE2NTQzMzI2NDMuMjIzMjcyLCJzdWIiOiIxIiwic2NvcGVzIjpbXX0.HiruzlEaSeGNcTzuC8pdoE3pYpWI5HLY4Y7AhbzQES90LS79YdlIRF_Lly0vD3NIX4KrlD-7YwrYEThT2WkWhdVpm090zaqmZodcqoJvsnqMvOLfhPyWrkoCGd7aGATvA40bpehnBkA-vmKnBNYMEZoNv59As43DM6szy-_0f-oFhX0aDV6PT2M0LaT4hjfBsYXr82aZmSZeauGHCrrW9fnjD6jUkqbkRhp4bdpaTbKjzmcnAfIGCRM6BoODR06J9u6LFz9Q-ARJBEbT_ziS7W1wpkEKLAICYZLKpwsrU8iSJunb0swODB2mRUyrw4VaOQaI5NBpOyg4ugEsUJvf3m1xMJZ7PncV2ABjKsKN-3ScababoUSzR-btWxESaNae3OJAEYsn9aJHXqvWgdgmTVEHNobNt7ugYcnRW-DR8wAcK1Lf3lAmnGY8loyjPz5RmW5Q8L--qDDjY-zVtCWHph82SNZ_E0VsWYXVvuPm0xf5IgluuUEeaNDqVOzyQfehj7N4yJ8rcZ3CGcvZ4Mmz0TmXBnSB4fWAhOuzd875NSZzyS2NWWn9wEf-TQHIdQVFKexfnzO-BemnxIxElVcs4vYRnQYbCKwGxirzb1DcaXUY4rP3s-Vl0mJO_Jx3jm17XLVgsOhgquXJbFG7bloV08ldKaeFBwHLJdcFoChgtFM\",\n           \"refresh_token\": \"def50200ab26d4d931dd76c2082f3814fe58e618a5e35727ab8e516fd484d89d01696e65b3af32e1a8b9580b229abf7036945d65b050b7e72d626eb600f0bf777f554f0b40d254f5156d474bd26e38ec45c7d7ca279d74b3dcee9933db9a17e06ead14e7bc77e58339a7ed7a92c10a4eea46d5626cc4483f22e8fc0bc694aae8142eef8d4ebba16eb1d14e8cfe5a7fee8a65ca41ffde618f6871af2dd08e24e76bda6e0f7ea1498cdad28b1ee8c33e72319ec6c4a3d5c412774eca5154de6f02c6c0c3ba160b387d6bbfa0c7b24f317d181d8a35c3ed321f35a788afb3da33a20850dffdbe7d3844677a50feab7c82c1e7c7fbd01c80d6bc62de0d881168807ab392cf70588ef4365adac73a63f12757a738cda29b2ccee964cbab7ac0613090c7d9571d916221fe11513ac54583843159f69476b9f7c9b906364a938ffd37df49b8cead153090d18367850dffbf156fac2ef6a91848480dbe6d4158d9d83034fb\"\n        }\n        \n\u003chr\u003e\n\n## Example Create\n\n###### Request\n        var myHeaders = new Headers();\n        \n        /**\n        * Copy and Paste Authentication Response \"access_token\" for Authorization\n        */\n        \n        myHeaders.append(\"Authorization\", \"Bearer PASTE_HERE_ACCESS_TOKEN\");\n        myHeaders.append(\"Content-Type\", \"application/json\");\n        \n        var raw = JSON.stringify({\n           \"en\": {\"name\": \"TEST EN Title\"}, // Translatable Field\n           \"tr\": {\"name\": \"TEST TR Title\"}, // Translatable Field\n           \"slug\":\"test\"\n        });\n        \n        var requestOptions = {\n           method: 'POST', // It is used for the POST method creation function.\n           headers: myHeaders,\n           body: raw,\n           redirect: 'follow'\n        };\n        \n        /**\n        * addon_slug : advs, cats, posts, ...\n        * stream_slug : \"advs\" for Advs Module, \"category\" for Cats Module, \"categories\" for Posts Module, ...\n        */\n        \n        /**\n        * Example\n        * addon_slug : “posts”,\n        * stream_slug : “categories”\n        */\n        \n        fetch(\"https://your-site/api/entries/addon_slug/stream_slug\", requestOptions)\n           .then(response =\u003e response.text())\n           .then(result =\u003e console.log(result))\n           .catch(error =\u003e console.log('error', error));\n\n\n###### Response\n\n        {\n           \"updated_by_id\": null,\n           \"created_by_id\": null,\n           \"sort_order\": 2,\n           \"slug\": \"test\",\n           \"updated_at\": \"2021-06-14T08:32:48.000000Z\",\n           \"created_at\": \"2021-06-14T08:32:48.000000Z\",\n           \"id\": 2,\n           \"name\": \"TEST EN Title\",\n           \"description\": null,\n           \"meta_title\": null,\n           \"meta_description\": null\n        }\n        \n        \n\u003chr\u003e\n\n## Example Update\n\n###### Request\n\n        var myHeaders = new Headers();\n        \n        /**\n        * Copy and Paste Authentication Response \"access_token\" for Authorization\n        */\n        \n        myHeaders.append(\"Authorization\", \"Bearer PASTE_HERE_ACCESS_TOKEN\");\n        myHeaders.append(\"Content-Type\", \"application/json\");\n        \n        var raw = JSON.stringify({\n           \"en\": {\"name\": \"TEST EN New Title\"}, // Translatable Field\n           \"tr\": {\"name\": \"TEST TR New Title\"}, // Translatable Field\n           \"slug\":\"test_updated\"\n        });\n        \n        var requestOptions = {\n           method: 'PUT', // It is used for the PUT method update function.\n           headers: myHeaders,\n           body: raw,\n           redirect: 'follow'\n        };\n        \n        /**\n        * addon_slug : advs, cats, posts, ...\n        * stream_slug : \"advs\" for Advs Module, \"category\" for Cats Module, \"categories\" for Posts Module, …\n        * entry_id : Represents the ID (primary_id) found in the database\n        */\n        \n        /**\n        * Example\n        * addon_slug : “posts”,\n        * stream_slug : “categories”,\n        * entry_id : “1”\n        */\n        \n        \n        fetch(\"https://your-site/api/entries/addon_slug/stream_slug/entry_id\", requestOptions)\n           .then(response =\u003e response.text())\n           .then(result =\u003e console.log(result))\n           .catch(error =\u003e console.log('error', error));\n           \n           \n###### Response\n\n        true\n        \n\u003chr\u003e\n\n## Example Delete\n\n###### Request\n\n        var myHeaders = new Headers();\n        \n        /**\n        * Copy and Paste Authentication Response \"access_token\" for Authorization\n        */\n        \n        myHeaders.append(\"Authorization\", \"Bearer PASTE_HERE_ACCESS_TOKEN\");\n        myHeaders.append(\"Content-Type\", \"application/json\");\n        \n        var requestOptions = {\n           method: 'DELETE', // It is used for the DELETE method delete function.\n           headers: myHeaders,\n           redirect: 'follow'\n        };\n        \n        /**\n        * addon_slug : advs, cats, posts, ...\n        * stream_slug : \"advs\" for Advs Module, \"category\" for Cats Module, \"categries\" for Posts, ...\n        */\n        \n        \n        /**\n        * Example\n        * addon_slug : “posts”,\n        * stream_slug : “categories”,\n        * entry_id : “1”\n        */\n        \n        fetch(\"https://your-site/api/entries/addon_slug/stream_slug/entry_id\", requestOptions)\n           .then(response =\u003e response.text())\n           .then(result =\u003e console.log(result))\n           .catch(error =\u003e console.log('error', error));\n\n\n###### Response\n\n        true\n        \n\u003chr\u003e\n\n## Example List\n\n###### Request\n\n            var myHeaders = new Headers();\n            \n            /**\n            * Copy and Paste Authentication Response \"access_token\" for Authorization\n            */\n            \n            myHeaders.append(\"Authorization\", \"Bearer PASTE_HERE_ACCESS_TOKEN\");\n            myHeaders.append(\"Content-Type\", \"application/json\");\n            \n            var requestOptions = {\n               method: 'GET', // It is used for the GET method get function.\n               headers: myHeaders,\n               redirect: 'follow'\n            };\n            \n            /**\n            * addon_slug : advs, cats, posts, ...\n            * stream_slug : \"advs\" for Advs Module, \"category\" for Cats Module, \"categries\" for Posts, ...\n            */\n            \n            \n            /**\n            * Example\n            * addon_slug : “posts”,\n            * stream_slug : “categories”\n            */\n            \n            fetch(\"https://your-site/api/entries/addon_slug/stream_slug\", requestOptions)\n               .then(response =\u003e response.text())\n               .then(result =\u003e console.log(result))\n               .catch(error =\u003e console.log('error', error));\n\n\n\n###### Response\n\n\n            {\n               \"data\": [\n               {\n                   \"id\": 1,\n                   \"sort_order\": 1,\n                   \"created_at\": \"2021-06-01T11:48:32.000000Z\",\n                   \"created_by_id\": null,\n                   \"updated_at\": \"2021-06-01T11:48:32.000000Z\",\n                   \"updated_by_id\": null,\n                   \"deleted_at\": null,\n                   \"slug\": \"news\",\n                   \"name\": \"News\",\n                   \"description\": \"Company news and updates.\",\n                   \"meta_title\": null,\n                   \"meta_description\": null\n               },\n               {\n                   \"id\": 3,\n                   \"sort_order\": 2,\n                   \"created_at\": \"2021-06-14T08:49:45.000000Z\",\n                   \"created_by_id\": null,\n                   \"updated_at\": \"2021-06-14T08:49:45.000000Z\",\n                   \"updated_by_id\": null,\n                   \"deleted_at\": null,\n                   \"slug\": \"test_updated\",\n                   \"name\": \"TEST EN New Title\",\n                   \"description\": null,\n                   \"meta_title\": null,\n                   \"meta_description\": null\n               }\n            ],\n               \"pagination\": {\n               \"current_page\": 1,\n                   \"first_page_url\": \"/api/entries/posts/categories?page=1\",\n                   \"from\": 1,\n                   \"last_page\": 1,\n                   \"last_page_url\": \"/api/entries/posts/categories?page=1\",\n                   \"links\": [\n                   {\n                       \"url\": null,\n                       \"label\": \"\u0026laquo; Previous\",\n                       \"active\": false\n                   },\n                   {\n                       \"url\": \"/api/entries/posts/categories?page=1\",\n                       \"label\": \"1\",\n                       \"active\": true\n                   },\n                   {\n                       \"url\": null,\n                       \"label\": \"Next \u0026raquo;\",\n                       \"active\": false\n                   }\n               ],\n                   \"next_page_url\": null,\n                   \"path\": \"/api/entries/posts/categories\",\n                   \"per_page\": 15,\n                   \"prev_page_url\": null,\n                   \"to\": 2,\n                   \"total\": 2\n            }\n            }\n\n\n\u003chr\u003e\n\n## Example Detail Entry\n\n\n###### Request\n\n            var myHeaders = new Headers();\n            \n            /**\n            * Copy and Paste Authentication Response \"access_token\" for Authorization\n            */\n            \n            myHeaders.append(\"Authorization\", \"Bearer PASTE_HERE_ACCESS_TOKEN\");\n            myHeaders.append(\"Content-Type\", \"application/json\");\n            \n            var requestOptions = {\n               method: 'GET', // It is used for the GET method get function.\n               headers: myHeaders,\n               redirect: 'follow'\n            };\n            \n            /**\n            * addon_slug : advs, cats, posts, ...\n            * stream_slug : \"advs\" for Advs Module, \"category\" for Cats Module, \"categries\" for Posts, ...\n            */\n            \n            \n            /**\n            * Example\n            * addon_slug : “posts”,\n            * stream_slug : “categories”,\n            * entry_id : “1” or “2”\n            */\n            \n            fetch(\"https://your-site/api/entries/addon_slug/stream_slug/entry_id\", requestOptions)\n               .then(response =\u003e response.text())\n               .then(result =\u003e console.log(result))\n               .catch(error =\u003e console.log('error', error));\n\n\n###### Response\n\n\n            {\n               \"data\": {\n               \"id\": 2,\n                   \"sort_order\": 2,\n                   \"created_at\": \"2021-06-14T08:49:45.000000Z\",\n                   \"created_by_id\": null,\n                   \"updated_at\": \"2021-06-14T08:49:45.000000Z\",\n                   \"updated_by_id\": null,\n                   \"deleted_at\": null,\n                   \"slug\": \"test_updated\",\n                   \"name\": \"TEST EN New Title\",\n                   \"description\": null,\n                   \"meta_title\": null,\n                   \"meta_description\": null\n            }\n            }\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenclassify%2Fconnect-module","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenclassify%2Fconnect-module","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenclassify%2Fconnect-module/lists"}