Extract shared types and add Regulation type with parsing methods

Move cookie banner types (CookieItem, Category, Regulation, BannerConfig,
etc.) into a dedicated types.ts file. Add a coredata.Regulation type with
parsing, JSON marshaling, and database scanning methods. Hardcode the
geoloc-import data directory since the submodule path is fixed.

Signed-off-by: Émile Ré <emile@getprobo.com>
This commit is contained in:
Émile Ré
2026-05-07 09:25:16 +04:00
parent f695b90b19
commit 4598506076
23 changed files with 308 additions and 114 deletions

View File

@@ -100,9 +100,9 @@ func (s *Service) LookupCountry(ctx context.Context, ip string) (coredata.Countr
err := s.pgClient.WithConn(
ctx,
func(ctx context.Context, conn pg.Querier) error {
var lookupErr error
cc, lookupErr = coredata.LookupCountryByIP(ctx, conn, ip)
return lookupErr
var err error
cc, err = coredata.LookupCountryByIP(ctx, conn, ip)
return err
},
)
if err != nil {
@@ -118,9 +118,9 @@ func (s *Service) IsPopulated(ctx context.Context) (bool, error) {
err := s.pgClient.WithConn(
ctx,
func(ctx context.Context, conn pg.Querier) error {
var lookupErr error
populated, lookupErr = coredata.IsIPCountryBlocksPopulated(ctx, conn)
return lookupErr
var err error
populated, err = coredata.IsIPCountryBlocksPopulated(ctx, conn)
return err
},
)
if err != nil {