mirror of
https://github.com/SourceFellows/trainingfellow.git
synced 2024-11-25 06:33:19 +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/*
|
||||
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.
|
||||
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
|
||||
ports:
|
||||
- "8443:8443"
|
||||
- "9900:9900"
|
||||
vorbereitung:
|
||||
image: training-fellow/vorbereitung
|
||||
build: vorbereitung
|
||||
|
@ -62,7 +62,7 @@ func NewRegistrationHandler(ser *registrierung.RegistrierungsService) gin.Handle
|
||||
func NewUnconfirmedListHandler(ser *registrierung.RegistrierungsService) gin.HandlerFunc {
|
||||
return func(c *gin.Context) {
|
||||
|
||||
registrations, err := ser.GetUnconfirmedRegistrierung()
|
||||
registrations, err := ser.GetUnconfirmedRegistrierungen()
|
||||
if err != nil {
|
||||
log.Errorf("Could not find unconfirmed registrations: %v", err)
|
||||
c.Writer.WriteHeader(http.StatusInternalServerError)
|
||||
|
@ -12,6 +12,7 @@ import (
|
||||
"training-fellow.de/registrierung"
|
||||
)
|
||||
|
||||
//NewRepo erzeugt ein neues RegistrierungsRepository für MongoDB
|
||||
func NewRepo(url, database, collection string) registrierung.RegistrierungsRepository {
|
||||
return &mongoDBRepositoy{url, collection, database}
|
||||
}
|
||||
@ -24,6 +25,7 @@ type mongoDBRepositoy struct {
|
||||
|
||||
type mongoCall func(*mongo.Collection) error
|
||||
|
||||
//SaveRegistrierung speichert die übergebene Registrierung
|
||||
func (m *mongoDBRepositoy) SaveRegistrierung(registrierung *registrierung.Registrierung) error {
|
||||
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)
|
||||
defer cancel()
|
||||
@ -60,19 +63,21 @@ func (m *mongoDBRepositoy) GetUnconfirmedRegistrierung() ([]*registrierung.Regis
|
||||
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)
|
||||
defer cancel()
|
||||
registrierung := ®istrierung.Registrierung{}
|
||||
err := m.executeInClient(ctx, func(collection *mongo.Collection) error {
|
||||
result := collection.FindOneAndUpdate(ctx,
|
||||
bson.M{"_id": registrierungsId},
|
||||
bson.M{"_id": registrierungsID},
|
||||
bson.M{"$set": bson.M{"confirmed": true}})
|
||||
return result.Decode(®istrierung)
|
||||
})
|
||||
return registrierung, err
|
||||
}
|
||||
|
||||
//Template Funktion zum Ausführen von MongoDB Aufrufen
|
||||
func (m *mongoDBRepositoy) executeInClient(ctx context.Context, callback mongoCall) error {
|
||||
client, err := mongo.NewClient(
|
||||
options.Client().
|
||||
|
@ -7,7 +7,8 @@ import (
|
||||
"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}
|
||||
}
|
||||
|
||||
@ -15,6 +16,7 @@ type notifier struct {
|
||||
url string
|
||||
}
|
||||
|
||||
//InformAboutNewRegistrierung informiert über eine neue Registrierung
|
||||
func (nn *notifier) InformAboutNewRegistrierung(registrierung *registrierung.Registrierung) error {
|
||||
|
||||
notifierLogger := log.WithField("Registrierung", registrierung)
|
||||
|
@ -1,7 +1,11 @@
|
||||
package registrierung
|
||||
|
||||
//RegistrierungsRepository verwaltet alle Registrierungen
|
||||
type RegistrierungsRepository interface {
|
||||
//SaveRegistrierung speichert eine Registrierung
|
||||
SaveRegistrierung(*Registrierung) error
|
||||
GetUnconfirmedRegistrierung() ([]*Registrierung, error)
|
||||
ConfirmedRegistrierung(registrierungId string) (*Registrierung, error)
|
||||
//GetUnconfirmedRegistrierung liefert alle unbestätigten Registrierungen
|
||||
GetUnconfirmedRegistrierungen() ([]*Registrierung, error)
|
||||
//ConfirmedRegistrierung bestätigt eine Registrierung
|
||||
ConfirmedRegistrierung(registrierungID string) (*Registrierung, error)
|
||||
}
|
||||
|
@ -1,16 +1,19 @@
|
||||
package registrierung
|
||||
|
||||
//RegistrierungsService stellt die Businessfunktionalität für Registrierungen bereit
|
||||
type RegistrierungsService struct {
|
||||
Repository RegistrierungsRepository
|
||||
Notifier RegistrierungsNotifier
|
||||
}
|
||||
|
||||
//HandleNewRegistrierung behandelte neue Registrierungen
|
||||
func (rs *RegistrierungsService) HandleNewRegistrierung(reg *Registrierung) error {
|
||||
return rs.Repository.SaveRegistrierung(reg)
|
||||
}
|
||||
|
||||
func (rs *RegistrierungsService) ConfirmRegistration(regId string) error {
|
||||
registrierung, err := rs.Repository.ConfirmedRegistrierung(regId)
|
||||
//ConfirmRegistration bestätigt eine Registrierung
|
||||
func (rs *RegistrierungsService) ConfirmRegistration(regID string) error {
|
||||
registrierung, err := rs.Repository.ConfirmedRegistrierung(regID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -18,6 +21,7 @@ func (rs *RegistrierungsService) ConfirmRegistration(regId string) error {
|
||||
return rs.Notifier.InformAboutNewRegistrierung(registrierung)
|
||||
}
|
||||
|
||||
func (rs *RegistrierungsService) GetUnconfirmedRegistrierung() ([]*Registrierung, error) {
|
||||
return rs.Repository.GetUnconfirmedRegistrierung()
|
||||
//GetUnconfirmedRegistrierungen liefert alle noch nicht bestätigten Registrierungen
|
||||
func (rs *RegistrierungsService) GetUnconfirmedRegistrierungen() ([]*Registrierung, error) {
|
||||
return rs.Repository.GetUnconfirmedRegistrierungen()
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user