package main

import (
	"os"

	"webserv/internal/server"
	"webserv/pkg/logger"
)

// @title           Service API
// @version         1.0
// @description     API documentation

// @contact.name   API Support
// @contact.url    http://www.swagger.io/support
// @contact.email  support@swagger.io

// @license.name  Apache 2.0
// @license.url   http://www.apache.org/licenses/LICENSE-2.0.html
// @query.collection.format multi

// @host      localhost
// @schemes   http https

// @basePath  /api/v1


func run() error {
	var err error
	srv, err := server.NewServer()
	if err != nil {
		return err
	}
	err = srv.Configure()
	if err != nil {
		return err
	}
	err = srv.Daemonize()
	if err != nil {
		return err
	}
	err = srv.Build()
	if err != nil {
		return err
	}
	err = srv.Run()
	if err != nil {
		return err
	}
	return err
}

func main() {
	log := logger.NewLogger("main")
	err := run()
	if err != nil {
		log.Errorf("%v", err)
		os.Exit(1)
	}
	os.Exit(0)
}
