2026-09-05 00:57:28 +03:00
//
// Copyright 2026 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.6.2
// - protoc v7.34.1
// source: org/signal/chat/donations.proto
package donations
import (
context "context"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
)
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.64.0 or later.
const _ = grpc . SupportPackageIsVersion9
const (
Donations_RedeemReceipt_FullMethodName = "/org.signal.chat.donations.Donations/RedeemReceipt"
Donations_CreateDonationPermit_FullMethodName = "/org.signal.chat.donations.Donations/CreateDonationPermit"
)
// DonationsClient is the client API for Donations service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type DonationsClient interface {
2026-10-08 15:18:56 +03:00
// Redeem a receipt acquired from Subscriptions.GetReceiptCredential
2026-09-05 00:57:28 +03:00
// to add a badge to the account. After successful redemption, profile
// responses will include the corresponding badge (if configured as visible)
// until the expiration time on the receipt.
RedeemReceipt ( ctx context . Context , in * RedeemReceiptRequest , opts ... grpc . CallOption ) ( * RedeemReceiptResponse , error )
// Generate a set of anonymous, single-use, permits for use with /v1/subscription endpoints.
//
// If rate limited, reduce requested permit count and/or try again after the prescribed delay.
CreateDonationPermit ( ctx context . Context , in * CreateDonationPermitRequest , opts ... grpc . CallOption ) ( * CreateDonationPermitResponse , error )
}
type donationsClient struct {
cc grpc . ClientConnInterface
}
func NewDonationsClient ( cc grpc . ClientConnInterface ) DonationsClient {
return & donationsClient { cc }
}
func ( c * donationsClient ) RedeemReceipt ( ctx context . Context , in * RedeemReceiptRequest , opts ... grpc . CallOption ) ( * RedeemReceiptResponse , error ) {
cOpts := append ( [ ] grpc . CallOption { grpc . StaticMethod ( ) } , opts ... )
out := new ( RedeemReceiptResponse )
err := c . cc . Invoke ( ctx , Donations_RedeemReceipt_FullMethodName , in , out , cOpts ... )
if err != nil {
return nil , err
}
return out , nil
}
func ( c * donationsClient ) CreateDonationPermit ( ctx context . Context , in * CreateDonationPermitRequest , opts ... grpc . CallOption ) ( * CreateDonationPermitResponse , error ) {
cOpts := append ( [ ] grpc . CallOption { grpc . StaticMethod ( ) } , opts ... )
out := new ( CreateDonationPermitResponse )
err := c . cc . Invoke ( ctx , Donations_CreateDonationPermit_FullMethodName , in , out , cOpts ... )
if err != nil {
return nil , err
}
return out , nil
}
// DonationsServer is the server API for Donations service.
// All implementations must embed UnimplementedDonationsServer
// for forward compatibility.
type DonationsServer interface {
2026-10-08 15:18:56 +03:00
// Redeem a receipt acquired from Subscriptions.GetReceiptCredential
2026-09-05 00:57:28 +03:00
// to add a badge to the account. After successful redemption, profile
// responses will include the corresponding badge (if configured as visible)
// until the expiration time on the receipt.
RedeemReceipt ( context . Context , * RedeemReceiptRequest ) ( * RedeemReceiptResponse , error )
// Generate a set of anonymous, single-use, permits for use with /v1/subscription endpoints.
//
// If rate limited, reduce requested permit count and/or try again after the prescribed delay.
CreateDonationPermit ( context . Context , * CreateDonationPermitRequest ) ( * CreateDonationPermitResponse , error )
mustEmbedUnimplementedDonationsServer ( )
}
// UnimplementedDonationsServer must be embedded to have
// forward compatible implementations.
//
// NOTE: this should be embedded by value instead of pointer to avoid a nil
// pointer dereference when methods are called.
type UnimplementedDonationsServer struct { }
func ( UnimplementedDonationsServer ) RedeemReceipt ( context . Context , * RedeemReceiptRequest ) ( * RedeemReceiptResponse , error ) {
return nil , status . Error ( codes . Unimplemented , "method RedeemReceipt not implemented" )
}
func ( UnimplementedDonationsServer ) CreateDonationPermit ( context . Context , * CreateDonationPermitRequest ) ( * CreateDonationPermitResponse , error ) {
return nil , status . Error ( codes . Unimplemented , "method CreateDonationPermit not implemented" )
}
func ( UnimplementedDonationsServer ) mustEmbedUnimplementedDonationsServer ( ) { }
func ( UnimplementedDonationsServer ) testEmbeddedByValue ( ) { }
// UnsafeDonationsServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to DonationsServer will
// result in compilation errors.
type UnsafeDonationsServer interface {
mustEmbedUnimplementedDonationsServer ( )
}
func RegisterDonationsServer ( s grpc . ServiceRegistrar , srv DonationsServer ) {
// If the following call panics, it indicates UnimplementedDonationsServer was
// embedded by pointer and is nil. This will cause panics if an
// unimplemented method is ever invoked, so we test this at initialization
// time to prevent it from happening at runtime later due to I/O.
if t , ok := srv . ( interface { testEmbeddedByValue ( ) } ) ; ok {
t . testEmbeddedByValue ( )
}
s . RegisterService ( & Donations_ServiceDesc , srv )
}
func _Donations_RedeemReceipt_Handler ( srv interface { } , ctx context . Context , dec func ( interface { } ) error , interceptor grpc . UnaryServerInterceptor ) ( interface { } , error ) {
in := new ( RedeemReceiptRequest )
if err := dec ( in ) ; err != nil {
return nil , err
}
if interceptor == nil {
return srv . ( DonationsServer ) . RedeemReceipt ( ctx , in )
}
info := & grpc . UnaryServerInfo {
Server : srv ,
FullMethod : Donations_RedeemReceipt_FullMethodName ,
}
handler := func ( ctx context . Context , req interface { } ) ( interface { } , error ) {
return srv . ( DonationsServer ) . RedeemReceipt ( ctx , req . ( * RedeemReceiptRequest ) )
}
return interceptor ( ctx , in , info , handler )
}
func _Donations_CreateDonationPermit_Handler ( srv interface { } , ctx context . Context , dec func ( interface { } ) error , interceptor grpc . UnaryServerInterceptor ) ( interface { } , error ) {
in := new ( CreateDonationPermitRequest )
if err := dec ( in ) ; err != nil {
return nil , err
}
if interceptor == nil {
return srv . ( DonationsServer ) . CreateDonationPermit ( ctx , in )
}
info := & grpc . UnaryServerInfo {
Server : srv ,
FullMethod : Donations_CreateDonationPermit_FullMethodName ,
}
handler := func ( ctx context . Context , req interface { } ) ( interface { } , error ) {
return srv . ( DonationsServer ) . CreateDonationPermit ( ctx , req . ( * CreateDonationPermitRequest ) )
}
return interceptor ( ctx , in , info , handler )
}
// Donations_ServiceDesc is the grpc.ServiceDesc for Donations service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var Donations_ServiceDesc = grpc . ServiceDesc {
ServiceName : "org.signal.chat.donations.Donations" ,
HandlerType : ( * DonationsServer ) ( nil ) ,
Methods : [ ] grpc . MethodDesc {
{
MethodName : "RedeemReceipt" ,
Handler : _Donations_RedeemReceipt_Handler ,
} ,
{
MethodName : "CreateDonationPermit" ,
Handler : _Donations_CreateDonationPermit_Handler ,
} ,
} ,
Streams : [ ] grpc . StreamDesc { } ,
Metadata : "org/signal/chat/donations.proto" ,
}