func main()

in cmd/main.go [25:76]


func main() {
	fmt.Println("Starting Server")

	post := model.Post{}
	post.Id = "1"
	post.Title = "my post"
	post.Content = "post content"
	post.Status = "posted"
	post.CreateTimestamp = utils.GetLocalTimestampNow()
	post.LastUpdateTimestamp = utils.GetLocalTimestampNow()

	awsProfile, ok := os.LookupEnv("AWS_PROFILE")
	log.Printf("AWS_PROFILE: %s", awsProfile)
	var err error
	var ps service.PostService

	if ok {
		log.Printf("Use AWS profile")
		awsCfg, err = config.LoadDefaultConfig(ctx,
			config.WithSharedConfigProfile(awsProfile),
		)
		if err != nil {
			log.Fatalf("Error loading profile %v", err)
		}

	} else {
		log.Printf("Use default role")
		awsCfg, err = config.LoadDefaultConfig(ctx)
	}

	ddbSvc := dynamodb.NewFromConfig(awsCfg)
	log.Printf("DDB service created")

	ps, _ = service.NewDdbPostService(ddbSvc)

	postServiceHandlers := api.PostServiceApi{PostService: ps}

	router := gin.Default()

	router.GET("/health", func(c *gin.Context) {
		c.JSON(200, gin.H{
			"message": "OK",
		})
	})

	router.GET("/post/:id", postServiceHandlers.PostServiceGetApi)

	router.POST("/post", postServiceHandlers.PostServiceAddApi)

	_ = router.Run(":80")

}