MCPcopy Create free account
hub / github.com/Permify/permify / Read

Method Read

internal/servers/schema_server.go:203–229  ·  view source on GitHub ↗

Read - Read created Schema

(ctx context.Context, request *v1.SchemaReadRequest)

Source from the content-addressed store, hash-verified

201
202// Read - Read created Schema
203func (r *SchemaServer) Read(ctx context.Context, request *v1.SchemaReadRequest) (*v1.SchemaReadResponse, error) {
204 ctx, span := internal.Tracer.Start(ctx, "schemas.read")
205 defer span.End()
206
207 version := request.GetMetadata().GetSchemaVersion()
208 if version == "" {
209 ver, err := r.sr.HeadVersion(ctx, request.GetTenantId())
210 if err != nil {
211 return nil, status.Error(GetStatus(err), err.Error()) // Return version error
212 }
213 version = ver
214 }
215
216 response, err := r.sr.ReadSchema(ctx, request.GetTenantId(), version)
217 if err != nil {
218 span.RecordError(err)
219 span.SetStatus(otelCodes.Error, err.Error())
220 slog.ErrorContext(ctx, err.Error())
221 return nil, status.Error(GetStatus(err), err.Error())
222 }
223
224 r.readSchemaHistogram.Record(ctx, 1)
225
226 return &v1.SchemaReadResponse{
227 Schema: response,
228 }, nil
229}
230
231// List retrieves all schema versions for a tenant with pagination
232func (r *SchemaServer) List(ctx context.Context, request *v1.SchemaListRequest) (*v1.SchemaListResponse, error) { // List schemas

Callers

nothing calls this directly

Implementers 1

UnimplementedSchemaServerpkg/pb/base/v1/service_grpc.pb.go

Calls 8

GetStatusFunction · 0.85
StartMethod · 0.80
HeadVersionMethod · 0.65
ReadSchemaMethod · 0.65
GetSchemaVersionMethod · 0.45
GetMetadataMethod · 0.45
GetTenantIdMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected