commit
e6634cd9f3
66 changed files with 1367 additions and 0 deletions
-
1.gitattributes
-
19.gitignore
-
7Makefile
-
4README.MD
-
15api/hello/hello.go
-
12api/hello/v1/hello.go
-
17api/vote_poll/v1/vote_poll.go
-
38go.mod
-
77go.sum
-
14hack/config.yaml
-
20hack/hack-cli.mk
-
75hack/hack.mk
-
30internal/cmd/cmd.go
-
1internal/consts/consts.go
-
5internal/controller/hello/hello.go
-
15internal/controller/hello/hello_new.go
-
13internal/controller/hello/hello_v1_hello.go
-
0internal/dao/.gitkeep
-
87internal/dao/internal/post.go
-
85internal/dao/internal/remain_vote_number.go
-
89internal/dao/internal/user.go
-
85internal/dao/internal/vote_option.go
-
91internal/dao/internal/vote_poll.go
-
89internal/dao/internal/vote_record.go
-
22internal/dao/post.go
-
22internal/dao/remain_vote_number.go
-
22internal/dao/user.go
-
22internal/dao/vote_option.go
-
22internal/dao/vote_poll.go
-
22internal/dao/vote_record.go
-
0internal/logic/.gitkeep
-
0internal/model/.gitkeep
-
0internal/model/do/.gitkeep
-
20internal/model/do/post.go
-
19internal/model/do/remain_vote_number.go
-
21internal/model/do/user.go
-
18internal/model/do/vote_option.go
-
22internal/model/do/vote_poll.go
-
21internal/model/do/vote_record.go
-
0internal/model/entity/.gitkeep
-
18internal/model/entity/post.go
-
17internal/model/entity/remain_vote_number.go
-
19internal/model/entity/user.go
-
13internal/model/entity/vote_option.go
-
20internal/model/entity/vote_poll.go
-
19internal/model/entity/vote_record.go
-
1internal/packed/packed.go
-
0internal/service/.gitkeep
-
15main.go
-
21manifest/deploy/kustomize/base/deployment.yaml
-
8manifest/deploy/kustomize/base/kustomization.yaml
-
12manifest/deploy/kustomize/base/service.yaml
-
14manifest/deploy/kustomize/overlays/develop/configmap.yaml
-
10manifest/deploy/kustomize/overlays/develop/deployment.yaml
-
14manifest/deploy/kustomize/overlays/develop/kustomization.yaml
-
16manifest/docker/Dockerfile
-
8manifest/docker/docker.sh
-
0manifest/i18n/.gitkeep
-
0manifest/protobuf/.keep-if-necessary
-
0resource/public/html/.gitkeep
-
0resource/public/plugin/.gitkeep
-
0resource/public/resource/css/.gitkeep
-
0resource/public/resource/image/.gitkeep
-
0resource/public/resource/js/.gitkeep
-
0resource/template/.gitkeep
-
0utility/.gitkeep
@ -0,0 +1 @@ |
|||||
|
* linguist-language=GO |
@ -0,0 +1,19 @@ |
|||||
|
.buildpath |
||||
|
.hgignore.swp |
||||
|
.project |
||||
|
.orig |
||||
|
.swp |
||||
|
.idea/ |
||||
|
.settings/ |
||||
|
.vscode/ |
||||
|
bin/ |
||||
|
**/.DS_Store |
||||
|
gf |
||||
|
main |
||||
|
main.exe |
||||
|
output/ |
||||
|
manifest/output/ |
||||
|
temp/ |
||||
|
temp.yaml |
||||
|
bin |
||||
|
**/config/config.yaml |
@ -0,0 +1,7 @@ |
|||||
|
ROOT_DIR = $(shell pwd) |
||||
|
NAMESPACE = "default" |
||||
|
DEPLOY_NAME = "template-single" |
||||
|
DOCKER_NAME = "template-single" |
||||
|
|
||||
|
include ./hack/hack-cli.mk |
||||
|
include ./hack/hack.mk |
@ -0,0 +1,4 @@ |
|||||
|
# GoFrame Template For SingleRepo |
||||
|
|
||||
|
Quick Start: |
||||
|
- https://goframe.org/quick |
@ -0,0 +1,15 @@ |
|||||
|
// =================================================================================
|
||||
|
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
|
||||
|
// =================================================================================
|
||||
|
|
||||
|
package hello |
||||
|
|
||||
|
import ( |
||||
|
"context" |
||||
|
|
||||
|
"practice_ArticleVote_Go/api/hello/v1" |
||||
|
) |
||||
|
|
||||
|
type IHelloV1 interface { |
||||
|
Hello(ctx context.Context, req *v1.HelloReq) (res *v1.HelloRes, err error) |
||||
|
} |
@ -0,0 +1,12 @@ |
|||||
|
package v1 |
||||
|
|
||||
|
import ( |
||||
|
"github.com/gogf/gf/v2/frame/g" |
||||
|
) |
||||
|
|
||||
|
type HelloReq struct { |
||||
|
g.Meta `path:"/hello" tags:"Hello" method:"get" summary:"You first hello api"` |
||||
|
} |
||||
|
type HelloRes struct { |
||||
|
g.Meta `mime:"text/html" example:"string"` |
||||
|
} |
@ -0,0 +1,17 @@ |
|||||
|
package v1 |
||||
|
|
||||
|
import ( |
||||
|
"github.com/gogf/gf/v2/frame/g" |
||||
|
"github.com/gogf/gf/v2/os/gtime" |
||||
|
) |
||||
|
|
||||
|
type CreateVoteReq struct { |
||||
|
g.Meta `path:"/createVote" method:"post" tags:"新增投票"` |
||||
|
PostId int64 `v:"required" dc:"文章/视频 ID"` |
||||
|
VoteTitle string `v:"required" dc:"投票标题"` |
||||
|
MultiSelection int `v:"required" dc:"支持多选"` |
||||
|
DeadlineTime *gtime.Time `v:"required" dc:"截止时间"` |
||||
|
} |
||||
|
type CreateVoteResp struct { |
||||
|
Id int64 `json:"id" dc:"投票 id"` |
||||
|
} |
@ -0,0 +1,38 @@ |
|||||
|
module practice_ArticleVote_Go |
||||
|
|
||||
|
go 1.22 |
||||
|
|
||||
|
toolchain go1.23.10 |
||||
|
|
||||
|
require ( |
||||
|
github.com/gogf/gf/contrib/drivers/mysql/v2 v2.9.0 |
||||
|
github.com/gogf/gf/v2 v2.9.0 |
||||
|
) |
||||
|
|
||||
|
require ( |
||||
|
github.com/BurntSushi/toml v1.4.0 // indirect |
||||
|
github.com/clbanning/mxj/v2 v2.7.0 // indirect |
||||
|
github.com/emirpasic/gods v1.18.1 // indirect |
||||
|
github.com/fatih/color v1.18.0 // indirect |
||||
|
github.com/fsnotify/fsnotify v1.7.0 // indirect |
||||
|
github.com/go-logr/logr v1.4.2 // indirect |
||||
|
github.com/go-logr/stdr v1.2.2 // indirect |
||||
|
github.com/go-sql-driver/mysql v1.7.1 // indirect |
||||
|
github.com/google/uuid v1.6.0 // indirect |
||||
|
github.com/gorilla/websocket v1.5.3 // indirect |
||||
|
github.com/grokify/html-strip-tags-go v0.1.0 // indirect |
||||
|
github.com/magiconair/properties v1.8.9 // indirect |
||||
|
github.com/mattn/go-colorable v0.1.13 // indirect |
||||
|
github.com/mattn/go-isatty v0.0.20 // indirect |
||||
|
github.com/mattn/go-runewidth v0.0.16 // indirect |
||||
|
github.com/olekukonko/tablewriter v0.0.5 // indirect |
||||
|
github.com/rivo/uniseg v0.4.7 // indirect |
||||
|
go.opentelemetry.io/otel v1.32.0 // indirect |
||||
|
go.opentelemetry.io/otel/metric v1.32.0 // indirect |
||||
|
go.opentelemetry.io/otel/sdk v1.32.0 // indirect |
||||
|
go.opentelemetry.io/otel/trace v1.32.0 // indirect |
||||
|
golang.org/x/net v0.32.0 // indirect |
||||
|
golang.org/x/sys v0.28.0 // indirect |
||||
|
golang.org/x/text v0.21.0 // indirect |
||||
|
gopkg.in/yaml.v3 v3.0.1 // indirect |
||||
|
) |
@ -0,0 +1,77 @@ |
|||||
|
github.com/BurntSushi/toml v1.4.0 h1:kuoIxZQy2WRRk1pttg9asf+WVv6tWQuBNVmK8+nqPr0= |
||||
|
github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= |
||||
|
github.com/clbanning/mxj/v2 v2.7.0 h1:WA/La7UGCanFe5NpHF0Q3DNtnCsVoxbPKuyBNHWRyME= |
||||
|
github.com/clbanning/mxj/v2 v2.7.0/go.mod h1:hNiWqW14h+kc+MdF9C6/YoRfjEJoR3ou6tn/Qo+ve2s= |
||||
|
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= |
||||
|
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= |
||||
|
github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= |
||||
|
github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= |
||||
|
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= |
||||
|
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= |
||||
|
github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= |
||||
|
github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= |
||||
|
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= |
||||
|
github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= |
||||
|
github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= |
||||
|
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= |
||||
|
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= |
||||
|
github.com/go-sql-driver/mysql v1.7.1 h1:lUIinVbN1DY0xBg0eMOzmmtGoHwWBbvnWubQUrtU8EI= |
||||
|
github.com/go-sql-driver/mysql v1.7.1/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI= |
||||
|
github.com/gogf/gf/contrib/drivers/mysql/v2 v2.9.0 h1:1f7EeD0lfPHoXfaJDSL7cxRcSRelbsAKgF3MGXY+Uyo= |
||||
|
github.com/gogf/gf/contrib/drivers/mysql/v2 v2.9.0/go.mod h1:tToO1PjGkLIR+9DbJ0wrKicYma0H/EUHXOpwel6Dw+0= |
||||
|
github.com/gogf/gf/v2 v2.9.0 h1:semN5Q5qGjDQEv4620VzxcJzJlSD07gmyJ9Sy9zfbHk= |
||||
|
github.com/gogf/gf/v2 v2.9.0/go.mod h1:sWGQw+pLILtuHmbOxoe0D+0DdaXxbleT57axOLH2vKI= |
||||
|
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= |
||||
|
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= |
||||
|
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= |
||||
|
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= |
||||
|
github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg= |
||||
|
github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= |
||||
|
github.com/grokify/html-strip-tags-go v0.1.0 h1:03UrQLjAny8xci+R+qjCce/MYnpNXCtgzltlQbOBae4= |
||||
|
github.com/grokify/html-strip-tags-go v0.1.0/go.mod h1:ZdzgfHEzAfz9X6Xe5eBLVblWIxXfYSQ40S/VKrAOGpc= |
||||
|
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= |
||||
|
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= |
||||
|
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= |
||||
|
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= |
||||
|
github.com/magiconair/properties v1.8.9 h1:nWcCbLq1N2v/cpNsy5WvQ37Fb+YElfq20WJ/a8RkpQM= |
||||
|
github.com/magiconair/properties v1.8.9/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= |
||||
|
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= |
||||
|
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= |
||||
|
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= |
||||
|
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= |
||||
|
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= |
||||
|
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= |
||||
|
github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc= |
||||
|
github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= |
||||
|
github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= |
||||
|
github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= |
||||
|
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= |
||||
|
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= |
||||
|
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= |
||||
|
github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= |
||||
|
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= |
||||
|
github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= |
||||
|
github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= |
||||
|
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= |
||||
|
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= |
||||
|
go.opentelemetry.io/otel v1.32.0 h1:WnBN+Xjcteh0zdk01SVqV55d/m62NJLJdIyb4y/WO5U= |
||||
|
go.opentelemetry.io/otel v1.32.0/go.mod h1:00DCVSB0RQcnzlwyTfqtxSm+DRr9hpYrHjNGiBHVQIg= |
||||
|
go.opentelemetry.io/otel/metric v1.32.0 h1:xV2umtmNcThh2/a/aCP+h64Xx5wsj8qqnkYZktzNa0M= |
||||
|
go.opentelemetry.io/otel/metric v1.32.0/go.mod h1:jH7CIbbK6SH2V2wE16W05BHCtIDzauciCRLoc/SyMv8= |
||||
|
go.opentelemetry.io/otel/sdk v1.32.0 h1:RNxepc9vK59A8XsgZQouW8ue8Gkb4jpWtJm9ge5lEG4= |
||||
|
go.opentelemetry.io/otel/sdk v1.32.0/go.mod h1:LqgegDBjKMmb2GC6/PrTnteJG39I8/vJCAP9LlJXEjU= |
||||
|
go.opentelemetry.io/otel/trace v1.32.0 h1:WIC9mYrXf8TmY/EXuULKc8hR17vE+Hjv2cssQDe03fM= |
||||
|
go.opentelemetry.io/otel/trace v1.32.0/go.mod h1:+i4rkvCraA+tG6AzwloGaCtkx53Fa+L+V8e9a7YvhT8= |
||||
|
golang.org/x/net v0.32.0 h1:ZqPmj8Kzc+Y6e0+skZsuACbx+wzMgo5MQsJh9Qd6aYI= |
||||
|
golang.org/x/net v0.32.0/go.mod h1:CwU0IoeOlnQQWJ6ioyFrfRuomB8GKF6KbYXZVyeXNfs= |
||||
|
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= |
||||
|
golang.org/x/sys v0.6.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/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= |
||||
|
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= |
||||
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= |
||||
|
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= |
||||
|
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= |
||||
|
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= |
||||
|
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= |
@ -0,0 +1,14 @@ |
|||||
|
|
||||
|
# CLI tool, only in development environment. |
||||
|
# https://goframe.org/docs/cli |
||||
|
gfcli: |
||||
|
gen: |
||||
|
dao: |
||||
|
- link: "mysql:root:123456@tcp(127.0.0.1:3306)/link_test" |
||||
|
descriptionTag: true |
||||
|
|
||||
|
docker: |
||||
|
build: "-a amd64 -s linux -p temp -ew" |
||||
|
tagPrefixes: |
||||
|
- my.image.pub/my-app |
||||
|
|
@ -0,0 +1,20 @@ |
|||||
|
|
||||
|
# Install/Update to the latest CLI tool.
|
||||
|
.PHONY: cli |
||||
|
cli: |
||||
|
@set -e; \
|
||||
|
wget -O gf \
|
||||
|
https://github.com/gogf/gf/releases/latest/download/gf_$(shell go env GOOS)_$(shell go env GOARCH) && \
|
||||
|
chmod +x gf && \
|
||||
|
./gf install -y && \
|
||||
|
rm ./gf |
||||
|
|
||||
|
|
||||
|
# Check and install CLI tool.
|
||||
|
.PHONY: cli.install |
||||
|
cli.install: |
||||
|
@set -e; \
|
||||
|
gf -v > /dev/null 2>&1 || if [[ "$?" -ne "0" ]]; then \
|
||||
|
echo "GoFame CLI is not installed, start proceeding auto installation..."; \
|
||||
|
make cli; \
|
||||
|
fi; |
@ -0,0 +1,75 @@ |
|||||
|
.DEFAULT_GOAL := build |
||||
|
|
||||
|
# Update GoFrame and its CLI to latest stable version.
|
||||
|
.PHONY: up |
||||
|
up: cli.install |
||||
|
@gf up -a |
||||
|
|
||||
|
# Build binary using configuration from hack/config.yaml.
|
||||
|
.PHONY: build |
||||
|
build: cli.install |
||||
|
@gf build -ew |
||||
|
|
||||
|
# Parse api and generate controller/sdk.
|
||||
|
.PHONY: ctrl |
||||
|
ctrl: cli.install |
||||
|
@gf gen ctrl |
||||
|
|
||||
|
# Generate Go files for DAO/DO/Entity.
|
||||
|
.PHONY: dao |
||||
|
dao: cli.install |
||||
|
@gf gen dao |
||||
|
|
||||
|
# Parse current project go files and generate enums go file.
|
||||
|
.PHONY: enums |
||||
|
enums: cli.install |
||||
|
@gf gen enums |
||||
|
|
||||
|
# Generate Go files for Service.
|
||||
|
.PHONY: service |
||||
|
service: cli.install |
||||
|
@gf gen service |
||||
|
|
||||
|
|
||||
|
# Build docker image.
|
||||
|
.PHONY: image |
||||
|
image: cli.install |
||||
|
$(eval _TAG = $(shell git rev-parse --short HEAD)) |
||||
|
ifneq (, $(shell git status --porcelain 2>/dev/null)) |
||||
|
$(eval _TAG = $(_TAG).dirty) |
||||
|
endif |
||||
|
$(eval _TAG = $(if ${TAG}, ${TAG}, $(_TAG))) |
||||
|
$(eval _PUSH = $(if ${PUSH}, ${PUSH}, )) |
||||
|
@gf docker ${_PUSH} -tn $(DOCKER_NAME):${_TAG}; |
||||
|
|
||||
|
|
||||
|
# Build docker image and automatically push to docker repo.
|
||||
|
.PHONY: image.push |
||||
|
image.push: cli.install |
||||
|
@make image PUSH=-p; |
||||
|
|
||||
|
|
||||
|
# Deploy image and yaml to current kubectl environment.
|
||||
|
.PHONY: deploy |
||||
|
deploy: cli.install |
||||
|
$(eval _TAG = $(if ${TAG}, ${TAG}, develop)) |
||||
|
|
||||
|
@set -e; \
|
||||
|
mkdir -p $(ROOT_DIR)/temp/kustomize;\
|
||||
|
cd $(ROOT_DIR)/manifest/deploy/kustomize/overlays/${_ENV};\
|
||||
|
kustomize build > $(ROOT_DIR)/temp/kustomize.yaml;\
|
||||
|
kubectl apply -f $(ROOT_DIR)/temp/kustomize.yaml; \
|
||||
|
if [ $(DEPLOY_NAME) != "" ]; then \
|
||||
|
kubectl patch -n $(NAMESPACE) deployment/$(DEPLOY_NAME) -p "{\"spec\":{\"template\":{\"metadata\":{\"labels\":{\"date\":\"$(shell date +%s)\"}}}}}"; \
|
||||
|
fi; |
||||
|
|
||||
|
|
||||
|
# Parsing protobuf files and generating go files.
|
||||
|
.PHONY: pb |
||||
|
pb: cli.install |
||||
|
@gf gen pb |
||||
|
|
||||
|
# Generate protobuf files for database tables.
|
||||
|
.PHONY: pbentity |
||||
|
pbentity: cli.install |
||||
|
@gf gen pbentity |
@ -0,0 +1,30 @@ |
|||||
|
package cmd |
||||
|
|
||||
|
import ( |
||||
|
"context" |
||||
|
|
||||
|
"github.com/gogf/gf/v2/frame/g" |
||||
|
"github.com/gogf/gf/v2/net/ghttp" |
||||
|
"github.com/gogf/gf/v2/os/gcmd" |
||||
|
|
||||
|
"practice_ArticleVote_Go/internal/controller/hello" |
||||
|
) |
||||
|
|
||||
|
var ( |
||||
|
Main = gcmd.Command{ |
||||
|
Name: "main", |
||||
|
Usage: "main", |
||||
|
Brief: "start http server", |
||||
|
Func: func(ctx context.Context, parser *gcmd.Parser) (err error) { |
||||
|
s := g.Server() |
||||
|
s.Group("/", func(group *ghttp.RouterGroup) { |
||||
|
group.Middleware(ghttp.MiddlewareHandlerResponse) |
||||
|
group.Bind( |
||||
|
hello.NewV1(), |
||||
|
) |
||||
|
}) |
||||
|
s.Run() |
||||
|
return nil |
||||
|
}, |
||||
|
} |
||||
|
) |
@ -0,0 +1 @@ |
|||||
|
package consts |
@ -0,0 +1,5 @@ |
|||||
|
// =================================================================================
|
||||
|
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
|
||||
|
// =================================================================================
|
||||
|
|
||||
|
package hello |
@ -0,0 +1,15 @@ |
|||||
|
// =================================================================================
|
||||
|
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
|
||||
|
// =================================================================================
|
||||
|
|
||||
|
package hello |
||||
|
|
||||
|
import ( |
||||
|
"practice_ArticleVote_Go/api/hello" |
||||
|
) |
||||
|
|
||||
|
type ControllerV1 struct{} |
||||
|
|
||||
|
func NewV1() hello.IHelloV1 { |
||||
|
return &ControllerV1{} |
||||
|
} |
@ -0,0 +1,13 @@ |
|||||
|
package hello |
||||
|
|
||||
|
import ( |
||||
|
"context" |
||||
|
"github.com/gogf/gf/v2/frame/g" |
||||
|
|
||||
|
"practice_ArticleVote_Go/api/hello/v1" |
||||
|
) |
||||
|
|
||||
|
func (c *ControllerV1) Hello(ctx context.Context, req *v1.HelloReq) (res *v1.HelloRes, err error) { |
||||
|
g.RequestFromCtx(ctx).Response.Writeln("Hello World!") |
||||
|
return |
||||
|
} |
@ -0,0 +1,87 @@ |
|||||
|
// ==========================================================================
|
||||
|
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
|
||||
|
// ==========================================================================
|
||||
|
|
||||
|
package internal |
||||
|
|
||||
|
import ( |
||||
|
"context" |
||||
|
|
||||
|
"github.com/gogf/gf/v2/database/gdb" |
||||
|
"github.com/gogf/gf/v2/frame/g" |
||||
|
) |
||||
|
|
||||
|
// PostDao is the data access object for the table post.
|
||||
|
type PostDao struct { |
||||
|
table string // table is the underlying table name of the DAO.
|
||||
|
group string // group is the database configuration group name of the current DAO.
|
||||
|
columns PostColumns // columns contains all the column names of Table for convenient usage.
|
||||
|
handlers []gdb.ModelHandler // handlers for customized model modification.
|
||||
|
} |
||||
|
|
||||
|
// PostColumns defines and stores column names for the table post.
|
||||
|
type PostColumns struct { |
||||
|
Id string //
|
||||
|
PostTitle string // 文章/视频标题
|
||||
|
PostContent string // 文章/视频内容
|
||||
|
VoteStatus string // 是否发起投票:1发起,0不发起
|
||||
|
CreateTime string //
|
||||
|
} |
||||
|
|
||||
|
// postColumns holds the columns for the table post.
|
||||
|
var postColumns = PostColumns{ |
||||
|
Id: "id", |
||||
|
PostTitle: "post_title", |
||||
|
PostContent: "post_content", |
||||
|
VoteStatus: "vote_status", |
||||
|
CreateTime: "create_time", |
||||
|
} |
||||
|
|
||||
|
// NewPostDao creates and returns a new DAO object for table data access.
|
||||
|
func NewPostDao(handlers ...gdb.ModelHandler) *PostDao { |
||||
|
return &PostDao{ |
||||
|
group: "default", |
||||
|
table: "post", |
||||
|
columns: postColumns, |
||||
|
handlers: handlers, |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// DB retrieves and returns the underlying raw database management object of the current DAO.
|
||||
|
func (dao *PostDao) DB() gdb.DB { |
||||
|
return g.DB(dao.group) |
||||
|
} |
||||
|
|
||||
|
// Table returns the table name of the current DAO.
|
||||
|
func (dao *PostDao) Table() string { |
||||
|
return dao.table |
||||
|
} |
||||
|
|
||||
|
// Columns returns all column names of the current DAO.
|
||||
|
func (dao *PostDao) Columns() PostColumns { |
||||
|
return dao.columns |
||||
|
} |
||||
|
|
||||
|
// Group returns the database configuration group name of the current DAO.
|
||||
|
func (dao *PostDao) Group() string { |
||||
|
return dao.group |
||||
|
} |
||||
|
|
||||
|
// Ctx creates and returns a Model for the current DAO. It automatically sets the context for the current operation.
|
||||
|
func (dao *PostDao) Ctx(ctx context.Context) *gdb.Model { |
||||
|
model := dao.DB().Model(dao.table) |
||||
|
for _, handler := range dao.handlers { |
||||
|
model = handler(model) |
||||
|
} |
||||
|
return model.Safe().Ctx(ctx) |
||||
|
} |
||||
|
|
||||
|
// Transaction wraps the transaction logic using function f.
|
||||
|
// It rolls back the transaction and returns the error if function f returns a non-nil error.
|
||||
|
// It commits the transaction and returns nil if function f returns nil.
|
||||
|
//
|
||||
|
// Note: Do not commit or roll back the transaction in function f,
|
||||
|
// as it is automatically handled by this function.
|
||||
|
func (dao *PostDao) Transaction(ctx context.Context, f func(ctx context.Context, tx gdb.TX) error) (err error) { |
||||
|
return dao.Ctx(ctx).Transaction(ctx, f) |
||||
|
} |
@ -0,0 +1,85 @@ |
|||||
|
// ==========================================================================
|
||||
|
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
|
||||
|
// ==========================================================================
|
||||
|
|
||||
|
package internal |
||||
|
|
||||
|
import ( |
||||
|
"context" |
||||
|
|
||||
|
"github.com/gogf/gf/v2/database/gdb" |
||||
|
"github.com/gogf/gf/v2/frame/g" |
||||
|
) |
||||
|
|
||||
|
// RemainVoteNumberDao is the data access object for the table remain_vote_number.
|
||||
|
type RemainVoteNumberDao struct { |
||||
|
table string // table is the underlying table name of the DAO.
|
||||
|
group string // group is the database configuration group name of the current DAO.
|
||||
|
columns RemainVoteNumberColumns // columns contains all the column names of Table for convenient usage.
|
||||
|
handlers []gdb.ModelHandler // handlers for customized model modification.
|
||||
|
} |
||||
|
|
||||
|
// RemainVoteNumberColumns defines and stores column names for the table remain_vote_number.
|
||||
|
type RemainVoteNumberColumns struct { |
||||
|
Id string //
|
||||
|
UserId string //
|
||||
|
RemainTimes string //
|
||||
|
LastDate string //
|
||||
|
} |
||||
|
|
||||
|
// remainVoteNumberColumns holds the columns for the table remain_vote_number.
|
||||
|
var remainVoteNumberColumns = RemainVoteNumberColumns{ |
||||
|
Id: "id", |
||||
|
UserId: "user_id", |
||||
|
RemainTimes: "remain_times", |
||||
|
LastDate: "last_date", |
||||
|
} |
||||
|
|
||||
|
// NewRemainVoteNumberDao creates and returns a new DAO object for table data access.
|
||||
|
func NewRemainVoteNumberDao(handlers ...gdb.ModelHandler) *RemainVoteNumberDao { |
||||
|
return &RemainVoteNumberDao{ |
||||
|
group: "default", |
||||
|
table: "remain_vote_number", |
||||
|
columns: remainVoteNumberColumns, |
||||
|
handlers: handlers, |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// DB retrieves and returns the underlying raw database management object of the current DAO.
|
||||
|
func (dao *RemainVoteNumberDao) DB() gdb.DB { |
||||
|
return g.DB(dao.group) |
||||
|
} |
||||
|
|
||||
|
// Table returns the table name of the current DAO.
|
||||
|
func (dao *RemainVoteNumberDao) Table() string { |
||||
|
return dao.table |
||||
|
} |
||||
|
|
||||
|
// Columns returns all column names of the current DAO.
|
||||
|
func (dao *RemainVoteNumberDao) Columns() RemainVoteNumberColumns { |
||||
|
return dao.columns |
||||
|
} |
||||
|
|
||||
|
// Group returns the database configuration group name of the current DAO.
|
||||
|
func (dao *RemainVoteNumberDao) Group() string { |
||||
|
return dao.group |
||||
|
} |
||||
|
|
||||
|
// Ctx creates and returns a Model for the current DAO. It automatically sets the context for the current operation.
|
||||
|
func (dao *RemainVoteNumberDao) Ctx(ctx context.Context) *gdb.Model { |
||||
|
model := dao.DB().Model(dao.table) |
||||
|
for _, handler := range dao.handlers { |
||||
|
model = handler(model) |
||||
|
} |
||||
|
return model.Safe().Ctx(ctx) |
||||
|
} |
||||
|
|
||||
|
// Transaction wraps the transaction logic using function f.
|
||||
|
// It rolls back the transaction and returns the error if function f returns a non-nil error.
|
||||
|
// It commits the transaction and returns nil if function f returns nil.
|
||||
|
//
|
||||
|
// Note: Do not commit or roll back the transaction in function f,
|
||||
|
// as it is automatically handled by this function.
|
||||
|
func (dao *RemainVoteNumberDao) Transaction(ctx context.Context, f func(ctx context.Context, tx gdb.TX) error) (err error) { |
||||
|
return dao.Ctx(ctx).Transaction(ctx, f) |
||||
|
} |
@ -0,0 +1,89 @@ |
|||||
|
// ==========================================================================
|
||||
|
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
|
||||
|
// ==========================================================================
|
||||
|
|
||||
|
package internal |
||||
|
|
||||
|
import ( |
||||
|
"context" |
||||
|
|
||||
|
"github.com/gogf/gf/v2/database/gdb" |
||||
|
"github.com/gogf/gf/v2/frame/g" |
||||
|
) |
||||
|
|
||||
|
// UserDao is the data access object for the table user.
|
||||
|
type UserDao struct { |
||||
|
table string // table is the underlying table name of the DAO.
|
||||
|
group string // group is the database configuration group name of the current DAO.
|
||||
|
columns UserColumns // columns contains all the column names of Table for convenient usage.
|
||||
|
handlers []gdb.ModelHandler // handlers for customized model modification.
|
||||
|
} |
||||
|
|
||||
|
// UserColumns defines and stores column names for the table user.
|
||||
|
type UserColumns struct { |
||||
|
Id string //
|
||||
|
Account string //
|
||||
|
Password string //
|
||||
|
Username string //
|
||||
|
Status string //
|
||||
|
CreateTime string //
|
||||
|
} |
||||
|
|
||||
|
// userColumns holds the columns for the table user.
|
||||
|
var userColumns = UserColumns{ |
||||
|
Id: "id", |
||||
|
Account: "account", |
||||
|
Password: "password", |
||||
|
Username: "username", |
||||
|
Status: "status", |
||||
|
CreateTime: "create_time", |
||||
|
} |
||||
|
|
||||
|
// NewUserDao creates and returns a new DAO object for table data access.
|
||||
|
func NewUserDao(handlers ...gdb.ModelHandler) *UserDao { |
||||
|
return &UserDao{ |
||||
|
group: "default", |
||||
|
table: "user", |
||||
|
columns: userColumns, |
||||
|
handlers: handlers, |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// DB retrieves and returns the underlying raw database management object of the current DAO.
|
||||
|
func (dao *UserDao) DB() gdb.DB { |
||||
|
return g.DB(dao.group) |
||||
|
} |
||||
|
|
||||
|
// Table returns the table name of the current DAO.
|
||||
|
func (dao *UserDao) Table() string { |
||||
|
return dao.table |
||||
|
} |
||||
|
|
||||
|
// Columns returns all column names of the current DAO.
|
||||
|
func (dao *UserDao) Columns() UserColumns { |
||||
|
return dao.columns |
||||
|
} |
||||
|
|
||||
|
// Group returns the database configuration group name of the current DAO.
|
||||
|
func (dao *UserDao) Group() string { |
||||
|
return dao.group |
||||
|
} |
||||
|
|
||||
|
// Ctx creates and returns a Model for the current DAO. It automatically sets the context for the current operation.
|
||||
|
func (dao *UserDao) Ctx(ctx context.Context) *gdb.Model { |
||||
|
model := dao.DB().Model(dao.table) |
||||
|
for _, handler := range dao.handlers { |
||||
|
model = handler(model) |
||||
|
} |
||||
|
return model.Safe().Ctx(ctx) |
||||
|
} |
||||
|
|
||||
|
// Transaction wraps the transaction logic using function f.
|
||||
|
// It rolls back the transaction and returns the error if function f returns a non-nil error.
|
||||
|
// It commits the transaction and returns nil if function f returns nil.
|
||||
|
//
|
||||
|
// Note: Do not commit or roll back the transaction in function f,
|
||||
|
// as it is automatically handled by this function.
|
||||
|
func (dao *UserDao) Transaction(ctx context.Context, f func(ctx context.Context, tx gdb.TX) error) (err error) { |
||||
|
return dao.Ctx(ctx).Transaction(ctx, f) |
||||
|
} |
@ -0,0 +1,85 @@ |
|||||
|
// ==========================================================================
|
||||
|
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
|
||||
|
// ==========================================================================
|
||||
|
|
||||
|
package internal |
||||
|
|
||||
|
import ( |
||||
|
"context" |
||||
|
|
||||
|
"github.com/gogf/gf/v2/database/gdb" |
||||
|
"github.com/gogf/gf/v2/frame/g" |
||||
|
) |
||||
|
|
||||
|
// VoteOptionDao is the data access object for the table vote_option.
|
||||
|
type VoteOptionDao struct { |
||||
|
table string // table is the underlying table name of the DAO.
|
||||
|
group string // group is the database configuration group name of the current DAO.
|
||||
|
columns VoteOptionColumns // columns contains all the column names of Table for convenient usage.
|
||||
|
handlers []gdb.ModelHandler // handlers for customized model modification.
|
||||
|
} |
||||
|
|
||||
|
// VoteOptionColumns defines and stores column names for the table vote_option.
|
||||
|
type VoteOptionColumns struct { |
||||
|
Id string //
|
||||
|
VoteId string // 投票活动ID
|
||||
|
OptionContent string // 选项内容
|
||||
|
Status string // 选项状态
|
||||
|
} |
||||
|
|
||||
|
// voteOptionColumns holds the columns for the table vote_option.
|
||||
|
var voteOptionColumns = VoteOptionColumns{ |
||||
|
Id: "id", |
||||
|
VoteId: "vote_id", |
||||
|
OptionContent: "option_content", |
||||
|
Status: "status", |
||||
|
} |
||||
|
|
||||
|
// NewVoteOptionDao creates and returns a new DAO object for table data access.
|
||||
|
func NewVoteOptionDao(handlers ...gdb.ModelHandler) *VoteOptionDao { |
||||
|
return &VoteOptionDao{ |
||||
|
group: "default", |
||||
|
table: "vote_option", |
||||
|
columns: voteOptionColumns, |
||||
|
handlers: handlers, |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// DB retrieves and returns the underlying raw database management object of the current DAO.
|
||||
|
func (dao *VoteOptionDao) DB() gdb.DB { |
||||
|
return g.DB(dao.group) |
||||
|
} |
||||
|
|
||||
|
// Table returns the table name of the current DAO.
|
||||
|
func (dao *VoteOptionDao) Table() string { |
||||
|
return dao.table |
||||
|
} |
||||
|
|
||||
|
// Columns returns all column names of the current DAO.
|
||||
|
func (dao *VoteOptionDao) Columns() VoteOptionColumns { |
||||
|
return dao.columns |
||||
|
} |
||||
|
|
||||
|
// Group returns the database configuration group name of the current DAO.
|
||||
|
func (dao *VoteOptionDao) Group() string { |
||||
|
return dao.group |
||||
|
} |
||||
|
|
||||
|
// Ctx creates and returns a Model for the current DAO. It automatically sets the context for the current operation.
|
||||
|
func (dao *VoteOptionDao) Ctx(ctx context.Context) *gdb.Model { |
||||
|
model := dao.DB().Model(dao.table) |
||||
|
for _, handler := range dao.handlers { |
||||
|
model = handler(model) |
||||
|
} |
||||
|
return model.Safe().Ctx(ctx) |
||||
|
} |
||||
|
|
||||
|
// Transaction wraps the transaction logic using function f.
|
||||
|
// It rolls back the transaction and returns the error if function f returns a non-nil error.
|
||||
|
// It commits the transaction and returns nil if function f returns nil.
|
||||
|
//
|
||||
|
// Note: Do not commit or roll back the transaction in function f,
|
||||
|
// as it is automatically handled by this function.
|
||||
|
func (dao *VoteOptionDao) Transaction(ctx context.Context, f func(ctx context.Context, tx gdb.TX) error) (err error) { |
||||
|
return dao.Ctx(ctx).Transaction(ctx, f) |
||||
|
} |
@ -0,0 +1,91 @@ |
|||||
|
// ==========================================================================
|
||||
|
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
|
||||
|
// ==========================================================================
|
||||
|
|
||||
|
package internal |
||||
|
|
||||
|
import ( |
||||
|
"context" |
||||
|
|
||||
|
"github.com/gogf/gf/v2/database/gdb" |
||||
|
"github.com/gogf/gf/v2/frame/g" |
||||
|
) |
||||
|
|
||||
|
// VotePollDao is the data access object for the table vote_poll.
|
||||
|
type VotePollDao struct { |
||||
|
table string // table is the underlying table name of the DAO.
|
||||
|
group string // group is the database configuration group name of the current DAO.
|
||||
|
columns VotePollColumns // columns contains all the column names of Table for convenient usage.
|
||||
|
handlers []gdb.ModelHandler // handlers for customized model modification.
|
||||
|
} |
||||
|
|
||||
|
// VotePollColumns defines and stores column names for the table vote_poll.
|
||||
|
type VotePollColumns struct { |
||||
|
Id string //
|
||||
|
PostId string // 文章/视频ID
|
||||
|
VoteTitle string // 投票活动标题
|
||||
|
MultiOption string // 是否开启多选:1多选,0不多选
|
||||
|
DeadlineTime string // 截止时间
|
||||
|
CreateTime string //
|
||||
|
Status string // 投票活动状态:1:进行中,0已结束
|
||||
|
} |
||||
|
|
||||
|
// votePollColumns holds the columns for the table vote_poll.
|
||||
|
var votePollColumns = VotePollColumns{ |
||||
|
Id: "id", |
||||
|
PostId: "post_id", |
||||
|
VoteTitle: "vote_title", |
||||
|
MultiOption: "multi_option", |
||||
|
DeadlineTime: "deadline_time", |
||||
|
CreateTime: "create_time", |
||||
|
Status: "status", |
||||
|
} |
||||
|
|
||||
|
// NewVotePollDao creates and returns a new DAO object for table data access.
|
||||
|
func NewVotePollDao(handlers ...gdb.ModelHandler) *VotePollDao { |
||||
|
return &VotePollDao{ |
||||
|
group: "default", |
||||
|
table: "vote_poll", |
||||
|
columns: votePollColumns, |
||||
|
handlers: handlers, |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// DB retrieves and returns the underlying raw database management object of the current DAO.
|
||||
|
func (dao *VotePollDao) DB() gdb.DB { |
||||
|
return g.DB(dao.group) |
||||
|
} |
||||
|
|
||||
|
// Table returns the table name of the current DAO.
|
||||
|
func (dao *VotePollDao) Table() string { |
||||
|
return dao.table |
||||
|
} |
||||
|
|
||||
|
// Columns returns all column names of the current DAO.
|
||||
|
func (dao *VotePollDao) Columns() VotePollColumns { |
||||
|
return dao.columns |
||||
|
} |
||||
|
|
||||
|
// Group returns the database configuration group name of the current DAO.
|
||||
|
func (dao *VotePollDao) Group() string { |
||||
|
return dao.group |
||||
|
} |
||||
|
|
||||
|
// Ctx creates and returns a Model for the current DAO. It automatically sets the context for the current operation.
|
||||
|
func (dao *VotePollDao) Ctx(ctx context.Context) *gdb.Model { |
||||
|
model := dao.DB().Model(dao.table) |
||||
|
for _, handler := range dao.handlers { |
||||
|
model = handler(model) |
||||
|
} |
||||
|
return model.Safe().Ctx(ctx) |
||||
|
} |
||||
|
|
||||
|
// Transaction wraps the transaction logic using function f.
|
||||
|
// It rolls back the transaction and returns the error if function f returns a non-nil error.
|
||||
|
// It commits the transaction and returns nil if function f returns nil.
|
||||
|
//
|
||||
|
// Note: Do not commit or roll back the transaction in function f,
|
||||
|
// as it is automatically handled by this function.
|
||||
|
func (dao *VotePollDao) Transaction(ctx context.Context, f func(ctx context.Context, tx gdb.TX) error) (err error) { |
||||
|
return dao.Ctx(ctx).Transaction(ctx, f) |
||||
|
} |
@ -0,0 +1,89 @@ |
|||||
|
// ==========================================================================
|
||||
|
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
|
||||
|
// ==========================================================================
|
||||
|
|
||||
|
package internal |
||||
|
|
||||
|
import ( |
||||
|
"context" |
||||
|
|
||||
|
"github.com/gogf/gf/v2/database/gdb" |
||||
|
"github.com/gogf/gf/v2/frame/g" |
||||
|
) |
||||
|
|
||||
|
// VoteRecordDao is the data access object for the table vote_record.
|
||||
|
type VoteRecordDao struct { |
||||
|
table string // table is the underlying table name of the DAO.
|
||||
|
group string // group is the database configuration group name of the current DAO.
|
||||
|
columns VoteRecordColumns // columns contains all the column names of Table for convenient usage.
|
||||
|
handlers []gdb.ModelHandler // handlers for customized model modification.
|
||||
|
} |
||||
|
|
||||
|
// VoteRecordColumns defines and stores column names for the table vote_record.
|
||||
|
type VoteRecordColumns struct { |
||||
|
Id string //
|
||||
|
UserId string //
|
||||
|
VoteId string //
|
||||
|
OptionId string //
|
||||
|
CreateTime string //
|
||||
|
VoteIndex string //
|
||||
|
} |
||||
|
|
||||
|
// voteRecordColumns holds the columns for the table vote_record.
|
||||
|
var voteRecordColumns = VoteRecordColumns{ |
||||
|
Id: "id", |
||||
|
UserId: "user_id", |
||||
|
VoteId: "vote_id", |
||||
|
OptionId: "option_id", |
||||
|
CreateTime: "create_time", |
||||
|
VoteIndex: "vote_index", |
||||
|
} |
||||
|
|
||||
|
// NewVoteRecordDao creates and returns a new DAO object for table data access.
|
||||
|
func NewVoteRecordDao(handlers ...gdb.ModelHandler) *VoteRecordDao { |
||||
|
return &VoteRecordDao{ |
||||
|
group: "default", |
||||
|
table: "vote_record", |
||||
|
columns: voteRecordColumns, |
||||
|
handlers: handlers, |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// DB retrieves and returns the underlying raw database management object of the current DAO.
|
||||
|
func (dao *VoteRecordDao) DB() gdb.DB { |
||||
|
return g.DB(dao.group) |
||||
|
} |
||||
|
|
||||
|
// Table returns the table name of the current DAO.
|
||||
|
func (dao *VoteRecordDao) Table() string { |
||||
|
return dao.table |
||||
|
} |
||||
|
|
||||
|
// Columns returns all column names of the current DAO.
|
||||
|
func (dao *VoteRecordDao) Columns() VoteRecordColumns { |
||||
|
return dao.columns |
||||
|
} |
||||
|
|
||||
|
// Group returns the database configuration group name of the current DAO.
|
||||
|
func (dao *VoteRecordDao) Group() string { |
||||
|
return dao.group |
||||
|
} |
||||
|
|
||||
|
// Ctx creates and returns a Model for the current DAO. It automatically sets the context for the current operation.
|
||||
|
func (dao *VoteRecordDao) Ctx(ctx context.Context) *gdb.Model { |
||||
|
model := dao.DB().Model(dao.table) |
||||
|
for _, handler := range dao.handlers { |
||||
|
model = handler(model) |
||||
|
} |
||||
|
return model.Safe().Ctx(ctx) |
||||
|
} |
||||
|
|
||||
|
// Transaction wraps the transaction logic using function f.
|
||||
|
// It rolls back the transaction and returns the error if function f returns a non-nil error.
|
||||
|
// It commits the transaction and returns nil if function f returns nil.
|
||||
|
//
|
||||
|
// Note: Do not commit or roll back the transaction in function f,
|
||||
|
// as it is automatically handled by this function.
|
||||
|
func (dao *VoteRecordDao) Transaction(ctx context.Context, f func(ctx context.Context, tx gdb.TX) error) (err error) { |
||||
|
return dao.Ctx(ctx).Transaction(ctx, f) |
||||
|
} |
@ -0,0 +1,22 @@ |
|||||
|
// =================================================================================
|
||||
|
// This file is auto-generated by the GoFrame CLI tool. You may modify it as needed.
|
||||
|
// =================================================================================
|
||||
|
|
||||
|
package dao |
||||
|
|
||||
|
import ( |
||||
|
"practice_ArticleVote_Go/internal/dao/internal" |
||||
|
) |
||||
|
|
||||
|
// postDao is the data access object for the table post.
|
||||
|
// You can define custom methods on it to extend its functionality as needed.
|
||||
|
type postDao struct { |
||||
|
*internal.PostDao |
||||
|
} |
||||
|
|
||||
|
var ( |
||||
|
// Post is a globally accessible object for table post operations.
|
||||
|
Post = postDao{internal.NewPostDao()} |
||||
|
) |
||||
|
|
||||
|
// Add your custom methods and functionality below.
|
@ -0,0 +1,22 @@ |
|||||
|
// =================================================================================
|
||||
|
// This file is auto-generated by the GoFrame CLI tool. You may modify it as needed.
|
||||
|
// =================================================================================
|
||||
|
|
||||
|
package dao |
||||
|
|
||||
|
import ( |
||||
|
"practice_ArticleVote_Go/internal/dao/internal" |
||||
|
) |
||||
|
|
||||
|
// remainVoteNumberDao is the data access object for the table remain_vote_number.
|
||||
|
// You can define custom methods on it to extend its functionality as needed.
|
||||
|
type remainVoteNumberDao struct { |
||||
|
*internal.RemainVoteNumberDao |
||||
|
} |
||||
|
|
||||
|
var ( |
||||
|
// RemainVoteNumber is a globally accessible object for table remain_vote_number operations.
|
||||
|
RemainVoteNumber = remainVoteNumberDao{internal.NewRemainVoteNumberDao()} |
||||
|
) |
||||
|
|
||||
|
// Add your custom methods and functionality below.
|
@ -0,0 +1,22 @@ |
|||||
|
// =================================================================================
|
||||
|
// This file is auto-generated by the GoFrame CLI tool. You may modify it as needed.
|
||||
|
// =================================================================================
|
||||
|
|
||||
|
package dao |
||||
|
|
||||
|
import ( |
||||
|
"practice_ArticleVote_Go/internal/dao/internal" |
||||
|
) |
||||
|
|
||||
|
// userDao is the data access object for the table user.
|
||||
|
// You can define custom methods on it to extend its functionality as needed.
|
||||
|
type userDao struct { |
||||
|
*internal.UserDao |
||||
|
} |
||||
|
|
||||
|
var ( |
||||
|
// User is a globally accessible object for table user operations.
|
||||
|
User = userDao{internal.NewUserDao()} |
||||
|
) |
||||
|
|
||||
|
// Add your custom methods and functionality below.
|
@ -0,0 +1,22 @@ |
|||||
|
// =================================================================================
|
||||
|
// This file is auto-generated by the GoFrame CLI tool. You may modify it as needed.
|
||||
|
// =================================================================================
|
||||
|
|
||||
|
package dao |
||||
|
|
||||
|
import ( |
||||
|
"practice_ArticleVote_Go/internal/dao/internal" |
||||
|
) |
||||
|
|
||||
|
// voteOptionDao is the data access object for the table vote_option.
|
||||
|
// You can define custom methods on it to extend its functionality as needed.
|
||||
|
type voteOptionDao struct { |
||||
|
*internal.VoteOptionDao |
||||
|
} |
||||
|
|
||||
|
var ( |
||||
|
// VoteOption is a globally accessible object for table vote_option operations.
|
||||
|
VoteOption = voteOptionDao{internal.NewVoteOptionDao()} |
||||
|
) |
||||
|
|
||||
|
// Add your custom methods and functionality below.
|
@ -0,0 +1,22 @@ |
|||||
|
// =================================================================================
|
||||
|
// This file is auto-generated by the GoFrame CLI tool. You may modify it as needed.
|
||||
|
// =================================================================================
|
||||
|
|
||||
|
package dao |
||||
|
|
||||
|
import ( |
||||
|
"practice_ArticleVote_Go/internal/dao/internal" |
||||
|
) |
||||
|
|
||||
|
// votePollDao is the data access object for the table vote_poll.
|
||||
|
// You can define custom methods on it to extend its functionality as needed.
|
||||
|
type votePollDao struct { |
||||
|
*internal.VotePollDao |
||||
|
} |
||||
|
|
||||
|
var ( |
||||
|
// VotePoll is a globally accessible object for table vote_poll operations.
|
||||
|
VotePoll = votePollDao{internal.NewVotePollDao()} |
||||
|
) |
||||
|
|
||||
|
// Add your custom methods and functionality below.
|
@ -0,0 +1,22 @@ |
|||||
|
// =================================================================================
|
||||
|
// This file is auto-generated by the GoFrame CLI tool. You may modify it as needed.
|
||||
|
// =================================================================================
|
||||
|
|
||||
|
package dao |
||||
|
|
||||
|
import ( |
||||
|
"practice_ArticleVote_Go/internal/dao/internal" |
||||
|
) |
||||
|
|
||||
|
// voteRecordDao is the data access object for the table vote_record.
|
||||
|
// You can define custom methods on it to extend its functionality as needed.
|
||||
|
type voteRecordDao struct { |
||||
|
*internal.VoteRecordDao |
||||
|
} |
||||
|
|
||||
|
var ( |
||||
|
// VoteRecord is a globally accessible object for table vote_record operations.
|
||||
|
VoteRecord = voteRecordDao{internal.NewVoteRecordDao()} |
||||
|
) |
||||
|
|
||||
|
// Add your custom methods and functionality below.
|
@ -0,0 +1,20 @@ |
|||||
|
// =================================================================================
|
||||
|
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
|
||||
|
// =================================================================================
|
||||
|
|
||||
|
package do |
||||
|
|
||||
|
import ( |
||||
|
"github.com/gogf/gf/v2/frame/g" |
||||
|
"github.com/gogf/gf/v2/os/gtime" |
||||
|
) |
||||
|
|
||||
|
// Post is the golang structure of table post for DAO operations like Where/Data.
|
||||
|
type Post struct { |
||||
|
g.Meta `orm:"table:post, do:true"` |
||||
|
Id interface{} //
|
||||
|
PostTitle interface{} // 文章/视频标题
|
||||
|
PostContent interface{} // 文章/视频内容
|
||||
|
VoteStatus interface{} // 是否发起投票:1发起,0不发起
|
||||
|
CreateTime *gtime.Time //
|
||||
|
} |
@ -0,0 +1,19 @@ |
|||||
|
// =================================================================================
|
||||
|
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
|
||||
|
// =================================================================================
|
||||
|
|
||||
|
package do |
||||
|
|
||||
|
import ( |
||||
|
"github.com/gogf/gf/v2/frame/g" |
||||
|
"github.com/gogf/gf/v2/os/gtime" |
||||
|
) |
||||
|
|
||||
|
// RemainVoteNumber is the golang structure of table remain_vote_number for DAO operations like Where/Data.
|
||||
|
type RemainVoteNumber struct { |
||||
|
g.Meta `orm:"table:remain_vote_number, do:true"` |
||||
|
Id interface{} //
|
||||
|
UserId interface{} //
|
||||
|
RemainTimes interface{} //
|
||||
|
LastDate *gtime.Time //
|
||||
|
} |
@ -0,0 +1,21 @@ |
|||||
|
// =================================================================================
|
||||
|
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
|
||||
|
// =================================================================================
|
||||
|
|
||||
|
package do |
||||
|
|
||||
|
import ( |
||||
|
"github.com/gogf/gf/v2/frame/g" |
||||
|
"github.com/gogf/gf/v2/os/gtime" |
||||
|
) |
||||
|
|
||||
|
// User is the golang structure of table user for DAO operations like Where/Data.
|
||||
|
type User struct { |
||||
|
g.Meta `orm:"table:user, do:true"` |
||||
|
Id interface{} //
|
||||
|
Account interface{} //
|
||||
|
Password interface{} //
|
||||
|
Username interface{} //
|
||||
|
Status interface{} //
|
||||
|
CreateTime *gtime.Time //
|
||||
|
} |
@ -0,0 +1,18 @@ |
|||||
|
// =================================================================================
|
||||
|
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
|
||||
|
// =================================================================================
|
||||
|
|
||||
|
package do |
||||
|
|
||||
|
import ( |
||||
|
"github.com/gogf/gf/v2/frame/g" |
||||
|
) |
||||
|
|
||||
|
// VoteOption is the golang structure of table vote_option for DAO operations like Where/Data.
|
||||
|
type VoteOption struct { |
||||
|
g.Meta `orm:"table:vote_option, do:true"` |
||||
|
Id interface{} //
|
||||
|
VoteId interface{} // 投票活动ID
|
||||
|
OptionContent interface{} // 选项内容
|
||||
|
Status interface{} // 选项状态
|
||||
|
} |
@ -0,0 +1,22 @@ |
|||||
|
// =================================================================================
|
||||
|
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
|
||||
|
// =================================================================================
|
||||
|
|
||||
|
package do |
||||
|
|
||||
|
import ( |
||||
|
"github.com/gogf/gf/v2/frame/g" |
||||
|
"github.com/gogf/gf/v2/os/gtime" |
||||
|
) |
||||
|
|
||||
|
// VotePoll is the golang structure of table vote_poll for DAO operations like Where/Data.
|
||||
|
type VotePoll struct { |
||||
|
g.Meta `orm:"table:vote_poll, do:true"` |
||||
|
Id interface{} //
|
||||
|
PostId interface{} // 文章/视频ID
|
||||
|
VoteTitle interface{} // 投票活动标题
|
||||
|
MultiOption interface{} // 是否开启多选:1多选,0不多选
|
||||
|
DeadlineTime *gtime.Time // 截止时间
|
||||
|
CreateTime *gtime.Time //
|
||||
|
Status interface{} // 投票活动状态:1:进行中,0已结束
|
||||
|
} |
@ -0,0 +1,21 @@ |
|||||
|
// =================================================================================
|
||||
|
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
|
||||
|
// =================================================================================
|
||||
|
|
||||
|
package do |
||||
|
|
||||
|
import ( |
||||
|
"github.com/gogf/gf/v2/frame/g" |
||||
|
"github.com/gogf/gf/v2/os/gtime" |
||||
|
) |
||||
|
|
||||
|
// VoteRecord is the golang structure of table vote_record for DAO operations like Where/Data.
|
||||
|
type VoteRecord struct { |
||||
|
g.Meta `orm:"table:vote_record, do:true"` |
||||
|
Id interface{} //
|
||||
|
UserId interface{} //
|
||||
|
VoteId interface{} //
|
||||
|
OptionId interface{} //
|
||||
|
CreateTime *gtime.Time //
|
||||
|
VoteIndex interface{} //
|
||||
|
} |
@ -0,0 +1,18 @@ |
|||||
|
// =================================================================================
|
||||
|
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
|
||||
|
// =================================================================================
|
||||
|
|
||||
|
package entity |
||||
|
|
||||
|
import ( |
||||
|
"github.com/gogf/gf/v2/os/gtime" |
||||
|
) |
||||
|
|
||||
|
// Post is the golang structure for table post.
|
||||
|
type Post struct { |
||||
|
Id int64 `json:"id" orm:"id" description:""` //
|
||||
|
PostTitle string `json:"postTitle" orm:"post_title" description:"文章/视频标题"` // 文章/视频标题
|
||||
|
PostContent string `json:"postContent" orm:"post_content" description:"文章/视频内容"` // 文章/视频内容
|
||||
|
VoteStatus int `json:"voteStatus" orm:"vote_status" description:"是否发起投票:1发起,0不发起"` // 是否发起投票:1发起,0不发起
|
||||
|
CreateTime *gtime.Time `json:"createTime" orm:"create_time" description:""` //
|
||||
|
} |
@ -0,0 +1,17 @@ |
|||||
|
// =================================================================================
|
||||
|
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
|
||||
|
// =================================================================================
|
||||
|
|
||||
|
package entity |
||||
|
|
||||
|
import ( |
||||
|
"github.com/gogf/gf/v2/os/gtime" |
||||
|
) |
||||
|
|
||||
|
// RemainVoteNumber is the golang structure for table remain_vote_number.
|
||||
|
type RemainVoteNumber struct { |
||||
|
Id int64 `json:"id" orm:"id" description:""` //
|
||||
|
UserId int64 `json:"userId" orm:"user_id" description:""` //
|
||||
|
RemainTimes int `json:"remainTimes" orm:"remain_times" description:""` //
|
||||
|
LastDate *gtime.Time `json:"lastDate" orm:"last_date" description:""` //
|
||||
|
} |
@ -0,0 +1,19 @@ |
|||||
|
// =================================================================================
|
||||
|
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
|
||||
|
// =================================================================================
|
||||
|
|
||||
|
package entity |
||||
|
|
||||
|
import ( |
||||
|
"github.com/gogf/gf/v2/os/gtime" |
||||
|
) |
||||
|
|
||||
|
// User is the golang structure for table user.
|
||||
|
type User struct { |
||||
|
Id int64 `json:"id" orm:"id" description:""` //
|
||||
|
Account string `json:"account" orm:"account" description:""` //
|
||||
|
Password string `json:"password" orm:"password" description:""` //
|
||||
|
Username string `json:"username" orm:"username" description:""` //
|
||||
|
Status int `json:"status" orm:"status" description:""` //
|
||||
|
CreateTime *gtime.Time `json:"createTime" orm:"create_time" description:""` //
|
||||
|
} |
@ -0,0 +1,13 @@ |
|||||
|
// =================================================================================
|
||||
|
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
|
||||
|
// =================================================================================
|
||||
|
|
||||
|
package entity |
||||
|
|
||||
|
// VoteOption is the golang structure for table vote_option.
|
||||
|
type VoteOption struct { |
||||
|
Id int64 `json:"id" orm:"id" description:""` //
|
||||
|
VoteId int64 `json:"voteId" orm:"vote_id" description:"投票活动ID"` // 投票活动ID
|
||||
|
OptionContent string `json:"optionContent" orm:"option_content" description:"选项内容"` // 选项内容
|
||||
|
Status int `json:"status" orm:"status" description:"选项状态"` // 选项状态
|
||||
|
} |
@ -0,0 +1,20 @@ |
|||||
|
// =================================================================================
|
||||
|
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
|
||||
|
// =================================================================================
|
||||
|
|
||||
|
package entity |
||||
|
|
||||
|
import ( |
||||
|
"github.com/gogf/gf/v2/os/gtime" |
||||
|
) |
||||
|
|
||||
|
// VotePoll is the golang structure for table vote_poll.
|
||||
|
type VotePoll struct { |
||||
|
Id int64 `json:"id" orm:"id" description:""` //
|
||||
|
PostId int64 `json:"postId" orm:"post_id" description:"文章/视频ID"` // 文章/视频ID
|
||||
|
VoteTitle string `json:"voteTitle" orm:"vote_title" description:"投票活动标题"` // 投票活动标题
|
||||
|
MultiOption int `json:"multiOption" orm:"multi_option" description:"是否开启多选:1多选,0不多选"` // 是否开启多选:1多选,0不多选
|
||||
|
DeadlineTime *gtime.Time `json:"deadlineTime" orm:"deadline_time" description:"截止时间"` // 截止时间
|
||||
|
CreateTime *gtime.Time `json:"createTime" orm:"create_time" description:""` //
|
||||
|
Status int `json:"status" orm:"status" description:"投票活动状态:1:进行中,0已结束"` // 投票活动状态:1:进行中,0已结束
|
||||
|
} |
@ -0,0 +1,19 @@ |
|||||
|
// =================================================================================
|
||||
|
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
|
||||
|
// =================================================================================
|
||||
|
|
||||
|
package entity |
||||
|
|
||||
|
import ( |
||||
|
"github.com/gogf/gf/v2/os/gtime" |
||||
|
) |
||||
|
|
||||
|
// VoteRecord is the golang structure for table vote_record.
|
||||
|
type VoteRecord struct { |
||||
|
Id int64 `json:"id" orm:"id" description:""` //
|
||||
|
UserId int64 `json:"userId" orm:"user_id" description:""` //
|
||||
|
VoteId int64 `json:"voteId" orm:"vote_id" description:""` //
|
||||
|
OptionId int64 `json:"optionId" orm:"option_id" description:""` //
|
||||
|
CreateTime *gtime.Time `json:"createTime" orm:"create_time" description:""` //
|
||||
|
VoteIndex int `json:"voteIndex" orm:"vote_index" description:""` //
|
||||
|
} |
@ -0,0 +1 @@ |
|||||
|
package packed |
@ -0,0 +1,15 @@ |
|||||
|
package main |
||||
|
|
||||
|
import ( |
||||
|
_ "github.com/gogf/gf/contrib/drivers/mysql/v2" |
||||
|
|
||||
|
_ "practice_ArticleVote_Go/internal/packed" |
||||
|
|
||||
|
"github.com/gogf/gf/v2/os/gctx" |
||||
|
|
||||
|
"practice_ArticleVote_Go/internal/cmd" |
||||
|
) |
||||
|
|
||||
|
func main() { |
||||
|
cmd.Main.Run(gctx.GetInitCtx()) |
||||
|
} |
@ -0,0 +1,21 @@ |
|||||
|
apiVersion: apps/v1 |
||||
|
kind: Deployment |
||||
|
metadata: |
||||
|
name: template-single |
||||
|
labels: |
||||
|
app: template-single |
||||
|
spec: |
||||
|
replicas: 1 |
||||
|
selector: |
||||
|
matchLabels: |
||||
|
app: template-single |
||||
|
template: |
||||
|
metadata: |
||||
|
labels: |
||||
|
app: template-single |
||||
|
spec: |
||||
|
containers: |
||||
|
- name : main |
||||
|
image: template-single |
||||
|
imagePullPolicy: Always |
||||
|
|
@ -0,0 +1,8 @@ |
|||||
|
apiVersion: kustomize.config.k8s.io/v1beta1 |
||||
|
kind: Kustomization |
||||
|
resources: |
||||
|
- deployment.yaml |
||||
|
- service.yaml |
||||
|
|
||||
|
|
||||
|
|
@ -0,0 +1,12 @@ |
|||||
|
apiVersion: v1 |
||||
|
kind: Service |
||||
|
metadata: |
||||
|
name: template-single |
||||
|
spec: |
||||
|
ports: |
||||
|
- port: 80 |
||||
|
protocol: TCP |
||||
|
targetPort: 8000 |
||||
|
selector: |
||||
|
app: template-single |
||||
|
|
@ -0,0 +1,14 @@ |
|||||
|
apiVersion: v1 |
||||
|
kind: ConfigMap |
||||
|
metadata: |
||||
|
name: template-single-configmap |
||||
|
data: |
||||
|
config.yaml: | |
||||
|
server: |
||||
|
address: ":8000" |
||||
|
openapiPath: "/api.json" |
||||
|
swaggerPath: "/swagger" |
||||
|
|
||||
|
logger: |
||||
|
level : "all" |
||||
|
stdout: true |
@ -0,0 +1,10 @@ |
|||||
|
apiVersion: apps/v1 |
||||
|
kind: Deployment |
||||
|
metadata: |
||||
|
name: template-single |
||||
|
spec: |
||||
|
template: |
||||
|
spec: |
||||
|
containers: |
||||
|
- name : main |
||||
|
image: template-single:develop |
@ -0,0 +1,14 @@ |
|||||
|
apiVersion: kustomize.config.k8s.io/v1beta1 |
||||
|
kind: Kustomization |
||||
|
|
||||
|
resources: |
||||
|
- ../../base |
||||
|
- configmap.yaml |
||||
|
|
||||
|
patchesStrategicMerge: |
||||
|
- deployment.yaml |
||||
|
|
||||
|
namespace: default |
||||
|
|
||||
|
|
||||
|
|
@ -0,0 +1,16 @@ |
|||||
|
FROM loads/alpine:3.8 |
||||
|
|
||||
|
############################################################################### |
||||
|
# INSTALLATION |
||||
|
############################################################################### |
||||
|
|
||||
|
ENV WORKDIR /app |
||||
|
ADD resource $WORKDIR/ |
||||
|
ADD ./temp/linux_amd64/main $WORKDIR/main |
||||
|
RUN chmod +x $WORKDIR/main |
||||
|
|
||||
|
############################################################################### |
||||
|
# START |
||||
|
############################################################################### |
||||
|
WORKDIR $WORKDIR |
||||
|
CMD ./main |
@ -0,0 +1,8 @@ |
|||||
|
#!/bin/bash |
||||
|
|
||||
|
# This shell is executed before docker build. |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue