package main

import (
	"os/user"
	"strconv"

	"git.milar.in/milarin/envvars/v2"
)

var (
	DownloadPath = envvars.String("DOWNLOAD_PATH", "")

	Uid = envvars.Object("UID", 1000, func(s string) (int, error) {
		if uid, err := strconv.Atoi(s); err == nil {
			return uid, nil
		}

		usr, err := user.Lookup(s)
		if err != nil {
			return 0, err
		}

		return strconv.Atoi(usr.Uid)
	})

	Gid = envvars.Object("GID", 1000, func(s string) (int, error) {
		if gid, err := strconv.Atoi(s); err == nil {
			return gid, nil
		}

		grp, err := user.LookupGroup(s)
		if err != nil {
			return 0, err
		}

		return strconv.Atoi(grp.Gid)
	})
)
