{"id":20091453,"url":"https://github.com/dector/gitfox-mirror","last_synced_at":"2025-07-04T11:40:44.354Z","repository":{"id":139031846,"uuid":"341706824","full_name":"dector/gitfox-mirror","owner":"dector","description":"Unofficial mirror for KMPP `gitlab-client` by @terrakok","archived":false,"fork":false,"pushed_at":"2021-02-23T22:23:06.000Z","size":15886,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"develop","last_synced_at":"2025-01-13T03:09:41.251Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://gitlab.com/terrakok/gitlab-client","language":"Kotlin","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dector.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":"2021-02-23T22:22:29.000Z","updated_at":"2024-10-16T16:16:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"38c55cfb-a7e1-4eee-a20e-ce8a3af53910","html_url":"https://github.com/dector/gitfox-mirror","commit_stats":null,"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dector%2Fgitfox-mirror","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dector%2Fgitfox-mirror/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dector%2Fgitfox-mirror/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dector%2Fgitfox-mirror/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dector","download_url":"https://codeload.github.com/dector/gitfox-mirror/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241533639,"owners_count":19977825,"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-13T16:32:16.955Z","updated_at":"2025-03-02T15:49:13.942Z","avatar_url":"https://github.com/dector.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitFox\n#### This repository contains several parts:\n - Multiplatform SDK for creating clients on various platforms (Android, iOS and browser)\n - Android application GitFox:\n   * https://play.google.com/store/apps/details?id=com.gitlab.terrakok.gitfox\n   * https://f-droid.org/ru/packages/com.gitlab.terrakok.gitfox/\n - iOS sample of using SDK with Swift\n\n#### SDK\nGitFox SDK is library for creating clients application for GitLab servers.\nThis is some supported features:\n - OAuth authorization on GitLab.com\n - authotrization with private token on any GitLab server\n - multi account and switching bitween them\n - getting information about projects, users, issues, todo's, merge requests and etc.\n - sending commentaries\n - and more\n\n**Request and vote for new functionality!**\n\n#### Build\n**Build Android library**  \nDebug AAR: `./gradlew :sdk:assembleDebug`  \nRelease AAR: `./gradlew :sdk:assembleRelease`  \nYou can find **aar** library here: `./sdk/build/outputs/aar`  \n\n**Build iOS framework**  \nFor iOS simulator: `./gradlew :sdk:packForXcode`  \nFor iOS device: `SDK_NAME=iphoneos ./gradlew :sdk:packForXcode`  \nYou can find **framework** here: `./sdk/build/xcode-frameworks`  \n\n**Build js webpack library**  \nFor development: `./gradlew :sdk:jsBrowserDevelopmentWebpack`  \nFor production: `./gradlew :sdk:jsBrowserProductionWebpack`  \nYou can find **sdk.js** here: `./sdk/build/distributions`  \n\n#### OAuth Authorization sample for Android:\n```kotlin\nval sdk = SDK.create(\n    context,\n    oAuthParams = OAuthParams(\n        \"https://gitlab.com/\",\n        \"appId\",\n        \"appKey\",\n        \"redirectUrl\"\n    ),\n    isDebug = BuildConfig.DEBUG\n)\n\nval sessionInteractor = sdk.getSessionInteractor()\n\nwebView.webViewClient = object : WebViewClient() {\n    override fun shouldOverrideUrlLoading(\n        view: WebView,\n        request: WebResourceRequest\n    ): Boolean {\n        val url = request.url.toString()\n        if (sessionInteractor.checkOAuthRedirect(url)) {\n            launch {\n                sessionInteractor.login(url)\n                //at the moment you are logged in\n                val p = sdk.getProjectInteractor().getProject(2977308)\n                println(p)\n            }\n            return true\n        } else {\n            view.loadUrl(url)\n            return false\n        }\n    }\n}\n//start oauth authorization\nwebView.loadUrl(sessionInteractor.oauthUrl)\n```\n\n#### Private token authorization for iOS:\n```swift\nimport GitFoxSDK\n\nlet sdk = IosSDK.init(\n    oAuthParams: OAuthParams.init(\n        endpoint: \"https://gitlab.com/\",\n        appId: \"appId\",\n        appKey: \"appKey\",\n        redirectUrl: \"redirectUrl\"\n   ),\n   isDebug: true\n)\n\nsdk.getSessionInteractor().loginOnCustomServer(\n    serverPath: \"https://gitlab.com/\",\n    token: \"put real private token!\"\n) { result, err in\n    if err == nil {\n        //at the moment you are logged in\n        sdk.getProjectInteractor().getProject(id: 2977308) { result, err in\n            if let project = result {\n                print(project)\n            } else {\n                print(\"error: \" + err!.message!)\n            }\n        }\n    } else {\n        print(\"error: \" + err!.message!)\n    }\n}\n```\n\n#### Private token authorization for JavaScript:\n```javascript\nconst SDK = new sdk.gitfox.JsSDK(\n  new sdk.gitfox.entity.app.session.OAuthParams(\n    \"https://gitlab.com/\", \"\", \"\", \"\"\n  ),\n  true\n);\nSDK.getSessionInteractor().loginOnCustomServer(\n\t\"https://gitlab.com/\", \"put real private token!\"\n).then( () =\u003e {\n  SDK.getProjectInteractor().getProject(2977308).then( (project, err) =\u003e alert(project) );\n});\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdector%2Fgitfox-mirror","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdector%2Fgitfox-mirror","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdector%2Fgitfox-mirror/lists"}