Skip to content

Commit 0a817df

Browse files
committed
refactor: mk dedicated api pkg
1 parent 68cbb6b commit 0a817df

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+1172
-929
lines changed

.dagger/generate.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ func (m *Generate) Server() *dagger.Directory {
120120

121121
return goModule().
122122
WithSource(source).
123-
Exec([]string{"go", "generate", "-x", "./api"}).
123+
Exec([]string{"go", "-C", "api", "generate", "-x", "."}).
124124
Directory("/work/src/api")
125125
}
126126

api/api.gen.go

+413-413
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api/client/go/client.gen.go

+423-424
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api/client/go/client_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212
"github.com/samber/lo"
1313
"github.com/stretchr/testify/assert"
1414

15-
"github.com/openmeterio/openmeter/pkg/models"
15+
"github.com/openmeterio/openmeter/api/models"
1616
)
1717

1818
func TestIngest(t *testing.T) {

api/client/go/codegen.yaml

+3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
1+
# yaml-language-server: $schema=https://raw.githubusercontent.com/oapi-codegen/oapi-codegen/HEAD/configuration-schema.json
12
package: openmeter
23
generate:
34
client: true
45
models: true
56
embedded-spec: true
7+
additional-imports:
8+
- package: github.com/openmeterio/openmeter/api/models
69
output: ./client.gen.go

api/codegen.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# yaml-language-server: $schema=https://raw.githubusercontent.com/oapi-codegen/oapi-codegen/HEAD/configuration-schema.json
12
package: api
23
generate:
34
chi-server: true

api/go.mod

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
module github.com/openmeterio/openmeter/api
2+
3+
go 1.23.1
4+
5+
require (
6+
github.com/cloudevents/sdk-go/v2 v2.15.2
7+
github.com/getkin/kin-openapi v0.127.0
8+
github.com/go-chi/chi/v5 v5.1.0
9+
github.com/oapi-codegen/oapi-codegen/v2 v2.4.1
10+
github.com/oapi-codegen/runtime v1.1.1
11+
github.com/oklog/ulid/v2 v2.1.0
12+
github.com/samber/lo v1.47.0
13+
github.com/stretchr/testify v1.10.0
14+
)
15+
16+
require (
17+
github.com/apapsch/go-jsonmerge/v2 v2.0.0 // indirect
18+
github.com/davecgh/go-spew v1.1.1 // indirect
19+
github.com/dprotaso/go-yit v0.0.0-20220510233725-9ba8df137936 // indirect
20+
github.com/go-openapi/jsonpointer v0.21.0 // indirect
21+
github.com/go-openapi/swag v0.23.0 // indirect
22+
github.com/google/uuid v1.5.0 // indirect
23+
github.com/invopop/yaml v0.3.1 // indirect
24+
github.com/josharian/intern v1.0.0 // indirect
25+
github.com/json-iterator/go v1.1.12 // indirect
26+
github.com/mailru/easyjson v0.7.7 // indirect
27+
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
28+
github.com/modern-go/reflect2 v1.0.2 // indirect
29+
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect
30+
github.com/perimeterx/marshmallow v1.1.5 // indirect
31+
github.com/pmezard/go-difflib v1.0.0 // indirect
32+
github.com/speakeasy-api/openapi-overlay v0.9.0 // indirect
33+
github.com/vmware-labs/yaml-jsonpath v0.3.2 // indirect
34+
golang.org/x/mod v0.17.0 // indirect
35+
golang.org/x/text v0.18.0 // indirect
36+
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect
37+
gopkg.in/yaml.v2 v2.4.0 // indirect
38+
gopkg.in/yaml.v3 v3.0.1 // indirect
39+
)

api/go.sum

+198
Large diffs are not rendered by default.

api/models/error.go

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package models
2+
3+
import "fmt"
4+
5+
type MeterNotFoundError struct {
6+
MeterSlug string
7+
}
8+
9+
func (e *MeterNotFoundError) Error() string {
10+
return fmt.Sprintf("meter not found: %s", e.MeterSlug)
11+
}
File renamed without changes.
File renamed without changes.
File renamed without changes.

api/openapi.cloud.yaml

+6-6
Original file line numberDiff line numberDiff line change
@@ -12404,7 +12404,7 @@ components:
1240412404
type: $.type
1240512405
description: A meter is a configuration that defines how to match and aggregate events.
1240612406
x-go-type-import:
12407-
path: github.com/openmeterio/openmeter/pkg/models
12407+
path: github.com/openmeterio/openmeter/api/models
1240812408
x-go-type: models.Meter
1240912409
MeterAggregation:
1241012410
type: string
@@ -12417,7 +12417,7 @@ components:
1241712417
- MAX
1241812418
description: The aggregation type to use for the meter.
1241912419
x-go-type-import:
12420-
path: github.com/openmeterio/openmeter/pkg/models
12420+
path: github.com/openmeterio/openmeter/api/models
1242112421
x-go-type: models.MeterAggregation
1242212422
MeterCreate:
1242312423
type: object
@@ -12488,7 +12488,7 @@ components:
1248812488
type: $.type
1248912489
description: A meter is a configuration that defines how to match and aggregate events.
1249012490
x-go-type-import:
12491-
path: github.com/openmeterio/openmeter/pkg/models
12491+
path: github.com/openmeterio/openmeter/api/models
1249212492
x-go-type: models.Meter
1249312493
MeterQueryResult:
1249412494
type: object
@@ -12559,7 +12559,7 @@ components:
1255912559
type: prompt
1256012560
description: A row in the result of a meter query.
1256112561
x-go-type-import:
12562-
path: github.com/openmeterio/openmeter/pkg/models
12562+
path: github.com/openmeterio/openmeter/api/models
1256312563
x-go-type: models.MeterQueryRow
1256412564
NotFoundProblemResponse:
1256512565
type: object
@@ -15337,7 +15337,7 @@ components:
1533715337
A Problem Details object (RFC 7807).
1533815338
Additional properties specific to the problem type may be present.
1533915339
x-go-type-import:
15340-
path: github.com/openmeterio/openmeter/pkg/models
15340+
path: github.com/openmeterio/openmeter/api/models
1534115341
x-go-type: models.StatusProblem
1534215342
UnitPrice:
1534315343
type: object
@@ -15594,7 +15594,7 @@ components:
1559415594
- DAY
1559515595
description: Aggregation window size.
1559615596
x-go-type-import:
15597-
path: github.com/openmeterio/openmeter/pkg/models
15597+
path: github.com/openmeterio/openmeter/api/models
1559815598
x-go-type: models.WindowSize
1559915599
WindowedBalanceHistory:
1560015600
type: object

api/openapi.yaml

+5-5
Original file line numberDiff line numberDiff line change
@@ -12106,7 +12106,7 @@ components:
1210612106
type: $.type
1210712107
description: A meter is a configuration that defines how to match and aggregate events.
1210812108
x-go-type-import:
12109-
path: github.com/openmeterio/openmeter/pkg/models
12109+
path: github.com/openmeterio/openmeter/api/models
1211012110
x-go-type: models.Meter
1211112111
MeterAggregation:
1211212112
type: string
@@ -12119,7 +12119,7 @@ components:
1211912119
- MAX
1212012120
description: The aggregation type to use for the meter.
1212112121
x-go-type-import:
12122-
path: github.com/openmeterio/openmeter/pkg/models
12122+
path: github.com/openmeterio/openmeter/api/models
1212312123
x-go-type: models.MeterAggregation
1212412124
MeterQueryResult:
1212512125
type: object
@@ -12190,7 +12190,7 @@ components:
1219012190
type: prompt
1219112191
description: A row in the result of a meter query.
1219212192
x-go-type-import:
12193-
path: github.com/openmeterio/openmeter/pkg/models
12193+
path: github.com/openmeterio/openmeter/api/models
1219412194
x-go-type: models.MeterQueryRow
1219512195
NotFoundProblemResponse:
1219612196
type: object
@@ -15200,7 +15200,7 @@ components:
1520015200
A Problem Details object (RFC 7807).
1520115201
Additional properties specific to the problem type may be present.
1520215202
x-go-type-import:
15203-
path: github.com/openmeterio/openmeter/pkg/models
15203+
path: github.com/openmeterio/openmeter/api/models
1520415204
x-go-type: models.StatusProblem
1520515205
UnitPrice:
1520615206
type: object
@@ -15463,7 +15463,7 @@ components:
1546315463
- DAY
1546415464
description: Aggregation window size.
1546515465
x-go-type-import:
15466-
path: github.com/openmeterio/openmeter/pkg/models
15466+
path: github.com/openmeterio/openmeter/api/models
1546715467
x-go-type: models.WindowSize
1546815468
WindowedBalanceHistory:
1546915469
type: object

api/spec/src/cloud/main.tsp

+1-1
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ namespace OpenMeterCloud.ProductCatalog {
226226
@extension(
227227
"x-go-type-import",
228228
{
229-
path: "github.com/openmeterio/openmeter/pkg/models",
229+
path: "github.com/openmeterio/openmeter/api/models",
230230
}
231231
)
232232
@friendlyName("MeterCreate")

api/spec/src/errors.tsp

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ namespace OpenMeter;
1515
@extension(
1616
"x-go-type-import",
1717
{
18-
path: "github.com/openmeterio/openmeter/pkg/models",
18+
path: "github.com/openmeterio/openmeter/api/models",
1919
}
2020
)
2121
@friendlyName("UnexpectedProblemResponse")

api/spec/src/meters.tsp

+4-4
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ interface Meters {
8484
@extension(
8585
"x-go-type-import",
8686
{
87-
path: "github.com/openmeterio/openmeter/pkg/models",
87+
path: "github.com/openmeterio/openmeter/api/models",
8888
}
8989
)
9090
@friendlyName("Meter")
@@ -163,7 +163,7 @@ model Meter {
163163
@extension(
164164
"x-go-type-import",
165165
{
166-
path: "github.com/openmeterio/openmeter/pkg/models",
166+
path: "github.com/openmeterio/openmeter/api/models",
167167
}
168168
)
169169
@friendlyName("MeterAggregation")
@@ -184,7 +184,7 @@ enum MeterAggregation {
184184
@extension(
185185
"x-go-type-import",
186186
{
187-
path: "github.com/openmeterio/openmeter/pkg/models",
187+
path: "github.com/openmeterio/openmeter/api/models",
188188
}
189189
)
190190
@friendlyName("WindowSize")
@@ -289,7 +289,7 @@ model MeterQueryResult {
289289
@extension(
290290
"x-go-type-import",
291291
{
292-
path: "github.com/openmeterio/openmeter/pkg/models",
292+
path: "github.com/openmeterio/openmeter/api/models",
293293
}
294294
)
295295
@friendlyName("MeterQueryRow")

api/tools.go

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
//go:build tools
2+
// +build tools
3+
4+
package main
5+
6+
import (
7+
_ "github.com/oapi-codegen/oapi-codegen/v2/cmd/oapi-codegen"
8+
)

api/types/doc.go

-3
This file was deleted.

api/types/entitlement.go

-12
This file was deleted.

app/common/meter.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ import (
44
"github.com/google/wire"
55
"github.com/samber/lo"
66

7+
"github.com/openmeterio/openmeter/api/models"
78
"github.com/openmeterio/openmeter/app/config"
89
"github.com/openmeterio/openmeter/openmeter/meter"
9-
"github.com/openmeterio/openmeter/pkg/models"
1010
"github.com/openmeterio/openmeter/pkg/slicesx"
1111
)
1212

app/config/config.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ import (
88
"github.com/spf13/pflag"
99
"github.com/spf13/viper"
1010

11+
"github.com/openmeterio/openmeter/api/models"
1112
"github.com/openmeterio/openmeter/pkg/errorsx"
12-
"github.com/openmeterio/openmeter/pkg/models"
1313
)
1414

1515
// Configuration holds any kind of Configuration that comes from the outside world and

go.mod

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
module github.com/openmeterio/openmeter
22

3-
go 1.23.0
3+
go 1.23.1
4+
5+
require github.com/openmeterio/openmeter/api v1.0.0-beta.187
6+
7+
replace github.com/openmeterio/openmeter/api => ./api
48

59
require (
610
entgo.io/ent v0.14.1
@@ -35,7 +39,7 @@ require (
3539
github.com/mitchellh/mapstructure v1.5.0
3640
github.com/oapi-codegen/nethttp-middleware v1.0.2
3741
github.com/oapi-codegen/oapi-codegen/v2 v2.4.1
38-
github.com/oapi-codegen/runtime v1.1.1
42+
github.com/oapi-codegen/runtime v1.1.1 // indirect
3943
github.com/oklog/run v1.1.0
4044
github.com/oklog/ulid/v2 v2.1.0
4145
github.com/oliveagle/jsonpath v0.0.0-20180606110733-2e52cf6e6852

openmeter/billing/service/lineservice/meters.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ import (
77

88
"github.com/alpacahq/alpacadecimal"
99

10+
"github.com/openmeterio/openmeter/api/models"
1011
"github.com/openmeterio/openmeter/openmeter/billing"
1112
"github.com/openmeterio/openmeter/openmeter/productcatalog/feature"
1213
"github.com/openmeterio/openmeter/openmeter/streaming"
13-
"github.com/openmeterio/openmeter/pkg/models"
1414
)
1515

1616
type getFeatureUsageInput struct {

openmeter/billing/service/lineservice/usagebasedline.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ import (
88
"github.com/alpacahq/alpacadecimal"
99
"github.com/samber/lo"
1010

11+
"github.com/openmeterio/openmeter/api/models"
1112
"github.com/openmeterio/openmeter/openmeter/billing"
1213
"github.com/openmeterio/openmeter/openmeter/productcatalog"
1314
"github.com/openmeterio/openmeter/pkg/currencyx"
14-
"github.com/openmeterio/openmeter/pkg/models"
1515
"github.com/openmeterio/openmeter/pkg/slicesx"
1616
)
1717

openmeter/credit/engine/engine.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ import (
99
"github.com/alpacahq/alpacadecimal"
1010
"github.com/samber/lo"
1111

12+
"github.com/openmeterio/openmeter/api/models"
1213
"github.com/openmeterio/openmeter/openmeter/credit/balance"
1314
"github.com/openmeterio/openmeter/openmeter/credit/grant"
14-
"github.com/openmeterio/openmeter/pkg/models"
1515
"github.com/openmeterio/openmeter/pkg/recurrence"
1616
)
1717

openmeter/credit/grant/owner_connector.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ import (
55
"fmt"
66
"time"
77

8+
"github.com/openmeterio/openmeter/api/models"
89
"github.com/openmeterio/openmeter/openmeter/streaming"
9-
"github.com/openmeterio/openmeter/pkg/models"
1010
)
1111

1212
type EndCurrentUsagePeriodParams struct {

openmeter/credit/helper.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ import (
99
"github.com/alpacahq/alpacadecimal"
1010
"github.com/samber/lo"
1111

12+
"github.com/openmeterio/openmeter/api/models"
1213
"github.com/openmeterio/openmeter/openmeter/credit/balance"
1314
"github.com/openmeterio/openmeter/openmeter/credit/engine"
1415
"github.com/openmeterio/openmeter/openmeter/credit/grant"
15-
"github.com/openmeterio/openmeter/pkg/models"
1616
"github.com/openmeterio/openmeter/pkg/recurrence"
1717
)
1818

0 commit comments

Comments
 (0)