Add base models for testing
Attempt to figure out the necessary data models and applicable fields. Signed-off-by: Pratyush Desai <pratyush.desai@liberta.casa>
This commit is contained in:
parent
480f7d0386
commit
1c097640a7
94
gameserver/migrations/0001_initial.py
Normal file
94
gameserver/migrations/0001_initial.py
Normal file
@ -0,0 +1,94 @@
|
||||
# Generated by Django 5.1.4 on 2024-12-20 09:11
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
initial = True
|
||||
|
||||
dependencies = []
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name="Game",
|
||||
fields=[
|
||||
(
|
||||
"id",
|
||||
models.BigAutoField(
|
||||
auto_created=True,
|
||||
primary_key=True,
|
||||
serialize=False,
|
||||
verbose_name="ID",
|
||||
),
|
||||
),
|
||||
("name", models.CharField(max_length=255)),
|
||||
("friendly_name", models.CharField(max_length=255)),
|
||||
("command_line", models.CharField(max_length=255)),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="Mod",
|
||||
fields=[
|
||||
(
|
||||
"id",
|
||||
models.BigAutoField(
|
||||
auto_created=True,
|
||||
primary_key=True,
|
||||
serialize=False,
|
||||
verbose_name="ID",
|
||||
),
|
||||
),
|
||||
("name", models.CharField(max_length=255)),
|
||||
("friendly_name", models.CharField(max_length=255)),
|
||||
("command_line", models.CharField(max_length=255)),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="Player",
|
||||
fields=[
|
||||
(
|
||||
"id",
|
||||
models.BigAutoField(
|
||||
auto_created=True,
|
||||
primary_key=True,
|
||||
serialize=False,
|
||||
verbose_name="ID",
|
||||
),
|
||||
),
|
||||
("name", models.CharField(max_length=255)),
|
||||
("score", models.IntegerField()),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="Server",
|
||||
fields=[
|
||||
(
|
||||
"id",
|
||||
models.BigAutoField(
|
||||
auto_created=True,
|
||||
primary_key=True,
|
||||
serialize=False,
|
||||
verbose_name="ID",
|
||||
),
|
||||
),
|
||||
("port", models.IntegerField()),
|
||||
("game_type", models.CharField(max_length=255)),
|
||||
(
|
||||
"game",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
to="gameserver.game",
|
||||
),
|
||||
),
|
||||
(
|
||||
"mod",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE, to="gameserver.mod"
|
||||
),
|
||||
),
|
||||
("players", models.ManyToManyField(to="gameserver.player")),
|
||||
],
|
||||
),
|
||||
]
|
@ -0,0 +1,21 @@
|
||||
# Generated by Django 5.1.4 on 2024-12-20 09:30
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("gameserver", "0001_initial"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name="game",
|
||||
name="command_line",
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name="mod",
|
||||
name="command_line",
|
||||
),
|
||||
]
|
@ -1,8 +1,55 @@
|
||||
from django.db import models
|
||||
|
||||
|
||||
class Game(models.Model):
|
||||
name = models.CharField(max_length=255)
|
||||
friendly_name = models.CharField(max_length=255)
|
||||
# command_line = models.CharField(max_length=255)
|
||||
|
||||
def __str__(self):
|
||||
return self.friendly_name
|
||||
|
||||
|
||||
class Server(models.Model):
|
||||
pass
|
||||
class Player(model.Model):
|
||||
pass
|
||||
class StatisticsResponse(models.Model):
|
||||
pass
|
||||
game = models.ForeignKey(Game, on_delete=models.CASCADE)
|
||||
port = models.IntegerField()
|
||||
game_type = models.CharField(max_length=255)
|
||||
mod = models.ForeignKey('Mod', on_delete=models.CASCADE)
|
||||
players = models.ManyToManyField('Player')
|
||||
# spawned_at_utc = models.DateTimeField(auto_now_add=True)
|
||||
# last_collection_utc = models.DateTimeField(null=True, blank=True)
|
||||
# last_heartbeat_utc = models.DateTimeField()
|
||||
# process_id = models.IntegerField()
|
||||
# port = models.IntegerField()
|
||||
# is_started = models.BooleanField()
|
||||
# is_private = models.BooleanField()
|
||||
# current_players = models.IntegerField()
|
||||
# maximum_players = models.IntegerField()
|
||||
|
||||
|
||||
class Player(models.Model):
|
||||
name = models.CharField(max_length=255)
|
||||
score = models.IntegerField()
|
||||
|
||||
class Mod(models.Model):
|
||||
name = models.CharField(max_length=255)
|
||||
friendly_name = models.CharField(max_length=255)
|
||||
# command_line = models.CharField(max_length=255)
|
||||
|
||||
# class SpawnedServerInfo(models.Model):
|
||||
# process_id = models.IntegerField()
|
||||
# port = models.IntegerField()
|
||||
# mod = models.ForeignKey('Mod', on_delete=models.CASCADE)
|
||||
|
||||
# class StateResponse(models.Model):
|
||||
# servers = models.ManyToManyField('Server')
|
||||
# man_minutes_played = models.IntegerField()
|
||||
# running_since_utc = models.DateTimeField()
|
||||
|
||||
# class State(models.Model):
|
||||
# servers = models.ManyToManyField('Server')
|
||||
# created_at_utc = models.DateTimeField(auto_now_add=True)
|
||||
# playtime = models.DurationField(default='00:00:00')
|
||||
|
||||
# def increase_playtime(self, time_to_add):
|
||||
# self.playtime += time_to_add
|
8
gameserver/urls.py
Normal file
8
gameserver/urls.py
Normal file
@ -0,0 +1,8 @@
|
||||
from django.urls import path
|
||||
|
||||
from . import views
|
||||
|
||||
urlpatterns = [
|
||||
path("", views.index, name="index"),
|
||||
]
|
||||
|
@ -1 +1,6 @@
|
||||
from django.shortcuts import render
|
||||
from django.http import HttpResponse
|
||||
|
||||
|
||||
def index(request):
|
||||
return HttpResponse("Hello, world. You're at the GibCasa index.")
|
@ -31,7 +31,7 @@ ALLOWED_HOSTS = []
|
||||
# Application definition
|
||||
|
||||
INSTALLED_APPS = [
|
||||
"gameserver",
|
||||
"gameserver.apps.GameserverConfig",
|
||||
"django.contrib.admin",
|
||||
"django.contrib.auth",
|
||||
"django.contrib.contenttypes",
|
||||
|
@ -2,6 +2,7 @@ from django.contrib import admin
|
||||
from django.urls import include, path
|
||||
|
||||
urlpatterns = [
|
||||
path("gameserver/", include("gameserver.urls")),
|
||||
path("admin/", admin.site.urls),
|
||||
]
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user