20 lines
916 B
Go
20 lines
916 B
Go
package contract
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/google/uuid"
|
|
)
|
|
|
|
type AccountContract interface {
|
|
CreateAccount(ctx context.Context, req *CreateAccountRequest) (*AccountResponse, error)
|
|
GetAccountByID(ctx context.Context, id uuid.UUID) (*AccountResponse, error)
|
|
UpdateAccount(ctx context.Context, id uuid.UUID, req *UpdateAccountRequest) (*AccountResponse, error)
|
|
DeleteAccount(ctx context.Context, id uuid.UUID) error
|
|
ListAccounts(ctx context.Context, req *ListAccountsRequest) ([]AccountResponse, int, error)
|
|
GetAccountsByOrganization(ctx context.Context, organizationID uuid.UUID, outletID *uuid.UUID) ([]AccountResponse, error)
|
|
GetAccountsByChartOfAccount(ctx context.Context, chartOfAccountID uuid.UUID) ([]AccountResponse, error)
|
|
UpdateAccountBalance(ctx context.Context, id uuid.UUID, req *UpdateAccountBalanceRequest) error
|
|
GetAccountBalance(ctx context.Context, id uuid.UUID) (float64, error)
|
|
}
|