Source Code

/ ssg / src / repository / models.py

from django.db import models
from django.db.models import Q
from django.conf import settings

repo_name = settings.REPO_NAME


class File(models.Model):
    path = models.CharField(
        max_length=1024,
        unique=True,
        help_text="POSIX path relative to repo root"
    )
    name = models.CharField(max_length=500)
    content = models.TextField(blank=True)
    is_directory = models.BooleanField(default=False)

    def __str__(self):
        return self.path

    @property
    def parent_path(self):
        if "/" not in self.path:
            return None
        return self.path.rsplit("/", 1)[0]