mirror of
https://github.com/SourceFellows/trainingfellow.git
synced 2024-11-22 14:11:44 +00:00
Erweiterungen an der Dokumentation
This commit is contained in:
parent
d810dc50b4
commit
36ff7c539c
1
.gitignore
vendored
1
.gitignore
vendored
@ -1 +1,2 @@
|
|||||||
mongo-db/*
|
mongo-db/*
|
||||||
|
registrierung/main
|
||||||
|
@ -41,3 +41,4 @@ Testen kann man die Anwendung entweder über den [Browser](https://localhost:844
|
|||||||
Erreichbar ist die Anwendung über https://localhost:8443/registrierung.
|
Erreichbar ist die Anwendung über https://localhost:8443/registrierung.
|
||||||
Möchten Sie in die MongoDB schauen was gespeichert wurde, erreichen Sie diese unter http://localhost:8081.
|
Möchten Sie in die MongoDB schauen was gespeichert wurde, erreichen Sie diese unter http://localhost:8081.
|
||||||
|
|
||||||
|
Die Prometheus-Metriken können unter http://localhost:9090/metrics abgerufen werden.
|
||||||
|
@ -5,6 +5,7 @@ services:
|
|||||||
build: registrierung
|
build: registrierung
|
||||||
ports:
|
ports:
|
||||||
- "8443:8443"
|
- "8443:8443"
|
||||||
|
- "9900:9900"
|
||||||
vorbereitung:
|
vorbereitung:
|
||||||
image: training-fellow/vorbereitung
|
image: training-fellow/vorbereitung
|
||||||
build: vorbereitung
|
build: vorbereitung
|
||||||
|
@ -62,7 +62,7 @@ func NewRegistrationHandler(ser *registrierung.RegistrierungsService) gin.Handle
|
|||||||
func NewUnconfirmedListHandler(ser *registrierung.RegistrierungsService) gin.HandlerFunc {
|
func NewUnconfirmedListHandler(ser *registrierung.RegistrierungsService) gin.HandlerFunc {
|
||||||
return func(c *gin.Context) {
|
return func(c *gin.Context) {
|
||||||
|
|
||||||
registrations, err := ser.GetUnconfirmedRegistrierung()
|
registrations, err := ser.GetUnconfirmedRegistrierungen()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Errorf("Could not find unconfirmed registrations: %v", err)
|
log.Errorf("Could not find unconfirmed registrations: %v", err)
|
||||||
c.Writer.WriteHeader(http.StatusInternalServerError)
|
c.Writer.WriteHeader(http.StatusInternalServerError)
|
||||||
|
@ -12,6 +12,7 @@ import (
|
|||||||
"training-fellow.de/registrierung"
|
"training-fellow.de/registrierung"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
//NewRepo erzeugt ein neues RegistrierungsRepository für MongoDB
|
||||||
func NewRepo(url, database, collection string) registrierung.RegistrierungsRepository {
|
func NewRepo(url, database, collection string) registrierung.RegistrierungsRepository {
|
||||||
return &mongoDBRepositoy{url, collection, database}
|
return &mongoDBRepositoy{url, collection, database}
|
||||||
}
|
}
|
||||||
@ -24,6 +25,7 @@ type mongoDBRepositoy struct {
|
|||||||
|
|
||||||
type mongoCall func(*mongo.Collection) error
|
type mongoCall func(*mongo.Collection) error
|
||||||
|
|
||||||
|
//SaveRegistrierung speichert die übergebene Registrierung
|
||||||
func (m *mongoDBRepositoy) SaveRegistrierung(registrierung *registrierung.Registrierung) error {
|
func (m *mongoDBRepositoy) SaveRegistrierung(registrierung *registrierung.Registrierung) error {
|
||||||
fmt.Println("Save")
|
fmt.Println("Save")
|
||||||
|
|
||||||
@ -38,7 +40,8 @@ func (m *mongoDBRepositoy) SaveRegistrierung(registrierung *registrierung.Regist
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *mongoDBRepositoy) GetUnconfirmedRegistrierung() ([]*registrierung.Registrierung, error) {
|
//GetUnconfirmedRegistrierungen lieferte eine Liste aller bestätigter Registrierungen
|
||||||
|
func (m *mongoDBRepositoy) GetUnconfirmedRegistrierungen() ([]*registrierung.Registrierung, error) {
|
||||||
|
|
||||||
ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
|
ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
|
||||||
defer cancel()
|
defer cancel()
|
||||||
@ -60,19 +63,21 @@ func (m *mongoDBRepositoy) GetUnconfirmedRegistrierung() ([]*registrierung.Regis
|
|||||||
return registrations, err
|
return registrations, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *mongoDBRepositoy) ConfirmedRegistrierung(registrierungsId string) (*registrierung.Registrierung, error) {
|
//ConfirmedRegistrierung bestätigt eine Registrierung
|
||||||
|
func (m *mongoDBRepositoy) ConfirmedRegistrierung(registrierungsID string) (*registrierung.Registrierung, error) {
|
||||||
ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
|
ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
|
||||||
defer cancel()
|
defer cancel()
|
||||||
registrierung := ®istrierung.Registrierung{}
|
registrierung := ®istrierung.Registrierung{}
|
||||||
err := m.executeInClient(ctx, func(collection *mongo.Collection) error {
|
err := m.executeInClient(ctx, func(collection *mongo.Collection) error {
|
||||||
result := collection.FindOneAndUpdate(ctx,
|
result := collection.FindOneAndUpdate(ctx,
|
||||||
bson.M{"_id": registrierungsId},
|
bson.M{"_id": registrierungsID},
|
||||||
bson.M{"$set": bson.M{"confirmed": true}})
|
bson.M{"$set": bson.M{"confirmed": true}})
|
||||||
return result.Decode(®istrierung)
|
return result.Decode(®istrierung)
|
||||||
})
|
})
|
||||||
return registrierung, err
|
return registrierung, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Template Funktion zum Ausführen von MongoDB Aufrufen
|
||||||
func (m *mongoDBRepositoy) executeInClient(ctx context.Context, callback mongoCall) error {
|
func (m *mongoDBRepositoy) executeInClient(ctx context.Context, callback mongoCall) error {
|
||||||
client, err := mongo.NewClient(
|
client, err := mongo.NewClient(
|
||||||
options.Client().
|
options.Client().
|
||||||
|
@ -7,7 +7,8 @@ import (
|
|||||||
"training-fellow.de/registrierung"
|
"training-fellow.de/registrierung"
|
||||||
)
|
)
|
||||||
|
|
||||||
func NewNotifier(url string) *notifier {
|
//NewNotifier erzeugt eine neue Instanz eines RegistrierungsNotifier für die Kommunikation mit NATS
|
||||||
|
func NewNotifier(url string) registrierung.RegistrierungsNotifier {
|
||||||
return ¬ifier{url}
|
return ¬ifier{url}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -15,6 +16,7 @@ type notifier struct {
|
|||||||
url string
|
url string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//InformAboutNewRegistrierung informiert über eine neue Registrierung
|
||||||
func (nn *notifier) InformAboutNewRegistrierung(registrierung *registrierung.Registrierung) error {
|
func (nn *notifier) InformAboutNewRegistrierung(registrierung *registrierung.Registrierung) error {
|
||||||
|
|
||||||
notifierLogger := log.WithField("Registrierung", registrierung)
|
notifierLogger := log.WithField("Registrierung", registrierung)
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
package registrierung
|
package registrierung
|
||||||
|
|
||||||
|
//RegistrierungsRepository verwaltet alle Registrierungen
|
||||||
type RegistrierungsRepository interface {
|
type RegistrierungsRepository interface {
|
||||||
|
//SaveRegistrierung speichert eine Registrierung
|
||||||
SaveRegistrierung(*Registrierung) error
|
SaveRegistrierung(*Registrierung) error
|
||||||
GetUnconfirmedRegistrierung() ([]*Registrierung, error)
|
//GetUnconfirmedRegistrierung liefert alle unbestätigten Registrierungen
|
||||||
ConfirmedRegistrierung(registrierungId string) (*Registrierung, error)
|
GetUnconfirmedRegistrierungen() ([]*Registrierung, error)
|
||||||
|
//ConfirmedRegistrierung bestätigt eine Registrierung
|
||||||
|
ConfirmedRegistrierung(registrierungID string) (*Registrierung, error)
|
||||||
}
|
}
|
||||||
|
@ -1,16 +1,19 @@
|
|||||||
package registrierung
|
package registrierung
|
||||||
|
|
||||||
|
//RegistrierungsService stellt die Businessfunktionalität für Registrierungen bereit
|
||||||
type RegistrierungsService struct {
|
type RegistrierungsService struct {
|
||||||
Repository RegistrierungsRepository
|
Repository RegistrierungsRepository
|
||||||
Notifier RegistrierungsNotifier
|
Notifier RegistrierungsNotifier
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//HandleNewRegistrierung behandelte neue Registrierungen
|
||||||
func (rs *RegistrierungsService) HandleNewRegistrierung(reg *Registrierung) error {
|
func (rs *RegistrierungsService) HandleNewRegistrierung(reg *Registrierung) error {
|
||||||
return rs.Repository.SaveRegistrierung(reg)
|
return rs.Repository.SaveRegistrierung(reg)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (rs *RegistrierungsService) ConfirmRegistration(regId string) error {
|
//ConfirmRegistration bestätigt eine Registrierung
|
||||||
registrierung, err := rs.Repository.ConfirmedRegistrierung(regId)
|
func (rs *RegistrierungsService) ConfirmRegistration(regID string) error {
|
||||||
|
registrierung, err := rs.Repository.ConfirmedRegistrierung(regID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -18,6 +21,7 @@ func (rs *RegistrierungsService) ConfirmRegistration(regId string) error {
|
|||||||
return rs.Notifier.InformAboutNewRegistrierung(registrierung)
|
return rs.Notifier.InformAboutNewRegistrierung(registrierung)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (rs *RegistrierungsService) GetUnconfirmedRegistrierung() ([]*Registrierung, error) {
|
//GetUnconfirmedRegistrierungen liefert alle noch nicht bestätigten Registrierungen
|
||||||
return rs.Repository.GetUnconfirmedRegistrierung()
|
func (rs *RegistrierungsService) GetUnconfirmedRegistrierungen() ([]*Registrierung, error) {
|
||||||
|
return rs.Repository.GetUnconfirmedRegistrierungen()
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user