package kr.iotdoor.boot.config;

import org.springframework.boot.context.properties.ConfigurationProperties;

@ConfigurationProperties(prefix = "iotdoor")
public class IotdoorProperties {

    private final Site site = new Site();
    private final Security security = new Security();
    private final File file = new File();

    public Site getSite() {
        return site;
    }

    public Security getSecurity() {
        return security;
    }

    public File getFile() {
        return file;
    }

    public static class Site {
        private String name;
        private String adminTitle;
        private String email;
        private String phone;
        private String phoneAlt;
        private String address;
        private String summary;
        private String description;
        private double mapLatitude;
        private double mapLongitude;
        private String mapClientId;

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getAdminTitle() {
            return adminTitle;
        }

        public void setAdminTitle(String adminTitle) {
            this.adminTitle = adminTitle;
        }

        public String getEmail() {
            return email;
        }

        public void setEmail(String email) {
            this.email = email;
        }

        public String getPhone() {
            return phone;
        }

        public void setPhone(String phone) {
            this.phone = phone;
        }

        public String getPhoneAlt() {
            return phoneAlt;
        }

        public void setPhoneAlt(String phoneAlt) {
            this.phoneAlt = phoneAlt;
        }

        public String getAddress() {
            return address;
        }

        public void setAddress(String address) {
            this.address = address;
        }

        public String getSummary() {
            return summary;
        }

        public void setSummary(String summary) {
            this.summary = summary;
        }

        public String getDescription() {
            return description;
        }

        public void setDescription(String description) {
            this.description = description;
        }

        public double getMapLatitude() {
            return mapLatitude;
        }

        public void setMapLatitude(double mapLatitude) {
            this.mapLatitude = mapLatitude;
        }

        public double getMapLongitude() {
            return mapLongitude;
        }

        public void setMapLongitude(double mapLongitude) {
            this.mapLongitude = mapLongitude;
        }

        public String getMapClientId() {
            return mapClientId;
        }

        public void setMapClientId(String mapClientId) {
            this.mapClientId = mapClientId;
        }
    }

    public static class Security {
        private String adminUsername;
        private String adminPassword;
        private String adminDisplayName;

        public String getAdminUsername() {
            return adminUsername;
        }

        public void setAdminUsername(String adminUsername) {
            this.adminUsername = adminUsername;
        }

        public String getAdminPassword() {
            return adminPassword;
        }

        public void setAdminPassword(String adminPassword) {
            this.adminPassword = adminPassword;
        }

        public String getAdminDisplayName() {
            return adminDisplayName;
        }

        public void setAdminDisplayName(String adminDisplayName) {
            this.adminDisplayName = adminDisplayName;
        }
    }

    public static class File {
        private String uploadPath;

        public String getUploadPath() {
            return uploadPath;
        }

        public void setUploadPath(String uploadPath) {
            this.uploadPath = uploadPath;
        }
    }
}
