https://github.com/strmprivacy/api-definitions
  
  
    Our small contribution to your next API: these are the gRPC/Proto definitions STRM Privacy uses for our internal management APIs. It is a *push-only mirror* of our api-definitions repo we keep in GitLab, but we hope this serves as inspiration and/or a quick way for you to get started with gRPC yourself! 
    https://github.com/strmprivacy/api-definitions
  
golang grpc grpc-go grpc-java grpc-kotlin grpc-python grpc-web kotlin protobuf protocol-buffers python3 typescript
        Last synced: 6 months ago 
        JSON representation
    
Our small contribution to your next API: these are the gRPC/Proto definitions STRM Privacy uses for our internal management APIs. It is a *push-only mirror* of our api-definitions repo we keep in GitLab, but we hope this serves as inspiration and/or a quick way for you to get started with gRPC yourself!
- Host: GitHub
- URL: https://github.com/strmprivacy/api-definitions
- Owner: strmprivacy
- License: apache-2.0
- Created: 2022-04-14T13:14:21.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2023-12-17T03:14:40.000Z (almost 2 years ago)
- Last Synced: 2025-04-02T09:44:36.855Z (7 months ago)
- Topics: golang, grpc, grpc-go, grpc-java, grpc-kotlin, grpc-python, grpc-web, kotlin, protobuf, protocol-buffers, python3, typescript
- Language: Makefile
- Homepage: https://strmprivacy.io
- Size: 1.8 MB
- Stars: 9
- Watchers: 5
- Forks: 0
- Open Issues: 0
- 
            Metadata Files:
            - Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
 
Awesome Lists containing this project
README
          # STRM Privacy API definitions
This project contains all `proto` file definitions for the STRM Privacy APIs.
## Starting with STRM Privacy
Curious what we're building at STRM Privacy? See our [homepage](https://strmprivacy.io) or dive right into
our [documentation](https://docs.strmprivacy.io) to get started.
## Developing API Definitions
For more developer information, see the `docs` directory.
### gRPC Guidelines
We try to adhere to the Google gRPC guidelines (the so
called `API Improvement Proposals`), which can be
found [here](https://google.aip.dev). Our idea is to use
the [Google API Linter](https://github.com/googleapis/api-linter) for checking
the adherence to the Google AIPs.
### IntelliJ and Protobuf plugin configuration
Run `./setup-ide-protobuf-plugins.sh` to configure the following Protobuf
plugins:
- [Protocol Buffers (official)](https://plugins.jetbrains.com/plugin/14004-protocol-buffers):
  works fine for basic usage.
- [Protobuf (non official)](https://plugins.jetbrains.com/plugin/16422-protobuf):
  has more functionality than the official plugin.
### Install
Make sure [buf](https://buf.build) is installed. The `Makefile` is the
entrypoint
of this repository and should be used to generate code and build artifacts for
various languages.
## Proto validations
This repository
uses [bufbuild/protoc-gen-validate](https://github.com/bufbuild/protoc-gen-validate)
to validate Protobuf messages.
**Important!** 
If validations are created for messages in `A.proto` and file `B.proto` contains
messages that use messages from `A.proto`, but `B.proto` does not
import `validate.proto`, no validators are generated for `B.proto`, and thus no
validations happen that are defined in `A.proto`, even though `B.proto` might
use messages from `A.proto` in its own messages.