github.com/cloudwan/edgelq-sdk@v1.15.4/iam/resources/v1alpha2/permission/permission.pb.access.go (about) 1 // Code generated by protoc-gen-goten-resource 2 // Resource: Permission 3 // DO NOT EDIT!!! 4 5 package permission 6 7 import ( 8 "context" 9 10 "google.golang.org/grpc/codes" 11 "google.golang.org/grpc/status" 12 13 gotenobject "github.com/cloudwan/goten-sdk/runtime/object" 14 gotenresource "github.com/cloudwan/goten-sdk/runtime/resource" 15 "github.com/cloudwan/goten-sdk/types/watch_type" 16 ) 17 18 // proto imports 19 import ( 20 meta "github.com/cloudwan/goten-sdk/types/meta" 21 ) 22 23 // ensure the imports are used 24 var ( 25 _ = new(context.Context) 26 27 _ = codes.Internal 28 _ = status.Status{} 29 30 _ = watch_type.WatchType_STATEFUL 31 _ = new(gotenobject.FieldPath) 32 _ = new(gotenresource.ListQuery) 33 ) 34 35 // make sure we're using proto imports 36 var ( 37 _ = &meta.Meta{} 38 ) 39 40 type PermissionAccess interface { 41 GetPermission(context.Context, *GetQuery, ...gotenresource.GetOption) (*Permission, error) 42 BatchGetPermissions(context.Context, []*Reference, ...gotenresource.BatchGetOption) error 43 QueryPermissions(context.Context, *ListQuery, ...gotenresource.QueryOption) (*QueryResultSnapshot, error) 44 WatchPermission(context.Context, *GetQuery, func(*PermissionChange) error) error 45 WatchPermissions(context.Context, *WatchQuery, func(*QueryResultChange) error) error 46 SavePermission(context.Context, *Permission, ...gotenresource.SaveOption) error 47 DeletePermission(context.Context, *Reference, ...gotenresource.DeleteOption) error 48 } 49 50 type anyCastAccess struct { 51 PermissionAccess 52 } 53 54 func AsAnyCastAccess(access PermissionAccess) gotenresource.Access { 55 return &anyCastAccess{PermissionAccess: access} 56 } 57 58 func (a *anyCastAccess) Get(ctx context.Context, q gotenresource.GetQuery, opts ...gotenresource.GetOption) (gotenresource.Resource, error) { 59 if asPermissionQuery, ok := q.(*GetQuery); ok { 60 return a.GetPermission(ctx, asPermissionQuery, opts...) 61 } 62 return nil, status.Errorf(codes.Internal, 63 "Unrecognized descriptor, expected Permission, got: %s", 64 q.GetResourceDescriptor().GetResourceTypeName().FullyQualifiedTypeName()) 65 } 66 67 func (a *anyCastAccess) Query(ctx context.Context, q gotenresource.ListQuery, opts ...gotenresource.QueryOption) (gotenresource.QueryResultSnapshot, error) { 68 if asPermissionQuery, ok := q.(*ListQuery); ok { 69 return a.QueryPermissions(ctx, asPermissionQuery, opts...) 70 } 71 return nil, status.Errorf(codes.Internal, 72 "Unrecognized descriptor, expected Permission, got: %s", 73 q.GetResourceDescriptor().GetResourceTypeName().FullyQualifiedTypeName()) 74 } 75 76 func (a *anyCastAccess) Search(ctx context.Context, q gotenresource.SearchQuery, opts ...gotenresource.QueryOption) (gotenresource.QueryResultSnapshot, error) { 77 return nil, status.Errorf(codes.Internal, "Search is not available for Permission") 78 } 79 80 func (a *anyCastAccess) Watch(ctx context.Context, q gotenresource.GetQuery, cb func(ch gotenresource.ResourceChange) error) error { 81 if asPermissionQuery, ok := q.(*GetQuery); ok { 82 return a.WatchPermission(ctx, asPermissionQuery, func(change *PermissionChange) error { 83 return cb(change) 84 }) 85 } 86 return status.Errorf(codes.Internal, 87 "Unrecognized descriptor, expected Permission, got: %s", 88 q.GetResourceDescriptor().GetResourceTypeName().FullyQualifiedTypeName()) 89 } 90 91 func (a *anyCastAccess) WatchQuery(ctx context.Context, q gotenresource.WatchQuery, cb func(ch gotenresource.QueryResultChange) error) error { 92 if asPermissionQuery, ok := q.(*WatchQuery); ok { 93 return a.WatchPermissions(ctx, asPermissionQuery, func(change *QueryResultChange) error { 94 return cb(change) 95 }) 96 } 97 return status.Errorf(codes.Internal, 98 "Unrecognized descriptor, expected Permission, got: %s", 99 q.GetResourceDescriptor().GetResourceTypeName().FullyQualifiedTypeName()) 100 } 101 102 func (a *anyCastAccess) Save(ctx context.Context, res gotenresource.Resource, opts ...gotenresource.SaveOption) error { 103 if asPermissionRes, ok := res.(*Permission); ok { 104 return a.SavePermission(ctx, asPermissionRes, opts...) 105 } 106 return status.Errorf(codes.Internal, 107 "Unrecognized descriptor, expected Permission, got: %s", 108 res.GetResourceDescriptor().GetResourceTypeName().FullyQualifiedTypeName()) 109 } 110 111 func (a *anyCastAccess) Delete(ctx context.Context, ref gotenresource.Reference, opts ...gotenresource.DeleteOption) error { 112 if asPermissionRef, ok := ref.(*Reference); ok { 113 return a.DeletePermission(ctx, asPermissionRef, opts...) 114 } 115 return status.Errorf(codes.Internal, 116 "Unrecognized descriptor, expected Permission, got: %s", 117 ref.GetResourceDescriptor().GetResourceTypeName().FullyQualifiedTypeName()) 118 } 119 120 func (a *anyCastAccess) BatchGet(ctx context.Context, toGet []gotenresource.Reference, opts ...gotenresource.BatchGetOption) error { 121 permissionRefs := make([]*Reference, 0, len(toGet)) 122 for _, ref := range toGet { 123 if asPermissionRef, ok := ref.(*Reference); !ok { 124 return status.Errorf(codes.Internal, 125 "Unrecognized descriptor, expected Permission, got: %s", 126 ref.GetResourceDescriptor().GetResourceTypeName().FullyQualifiedTypeName()) 127 } else { 128 permissionRefs = append(permissionRefs, asPermissionRef) 129 } 130 } 131 return a.BatchGetPermissions(ctx, permissionRefs, opts...) 132 } 133 134 func (a *anyCastAccess) GetResourceDescriptors() []gotenresource.Descriptor { 135 return []gotenresource.Descriptor{ 136 GetDescriptor(), 137 } 138 }