Encrypted messaging app
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

68 lines
1.3 KiB

  1. package main
  2. import (
  3. "flag"
  4. "log"
  5. "net/http"
  6. "os"
  7. "git.tovijaeschke.xyz/tovi/Envelope/Backend/Api"
  8. "git.tovijaeschke.xyz/tovi/Envelope/Backend/Database"
  9. "git.tovijaeschke.xyz/tovi/Envelope/Backend/Database/Seeder"
  10. "git.tovijaeschke.xyz/tovi/Envelope/Backend/Service"
  11. "github.com/gorilla/mux"
  12. "github.com/joho/godotenv"
  13. )
  14. var (
  15. seed bool
  16. sendNotification bool
  17. )
  18. func init() {
  19. var err error
  20. err = godotenv.Load()
  21. if err != nil {
  22. panic(err)
  23. }
  24. Database.Init()
  25. flag.BoolVar(&seed, "seed", false, "Seed database for development")
  26. flag.BoolVar(&sendNotification, "test-notify", false, "Send test notification")
  27. flag.Parse()
  28. }
  29. func main() {
  30. var (
  31. router *mux.Router
  32. err error
  33. )
  34. if seed && os.Getenv("GO_ENV") != "production" {
  35. Seeder.Seed()
  36. return
  37. }
  38. if sendNotification && os.Getenv("GO_ENV") != "production" {
  39. Service.SendNotification(
  40. []string{"eoGWtGAOR3OON6uQTVwjwM:APA91bH68gggBHj1jm68xMY10LQBWVO1r5x0JH4An7dpq4nJJ1GjQw8EJVoKpkz8BSXvxFxU2p5azeO4HE0yUqmfJlCGVBwrBvi4ZmgiIMkg6LajsZuPu96gPblKIjpVnxL99AvQYFib"},
  41. "Test Message",
  42. make(map[string]string),
  43. )
  44. return
  45. }
  46. router = mux.NewRouter()
  47. Api.InitAPIEndpoints(router)
  48. log.Println("Listening on port :8080")
  49. err = http.ListenAndServe(":8080", router)
  50. if err != nil {
  51. panic(err)
  52. }
  53. }