a lot of teamsnap sync work. not entirely happy with all of it

This commit is contained in:
2021-12-21 17:18:39 -06:00
parent 33c772bd2f
commit acf90d4256
8 changed files with 739 additions and 211 deletions

View File

@@ -1,4 +1,4 @@
# Generated by Django 3.2.6 on 2021-11-20 23:53
# Generated by Django 3.2.6 on 2021-12-17 21:35
from django.db import migrations, models
import django.db.models.deletion
@@ -9,31 +9,47 @@ class Migration(migrations.Migration):
initial = True
dependencies = [
('teams', '0001_initial'),
('players', '0003_player_team'),
('venues', '0001_initial'),
('events', '0004_delete_availability'),
('benchcoach', '0001_initial'),
]
operations = [
migrations.CreateModel(
name='User',
name='Team',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('teamsnap_id', models.CharField(max_length=10)),
('access_token', models.CharField(max_length=50)),
('id', models.CharField(max_length=50, primary_key=True, serialize=False, unique=True)),
('name', models.CharField(max_length=50, null=True)),
('created_at', models.DateTimeField(null=True)),
('updated_at', models.DateTimeField(null=True)),
('benchcoach_object', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='teamsnapteam', to='benchcoach.team')),
],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='Team',
name='User',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('teamsnap_id', models.CharField(max_length=10)),
('id', models.CharField(max_length=50, primary_key=True, serialize=False, unique=True)),
('created_at', models.DateTimeField(null=True)),
('updated_at', models.DateTimeField(null=True)),
('first_name', models.CharField(max_length=50, null=True)),
('last_name', models.CharField(max_length=50, null=True)),
('email', models.EmailField(max_length=254, null=True)),
('managed_teams', models.ManyToManyField(to='teamsnap.Team')),
],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='Opponent',
fields=[
('id', models.CharField(max_length=50, primary_key=True, serialize=False, unique=True)),
('name', models.CharField(max_length=50, null=True)),
('team', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='teams.team')),
('created_at', models.DateTimeField(null=True)),
('updated_at', models.DateTimeField(null=True)),
('benchcoach_object', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='benchcoach.team')),
('managed_by_team', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='teamsnap.team')),
],
options={
'abstract': False,
@@ -42,10 +58,15 @@ class Migration(migrations.Migration):
migrations.CreateModel(
name='Member',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('teamsnap_id', models.CharField(max_length=10)),
('name', models.CharField(max_length=50, null=True)),
('player', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='players.player')),
('id', models.CharField(max_length=50, primary_key=True, serialize=False, unique=True)),
('created_at', models.DateTimeField(null=True)),
('updated_at', models.DateTimeField(null=True)),
('first_name', models.CharField(max_length=50, null=True)),
('last_name', models.CharField(max_length=50, null=True)),
('jersey_number', models.IntegerField(null=True)),
('is_non_player', models.BooleanField()),
('benchcoach_object', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='benchcoach.player')),
('managed_by_team', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='teamsnap.team')),
],
options={
'abstract': False,
@@ -54,10 +75,12 @@ class Migration(migrations.Migration):
migrations.CreateModel(
name='Location',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('teamsnap_id', models.CharField(max_length=10)),
('id', models.CharField(max_length=50, primary_key=True, serialize=False, unique=True)),
('name', models.CharField(max_length=50, null=True)),
('venue', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='venues.venue')),
('created_at', models.DateTimeField(null=True)),
('updated_at', models.DateTimeField(null=True)),
('benchcoach_object', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='benchcoach.venue')),
('managed_by_team', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='teamsnap.team')),
],
options={
'abstract': False,
@@ -66,17 +89,54 @@ class Migration(migrations.Migration):
migrations.CreateModel(
name='Event',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('teamsnap_id', models.CharField(max_length=10)),
('name', models.CharField(max_length=50, null=True)),
('id', models.CharField(max_length=50, primary_key=True, serialize=False, unique=True)),
('created_at', models.DateTimeField(null=True)),
('updated_at', models.DateTimeField(null=True)),
('label', models.CharField(max_length=50, null=True)),
('start_date', models.DateTimeField(null=True)),
('event', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='events.event')),
('formatted_title', models.CharField(max_length=50, null=True)),
('points_for_opponent', models.PositiveSmallIntegerField(null=True)),
('points_for_team', models.PositiveSmallIntegerField(null=True)),
('is_game', models.BooleanField()),
('benchcoach_object', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_event', to='benchcoach.event')),
('location', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='teamsnap.location')),
('opponent', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='teamsnap.team')),
('managed_by_team', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='teamsnap.team')),
('opponent', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='opponent', to='teamsnap.opponent')),
],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='Availability',
fields=[
('id', models.CharField(max_length=50, primary_key=True, serialize=False, unique=True)),
('created_at', models.DateTimeField(null=True)),
('updated_at', models.DateTimeField(null=True)),
('status_code', models.SmallIntegerField(choices=[(1, 'Yes'), (0, 'No'), (2, 'Maybe'), (None, 'Unknown')], default=None, null=True)),
('benchcoach_object', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='benchcoach.availability')),
('event', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='teamsnap.event')),
('managed_by_team', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='teamsnap.team')),
('member', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='teamsnap.member')),
],
options={
'verbose_name_plural': 'availabilities',
},
),
migrations.CreateModel(
name='LineupEntry',
fields=[
('id', models.CharField(max_length=50, primary_key=True, serialize=False, unique=True)),
('created_at', models.DateTimeField(null=True)),
('updated_at', models.DateTimeField(null=True)),
('label', models.PositiveSmallIntegerField(blank=True, choices=[(11, 'EH'), (1, 'P'), (2, 'C'), (3, '1B'), (4, '2B'), (5, '3B'), (6, 'SS'), (7, 'LF'), (8, 'CF'), (9, 'RF'), (10, 'DH')], default=None, null=True)),
('sequence', models.PositiveSmallIntegerField(blank=True, default=0, null=True)),
('event', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='teamsnap.event')),
('managed_by_team', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='teamsnap.team')),
('member', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='teamsnap.member')),
],
options={
'unique_together': {('member', 'event')},
},
),
]