22 lines
853 B
Go
22 lines
853 B
Go
package customer
|
|
|
|
import (
|
|
"context"
|
|
"tm/internal/customer/domain/entity"
|
|
|
|
"github.com/google/uuid"
|
|
)
|
|
|
|
// CustomerRepository defines methods for customer (mobile user) data access
|
|
type Repository interface {
|
|
Create(ctx context.Context, customer *entity.Customer) error
|
|
GetByID(ctx context.Context, id uuid.UUID) (*entity.Customer, error)
|
|
GetByEmail(ctx context.Context, email string) (*entity.Customer, error)
|
|
Update(ctx context.Context, customer *entity.Customer) error
|
|
Delete(ctx context.Context, id uuid.UUID) error
|
|
List(ctx context.Context, limit, offset int) ([]*entity.Customer, error)
|
|
GetByCompanyID(ctx context.Context, companyID uuid.UUID, limit, offset int) ([]*entity.Customer, error)
|
|
AddDeviceToken(ctx context.Context, id uuid.UUID, token string) error
|
|
RemoveDeviceToken(ctx context.Context, id uuid.UUID, token string) error
|
|
}
|