Skip to content

Commit

Permalink
refactor: mk dedicated api pkg
Browse files Browse the repository at this point in the history
  • Loading branch information
chrisgacsal committed Dec 19, 2024
1 parent 16c52ea commit 49f29db
Show file tree
Hide file tree
Showing 64 changed files with 1,179 additions and 935 deletions.
2 changes: 1 addition & 1 deletion .dagger/generate.go
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ func (m *Generate) Server() *dagger.Directory {

return goModule().
WithSource(source).
Exec([]string{"go", "generate", "-x", "./api"}).
Exec([]string{"go", "-C", "api", "generate", "-x", "."}).
Directory("/work/src/api")
}

Expand Down
826 changes: 413 additions & 413 deletions api/api.gen.go

Large diffs are not rendered by default.

847 changes: 423 additions & 424 deletions api/client/go/client.gen.go

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion api/client/go/client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import (
"github.com/samber/lo"
"github.com/stretchr/testify/assert"

"github.com/openmeterio/openmeter/pkg/models"
"github.com/openmeterio/openmeter/api/models"
)

func TestIngest(t *testing.T) {
Expand Down
3 changes: 3 additions & 0 deletions api/client/go/codegen.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/oapi-codegen/oapi-codegen/HEAD/configuration-schema.json
package: openmeter
generate:
client: true
models: true
embedded-spec: true
additional-imports:
- package: github.com/openmeterio/openmeter/api/models
output: ./client.gen.go
1 change: 1 addition & 0 deletions api/codegen.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/oapi-codegen/oapi-codegen/HEAD/configuration-schema.json
package: api
generate:
chi-server: true
Expand Down
39 changes: 39 additions & 0 deletions api/go.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
module github.com/openmeterio/openmeter/api

go 1.23.1

require (
github.com/cloudevents/sdk-go/v2 v2.15.2
github.com/getkin/kin-openapi v0.127.0
github.com/go-chi/chi/v5 v5.1.0
github.com/oapi-codegen/oapi-codegen/v2 v2.4.1
github.com/oapi-codegen/runtime v1.1.1
github.com/oklog/ulid/v2 v2.1.0
github.com/samber/lo v1.47.0
github.com/stretchr/testify v1.10.0
)

require (
github.com/apapsch/go-jsonmerge/v2 v2.0.0 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/dprotaso/go-yit v0.0.0-20220510233725-9ba8df137936 // indirect
github.com/go-openapi/jsonpointer v0.21.0 // indirect
github.com/go-openapi/swag v0.23.0 // indirect
github.com/google/uuid v1.5.0 // indirect
github.com/invopop/yaml v0.3.1 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect
github.com/perimeterx/marshmallow v1.1.5 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/speakeasy-api/openapi-overlay v0.9.0 // indirect
github.com/vmware-labs/yaml-jsonpath v0.3.2 // indirect
golang.org/x/mod v0.17.0 // indirect
golang.org/x/text v0.18.0 // indirect
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
198 changes: 198 additions & 0 deletions api/go.sum

Large diffs are not rendered by default.

11 changes: 11 additions & 0 deletions api/models/error.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package models

import "fmt"

type MeterNotFoundError struct {
MeterSlug string
}

func (e *MeterNotFoundError) Error() string {
return fmt.Sprintf("meter not found: %s", e.MeterSlug)
}
File renamed without changes.
File renamed without changes.
File renamed without changes.
12 changes: 6 additions & 6 deletions api/openapi.cloud.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12404,7 +12404,7 @@ components:
type: $.type
description: A meter is a configuration that defines how to match and aggregate events.
x-go-type-import:
path: github.com/openmeterio/openmeter/pkg/models
path: github.com/openmeterio/openmeter/api/models
x-go-type: models.Meter
MeterAggregation:
type: string
Expand All @@ -12417,7 +12417,7 @@ components:
- MAX
description: The aggregation type to use for the meter.
x-go-type-import:
path: github.com/openmeterio/openmeter/pkg/models
path: github.com/openmeterio/openmeter/api/models
x-go-type: models.MeterAggregation
MeterCreate:
type: object
Expand Down Expand Up @@ -12488,7 +12488,7 @@ components:
type: $.type
description: A meter is a configuration that defines how to match and aggregate events.
x-go-type-import:
path: github.com/openmeterio/openmeter/pkg/models
path: github.com/openmeterio/openmeter/api/models
x-go-type: models.Meter
MeterQueryResult:
type: object
Expand Down Expand Up @@ -12559,7 +12559,7 @@ components:
type: prompt
description: A row in the result of a meter query.
x-go-type-import:
path: github.com/openmeterio/openmeter/pkg/models
path: github.com/openmeterio/openmeter/api/models
x-go-type: models.MeterQueryRow
NotFoundProblemResponse:
type: object
Expand Down Expand Up @@ -15337,7 +15337,7 @@ components:
A Problem Details object (RFC 7807).
Additional properties specific to the problem type may be present.
x-go-type-import:
path: github.com/openmeterio/openmeter/pkg/models
path: github.com/openmeterio/openmeter/api/models
x-go-type: models.StatusProblem
UnitPrice:
type: object
Expand Down Expand Up @@ -15594,7 +15594,7 @@ components:
- DAY
description: Aggregation window size.
x-go-type-import:
path: github.com/openmeterio/openmeter/pkg/models
path: github.com/openmeterio/openmeter/api/models
x-go-type: models.WindowSize
WindowedBalanceHistory:
type: object
Expand Down
10 changes: 5 additions & 5 deletions api/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12106,7 +12106,7 @@ components:
type: $.type
description: A meter is a configuration that defines how to match and aggregate events.
x-go-type-import:
path: github.com/openmeterio/openmeter/pkg/models
path: github.com/openmeterio/openmeter/api/models
x-go-type: models.Meter
MeterAggregation:
type: string
Expand All @@ -12119,7 +12119,7 @@ components:
- MAX
description: The aggregation type to use for the meter.
x-go-type-import:
path: github.com/openmeterio/openmeter/pkg/models
path: github.com/openmeterio/openmeter/api/models
x-go-type: models.MeterAggregation
MeterQueryResult:
type: object
Expand Down Expand Up @@ -12190,7 +12190,7 @@ components:
type: prompt
description: A row in the result of a meter query.
x-go-type-import:
path: github.com/openmeterio/openmeter/pkg/models
path: github.com/openmeterio/openmeter/api/models
x-go-type: models.MeterQueryRow
NotFoundProblemResponse:
type: object
Expand Down Expand Up @@ -15200,7 +15200,7 @@ components:
A Problem Details object (RFC 7807).
Additional properties specific to the problem type may be present.
x-go-type-import:
path: github.com/openmeterio/openmeter/pkg/models
path: github.com/openmeterio/openmeter/api/models
x-go-type: models.StatusProblem
UnitPrice:
type: object
Expand Down Expand Up @@ -15463,7 +15463,7 @@ components:
- DAY
description: Aggregation window size.
x-go-type-import:
path: github.com/openmeterio/openmeter/pkg/models
path: github.com/openmeterio/openmeter/api/models
x-go-type: models.WindowSize
WindowedBalanceHistory:
type: object
Expand Down
2 changes: 1 addition & 1 deletion api/spec/src/cloud/main.tsp
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ namespace OpenMeterCloud.ProductCatalog {
@extension(
"x-go-type-import",
{
path: "github.com/openmeterio/openmeter/pkg/models",
path: "github.com/openmeterio/openmeter/api/models",
}
)
@friendlyName("MeterCreate")
Expand Down
2 changes: 1 addition & 1 deletion api/spec/src/errors.tsp
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ namespace OpenMeter;
@extension(
"x-go-type-import",
{
path: "github.com/openmeterio/openmeter/pkg/models",
path: "github.com/openmeterio/openmeter/api/models",
}
)
@friendlyName("UnexpectedProblemResponse")
Expand Down
8 changes: 4 additions & 4 deletions api/spec/src/meters.tsp
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ interface Meters {
@extension(
"x-go-type-import",
{
path: "github.com/openmeterio/openmeter/pkg/models",
path: "github.com/openmeterio/openmeter/api/models",
}
)
@friendlyName("Meter")
Expand Down Expand Up @@ -163,7 +163,7 @@ model Meter {
@extension(
"x-go-type-import",
{
path: "github.com/openmeterio/openmeter/pkg/models",
path: "github.com/openmeterio/openmeter/api/models",
}
)
@friendlyName("MeterAggregation")
Expand All @@ -184,7 +184,7 @@ enum MeterAggregation {
@extension(
"x-go-type-import",
{
path: "github.com/openmeterio/openmeter/pkg/models",
path: "github.com/openmeterio/openmeter/api/models",
}
)
@friendlyName("WindowSize")
Expand Down Expand Up @@ -289,7 +289,7 @@ model MeterQueryResult {
@extension(
"x-go-type-import",
{
path: "github.com/openmeterio/openmeter/pkg/models",
path: "github.com/openmeterio/openmeter/api/models",
}
)
@friendlyName("MeterQueryRow")
Expand Down
8 changes: 8 additions & 0 deletions api/tools.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
//go:build tools
// +build tools

package main

import (
_ "github.com/oapi-codegen/oapi-codegen/v2/cmd/oapi-codegen"
)
3 changes: 0 additions & 3 deletions api/types/doc.go

This file was deleted.

12 changes: 0 additions & 12 deletions api/types/entitlement.go

This file was deleted.

2 changes: 1 addition & 1 deletion app/common/meter.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import (
"github.com/google/wire"
"github.com/samber/lo"

"github.com/openmeterio/openmeter/api/models"
"github.com/openmeterio/openmeter/app/config"
"github.com/openmeterio/openmeter/openmeter/meter"
"github.com/openmeterio/openmeter/pkg/models"
"github.com/openmeterio/openmeter/pkg/slicesx"
)

Expand Down
2 changes: 1 addition & 1 deletion app/config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ import (
"github.com/spf13/pflag"
"github.com/spf13/viper"

"github.com/openmeterio/openmeter/api/models"
"github.com/openmeterio/openmeter/pkg/errorsx"
"github.com/openmeterio/openmeter/pkg/models"
)

// Configuration holds any kind of Configuration that comes from the outside world and
Expand Down
2 changes: 1 addition & 1 deletion e2e/e2e_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ import (
"github.com/stretchr/testify/require"

api "github.com/openmeterio/openmeter/api/client/go"
"github.com/openmeterio/openmeter/api/models"
"github.com/openmeterio/openmeter/openmeter/testutils"
"github.com/openmeterio/openmeter/pkg/convert"
"github.com/openmeterio/openmeter/pkg/models"
)

func TestMain(m *testing.M) {
Expand Down
8 changes: 6 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
module github.com/openmeterio/openmeter

go 1.23.0
go 1.23.1

require github.com/openmeterio/openmeter/api v1.0.0-beta.187

replace github.com/openmeterio/openmeter/api => ./api

require (
entgo.io/ent v0.14.1
Expand Down Expand Up @@ -35,7 +39,7 @@ require (
github.com/mitchellh/mapstructure v1.5.0
github.com/oapi-codegen/nethttp-middleware v1.0.2
github.com/oapi-codegen/oapi-codegen/v2 v2.4.1
github.com/oapi-codegen/runtime v1.1.1
github.com/oapi-codegen/runtime v1.1.1 // indirect
github.com/oklog/run v1.1.0
github.com/oklog/ulid/v2 v2.1.0
github.com/oliveagle/jsonpath v0.0.0-20180606110733-2e52cf6e6852
Expand Down
2 changes: 1 addition & 1 deletion openmeter/billing/service/lineservice/meters.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ import (

"github.com/alpacahq/alpacadecimal"

"github.com/openmeterio/openmeter/api/models"
"github.com/openmeterio/openmeter/openmeter/billing"
"github.com/openmeterio/openmeter/openmeter/productcatalog/feature"
"github.com/openmeterio/openmeter/openmeter/streaming"
"github.com/openmeterio/openmeter/pkg/models"
)

type getFeatureUsageInput struct {
Expand Down
2 changes: 1 addition & 1 deletion openmeter/billing/service/lineservice/usagebasedline.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ import (
"github.com/alpacahq/alpacadecimal"
"github.com/samber/lo"

"github.com/openmeterio/openmeter/api/models"
"github.com/openmeterio/openmeter/openmeter/billing"
"github.com/openmeterio/openmeter/openmeter/productcatalog"
"github.com/openmeterio/openmeter/pkg/currencyx"
"github.com/openmeterio/openmeter/pkg/models"
"github.com/openmeterio/openmeter/pkg/slicesx"
)

Expand Down
2 changes: 1 addition & 1 deletion openmeter/credit/engine/engine.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ import (
"github.com/alpacahq/alpacadecimal"
"github.com/samber/lo"

"github.com/openmeterio/openmeter/api/models"
"github.com/openmeterio/openmeter/openmeter/credit/balance"
"github.com/openmeterio/openmeter/openmeter/credit/grant"
"github.com/openmeterio/openmeter/pkg/models"
"github.com/openmeterio/openmeter/pkg/recurrence"
)

Expand Down
2 changes: 1 addition & 1 deletion openmeter/credit/grant/owner_connector.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ import (
"fmt"
"time"

"github.com/openmeterio/openmeter/api/models"
"github.com/openmeterio/openmeter/openmeter/streaming"
"github.com/openmeterio/openmeter/pkg/models"
)

type EndCurrentUsagePeriodParams struct {
Expand Down
2 changes: 1 addition & 1 deletion openmeter/credit/helper.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ import (
"github.com/alpacahq/alpacadecimal"
"github.com/samber/lo"

"github.com/openmeterio/openmeter/api/models"
"github.com/openmeterio/openmeter/openmeter/credit/balance"
"github.com/openmeterio/openmeter/openmeter/credit/engine"
"github.com/openmeterio/openmeter/openmeter/credit/grant"
"github.com/openmeterio/openmeter/pkg/models"
"github.com/openmeterio/openmeter/pkg/recurrence"
)

Expand Down
Loading

0 comments on commit 49f29db

Please sign in to comment.