Skip to content

Commit

Permalink
refactor(cmfx): 自动生成 openapi.OpenAPISchema
Browse files Browse the repository at this point in the history
  • Loading branch information
caixw committed Jan 7, 2025
1 parent 113cc7f commit 90c8eb3
Show file tree
Hide file tree
Showing 12 changed files with 45 additions and 61 deletions.
12 changes: 2 additions & 10 deletions cmfx/types/enums.go
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
// SPDX-FileCopyrightText: 2022-2024 caixw
// SPDX-FileCopyrightText: 2022-2025 caixw
//
// SPDX-License-Identifier: MIT

package types

import (
"github.com/issue9/orm/v6/core"
"github.com/issue9/web/openapi"
)
import "github.com/issue9/orm/v6/core"

//go:generate web enum -i=./enums.go -o=./enums_methods.go -t=Sex

Expand All @@ -20,9 +17,4 @@ const (
SexFemale
)

func (Sex) OpenAPISchema(s *openapi.Schema) {
s.Type = openapi.TypeString
s.Enum = []any{SexUnknown.String(), SexMale.String(), SexFemale.String()}
}

func (Sex) PrimitiveType() core.PrimitiveType { return core.String }
6 changes: 6 additions & 0 deletions cmfx/types/enums_methods.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import (

"github.com/issue9/web/filter"
"github.com/issue9/web/locales"
"github.com/issue9/web/openapi"
)

//--------------------- Sex ------------------------
Expand Down Expand Up @@ -109,4 +110,9 @@ var (
SexSliceFilter = filter.NewBuilder(SexSliceRule)
)

func (Sex) OpenAPISchema(s *openapi.Schema) {
s.Type = openapi.TypeString
s.Enum = []any{SexFemale.String(), SexMale.String(), SexUnknown.String()}
}

//--------------------- end Sex --------------------
12 changes: 3 additions & 9 deletions cmfx/types/enums_test.go
Original file line number Diff line number Diff line change
@@ -1,15 +1,9 @@
// SPDX-FileCopyrightText: 2022-2024 caixw
// SPDX-FileCopyrightText: 2022-2025 caixw
//
// SPDX-License-Identifier: MIT

package types

import (
"github.com/issue9/orm/v6/core"
"github.com/issue9/web/openapi"
)
import "github.com/issue9/orm/v6/core"

var (
_ core.PrimitiveTyper = SexMale
_ openapi.OpenAPISchema = SexFemale
)
var _ core.PrimitiveTyper = SexMale
8 changes: 1 addition & 7 deletions cmfx/user/currency/models.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: 2024 caixw
// SPDX-FileCopyrightText: 2024-2025 caixw
//
// SPDX-License-Identifier: MIT

Expand All @@ -8,7 +8,6 @@ import (
"time"

"github.com/issue9/orm/v6/core"
"github.com/issue9/web/openapi"
)

// 用户的货币总览表
Expand Down Expand Up @@ -51,11 +50,6 @@ const (
TypeUnfreeze
)

func (Type) OpenAPISchema(s *openapi.Schema) {
s.Type = openapi.TypeString
s.Enum = []any{TypeNormal.String(), TypeFreeze.String(), TypeUnfreeze.String()}
}

func (Type) PrimitiveType() core.PrimitiveType { return core.String }

// LogPO 货币花费明细
Expand Down
6 changes: 6 additions & 0 deletions cmfx/user/currency/models_methods.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import (

"github.com/issue9/web/filter"
"github.com/issue9/web/locales"
"github.com/issue9/web/openapi"
)

//--------------------- Type ------------------------
Expand Down Expand Up @@ -109,4 +110,9 @@ var (
TypeSliceFilter = filter.NewBuilder(TypeSliceRule)
)

func (Type) OpenAPISchema(s *openapi.Schema) {
s.Type = openapi.TypeString
s.Enum = []any{TypeFreeze.String(), TypeNormal.String(), TypeUnfreeze.String()}
}

//--------------------- end Type --------------------
14 changes: 5 additions & 9 deletions cmfx/user/currency/models_test.go
Original file line number Diff line number Diff line change
@@ -1,17 +1,13 @@
// SPDX-FileCopyrightText: 2024 caixw
// SPDX-FileCopyrightText: 2024-2025 caixw
//
// SPDX-License-Identifier: MIT

package currency

import (
"github.com/issue9/orm/v6"
"github.com/issue9/web/openapi"
)
import "github.com/issue9/orm/v6"

var (
_ orm.TableNamer = &overviewPO{}
_ orm.TableNamer = &LogPO{}
_ orm.TableNamer = &expirePO{}
_ openapi.OpenAPISchema = TypeFreeze
_ orm.TableNamer = &overviewPO{}
_ orm.TableNamer = &LogPO{}
_ orm.TableNamer = &expirePO{}
)
8 changes: 1 addition & 7 deletions cmfx/user/models.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: 2022-2024 caixw
// SPDX-FileCopyrightText: 2022-2025 caixw
//
// SPDX-License-Identifier: MIT

Expand All @@ -9,7 +9,6 @@ import (
"time"

"github.com/issue9/orm/v6/core"
"github.com/issue9/web/openapi"
)

//go:generate web enum -i=./models.go -t=State
Expand All @@ -24,11 +23,6 @@ type State int8

func (State) PrimitiveType() core.PrimitiveType { return core.String }

func (State) OpenAPISchema(s *openapi.Schema) {
s.Type = openapi.TypeString
s.Enum = []any{StateNormal.String(), StateLocked.String(), StateDeleted.String()}
}

type LogVO struct {
Content string `json:"content" xml:",cdata" cbor:"content" yaml:"content" comment:"log content"`
IP string `json:"ip" xml:"ip,attr" cbor:"ip" yaml:"ip" comment:"log IP"`
Expand Down
6 changes: 6 additions & 0 deletions cmfx/user/models_enums.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import (

"github.com/issue9/web/filter"
"github.com/issue9/web/locales"
"github.com/issue9/web/openapi"
)

//--------------------- State ------------------------
Expand Down Expand Up @@ -109,4 +110,9 @@ var (
StateSliceFilter = filter.NewBuilder(StateSliceRule)
)

func (State) OpenAPISchema(s *openapi.Schema) {
s.Type = openapi.TypeString
s.Enum = []any{StateDeleted.String(), StateLocked.String(), StateNormal.String()}
}

//--------------------- end State --------------------
6 changes: 1 addition & 5 deletions cmfx/user/models_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,13 @@ import (

"github.com/issue9/assert/v4"
"github.com/issue9/orm/v6/core"
"github.com/issue9/web/openapi"

"github.com/issue9/cmfx/cmfx/initial/test"
"github.com/issue9/cmfx/cmfx/user"
"github.com/issue9/cmfx/cmfx/user/usertest"
)

var (
_ core.PrimitiveTyper = user.StateNormal
_ openapi.OpenAPISchema = user.StateDeleted
)
var _ core.PrimitiveTyper = user.StateNormal

func TestModule_Statistic(t *testing.T) {
a := assert.New(t, false)
Expand Down
4 changes: 2 additions & 2 deletions cmfx/user/passport/otp/code/code.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: 2024 caixw
// SPDX-FileCopyrightText: 2024-2025 caixw
//
// SPDX-License-Identifier: MIT

Expand Down Expand Up @@ -224,7 +224,7 @@ func (e *code) postLogin(ctx *web.Context) web.Responser {
}

if !found { // 未关联账号
tx, err := e.db.Begin()
tx, err := e.db.BeginTx(ctx, nil)
if err != nil {
return ctx.Error(err, "")
}
Expand Down
8 changes: 4 additions & 4 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ require (
github.com/issue9/scheduled v0.22.0
github.com/issue9/sliceutil v0.17.0
github.com/issue9/upload/v3 v3.0.0-beta.1.0.20241022053811-f1d945a6d3e6
github.com/issue9/web v0.100.9-0.20241230042041-062fbc92386d
github.com/issue9/web v0.100.9
github.com/issue9/webfilter v0.9.0
github.com/issue9/webuse/v7 v7.0.0-20241230041047-b527a7c27188
github.com/issue9/webuse/v7 v7.0.0-20250104102537-a39e3a17d77d
github.com/mattn/go-sqlite3 v1.14.24
github.com/shirou/gopsutil/v4 v4.24.12
golang.org/x/crypto v0.31.0
golang.org/x/crypto v0.32.0
golang.org/x/text v0.21.0
)

Expand Down Expand Up @@ -62,7 +62,7 @@ require (
golang.org/x/mod v0.22.0 // indirect
golang.org/x/net v0.22.0 // indirect
golang.org/x/sync v0.10.0 // indirect
golang.org/x/sys v0.28.0 // indirect
golang.org/x/sys v0.29.0 // indirect
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
16 changes: 8 additions & 8 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -75,12 +75,12 @@ github.com/issue9/version v1.0.8 h1:IsNdDYdV8UGDGwwgp8H4RszJE0Ko26HjWg9pZzyOivs=
github.com/issue9/version v1.0.8/go.mod h1:w8bQwODBOG5+iaS3qIJbElxxpp3Uo4x5F39qKBqwpdc=
github.com/issue9/watermark v1.2.4 h1:iu3xIhn0PyCltpEagRA4rEq/o6CNpK6rvzigZCj2Ank=
github.com/issue9/watermark v1.2.4/go.mod h1:Fa7Rky0U7BECCWDblX3sZ1JFwB5vFK55FF9HKTyYyew=
github.com/issue9/web v0.100.9-0.20241230042041-062fbc92386d h1:dOYgx8JipJxfGhnxNthVBdkQtpt7qxyzmJhENUOMkv0=
github.com/issue9/web v0.100.9-0.20241230042041-062fbc92386d/go.mod h1:Jl+09NuNBPKBPe727dr32hNzVnexKEU5PcOyGAgYqrc=
github.com/issue9/web v0.100.9 h1:BF1zdoYe6eZ7NiyY7gTKNGn6BFVoGeaeUyuALzbO1ZA=
github.com/issue9/web v0.100.9/go.mod h1:YMjYbAeHeLROLWS8O/xifWqAxFexASCa1CMKdbZ78nc=
github.com/issue9/webfilter v0.9.0 h1:UbSPPGhmQ2kr/XY/P9uNyRwugW5+FqRdcPUkHUFF1sE=
github.com/issue9/webfilter v0.9.0/go.mod h1:YepSF2nHnC0GWriKetPKPYnQghuLJmHieaQ5JJNDffE=
github.com/issue9/webuse/v7 v7.0.0-20241230041047-b527a7c27188 h1:y1z+zQDSjvgNwacDKpmqO6CJhxPQ58RaLl3F4R5AQnQ=
github.com/issue9/webuse/v7 v7.0.0-20241230041047-b527a7c27188/go.mod h1:i75yenoNY0QBgxkQgiq0ScjLPGHdRVQApZkUjQPoljQ=
github.com/issue9/webuse/v7 v7.0.0-20250104102537-a39e3a17d77d h1:1dAYDvOt9ZHaS+5LL5Ol+juvCK2IcoL1kelNdHsrv8M=
github.com/issue9/webuse/v7 v7.0.0-20250104102537-a39e3a17d77d/go.mod h1:i75yenoNY0QBgxkQgiq0ScjLPGHdRVQApZkUjQPoljQ=
github.com/jellydator/ttlcache/v3 v3.3.0 h1:BdoC9cE81qXfrxeb9eoJi9dWrdhSuwXMAnHTbnBm4Wc=
github.com/jellydator/ttlcache/v3 v3.3.0/go.mod h1:bj2/e0l4jRnQdrnSTaGTsh4GSXvMjQcy41i7th0GVGw=
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
Expand Down Expand Up @@ -134,8 +134,8 @@ github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo
github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U=
golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc=
golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc=
golang.org/x/mod v0.22.0 h1:D4nJWe9zXqHOmWqj4VMOJhvzj7bEZg4wEYa759z1pH4=
golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
golang.org/x/net v0.22.0 h1:9sGLhx7iRIHEiX0oAJ3MRZMUCElJgy7Br1nO+AMN3Tc=
Expand All @@ -146,8 +146,8 @@ golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA=
golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU=
golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
Expand Down

0 comments on commit 90c8eb3

Please sign in to comment.