"""Bot/daemons for doing stuff with GitLab.""" import logging from django.db import models log = logging.getLogger(__name__) class GitlabConfig(models.Model): """Maintain bot-wide settings (URL, auth key, etc.).""" url = models.URLField() token = models.CharField(max_length=64) def __str__(self): """String representation.""" return "bot @ {0:s}".format(self.url) class GitlabProjectConfig(models.Model): """Maintain settings for a particular project in GitLab.""" gitlab_config = models.ForeignKey('GitlabConfig', null=True) project_id = models.CharField(max_length=64, unique=True) manage_merge_request_code_reviews = models.BooleanField(default=False) code_reviews_necessary = models.PositiveSmallIntegerField(default=0) code_reviewers = models.TextField(default='', blank=True) code_review_final_merge_assignees = models.TextField(default='', blank=True) def __str__(self): """String representation.""" return "configuration for {0:s} @ {1:s}".format(self.project_id, self.gitlab_config.url)