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 }