Skip to content
This repository was archived by the owner on Sep 19, 2024. It is now read-only.

Commit 971fb69

Browse files
add msaaging job
1 parent 7809a26 commit 971fb69

7 files changed

Lines changed: 193 additions & 20 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ cios*
99
**node.yml
1010
**produce.yml
1111

12+
test.yml

cli/publishsubscribe/messaging.go

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,19 @@ package publishsubscribe
33
import (
44
"context"
55
"errors"
6+
"fmt"
67
"os"
78
"strconv"
9+
"sync"
810
"time"
911

12+
"github.com/optim-kazuhiro-seida/go-advance-type/convert"
13+
"gopkg.in/yaml.v2"
14+
1015
. "github.com/optim-corp/cios-cli/cli"
1116
"github.com/optim-corp/cios-cli/models"
1217
"github.com/optim-corp/cios-cli/utils"
18+
"github.com/optim-corp/cios-golang-sdk/cios"
1319
ciossdk "github.com/optim-corp/cios-golang-sdk/sdk"
1420
log "github.com/optim-kazuhiro-seida/loglog"
1521
"github.com/urfave/cli/v2"
@@ -31,6 +37,7 @@ func GetMessagingCommand() *cli.Command {
3137
listChannels(),
3238
publishMessage(),
3339
autoMessage(),
40+
registerJob(),
3441
},
3542
Action: func(c *cli.Context) error {
3643
var (
@@ -299,3 +306,87 @@ func autoMessage() *cli.Command {
299306
},
300307
}
301308
}
309+
310+
func registerJob() *cli.Command {
311+
return &cli.Command{
312+
Name: "job",
313+
Aliases: []string{"register", "reg", "j"},
314+
Usage: "cios messaging job | register",
315+
Flags: []cli.Flag{
316+
&cli.StringFlag{Name: "path", Aliases: []string{"file_path", "f", "p", "file"}},
317+
&cli.Int64Flag{Name: "beginning_timestamp", Aliases: []string{"start", "b", "start_timestamp", "beginning"}, Value: time.Now().UnixNano(), DefaultText: "Now Timestamp"},
318+
},
319+
Action: func(c *cli.Context) error {
320+
var (
321+
filePath = c.String("file_path")
322+
beginningTimestamp = c.Int64("beginning_timestamp")
323+
jobYaml models.Job
324+
byts, err = path(filePath).ReadFile()
325+
wg = sync.WaitGroup{}
326+
)
327+
fmt.Println(filePath, beginningTimestamp)
328+
check := func(jobYaml models.Job) error {
329+
for _, jobs := range jobYaml {
330+
for _, job := range jobs {
331+
for _, v := range job.Value {
332+
var formatJson cios.PackerFormatJson
333+
if err := convert.UnMarshalJson([]byte(v.Data), &formatJson); err != nil {
334+
return err
335+
}
336+
337+
}
338+
}
339+
}
340+
return nil
341+
}
342+
send := func(v models.MessagingJobValue, formatJson cios.PackerFormatJson, loop int, SendJson func(interface{}) error) error {
343+
for i, cnt := int64(0), 0; cnt < loop; i++ {
344+
switch {
345+
case i%v.Timestamp == 0:
346+
formatJson.Header.Timestamp = str(beginningTimestamp + i)
347+
fallthrough
348+
case v.Timestamp == -1 || i%v.Timestamp == 0:
349+
fmt.Println("Publish", formatJson.Header.Timestamp)
350+
if err := SendJson(formatJson); err != nil {
351+
return err
352+
}
353+
cnt++
354+
}
355+
time.Sleep(time.Nanosecond)
356+
}
357+
return nil
358+
}
359+
execJob := func(jobs models.MessagingJobs, name string) {
360+
defer wg.Done()
361+
for _, job := range jobs {
362+
ms := Client.PubSub.NewMessaging(job.Channel, "publish", "json")
363+
if err := ms.Start(context.Background()); err != nil {
364+
log.Error(err)
365+
return
366+
}
367+
fmt.Println(fmt.Sprintf("Start Job: %s", name))
368+
369+
for _, v := range job.Value {
370+
var formatJson cios.PackerFormatJson
371+
_ = convert.UnMarshalJson([]byte(v.Data), &formatJson)
372+
if err := send(v, formatJson, job.Loop, ms.SendJson); err != nil {
373+
break
374+
}
375+
}
376+
377+
}
378+
}
379+
return assert(err).Log().
380+
NoneErrAssert(yaml.Unmarshal(byts, &jobYaml)).Log().
381+
NoneErrAssert(check(jobYaml)).Log().
382+
NoneErr(func() {
383+
for name, jobs := range jobYaml {
384+
wg.Add(1)
385+
go execJob(jobs, name)
386+
}
387+
wg.Wait()
388+
}).
389+
Err
390+
},
391+
}
392+
}

go.mod

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@ require (
77
github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88 // indirect
88
github.com/k0kubun/pp v3.0.1+incompatible
99
github.com/mitchellh/go-homedir v1.1.0
10-
github.com/optim-corp/cios-golang-sdk v0.1.0
10+
github.com/optim-corp/cios-golang-sdk v0.2.0
1111
github.com/optim-kazuhiro-seida/ftil v1.0.0
12-
github.com/optim-kazuhiro-seida/go-advance-type v1.3.0
13-
github.com/optim-kazuhiro-seida/loglog v0.5.0
12+
github.com/optim-kazuhiro-seida/go-advance-type v1.5.1
13+
github.com/optim-kazuhiro-seida/loglog v0.8.0
1414
github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966
15-
github.com/tidwall/gjson v1.6.4
15+
github.com/tidwall/gjson v1.7.5
1616
github.com/urfave/cli/v2 v2.2.0
1717
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a
1818
gopkg.in/AlecAivazis/survey.v1 v1.8.8
19-
gopkg.in/yaml.v2 v2.3.0 // indirect
19+
gopkg.in/yaml.v2 v2.4.0
2020
)

go.sum

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymF
5555
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
5656
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
5757
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
58+
github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM=
5859
github.com/go-errors/errors v1.1.1 h1:ljK/pL5ltg3qoN+OtN6yCv9HWSfMwxSx90GJCZQxYNg=
5960
github.com/go-errors/errors v1.1.1/go.mod h1:psDX2osz5VnTOnFWbDeWwS7yejl+uV3FEWEp4lssFEs=
6061
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
@@ -142,8 +143,12 @@ github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
142143
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
143144
github.com/mattn/go-colorable v0.1.2 h1:/bC9yWikZXAL9uJdulbSfyVNIR3n3trXl+v8+1sx8mU=
144145
github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
146+
github.com/mattn/go-colorable v0.1.8 h1:c1ghPdyEDarC70ftn0y+A/Ee++9zz8ljHG1b13eJ0s8=
147+
github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
145148
github.com/mattn/go-isatty v0.0.8 h1:HLtExJ+uU2HOZ+wI0Tt5DtUDrx8yhUqDcp7fYERX4CE=
146149
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
150+
github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY=
151+
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
147152
github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b h1:j7+1HpAFS1zy5+Q4qx1fWh90gTKwiN4QCGoY9TWyyO4=
148153
github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE=
149154
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
@@ -157,18 +162,17 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJ
157162
github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
158163
github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI=
159164
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
160-
github.com/optim-corp/cios-golang-sdk v0.0.6 h1:yPXciFu45QG308Ocqd9v+xbtRhuAMBYSSdrH8HbtNdI=
161-
github.com/optim-corp/cios-golang-sdk v0.0.6/go.mod h1:L2RQeKwAavA8J8YYpkwwLdFy3cjcIpppQOAPqzxkNXI=
162-
github.com/optim-corp/cios-golang-sdk v0.1.0 h1:AcRJVZMkoxmyWGU6qycgRBgXGnso4v7Zppcf1juaOkQ=
163-
github.com/optim-corp/cios-golang-sdk v0.1.0/go.mod h1:L2RQeKwAavA8J8YYpkwwLdFy3cjcIpppQOAPqzxkNXI=
165+
github.com/optim-corp/cios-golang-sdk v0.2.0 h1:O5fl5iL3qhw7AaE4VvcgDHP+M79/VAQLyTIoYFfFiKc=
166+
github.com/optim-corp/cios-golang-sdk v0.2.0/go.mod h1:L2RQeKwAavA8J8YYpkwwLdFy3cjcIpppQOAPqzxkNXI=
164167
github.com/optim-kazuhiro-seida/ftil v1.0.0 h1:f+dj6KIPzRLTrq1oHY18eKDnXIqEhfNN0uRt2ticp+s=
165168
github.com/optim-kazuhiro-seida/ftil v1.0.0/go.mod h1:dTGehrWE16Kye+Ww40G8wSLjKKXOfWqgHSwISWrHpmU=
166169
github.com/optim-kazuhiro-seida/go-advance-type v1.2.4 h1:LUk8wNjGfO7/SYhW8ejmcrl3A4187jB2aW9VQaLPneI=
167170
github.com/optim-kazuhiro-seida/go-advance-type v1.2.4/go.mod h1:t8CQQ6DsvogVqWuXuTIaCQsbfSYqDJ1YOXm+RtZd2H0=
168-
github.com/optim-kazuhiro-seida/go-advance-type v1.3.0 h1:YNe0LH1d+hMiYRdg8g37VomGH97sDFvGXMese2HC2Ns=
169-
github.com/optim-kazuhiro-seida/go-advance-type v1.3.0/go.mod h1:t8CQQ6DsvogVqWuXuTIaCQsbfSYqDJ1YOXm+RtZd2H0=
170-
github.com/optim-kazuhiro-seida/loglog v0.5.0 h1:cjE7K/UVDfbs+JGnamLElFHVRg04xOxA1lQSNCp57FM=
171-
github.com/optim-kazuhiro-seida/loglog v0.5.0/go.mod h1:ng87+rDVhUYVvJzd0c7T3paBwXNXhxlNGPmo7usFtkM=
171+
github.com/optim-kazuhiro-seida/go-advance-type v1.5.0/go.mod h1:t8CQQ6DsvogVqWuXuTIaCQsbfSYqDJ1YOXm+RtZd2H0=
172+
github.com/optim-kazuhiro-seida/go-advance-type v1.5.1 h1:e9We0VuIdgn+xrCKcANYL491Wpen82kh65UKhpUcicE=
173+
github.com/optim-kazuhiro-seida/go-advance-type v1.5.1/go.mod h1:t8CQQ6DsvogVqWuXuTIaCQsbfSYqDJ1YOXm+RtZd2H0=
174+
github.com/optim-kazuhiro-seida/loglog v0.8.0 h1:5JnsASjrz2y1t2BhqOrq4D9uGWHTrcxbp38Q2UXuY3Q=
175+
github.com/optim-kazuhiro-seida/loglog v0.8.0/go.mod h1:8ZAzbswlnGNjj4paaj1NPUZYsnrtH7dCNZnmp02l5pE=
172176
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
173177
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
174178
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
@@ -190,10 +194,16 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5
190194
github.com/tidwall/gjson v1.6.3/go.mod h1:BaHyNc5bjzYkPqgLq7mdVzeiRtULKULXLgZFKsxEHI0=
191195
github.com/tidwall/gjson v1.6.4 h1:JKsCsJqRVFz8eYCsQ5E/ANRbK6CanAtA9IUvGsXklyo=
192196
github.com/tidwall/gjson v1.6.4/go.mod h1:BaHyNc5bjzYkPqgLq7mdVzeiRtULKULXLgZFKsxEHI0=
197+
github.com/tidwall/gjson v1.7.5 h1:zmAN/xmX7OtpAkv4Ovfso60r/BiCi5IErCDYGNJu+uc=
198+
github.com/tidwall/gjson v1.7.5/go.mod h1:5/xDoumyyDNerp2U36lyolv46b3uF/9Bu6OfyQ9GImk=
193199
github.com/tidwall/match v1.0.1 h1:PnKP62LPNxHKTwvHHZZzdOAOCtsJTjo6dZLCwpKm5xc=
194200
github.com/tidwall/match v1.0.1/go.mod h1:LujAq0jyVjBy028G1WhWfIzbpQfMO8bBZ6Tyb0+pL9E=
201+
github.com/tidwall/match v1.0.3 h1:FQUVvBImDutD8wJLN6c5eMzWtjgONK9MwIBCOrUJKeE=
202+
github.com/tidwall/match v1.0.3/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM=
195203
github.com/tidwall/pretty v1.0.2 h1:Z7S3cePv9Jwm1KwS0513MRaoUe3S01WPbLNV40pwWZU=
196204
github.com/tidwall/pretty v1.0.2/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
205+
github.com/tidwall/pretty v1.1.0 h1:K3hMW5epkdAVwibsQEfR/7Zj0Qgt4DxtNumTq/VloO8=
206+
github.com/tidwall/pretty v1.1.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
197207
github.com/urfave/cli/v2 v2.2.0 h1:JTTnM6wKzdA0Jqodd966MVj4vWbbquZykeX1sKbe2C4=
198208
github.com/urfave/cli/v2 v2.2.0/go.mod h1:SE9GqnLQmjVa0iPEY0f1w3ygNIYcIJ0OKPMoW2caLfQ=
199209
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
@@ -309,6 +319,7 @@ golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7w
309319
golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
310320
golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
311321
golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
322+
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
312323
golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
313324
golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
314325
golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -464,8 +475,8 @@ gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33
464475
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
465476
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
466477
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
467-
gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU=
468-
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
478+
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
479+
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
469480
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
470481
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
471482
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=

main.go

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,16 +43,16 @@ func init() {
4343
if os.Getenv("AUTH_TYPE") == "client" {
4444
setClientType()
4545
} else {
46-
path(topDir).CreateDir()
46+
assert(path(topDir).CreateDir()).Log()
4747
configFile := path(configPath)
4848
urlFile := path(urlDir)
4949
file, configErr := configFile.ReadFile()
5050
urls, urlErr := urlFile.ReadFile()
5151
assert(urlErr).
52-
OnErr(func() { urlFile.CreateFile() }).
52+
OnErr(func() { assert(urlFile.CreateFile()).Log() }).
5353
OnErr(func() { assert(urlFile.WriteFileAsString(models.URL_JSON)) })
5454
assert(configErr).
55-
OnErr(func() { configFile.CreateFile() }).
55+
OnErr(func() { assert(configFile.CreateFile()).Log() }).
5656
ExitWith(0)
5757
assert(json.Unmarshal(file, &config)).
5858
NoneErr(func() { setConfig(config, urls, config.Stage) })
@@ -94,7 +94,6 @@ func main() {
9494
log.Error(err.Error())
9595
}
9696
}
97-
9897
func setClientType() {
9998
logLevel := os.Getenv("LOG_LEVEL")
10099
log.SetLevelOrDefault(is(logLevel == "").T("info").F(logLevel).Value.(string), log.LOG_LEVEL_WARN)
@@ -116,7 +115,6 @@ func setClientType() {
116115
},
117116
})
118117
}
119-
120118
func setConfig(config models.Config, urls []byte, stage string) {
121119
_ = models.SetStage(stage)
122120
log.SetLevelOrDefault(config.LogLevel, log.LOG_LEVEL_WARN)

models/enum.go

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
package models
2+
3+
import (
4+
"github.com/optim-kazuhiro-seida/go-advance-type/convert"
5+
)
6+
7+
var (
8+
LIST = "list"
9+
PATCH = "patch"
10+
CREATE = "create"
11+
DELETE = "delete"
12+
ALIAS_LIST = []string{"ls", "show", "out", "output"}
13+
ALIAS_PATCH = []string{"patch", "update", "up", "pct", "upgrade", "upd"}
14+
ALIAS_CREATE = []string{"cre", "add", "sub", "subscribe"}
15+
ALIAS_DELETE = []string{"del", "rm", "remove", "clean", "clear", "cle"}
16+
17+
Stages = createStages()
18+
FullScope = "openid email profile address user.profile user.read user.write " +
19+
"group.read group.write group.relation.read group.relation.write" +
20+
"corporation.read corporation.write corporation.user.read corporation.user.write corporation.group.read corporation.group.write " +
21+
"oauth2_client.read oauth2_client.write license.read license.write acl.read acl.write resource_owner.read " +
22+
"resource_owner.read " +
23+
"channel_protocol.read channel_protocol.write.internal channel.read channel.write " +
24+
"messaging.subscribe messaging.publish " +
25+
"datastore.read datastore.write datastore.upload datastore.download " +
26+
"file_storage.read file_storage.write file_storage.upload file_storage.download " +
27+
"device.read device.write device_model.read device_model.write device.group_policy.read devices.group_policies.write " +
28+
"geo.area.read geo.area.write geo.area-kind.read geo.area-kind.write geo.area.content.write geo.circle.read geo.circle.write geo.map.read geo.map.write geo.point.read geo.point.write geo.polygon.read geo.polygon.write geo.route.read geo.route.write " +
29+
"active_license.read active_license.write product.read " +
30+
"videostream.read videostream.view "
31+
URL_JSON = convert.MustIndentJson(URLs{
32+
"prod": {
33+
DeviceManagement: "device-management.optimcloudapis.com",
34+
DeviceAssetManagement: "device-asset-lifecycle.optimcloudapis.com",
35+
Monitoring: "monitoring.optimcloudapis.com",
36+
Messaging: "messaging.optimcloudapis.com",
37+
Location: "location.optimcloudapis.com",
38+
Accounts: "accounts.optimcloudapis.com",
39+
Storage: "storage.optimcloudapis.com",
40+
Iam: "iam.optimcloudapis.com",
41+
Auth: "auth.optim.cloud",
42+
VideoStreams: "video-streaming.optim.cloud",
43+
},
44+
"pre": {
45+
DeviceManagement: "device-management.preapis.cios.dev",
46+
Monitoring: "monitoring.preapis.cios.dev",
47+
Messaging: "messaging.preapis.cios.dev",
48+
Location: "location.preapis.cios.dev",
49+
Accounts: "accounts.preapis.cios.dev",
50+
Storage: "storage.preapis.cios.dev",
51+
Iam: "iam.preapis.cios.dev",
52+
Auth: "auth.pre.cios.dev",
53+
VideoStreams: "video-streaming.preapis.cios.dev",
54+
},
55+
})
56+
)

models/model_job.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package models
2+
3+
type (
4+
Job map[string]MessagingJobs
5+
MessagingJobs []MessagingJob
6+
MessagingJobValue struct {
7+
Data string `yaml:"data"`
8+
Timestamp int64 `yaml:"timestamp"`
9+
}
10+
MessagingJob struct {
11+
Channel string `yaml:"channel"`
12+
Loop int `yaml:"loop"`
13+
Plugin string `yaml:"plugin"`
14+
Value []MessagingJobValue `yaml:"value,flow"`
15+
}
16+
)

0 commit comments

Comments
 (0)