source, targetDate 그룹에서 최신만 선택

- 조회 시, 과거 데이터 무시
- 저장 자체를 최신 데이터만 해도 되긴하는데, 디버깅 용도 혹은 다른 방법으로 쓰일 걸 염두에 두고, 그냥 냅둔다.
This commit is contained in:
2025-12-09 22:54:32 +09:00
parent 70c7bbf591
commit f3a172ad3c
7 changed files with 293 additions and 19 deletions

View File

@@ -0,0 +1,120 @@
// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/neatflowcv/seven-skies/internal/pkg/repository (interfaces: Repository)
//
// Generated by this command:
//
// mockgen -typed -package=mocks -destination=mocks/repository.go . Repository
//
// Package mocks is a generated GoMock package.
package mocks
import (
context "context"
reflect "reflect"
time "time"
domain "github.com/neatflowcv/seven-skies/internal/pkg/domain"
gomock "go.uber.org/mock/gomock"
)
// MockRepository is a mock of Repository interface.
type MockRepository struct {
ctrl *gomock.Controller
recorder *MockRepositoryMockRecorder
isgomock struct{}
}
// MockRepositoryMockRecorder is the mock recorder for MockRepository.
type MockRepositoryMockRecorder struct {
mock *MockRepository
}
// NewMockRepository creates a new mock instance.
func NewMockRepository(ctrl *gomock.Controller) *MockRepository {
mock := &MockRepository{ctrl: ctrl}
mock.recorder = &MockRepositoryMockRecorder{mock}
return mock
}
// EXPECT returns an object that allows the caller to indicate expected use.
func (m *MockRepository) EXPECT() *MockRepositoryMockRecorder {
return m.recorder
}
// CreateWeather mocks base method.
func (m *MockRepository) CreateWeather(ctx context.Context, weather *domain.Weather) error {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "CreateWeather", ctx, weather)
ret0, _ := ret[0].(error)
return ret0
}
// CreateWeather indicates an expected call of CreateWeather.
func (mr *MockRepositoryMockRecorder) CreateWeather(ctx, weather any) *MockRepositoryCreateWeatherCall {
mr.mock.ctrl.T.Helper()
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateWeather", reflect.TypeOf((*MockRepository)(nil).CreateWeather), ctx, weather)
return &MockRepositoryCreateWeatherCall{Call: call}
}
// MockRepositoryCreateWeatherCall wrap *gomock.Call
type MockRepositoryCreateWeatherCall struct {
*gomock.Call
}
// Return rewrite *gomock.Call.Return
func (c *MockRepositoryCreateWeatherCall) Return(arg0 error) *MockRepositoryCreateWeatherCall {
c.Call = c.Call.Return(arg0)
return c
}
// Do rewrite *gomock.Call.Do
func (c *MockRepositoryCreateWeatherCall) Do(f func(context.Context, *domain.Weather) error) *MockRepositoryCreateWeatherCall {
c.Call = c.Call.Do(f)
return c
}
// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockRepositoryCreateWeatherCall) DoAndReturn(f func(context.Context, *domain.Weather) error) *MockRepositoryCreateWeatherCall {
c.Call = c.Call.DoAndReturn(f)
return c
}
// ListWeathers mocks base method.
func (m *MockRepository) ListWeathers(ctx context.Context, from, to time.Time) ([]*domain.Weather, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "ListWeathers", ctx, from, to)
ret0, _ := ret[0].([]*domain.Weather)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// ListWeathers indicates an expected call of ListWeathers.
func (mr *MockRepositoryMockRecorder) ListWeathers(ctx, from, to any) *MockRepositoryListWeathersCall {
mr.mock.ctrl.T.Helper()
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListWeathers", reflect.TypeOf((*MockRepository)(nil).ListWeathers), ctx, from, to)
return &MockRepositoryListWeathersCall{Call: call}
}
// MockRepositoryListWeathersCall wrap *gomock.Call
type MockRepositoryListWeathersCall struct {
*gomock.Call
}
// Return rewrite *gomock.Call.Return
func (c *MockRepositoryListWeathersCall) Return(arg0 []*domain.Weather, arg1 error) *MockRepositoryListWeathersCall {
c.Call = c.Call.Return(arg0, arg1)
return c
}
// Do rewrite *gomock.Call.Do
func (c *MockRepositoryListWeathersCall) Do(f func(context.Context, time.Time, time.Time) ([]*domain.Weather, error)) *MockRepositoryListWeathersCall {
c.Call = c.Call.Do(f)
return c
}
// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockRepositoryListWeathersCall) DoAndReturn(f func(context.Context, time.Time, time.Time) ([]*domain.Weather, error)) *MockRepositoryListWeathersCall {
c.Call = c.Call.DoAndReturn(f)
return c
}

View File

@@ -7,6 +7,8 @@ import (
"github.com/neatflowcv/seven-skies/internal/pkg/domain"
)
//go:generate mockgen -typed -package=mocks -destination=mocks/repository.go . Repository
type Repository interface {
CreateWeather(ctx context.Context, weather *domain.Weather) error
ListWeathers(ctx context.Context, from, to time.Time) ([]*domain.Weather, error)