mirror of
https://github.com/hanzoai/graph.git
synced 2026-10-30 18:35:37 +00:00
Derived from Dgraph (github.com/dgraph-io/dgraph) at commit 64804bd2, Apache-2.0. See NOTICE. WHAT THIS IS. The graph engine as a Go library: posting lists, the DQL parser, the type and tokenizer system, the index and schema layers, and the wire types. 39,170 lines of the upstream's 166,337. THE STORE is github.com/luxfi/zapdb, a Badger fork that kept the package name, the subpackages (options, pb, y) and the API — Open, OpenManaged, DB, Options — so the 74 import sites are aliased rather than rewritten. THE CODEC is ZAP. zapdb serializes with ZAP, not protobuf: its pb package builds the ZAP types by default and the protobuf ones only under `-tags grpc`, a path that does not compile (table/builder.go calls pb.Marshal, which that tag removes). One call site in posting needed converting; every other type here is Hanzo's own protobuf and is untouched. NO TRANSPORT. An embedded engine dials nothing, so nothing here imports google.golang.org/grpc. Removed: 20 transport functions in x, the generated service stubs for Raft, Zero and Worker (1,657 lines), and the JWT helper — identity belongs to IAM. The core called none of them. NOT KEPT: worker, conn, raftwal, the cluster commands, the GraphQL layer and the test harnesses. `query`, the DQL execution engine, went with them because it depends on worker; parsing DQL is available here, executing it is not. The history of the upstream project lives at github.com/dgraph-io/dgraph. This repository begins at the derivation because three quarters of that history describes code this fork does not carry.
27 lines
1.1 KiB
Bash
Executable File
27 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
# This script modifies the pb.pb.go file to replace certain fields and methods
|
|
# to use the custom data type `Sensitive`.
|
|
#
|
|
# We are doing this because google.golang.org/protobuf does not support custom data types,
|
|
# and we have sensitive data that we do not want to expose in logs.
|
|
# To address this, we defined a `Sensitive` data type to handle such cases.
|
|
#
|
|
# This patch script applies the necessary changes to pb.pb.go.
|
|
PB_GEN_FILE="./pb/pb.pb.go"
|
|
|
|
# Function to perform in-place sed that works on both macOS and Linux
|
|
sed_inplace() {
|
|
local tmpfile
|
|
tmpfile=$(mktemp)
|
|
sed "$1" "$2" >"${tmpfile}" && mv "${tmpfile}" "$2"
|
|
rm -f "${tmpfile}"
|
|
}
|
|
|
|
# Apply the replacements using the cross-platform function
|
|
sed_inplace 's/SessionToken string/SessionToken Sensitive/' "${PB_GEN_FILE}"
|
|
sed_inplace 's/SecretKey string/SecretKey Sensitive/' "${PB_GEN_FILE}"
|
|
sed_inplace 's/GetSessionToken() string {/GetSessionToken() Sensitive {/' "${PB_GEN_FILE}"
|
|
sed_inplace 's/GetSecretKey() string/GetSecretKey() Sensitive/' "${PB_GEN_FILE}"
|
|
|
|
echo "Patches applied successfully."
|