{"id":25830907,"url":"https://github.com/lab5e/go-userapi","last_synced_at":"2026-06-16T14:31:42.074Z","repository":{"id":57577675,"uuid":"355576731","full_name":"lab5e/go-userapi","owner":"lab5e","description":"User API Go client library","archived":false,"fork":false,"pushed_at":"2022-06-30T09:17:48.000Z","size":434,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-28T22:39:00.889Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"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/lab5e.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}},"created_at":"2021-04-07T14:32:48.000Z","updated_at":"2022-06-30T09:16:50.000Z","dependencies_parsed_at":"2022-09-26T19:02:47.620Z","dependency_job_id":null,"html_url":"https://github.com/lab5e/go-userapi","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/lab5e/go-userapi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lab5e%2Fgo-userapi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lab5e%2Fgo-userapi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lab5e%2Fgo-userapi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lab5e%2Fgo-userapi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lab5e","download_url":"https://codeload.github.com/lab5e/go-userapi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lab5e%2Fgo-userapi/sbom","scorecard":{"id":576324,"data":{"date":"2025-08-11","repo":{"name":"github.com/lab5e/go-userapi","commit":"2727c7bccf77bbc3b3fd375b7e546c78c8b430ff"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.9,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":0,"reason":"Found 0/27 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":9,"reason":"1 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2025-3488 / GHSA-6v2p-p543-phr9"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-20T17:53:28.399Z","repository_id":57577675,"created_at":"2025-08-20T17:53:28.399Z","updated_at":"2025-08-20T17:53:28.399Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34410780,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-16T02:00:06.860Z","response_time":126,"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-02-28T19:34:42.907Z","updated_at":"2026-06-16T14:31:42.060Z","avatar_url":"https://github.com/lab5e.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Go API client for userapi\n\nAPI to manage teams, members and tokens\n\n## Overview\nThis API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project.  By using the [OpenAPI-spec](https://www.openapis.org/) from a remote server, you can easily generate an API client.\n\n- API version: 1.3.13 bordering-jerilyn\n- Package version: 1.0.0\n- Build package: org.openapitools.codegen.languages.GoClientCodegen\nFor more information, please visit [https://docs.lab5e.com](https://docs.lab5e.com)\n\n## Installation\n\nInstall the following dependencies:\n\n```shell\ngo get github.com/stretchr/testify/assert\ngo get golang.org/x/oauth2\ngo get golang.org/x/net/context\n```\n\nPut the package under your project folder and add the following in import:\n\n```golang\nimport sw \"./userapi\"\n```\n\nTo use a proxy, set the environment variable `HTTP_PROXY`:\n\n```golang\nos.Setenv(\"HTTP_PROXY\", \"http://proxy_name:proxy_port\")\n```\n\n## Configuration of Server URL\n\nDefault configuration comes with `Servers` field that contains server objects as defined in the OpenAPI specification.\n\n### Select Server Configuration\n\nFor using other server than the one defined on index 0 set context value `sw.ContextServerIndex` of type `int`.\n\n```golang\nctx := context.WithValue(context.Background(), sw.ContextServerIndex, 1)\n```\n\n### Templated Server URL\n\nTemplated server URL is formatted using default variables from configuration or from context value `sw.ContextServerVariables` of type `map[string]string`.\n\n```golang\nctx := context.WithValue(context.Background(), sw.ContextServerVariables, map[string]string{\n\t\"basePath\": \"v2\",\n})\n```\n\nNote, enum values are always validated and all unused variables are silently ignored.\n\n### URLs Configuration per Operation\n\nEach operation can use different server URL defined using `OperationServers` map in the `Configuration`.\nAn operation is uniquely identifield by `\"{classname}Service.{nickname}\"` string.\nSimilar rules for overriding default operation server index and variables applies by using `sw.ContextOperationServerIndices` and `sw.ContextOperationServerVariables` context maps.\n\n```\nctx := context.WithValue(context.Background(), sw.ContextOperationServerIndices, map[string]int{\n\t\"{classname}Service.{nickname}\": 2,\n})\nctx = context.WithValue(context.Background(), sw.ContextOperationServerVariables, map[string]map[string]string{\n\t\"{classname}Service.{nickname}\": {\n\t\t\"port\": \"8443\",\n\t},\n})\n```\n\n## Documentation for API Endpoints\n\nAll URIs are relative to *https://api.lab5e.com*\n\nClass | Method | HTTP request | Description\n------------ | ------------- | ------------- | -------------\n*ProfileApi* | [**GetUserProfile**](docs/ProfileApi.md#getuserprofile) | **Get** /user/profile | Logged in profile\n*TeamsApi* | [**AcceptInvite**](docs/TeamsApi.md#acceptinvite) | **Post** /user/teams/accept | Accept invite\n*TeamsApi* | [**CreateTeam**](docs/TeamsApi.md#createteam) | **Post** /user/teams | Create team\n*TeamsApi* | [**DeleteInvite**](docs/TeamsApi.md#deleteinvite) | **Delete** /user/teams/{teamId}/invites/{code} | Delete invite\n*TeamsApi* | [**DeleteMember**](docs/TeamsApi.md#deletemember) | **Delete** /user/teams/{teamId}/members/{userId} | Remove member\n*TeamsApi* | [**DeleteTeam**](docs/TeamsApi.md#deleteteam) | **Delete** /user/teams/{teamId} | Remove team\n*TeamsApi* | [**GenerateInvite**](docs/TeamsApi.md#generateinvite) | **Post** /user/teams/{teamId}/invites | Generate invite\n*TeamsApi* | [**ListInvites**](docs/TeamsApi.md#listinvites) | **Get** /user/teams/{teamId}/invites | List invites\n*TeamsApi* | [**ListTeams**](docs/TeamsApi.md#listteams) | **Get** /user/teams | List teams\n*TeamsApi* | [**RetrieveInvite**](docs/TeamsApi.md#retrieveinvite) | **Get** /user/teams/{teamId}/invites/{code} | Retrieve invite\n*TeamsApi* | [**RetrieveMember**](docs/TeamsApi.md#retrievemember) | **Get** /user/teams/{teamId}/members/{userId} | Retrieve member\n*TeamsApi* | [**RetrieveTeam**](docs/TeamsApi.md#retrieveteam) | **Get** /user/teams/{teamId} | Retrieve team\n*TeamsApi* | [**RetrieveTeamMembers**](docs/TeamsApi.md#retrieveteammembers) | **Get** /user/teams/{teamId}/members | List members\n*TeamsApi* | [**UpdateMember**](docs/TeamsApi.md#updatemember) | **Patch** /user/teams/{teamId}/members/{userId} | Update member\n*TeamsApi* | [**UpdateTeam**](docs/TeamsApi.md#updateteam) | **Patch** /user/teams/{teamId} | Update team\n*TokensApi* | [**CreateToken**](docs/TokensApi.md#createtoken) | **Post** /user/tokens | Create token\n*TokensApi* | [**DeleteToken**](docs/TokensApi.md#deletetoken) | **Delete** /user/tokens/{token} | Remove token\n*TokensApi* | [**ListTokens**](docs/TokensApi.md#listtokens) | **Get** /user/tokens | List tokens\n*TokensApi* | [**RetrieveToken**](docs/TokensApi.md#retrievetoken) | **Get** /user/tokens/{token} | Retrieve token\n*TokensApi* | [**UpdateToken**](docs/TokensApi.md#updatetoken) | **Patch** /user/tokens/{token} | Update token\n\n\n## Documentation For Models\n\n - [ATeam](docs/ATeam.md)\n - [AcceptInviteRequest](docs/AcceptInviteRequest.md)\n - [AnAPIToken](docs/AnAPIToken.md)\n - [DeleteInviteResponse](docs/DeleteInviteResponse.md)\n - [DeleteTokenResponse](docs/DeleteTokenResponse.md)\n - [Invite](docs/Invite.md)\n - [InviteList](docs/InviteList.md)\n - [Member](docs/Member.md)\n - [MemberList](docs/MemberList.md)\n - [MemberOfATeam](docs/MemberOfATeam.md)\n - [ProtobufAny](docs/ProtobufAny.md)\n - [RequestInviteDetails](docs/RequestInviteDetails.md)\n - [RpcStatus](docs/RpcStatus.md)\n - [Team](docs/Team.md)\n - [TeamList](docs/TeamList.md)\n - [Token](docs/Token.md)\n - [TokenList](docs/TokenList.md)\n - [UserProfile](docs/UserProfile.md)\n\n\n## Documentation For Authorization\n\n\n\n### APIToken\n\n- **Type**: API key\n- **API key parameter name**: X-API-Token\n- **Location**: HTTP header\n\nNote, each API key must be added to a map of `map[string]APIKey` where the key is: X-API-Token and passed in as the auth context for each request.\n\n\n## Documentation for Utility Methods\n\nDue to the fact that model structure members are all pointers, this package contains\na number of utility functions to easily obtain pointers to values of basic types.\nEach of these functions takes a value of the given basic type and returns a pointer to it:\n\n* `PtrBool`\n* `PtrInt`\n* `PtrInt32`\n* `PtrInt64`\n* `PtrFloat`\n* `PtrFloat32`\n* `PtrFloat64`\n* `PtrString`\n* `PtrTime`\n\n## Author\n\ndev@lab5e.com\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flab5e%2Fgo-userapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flab5e%2Fgo-userapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flab5e%2Fgo-userapi/lists"}