Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Erhan Hayret
BulkMail
Commits
8802f2ff
Commit
8802f2ff
authored
May 25, 2022
by
Erhan
Browse files
Update
parent
65d395a1
Changes
26
Show whitespace changes
Inline
Side-by-side
deploy/docker-compose.yml
View file @
8802f2ff
...
...
@@ -23,11 +23,11 @@ services:
ports
:
-
27017:27017
environment
:
-
PUID=1000
-
PGID=1000
-
MONGO_INITDB_DATABASE=test
#- PUID=1000
#- PGID=1000
-
MONGO_INITDB_ROOT_USERNAME=root
-
MONGO_INITDB_ROOT_PASSWORD=root
-
MONGO_INITDB_DATABASE=test
volumes
:
-
./mongo-entrypoint:/docker-entrypoint-initdb.d
restart
:
unless-stopped
...
...
src/GOProjects/Business/MailBusiness.go
0 → 100644
View file @
8802f2ff
package
Business
import
(
//Local Packages
"net/http"
"encoding/json"
"io/ioutil"
//ThisProject Packages
model
"bulkmail/packages/Data/Models"
eLog
"bulkmail/packages/Utils/Logger"
rabbit
"bulkmail/packages/Utils/RabbitMQ"
mongo
"bulkmail/packages/DataAccess/MongoDb"
"go.mongodb.org/mongo-driver/bson/primitive"
//Online Packages
"github.com/gorilla/mux"
)
var
collection
=
mongo
.
GetClient
(
"MailDb"
,
"Mail"
)
func
AddToQueue
(
w
http
.
ResponseWriter
,
r
*
http
.
Request
){
reqBody
,
_
:=
ioutil
.
ReadAll
(
r
.
Body
)
var
mail
model
.
Mail
json
.
Unmarshal
(
reqBody
,
&
mail
)
mail
.
Id
=
primitive
.
NewObjectID
()
body
,
err
:=
json
.
Marshal
(
mail
)
if
err
!=
nil
{
eLog
.
FailOnError
(
err
,
"Failed data can't converting"
)
}
rabbit
.
AddToQueue
(
body
)
}
func
GetAllMails
(
w
http
.
ResponseWriter
,
r
*
http
.
Request
){
//collection := mongo.GetClient("MailDb", "Mail")
result
:=
mongo
.
FindAll
(
collection
)
json
.
NewEncoder
(
w
)
.
Encode
(
result
)
}
func
GetMailById
(
w
http
.
ResponseWriter
,
r
*
http
.
Request
){
vars
:=
mux
.
Vars
(
r
)
id
:=
vars
[
"id"
]
objId
,
_
:=
primitive
.
ObjectIDFromHex
(
id
)
result
:=
mongo
.
FindById
(
collection
,
objId
)
json
.
NewEncoder
(
w
)
.
Encode
(
result
)
}
func
GetMailsBySender
(
w
http
.
ResponseWriter
,
r
*
http
.
Request
){
vars
:=
mux
.
Vars
(
r
)
adress
:=
vars
[
"adress"
]
result
:=
mongo
.
FindBySender
(
collection
,
adress
)
json
.
NewEncoder
(
w
)
.
Encode
(
result
)
}
\ No newline at end of file
src/G
oService
s/Data/DataGo.go
→
src/G
OProject
s/Data/DataGo.go
View file @
8802f2ff
File moved
src/G
oService
s/Data/Dtos/MailDto.go
→
src/G
OProject
s/Data/Dtos/MailDto.go
View file @
8802f2ff
File moved
src/GOProjects/Data/Models/Mail.go
0 → 100644
View file @
8802f2ff
package
Models
import
(
"go.mongodb.org/mongo-driver/bson/primitive"
)
type
Mail
struct
{
Id
primitive
.
ObjectID
`json:"id,omitempty" bson:"_id"`
MailSubject
string
`json:"mailSubject" bson:"mail_subject"`
MailText
string
`json:"mailText" bson:"mail_test"`
SenderEmail
string
`json:"senderEmail" bson:"sender_email"`
SenderEmailPsw
string
`json:"senderEmailPsw" bson:"sender_email_psw"`
ArriveEmails
[]
string
`json:"arriveEmails" bson:"arrive_emails"`
}
\ No newline at end of file
src/G
oService
s/DataAccess/DataAccess.go
→
src/G
OProject
s/DataAccess/DataAccess.go
View file @
8802f2ff
File moved
src/GOProjects/DataAccess/MongoDb/MongoContext.go
0 → 100644
View file @
8802f2ff
package
MongoDb
import
(
//Local Packages
"context"
//This Project Packages
"bulkmail/packages/Data/Models"
eLog
"bulkmail/packages/Utils/Logger"
//Online Packages
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
//primitive "go.mongodb.org/mongo-driver/bson/primitive"
)
var
client
*
mongo
.
Client
var
database
*
mongo
.
Database
var
ctx
=
context
.
TODO
()
var
err
error
func
GetClient
(
databaseName
string
,
collectionName
string
)
*
mongo
.
Collection
{
connectionOptions
:=
options
.
Client
()
.
ApplyURI
(
"mongodb://root:root@localhost:27017"
)
client
,
err
=
mongo
.
Connect
(
ctx
,
connectionOptions
)
if
err
!=
nil
{
eLog
.
FailOnError
(
err
,
"MONGO CONNECTION FAILED"
)
}
collection
:=
client
.
Database
(
databaseName
)
.
Collection
(
collectionName
)
return
collection
}
func
InsertOne
(
collection
*
mongo
.
Collection
,
data
any
){
//GetClient("MailDb","Mail")
_
,
er
:=
collection
.
InsertOne
(
ctx
,
data
)
if
er
!=
nil
{
eLog
.
FailOnError
(
er
,
"InsetOne Failed"
)
}
else
{
eLog
.
PrintData
(
"Inserted to db:"
,
data
)
}
}
func
FindAll
(
collection
*
mongo
.
Collection
)
[]
*
Models
.
Mail
{
//GetClient("test", "test")
var
mails
[]
*
Models
.
Mail
filter
:=
bson
.
D
{{}}
cur
,
er
:=
collection
.
Find
(
ctx
,
filter
)
if
err
!=
nil
{
eLog
.
FailOnError
(
er
,
"FindAll Failed"
)
return
mails
}
for
cur
.
Next
(
ctx
)
{
var
mail
Models
.
Mail
er
:=
cur
.
Decode
(
&
mail
)
if
er
!=
nil
{
eLog
.
FailOnError
(
er
,
"FindAll-Decode Failed"
)
return
mails
}
mails
=
append
(
mails
,
&
mail
)
}
if
len
(
mails
)
==
0
{
eLog
.
ErrorPrint
(
"DB Empty"
)
}
return
mails
}
func
FindById
(
collection
*
mongo
.
Collection
,
id
any
)
Models
.
Mail
{
//GetClient("test", "test")
var
mail
Models
.
Mail
filter
:=
bson
.
D
{{
"id"
,
id
}}
proj
:=
bson
.
D
{{
"id"
,
1
}}
opts
:=
options
.
FindOne
()
.
SetProjection
(
proj
)
er
:=
collection
.
FindOne
(
ctx
,
filter
,
opts
)
.
Decode
(
&
mail
)
if
er
!=
nil
{
eLog
.
FailOnError
(
er
,
"FindById Failed"
)
return
mail
}
return
mail
}
func
FindBySender
(
collection
*
mongo
.
Collection
,
adress
string
)
[]
*
Models
.
Mail
{
//GetClient("test", "test")
var
mails
[]
*
Models
.
Mail
filter
:=
bson
.
M
{
"senderemail"
:
adress
}
cur
,
er
:=
collection
.
Find
(
ctx
,
filter
)
if
er
!=
nil
{
eLog
.
FailOnError
(
er
,
"FindBySender Failed"
)
return
mails
}
for
cur
.
Next
(
ctx
)
{
var
mail
Models
.
Mail
er
:=
cur
.
Decode
(
&
mail
)
if
er
!=
nil
{
eLog
.
FailOnError
(
er
,
"FindBySender-Decode Failed"
)
return
mails
}
mails
=
append
(
mails
,
&
mail
)
}
if
len
(
mails
)
==
0
{
eLog
.
ErrorPrint
(
"DB Empty"
)
}
return
mails
}
\ No newline at end of file
src/G
oService
s/Presentation/Consumer/Consumer.go
→
src/G
OProject
s/Presentation/Consumer/Consumer.go
View file @
8802f2ff
...
...
@@ -2,13 +2,13 @@ package Consumer
import
(
//Local Packages
"log"
"sync"
"encoding/json"
//This Project Packages
myMongo
"bulkmail/packages/DataAccess/MongoDb"
//
"bulkmail/packages/Data/Models"
myLogger
"bulkmail/packages/Utils/Lo
o
ger"
"bulkmail/packages/Data/Models"
myLogger
"bulkmail/packages/Utils/Lo
g
ger"
//Git Packages
amqp
"github.com/rabbitmq/amqp091-go"
...
...
@@ -52,9 +52,14 @@ func Consumer(wg *sync.WaitGroup) {
go
func
()
{
for
d
:=
range
msgs
{
myLogger
.
PrintData
(
"Received a message => "
,
d
.
Body
)
var
mail
Models
.
Mail
err
:=
json
.
Unmarshal
(
d
.
Body
,
&
mail
)
if
err
!=
nil
{
myLogger
.
PrintData
(
"Consumer can't convert data"
,
err
)
}
myMongo
.
GetClient
(
"
test"
,
"testco
l"
)
myMongo
.
InsertOne
(
"test"
)
collection
:=
myMongo
.
GetClient
(
"
MailDb"
,
"Mai
l"
)
myMongo
.
InsertOne
(
collection
,
mail
)
}
}()
...
...
src/G
oService
s/Presentation/Presentation.go
→
src/G
OProject
s/Presentation/Presentation.go
View file @
8802f2ff
File moved
src/GOProjects/Presentation/WebAPI/WebAPI.go
0 → 100644
View file @
8802f2ff
package
WebAPI
import
(
//Local Packages
"net/http"
"log"
"sync"
//This Project Packages
"bulkmail/packages/Business"
eLog
"bulkmail/packages/Utils/Logger"
//Online Packages
"github.com/gorilla/mux"
)
func
WebAPI
(
wg
*
sync
.
WaitGroup
)
{
defer
wg
.
Done
()
router
:=
mux
.
NewRouter
()
.
StrictSlash
(
true
)
router
.
HandleFunc
(
"/SendMail"
,
Business
.
AddToQueue
)
.
Methods
(
"POST"
)
router
.
HandleFunc
(
"/GetAllMails"
,
Business
.
GetAllMails
)
.
Methods
(
"GET"
)
router
.
HandleFunc
(
"/GetMailById/{id}"
,
Business
.
GetMailById
)
.
Methods
(
"GET"
)
router
.
HandleFunc
(
"/GetMailBySender/{adress}"
,
Business
.
GetMailsBySender
)
.
Methods
(
"GET"
)
eLog
.
Print
(
"Server Started. Port: 10000"
)
log
.
Fatal
(
http
.
ListenAndServe
(
":10000"
,
router
))
}
\ No newline at end of file
src/G
oService
s/Utils/Logger/Logger.go
→
src/G
OProject
s/Utils/Logger/Logger.go
View file @
8802f2ff
...
...
@@ -6,11 +6,15 @@ import(
)
func
FailOnError
(
err
error
,
msg
string
)
{
if
err
!=
nil
{
if
err
!=
nil
{
log
.
Panicf
(
" [MESSAGE] %s [ERROR] %s"
,
msg
,
err
)
}
}
func
ErrorPrint
(
msg
string
){
log
.
Printf
(
" [ERROR] %s"
,
msg
)
}
func
PrintData
(
str
string
,
data
any
){
log
.
Printf
(
" [LOG] %s %s
\n
"
,
str
,
data
)
}
...
...
src/G
oService
s/Utils/RabbitMQ/Connection.go
→
src/G
OProject
s/Utils/RabbitMQ/Connection.go
View file @
8802f2ff
File moved
src/G
oService
s/Utils/Utils.go
→
src/G
OProject
s/Utils/Utils.go
View file @
8802f2ff
File moved
src/G
oService
s/go.mod
→
src/G
OProject
s/go.mod
View file @
8802f2ff
...
...
@@ -2,7 +2,11 @@ module bulkmail/packages
go 1.18
require github.com/rabbitmq/amqp091-go v1.3.4
require (
github.com/gorilla/mux v1.8.0
github.com/rabbitmq/amqp091-go v1.3.4
go.mongodb.org/mongo-driver v1.9.1
)
require (
github.com/go-stack/stack v1.8.0 // indirect
...
...
@@ -13,7 +17,6 @@ require (
github.com/xdg-go/scram v1.0.2 // indirect
github.com/xdg-go/stringprep v1.0.2 // indirect
github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d // indirect
go.mongodb.org/mongo-driver v1.9.1 // indirect
golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f // indirect
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e // indirect
golang.org/x/text v0.3.5 // indirect
...
...
src/G
oService
s/go.sum
→
src/G
OProject
s/go.sum
View file @
8802f2ff
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
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/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4=
github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/google/go-cmp v0.5.2 h1:X2ev0eStA3AbceY54o37/0PQ/UWqKEiiO2dKL5OPaFM=
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI=
github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
github.com/klauspost/compress v1.13.6 h1:P76CopJELS0TiO2mebmnzgWaajssP/EszplttgQxcgc=
github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
...
...
@@ -13,11 +17,14 @@ github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
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/rabbitmq/amqp091-go v1.3.4 h1:tXuIslN1nhDqs2t6Jrz3BAoqvt4qIZzxvdbdcxWtHYU=
github.com/rabbitmq/amqp091-go v1.3.4/go.mod h1:ogQDLSOACsLPsIq0NpbtiifNZi2YOz0VTJ0kHRghqbM=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4=
github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c=
github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI=
...
...
@@ -45,7 +52,9 @@ golang.org/x/text v0.3.5 h1:i6eZZ+zk0SOf0xgBpEpPD18qWcJda6q1sxt3S0kzyUQ=
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
src/G
oService
s/main.go
→
src/G
OProject
s/main.go
View file @
8802f2ff
File moved
src/GoConsumer/DataAccess/DataAccess.go
deleted
100644 → 0
View file @
65d395a1
package
DataAccess
src/GoConsumer/DataAccess/MongoDb/Connection.go
deleted
100644 → 0
View file @
65d395a1
package
MongoDb
import
(
//Local Packages
"context"
"log"
"time"
//Online Packages
//bson "go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
)
var
client
*
mongo
.
Client
var
err
error
func
GetConnection
()
**
mongo
.
Client
{
client
,
err
=
mongo
.
NewClient
(
options
.
Client
()
.
ApplyURI
(
"mongodb://localhost:27017"
))
if
err
!=
nil
{
log
.
Fatal
(
err
)
}
ctx
,
_
:=
context
.
WithTimeout
(
context
.
Background
(),
10
*
time
.
Second
)
err
=
client
.
Connect
(
ctx
)
if
err
!=
nil
{
log
.
Fatal
(
err
)
}
defer
client
.
Disconnect
(
ctx
)
return
&
client
}
func
CreateDatabase
(
clnt
*
mongo
.
Client
)
*
mongo
.
Database
{
return
clnt
.
Database
(
"test"
)
}
func
CreateCollection
(
db
*
mongo
.
Database
)
*
mongo
.
Collection
{
return
db
.
Collection
(
"testcollect"
)
}
\ No newline at end of file
src/GoConsumer/go.mod
deleted
100644 → 0
View file @
65d395a1
module bulkmail/packages
go 1.18
require (
github.com/go-stack/stack v1.8.0 // indirect
github.com/golang/snappy v0.0.1 // indirect
github.com/klauspost/compress v1.13.6 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/rabbitmq/amqp091-go v1.3.4 // indirect
github.com/xdg-go/pbkdf2 v1.0.0 // indirect
github.com/xdg-go/scram v1.0.2 // indirect
github.com/xdg-go/stringprep v1.0.2 // indirect
github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d // indirect
go.mongodb.org/mongo-driver v1.9.1 // indirect
golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f // indirect
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e // indirect
golang.org/x/text v0.3.5 // indirect
)
src/GoConsumer/go.sum
deleted
100644 → 0
View file @
65d395a1
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4=
github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/klauspost/compress v1.13.6 h1:P76CopJELS0TiO2mebmnzgWaajssP/EszplttgQxcgc=
github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rabbitmq/amqp091-go v1.3.4 h1:tXuIslN1nhDqs2t6Jrz3BAoqvt4qIZzxvdbdcxWtHYU=
github.com/rabbitmq/amqp091-go v1.3.4/go.mod h1:ogQDLSOACsLPsIq0NpbtiifNZi2YOz0VTJ0kHRghqbM=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c=
github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI=
github.com/xdg-go/scram v1.0.2 h1:akYIkZ28e6A96dkWNJQu3nmCzH3YfwMPQExUYDaRv7w=
github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs=
github.com/xdg-go/stringprep v1.0.2 h1:6iq84/ryjjeRmMJwxutI51F2GIPlP5BfTvXHeYjyhBc=
github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM=
github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d h1:splanxYIlg+5LfHAM6xpdFEAYOk8iySO56hMFq6uLyA=
github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA=
go.mongodb.org/mongo-driver v1.9.1 h1:m078y9v7sBItkt1aaoe2YlvWEXcD263e1a4E1fBrJ1c=
go.mongodb.org/mongo-driver v1.9.1/go.mod h1:0sQWfOeY63QTntERDJJ/0SuKK0T1uVSgKCuAROlKEPY=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f h1:aZp0e2vLN4MToVqnjNEYEtrEA8RH8U8FN1CU7JgqsPU=
golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e h1:vcxGaoTs7kV8m5Np9uUNQin4BrLOthgV7252N8V+FwY=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.5 h1:i6eZZ+zk0SOf0xgBpEpPD18qWcJda6q1sxt3S0kzyUQ=
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
Prev
1
2
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment