Extended the Models
Mildly concerned about things coming back to bite. Signed-off-by: Pratyush Desai <pratyush.desai@liberta.casa>
This commit is contained in:
parent
1c097640a7
commit
3c2fe30f41
@ -1,3 +1,11 @@
|
|||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
|
|
||||||
# Register your models here.
|
from .models import Game, Player, Mod, Server
|
||||||
|
|
||||||
|
admin.site.register(Game)
|
||||||
|
|
||||||
|
admin.site.register(Server)
|
||||||
|
|
||||||
|
admin.site.register(Player)
|
||||||
|
|
||||||
|
admin.site.register(Mod)
|
||||||
|
@ -0,0 +1,134 @@
|
|||||||
|
# Generated by Django 5.1.4 on 2024-12-20 09:39
|
||||||
|
|
||||||
|
import django.db.models.deletion
|
||||||
|
import django.utils.timezone
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
("gameserver", "0002_remove_game_command_line_remove_mod_command_line"),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="game",
|
||||||
|
name="command_line",
|
||||||
|
field=models.CharField(blank=True, max_length=255, null=True),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="mod",
|
||||||
|
name="command_line",
|
||||||
|
field=models.CharField(blank=True, max_length=255, null=True),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="server",
|
||||||
|
name="current_players",
|
||||||
|
field=models.IntegerField(default=0),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="server",
|
||||||
|
name="is_private",
|
||||||
|
field=models.BooleanField(default=False),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="server",
|
||||||
|
name="is_started",
|
||||||
|
field=models.BooleanField(default=False),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="server",
|
||||||
|
name="last_collection_utc",
|
||||||
|
field=models.DateTimeField(blank=True, null=True),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="server",
|
||||||
|
name="last_heartbeat_utc",
|
||||||
|
field=models.DateTimeField(blank=True, null=True),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="server",
|
||||||
|
name="maximum_players",
|
||||||
|
field=models.IntegerField(default=0),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="server",
|
||||||
|
name="process_id",
|
||||||
|
field=models.IntegerField(null=True),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="server",
|
||||||
|
name="spawned_at_utc",
|
||||||
|
field=models.DateTimeField(
|
||||||
|
auto_now_add=True, default=django.utils.timezone.now
|
||||||
|
),
|
||||||
|
preserve_default=False,
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name="player",
|
||||||
|
name="score",
|
||||||
|
field=models.IntegerField(default=0),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name="server",
|
||||||
|
name="port",
|
||||||
|
field=models.IntegerField(default=69),
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name="SpawnedServerInfo",
|
||||||
|
fields=[
|
||||||
|
(
|
||||||
|
"id",
|
||||||
|
models.BigAutoField(
|
||||||
|
auto_created=True,
|
||||||
|
primary_key=True,
|
||||||
|
serialize=False,
|
||||||
|
verbose_name="ID",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
("process_id", models.IntegerField()),
|
||||||
|
("port", models.IntegerField()),
|
||||||
|
(
|
||||||
|
"mod",
|
||||||
|
models.ForeignKey(
|
||||||
|
on_delete=django.db.models.deletion.CASCADE, to="gameserver.mod"
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name="State",
|
||||||
|
fields=[
|
||||||
|
(
|
||||||
|
"id",
|
||||||
|
models.BigAutoField(
|
||||||
|
auto_created=True,
|
||||||
|
primary_key=True,
|
||||||
|
serialize=False,
|
||||||
|
verbose_name="ID",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
("created_at_utc", models.DateTimeField(auto_now_add=True)),
|
||||||
|
("playtime", models.DurationField(default="00:00:00")),
|
||||||
|
("servers", models.ManyToManyField(to="gameserver.server")),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name="StateResponse",
|
||||||
|
fields=[
|
||||||
|
(
|
||||||
|
"id",
|
||||||
|
models.BigAutoField(
|
||||||
|
auto_created=True,
|
||||||
|
primary_key=True,
|
||||||
|
serialize=False,
|
||||||
|
verbose_name="ID",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
("man_minutes_played", models.IntegerField()),
|
||||||
|
("running_since_utc", models.DateTimeField()),
|
||||||
|
("servers", models.ManyToManyField(to="gameserver.server")),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
]
|
@ -0,0 +1,23 @@
|
|||||||
|
# Generated by Django 5.1.4 on 2024-12-20 10:00
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
("gameserver", "0003_game_command_line_mod_command_line_and_more"),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="game",
|
||||||
|
name="description",
|
||||||
|
field=models.TextField(blank=True, null=True),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="server",
|
||||||
|
name="container_id",
|
||||||
|
field=models.CharField(blank=True, max_length=255, null=True),
|
||||||
|
),
|
||||||
|
]
|
@ -4,7 +4,8 @@ from django.db import models
|
|||||||
class Game(models.Model):
|
class Game(models.Model):
|
||||||
name = models.CharField(max_length=255)
|
name = models.CharField(max_length=255)
|
||||||
friendly_name = models.CharField(max_length=255)
|
friendly_name = models.CharField(max_length=255)
|
||||||
# command_line = models.CharField(max_length=255)
|
command_line = models.CharField(max_length=255, null=True, blank=True)
|
||||||
|
description = models.TextField(null=True, blank=True)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.friendly_name
|
return self.friendly_name
|
||||||
@ -16,40 +17,41 @@ class Server(models.Model):
|
|||||||
game_type = models.CharField(max_length=255)
|
game_type = models.CharField(max_length=255)
|
||||||
mod = models.ForeignKey('Mod', on_delete=models.CASCADE)
|
mod = models.ForeignKey('Mod', on_delete=models.CASCADE)
|
||||||
players = models.ManyToManyField('Player')
|
players = models.ManyToManyField('Player')
|
||||||
# spawned_at_utc = models.DateTimeField(auto_now_add=True)
|
spawned_at_utc = models.DateTimeField(auto_now_add=True)
|
||||||
# last_collection_utc = models.DateTimeField(null=True, blank=True)
|
last_collection_utc = models.DateTimeField(null=True, blank=True)
|
||||||
# last_heartbeat_utc = models.DateTimeField()
|
last_heartbeat_utc = models.DateTimeField(null=True, blank=True)
|
||||||
# process_id = models.IntegerField()
|
process_id = models.IntegerField(null=True)
|
||||||
# port = models.IntegerField()
|
port = models.IntegerField(default=69)
|
||||||
# is_started = models.BooleanField()
|
is_started = models.BooleanField(default=False)
|
||||||
# is_private = models.BooleanField()
|
is_private = models.BooleanField(default=False)
|
||||||
# current_players = models.IntegerField()
|
current_players = models.IntegerField(default=0)
|
||||||
# maximum_players = models.IntegerField()
|
maximum_players = models.IntegerField(default=0)
|
||||||
|
container_id = models.CharField(max_length=255, null=True, blank=True)
|
||||||
|
|
||||||
|
|
||||||
class Player(models.Model):
|
class Player(models.Model):
|
||||||
name = models.CharField(max_length=255)
|
name = models.CharField(max_length=255)
|
||||||
score = models.IntegerField()
|
score = models.IntegerField(default=0)
|
||||||
|
|
||||||
class Mod(models.Model):
|
class Mod(models.Model):
|
||||||
name = models.CharField(max_length=255)
|
name = models.CharField(max_length=255)
|
||||||
friendly_name = models.CharField(max_length=255)
|
friendly_name = models.CharField(max_length=255)
|
||||||
# command_line = models.CharField(max_length=255)
|
command_line = models.CharField(max_length=255, null=True, blank=True)
|
||||||
|
|
||||||
# class SpawnedServerInfo(models.Model):
|
class SpawnedServerInfo(models.Model):
|
||||||
# process_id = models.IntegerField()
|
process_id = models.IntegerField()
|
||||||
# port = models.IntegerField()
|
port = models.IntegerField()
|
||||||
# mod = models.ForeignKey('Mod', on_delete=models.CASCADE)
|
mod = models.ForeignKey('Mod', on_delete=models.CASCADE)
|
||||||
|
|
||||||
# class StateResponse(models.Model):
|
class StateResponse(models.Model):
|
||||||
# servers = models.ManyToManyField('Server')
|
servers = models.ManyToManyField('Server')
|
||||||
# man_minutes_played = models.IntegerField()
|
man_minutes_played = models.IntegerField()
|
||||||
# running_since_utc = models.DateTimeField()
|
running_since_utc = models.DateTimeField()
|
||||||
|
|
||||||
# class State(models.Model):
|
class State(models.Model):
|
||||||
# servers = models.ManyToManyField('Server')
|
servers = models.ManyToManyField('Server')
|
||||||
# created_at_utc = models.DateTimeField(auto_now_add=True)
|
created_at_utc = models.DateTimeField(auto_now_add=True)
|
||||||
# playtime = models.DurationField(default='00:00:00')
|
playtime = models.DurationField(default='00:00:00')
|
||||||
|
|
||||||
# def increase_playtime(self, time_to_add):
|
def increase_playtime(self, time_to_add):
|
||||||
# self.playtime += time_to_add
|
self.playtime += time_to_add
|
Loading…
Reference in New Issue
Block a user