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
|
||||
|
||||
# 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):
|
||||
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):
|
||||
return self.friendly_name
|
||||
@ -16,40 +17,41 @@ class Server(models.Model):
|
||||
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()
|
||||
spawned_at_utc = models.DateTimeField(auto_now_add=True)
|
||||
last_collection_utc = models.DateTimeField(null=True, blank=True)
|
||||
last_heartbeat_utc = models.DateTimeField(null=True, blank=True)
|
||||
process_id = models.IntegerField(null=True)
|
||||
port = models.IntegerField(default=69)
|
||||
is_started = models.BooleanField(default=False)
|
||||
is_private = models.BooleanField(default=False)
|
||||
current_players = models.IntegerField(default=0)
|
||||
maximum_players = models.IntegerField(default=0)
|
||||
container_id = models.CharField(max_length=255, null=True, blank=True)
|
||||
|
||||
|
||||
class Player(models.Model):
|
||||
name = models.CharField(max_length=255)
|
||||
score = models.IntegerField()
|
||||
score = models.IntegerField(default=0)
|
||||
|
||||
class Mod(models.Model):
|
||||
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):
|
||||
# process_id = models.IntegerField()
|
||||
# port = models.IntegerField()
|
||||
# mod = models.ForeignKey('Mod', on_delete=models.CASCADE)
|
||||
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 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')
|
||||
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
|
||||
def increase_playtime(self, time_to_add):
|
||||
self.playtime += time_to_add
|
Loading…
Reference in New Issue
Block a user