protoc-gen-crud

module
v0.0.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 23, 2025 License: Apache-2.0

README

Protobuf Annotations

Go Report Card Go Reference .github/workflows/pipes.yaml

Table of Contents

  1. Feature Support
    1. Message
      1. Operations
      2. Delete Strategy
      3. Partial Creates/Updates
      4. Meta-Data
      5. Audit Logging
    2. Field
      1. Unique Identifiers
      2. Auto-generate Strategy
      3. Nullable
      4. Non-scalar Fields
        1. Relationships
          1. Unidirectional
          2. Bidirectional
    3. References

Feature Support

Items with a check mark have been implemented Items without a check mark have not been implemented but are planned for implementation.

Message

Operations
Implementation Create Read Update Delete
SQLite
PgSQL
Delete Strategy
Implementation Hard Soft
SQLite
PgSQL
Partial Creates/Updates
Implementation Field Mask
SQLite
PgSQL
Row Meta-Data
Implementation Created At Updated At Deleted At
SQLite
PgSQL
Audit Logging
Implementation Implemented
SQLite
PgSQL

Field

Unique Identifiers
Implementation Single Composite
SQLite
PgSQL
As Timestamp
Implementation google.protobuf.Timestamp
SQLite
PgSQL
Auto-generate Strategy
Implementation None UUID Sequential Integer
SQLite
PgSQL
Nullable
Implementation Nullable Not-Nullable
SQLite
PgSQL
Non-scalar Fields
Implementation Skip Inline Relationship (see below)
SQLite -
PgSQL -
Relationships
Unidirectional
Implementation One-to-one One-to-many Many-to-many
SQLite
PgSQL
Bidirectional
Implementation One-to-one One-to-many Many-to-many
SQLite
PgSQL

References

  1. https://go.dev/blog/protobuf-apiv2
  2. https://golang.design/research/generic-option/
  3. https://commandcenter.blogspot.com/2014/01/self-referential-functions-and-design.html
  4. https://github.com/googleapis/googleapis/blob/master/google/api/http.proto
  5. https://github.com/grpc-ecosystem/grpc-gateway/tree/main/protoc-gen-openapiv2/options
  6. https://go.dev/blog/intro-generics
  7. https://pkg.go.dev/modernc.org/sqlite

Directories

Path Synopsis
cmd
internal
casing
REFURL: https://github.com/grpc-ecosystem/grpc-gateway/blob/main/internal/casing/camel.go
REFURL: https://github.com/grpc-ecosystem/grpc-gateway/blob/main/internal/casing/camel.go
descriptor
REFURL: https://github.com/grpc-ecosystem/grpc-gateway/blob/main/internal/descriptor/registry.go
REFURL: https://github.com/grpc-ecosystem/grpc-gateway/blob/main/internal/descriptor/registry.go
generator
REFURL: https://github.com/grpc-ecosystem/grpc-gateway/blob/main/internal/generator/generator.go
REFURL: https://github.com/grpc-ecosystem/grpc-gateway/blob/main/internal/generator/generator.go
generator/crud
REFURL: https://github.com/grpc-ecosystem/grpc-gateway/blob/main/protoc-gen-grpc-gateway/internal/gengateway/generator.go
REFURL: https://github.com/grpc-ecosystem/grpc-gateway/blob/main/protoc-gen-grpc-gateway/internal/gengateway/generator.go
generator/pgsql/crud
REFURL: https://github.com/grpc-ecosystem/grpc-gateway/blob/main/protoc-gen-grpc-gateway/internal/gengateway/generator.go
REFURL: https://github.com/grpc-ecosystem/grpc-gateway/blob/main/protoc-gen-grpc-gateway/internal/gengateway/generator.go
generator/relationship
REFURL: https://github.com/grpc-ecosystem/grpc-gateway/blob/main/protoc-gen-grpc-gateway/internal/gengateway/generator.go
REFURL: https://github.com/grpc-ecosystem/grpc-gateway/blob/main/protoc-gen-grpc-gateway/internal/gengateway/generator.go
generator/sqlite/crud
REFURL: https://github.com/grpc-ecosystem/grpc-gateway/blob/main/protoc-gen-grpc-gateway/internal/gengateway/generator.go
REFURL: https://github.com/grpc-ecosystem/grpc-gateway/blob/main/protoc-gen-grpc-gateway/internal/gengateway/generator.go

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL