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  }