Chevalier
06/11/2024, 1:22 PM{
code: 14,
details: 'Connection dropped',
metadata: Metadata { internalRepr: Map(0) {}, options: {} }
}
const { v1 } = require('@authzed/authzed-node');
const client = v1.NewClient(
'token'
);
const main = async () => {
const referenceId = 'vcdZovFfQE6oOGZqTkWOqw+version=3';
const referenceType = 'version';
const request = v1.LookupSubjectsRequest.create({
resource: v1.ObjectReference.create({
objectType: `meta_permission/version`,
objectId: referenceId
}),
permission: 'can_view',
subjectObjectType: `meta_permission/user`,
consistency: v1.Consistency.create({
requirement: {
oneofKind: 'fullyConsistent',
fullyConsistent: true
}
})
});
const ret1 = await new Promise((resolve, reject) => {
client.lookupSubjects(request, (err, response) => {
if (err) reject(err);
resolve(response);
});
});
console.log(JSON.stringify(ret1));
console.log(JSON.stringify(ret1));
};
main()
.then(() => {})
.catch((err) => {
console.log(err);
});
Chevalier
06/11/2024, 1:23 PMChevalier
06/11/2024, 1:26 PMexpandPermissionTree
successvroldanbet
06/11/2024, 1:36 PMvroldanbet
06/11/2024, 1:36 PMvroldanbet
06/11/2024, 1:37 PMChevalier
06/11/2024, 1:49 PMChevalier
06/11/2024, 1:49 PMChevalier
06/11/2024, 1:53 PMpackage main
import (
"context"
"log"
"github.com/authzed/authzed-go/proto/authzed/api/v1"
"github.com/authzed/authzed-go/v1"
"github.com/authzed/grpcutil"
)
func main() {
//emilia := &v1.SubjectReference{Object: &v1.ObjectReference{
// ObjectType: "blog/user",
// ObjectId: "emilia",
//}}
//
//firstPost := &v1.ObjectReference{
// ObjectType: "blog/post",
// ObjectId: "1",
//}
resource := &v1.ObjectReference{
ObjectType: "meta_permission/version",
ObjectId: "vcdZovFfQE6oOGZqTkWOqw+version=3",
}
consistency := &v1.Consistency{
Requirement: &v1.Consistency_MinimizeLatency{
MinimizeLatency: true,
},
}
withSysCerts, err := grpcutil.WithSystemCerts(grpcutil.VerifyCA)
if err != nil {
log.Fatalf("error creating system certs: %v", err)
}
client, err := authzed.NewClient(
"grpc.authzed.com:443",
withSysCerts,
grpcutil.WithBearerToken("token"),
)
if err != nil {
log.Fatalf("unable to initialize client: %s", err)
}
resp, err := client.LookupSubjects(context.Background(), &v1.LookupSubjectsRequest{
Resource: resource,
Permission: "can_view",
SubjectObjectType: "meta_permission/user",
Consistency: consistency,
})
//resp, err := client.CheckPermission(context.Background(), &v1.CheckPermissionRequest{
// Resource: firstPost,
// Permission: "read",
// Subject: emilia,
//})
if err != nil {
log.Fatalf("failed to check permission: %s", err)
}
log.Println(resp)
}
vroldanbet
06/11/2024, 1:55 PMChevalier
06/11/2024, 2:02 PMChevalier
06/11/2024, 2:16 PMconst { promises: client } = v1.NewClient(
''
);
const res = await client.lookupSubjects(request, new grpc.Metadata(), {});