# -*- coding: utf-8 -*-

# Copyright (C) 2015 Avencall
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>

from builtins import object
import yaml

from xivo_dao import phone_access_dao


class DirdPhonedFrontend(object):

    def config_yml(self):
        authorized_subnets = phone_access_dao.get_authorized_subnets()
        generator = _ConfigGenerator(authorized_subnets)

        return yaml.safe_dump(generator.generate())


class _ConfigGenerator(object):

    def __init__(self, authorized_subnets):
        self._authorized_subnets = authorized_subnets

    def generate(self):
        return {
            'rest_api': {
                'authorized_subnets': self._authorized_subnets
            }
        }
