Fix: Login.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: Backend
|
||||
Feature: Initialisation
|
||||
|
||||
4
app.py
4
app.py
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: App General
|
||||
Feature: App
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: Module Initialisation
|
||||
Feature: Business Objects
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: Business Objects
|
||||
Feature: Base Business Object
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: Business Objects
|
||||
Feature: Base Business Object
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: Business Objects
|
||||
Feature: Database Base Business Objects
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: Business Objects
|
||||
Feature: SQL Error Business Object
|
||||
@@ -23,6 +23,7 @@ from datetime import datetime, timedelta
|
||||
import locale
|
||||
from flask_sqlalchemy import SQLAlchemy
|
||||
from sqlalchemy import Uuid
|
||||
from sqlalchemy.types import Integer
|
||||
from typing import ClassVar
|
||||
|
||||
# db = SQLAlchemy()
|
||||
@@ -126,22 +127,22 @@ class Parameters_SQL_Error(Get_Many_Parameters_Base):
|
||||
@classmethod
|
||||
def get_default(cls, guid):
|
||||
return cls(
|
||||
guid = guid
|
||||
guid = guid
|
||||
)
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json):
|
||||
return cls(
|
||||
guid = json.get('a_guid', None)
|
||||
guid = json.get('a_guid', None)
|
||||
)
|
||||
|
||||
def to_json(self):
|
||||
return {
|
||||
'a_guid': self.guid
|
||||
'a_guid': self.guid
|
||||
}
|
||||
|
||||
@staticmethod
|
||||
def get_type_hints():
|
||||
return {
|
||||
'a_guid': Uuid
|
||||
'a_guid': Uuid
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: Business Objects
|
||||
Feature: MTG Deck Business Object
|
||||
@@ -17,7 +17,7 @@ from helpers.helper_app import Helper_App
|
||||
# external
|
||||
from dataclasses import dataclass
|
||||
from typing import ClassVar
|
||||
from sqlalchemy.types import Text, Boolean
|
||||
from sqlalchemy.types import Text, Boolean, Integer
|
||||
|
||||
|
||||
class MTG_Deck(SQLAlchemy_ABC, Base):
|
||||
@@ -108,36 +108,40 @@ class MTG_Deck(SQLAlchemy_ABC, Base):
|
||||
|
||||
|
||||
class Parameters_MTG_Deck(Get_Many_Parameters_Base):
|
||||
access_user_id: int
|
||||
get_all_deck: bool
|
||||
get_inactive_deck: bool
|
||||
deck_ids: str
|
||||
deck_names: str
|
||||
commander_bracket_ids: str
|
||||
include_commander_option: bool
|
||||
created_by_user_ids: str
|
||||
get_all_game: bool
|
||||
get_inactive_game: bool
|
||||
game_ids: str
|
||||
filter_by_game_session_not_player: bool
|
||||
get_all_user: bool
|
||||
get_inactive_user: bool
|
||||
user_ids: str
|
||||
require_all_id_filters_met: bool
|
||||
require_any_id_filters_met: bool
|
||||
require_all_non_id_filters_met: bool
|
||||
require_any_non_id_filters_met: bool
|
||||
|
||||
@classmethod
|
||||
def get_default(cls, user_id):
|
||||
def get_default(cls, user_id_session):
|
||||
return cls(
|
||||
get_all_deck = False
|
||||
access_user_id = user_id_session
|
||||
, get_all_deck = False
|
||||
, get_inactive_deck = False
|
||||
, deck_ids = ''
|
||||
, deck_names = ''
|
||||
, commander_bracket_ids = ''
|
||||
, include_commander_option = True
|
||||
, created_by_user_ids = str(user_id)
|
||||
, get_all_game = False
|
||||
, get_all_game = True
|
||||
, get_inactive_game = False
|
||||
, game_ids = ''
|
||||
, filter_by_game_session_not_player = False
|
||||
, get_all_user = True
|
||||
, get_inactive_user = False
|
||||
, user_ids = ''
|
||||
, require_all_id_filters_met = False
|
||||
, require_any_id_filters_met = True
|
||||
, require_all_non_id_filters_met = False
|
||||
@@ -147,17 +151,19 @@ class Parameters_MTG_Deck(Get_Many_Parameters_Base):
|
||||
@classmethod
|
||||
def from_json(cls, json):
|
||||
return cls(
|
||||
get_all_deck = json.get('a_get_all_deck', False)
|
||||
access_user_id = json.get('a_access_user_id', None)
|
||||
, get_all_deck = json.get('a_get_all_deck', False)
|
||||
, get_inactive_deck = json.get('a_get_inactive_deck', False)
|
||||
, deck_ids = json.get('a_deck_ids', '')
|
||||
, deck_names = json.get('a_deck_names', '')
|
||||
, commander_bracket_ids = json.get('a_commander_bracket_ids', '')
|
||||
, include_commander_option = json.get('a_include_commander_option', True)
|
||||
, created_by_user_ids = json.get('a_created_by_user_ids', '')
|
||||
, get_all_game = json.get('a_get_all_game', False)
|
||||
, get_inactive_game = json.get('a_get_inactive_game', False)
|
||||
, game_ids = json.get('a_game_ids', '')
|
||||
, filter_by_game_session_not_player = json.get('a_filter_by_game_session_not_player', True)
|
||||
, get_all_user = json.get('a_get_all_user', False)
|
||||
, get_inactive_user = json.get('a_get_inactive_user', False)
|
||||
, user_ids = json.get('a_user_ids', '')
|
||||
, require_all_id_filters_met = json.get('a_require_all_id_filters_met', True)
|
||||
, require_any_id_filters_met = json.get('a_require_any_id_filters_met', True)
|
||||
, require_all_non_id_filters_met = json.get('a_require_all_non_id_filters_met', False)
|
||||
@@ -166,17 +172,19 @@ class Parameters_MTG_Deck(Get_Many_Parameters_Base):
|
||||
|
||||
def to_json(self):
|
||||
return {
|
||||
'a_get_all_deck': self.get_all_deck
|
||||
'a_access_user_id': self.access_user_id
|
||||
, 'a_get_all_deck': self.get_all_deck
|
||||
, 'a_get_inactive_deck': self.get_inactive_deck
|
||||
, 'a_deck_ids': self.deck_ids
|
||||
, 'a_deck_names': self.deck_names
|
||||
, 'a_commander_bracket_ids': self.commander_bracket_ids
|
||||
, 'a_include_commander_option': self.include_commander_option
|
||||
, 'a_created_by_user_ids': self.created_by_user_ids
|
||||
, 'a_get_all_game': self.get_all_game
|
||||
, 'a_get_inactive_game': self.get_inactive_game
|
||||
, 'a_game_ids': self.game_ids
|
||||
, 'a_filter_by_game_session_not_player': self.filter_by_game_session_not_player
|
||||
, 'a_get_all_user': self.get_all_user
|
||||
, 'a_get_inactive_user': self.get_inactive_user
|
||||
, 'a_user_ids': self.user_ids
|
||||
, 'a_require_all_id_filters_met': self.require_all_id_filters_met
|
||||
, 'a_require_any_id_filters_met': self.require_any_id_filters_met
|
||||
, 'a_require_all_non_id_filters_met': self.require_all_non_id_filters_met
|
||||
@@ -186,17 +194,19 @@ class Parameters_MTG_Deck(Get_Many_Parameters_Base):
|
||||
@staticmethod
|
||||
def get_type_hints():
|
||||
return {
|
||||
'a_get_all_deck': Boolean
|
||||
'a_access_user_id': Integer
|
||||
, 'a_get_all_deck': Boolean
|
||||
, 'a_get_inactive_deck': Boolean
|
||||
, 'a_deck_ids': Text
|
||||
, 'a_deck_names': Text
|
||||
, 'a_commander_bracket_ids': Text
|
||||
, 'a_include_commander_option': Boolean
|
||||
, 'a_created_by_user_ids': Text
|
||||
, 'a_get_all_game': Boolean
|
||||
, 'a_get_inactive_game': Boolean
|
||||
, 'a_game_ids': Text
|
||||
, 'a_filter_by_game_session_not_player': Boolean
|
||||
, 'a_get_all_user': Boolean
|
||||
, 'a_get_inactive_user': Boolean
|
||||
, 'a_user_ids': Text
|
||||
, 'a_require_all_id_filters_met': Boolean
|
||||
, 'a_require_any_id_filters_met': Boolean
|
||||
, 'a_require_all_non_id_filters_met': Boolean
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: Business Objects
|
||||
Feature: MTG Deck Commander Bracket Business Object
|
||||
@@ -16,6 +16,7 @@ from helpers.helper_app import Helper_App
|
||||
# external
|
||||
from dataclasses import dataclass
|
||||
from typing import ClassVar
|
||||
from sqlalchemy.types import Text, Boolean, Integer
|
||||
|
||||
|
||||
class MTG_Deck_Commander_Bracket(SQLAlchemy_ABC, Base):
|
||||
@@ -100,6 +101,7 @@ class MTG_Deck_Commander_Bracket(SQLAlchemy_ABC, Base):
|
||||
|
||||
|
||||
class Parameters_MTG_Deck_Commander_Bracket(Get_Many_Parameters_Base):
|
||||
access_user_id: int
|
||||
get_all_commander_bracket: bool
|
||||
get_inactive_commander_bracket: bool
|
||||
commander_bracket_ids: str
|
||||
@@ -110,9 +112,10 @@ class Parameters_MTG_Deck_Commander_Bracket(Get_Many_Parameters_Base):
|
||||
require_any_non_id_filters_met: bool
|
||||
|
||||
@classmethod
|
||||
def get_default(cls):
|
||||
def get_default(cls, user_id_session):
|
||||
return cls(
|
||||
get_all_commander_bracket = True
|
||||
access_user_id = user_id_session
|
||||
, get_all_commander_bracket = True
|
||||
, get_inactive_commander_bracket = False
|
||||
, commander_bracket_ids = ''
|
||||
, commander_bracket_names = ''
|
||||
@@ -125,7 +128,8 @@ class Parameters_MTG_Deck_Commander_Bracket(Get_Many_Parameters_Base):
|
||||
@classmethod
|
||||
def from_json(cls, json):
|
||||
return cls(
|
||||
get_all_commander_bracket = json.get('a_get_all_commander_bracket', True)
|
||||
access_user_id = json.get('a_access_user_id', None)
|
||||
, get_all_commander_bracket = json.get('a_get_all_commander_bracket', True)
|
||||
, get_inactive_commander_bracket = json.get('a_get_inactive_commander_bracket', False)
|
||||
, commander_bracket_ids = json.get('a_commander_bracket_ids', '')
|
||||
, commander_bracket_names = json.get('a_commander_bracket_names', '')
|
||||
@@ -137,7 +141,8 @@ class Parameters_MTG_Deck_Commander_Bracket(Get_Many_Parameters_Base):
|
||||
|
||||
def to_json(self):
|
||||
return {
|
||||
'a_get_all_commander_bracket': self.get_all_commander_bracket
|
||||
'a_access_user_id': self.access_user_id
|
||||
, 'a_get_all_commander_bracket': self.get_all_commander_bracket
|
||||
, 'a_get_inactive_commander_bracket': self.get_inactive_commander_bracket
|
||||
, 'a_commander_bracket_ids': self.commander_bracket_ids
|
||||
, 'a_commander_bracket_names': self.commander_bracket_names
|
||||
@@ -146,3 +151,17 @@ class Parameters_MTG_Deck_Commander_Bracket(Get_Many_Parameters_Base):
|
||||
, 'a_require_all_non_id_filters_met': self.require_all_non_id_filters_met
|
||||
, 'a_require_any_non_id_filters_met': self.require_any_non_id_filters_met
|
||||
}
|
||||
|
||||
@staticmethod
|
||||
def get_type_hints():
|
||||
return {
|
||||
'a_access_user_id': Integer
|
||||
, 'a_get_all_commander_bracket': Boolean
|
||||
, 'a_get_inactive_commander_bracket': Boolean
|
||||
, 'a_commander_bracket_ids': Text
|
||||
, 'a_commander_bracket_names': Text
|
||||
, 'a_require_all_id_filters_met': Boolean
|
||||
, 'a_require_any_id_filters_met': Boolean
|
||||
, 'a_require_all_non_id_filters_met': Boolean
|
||||
, 'a_require_any_non_id_filters_met': Boolean
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: Business Objects
|
||||
Feature: MTG Game Business Object
|
||||
@@ -18,7 +18,7 @@ from datetime import datetime
|
||||
from dataclasses import dataclass
|
||||
from typing import ClassVar
|
||||
from sqlalchemy import bindparam
|
||||
from sqlalchemy.types import Text, Boolean
|
||||
from sqlalchemy.types import Text, Boolean, Integer
|
||||
|
||||
|
||||
class MTG_Game(SQLAlchemy_ABC, Base):
|
||||
@@ -147,6 +147,7 @@ class MTG_Game(SQLAlchemy_ABC, Base):
|
||||
'''
|
||||
|
||||
class Parameters_MTG_Game(Get_Many_Parameters_Base):
|
||||
access_user_id: int
|
||||
get_all_game: bool
|
||||
get_inactive_game: bool
|
||||
game_ids: str
|
||||
@@ -159,7 +160,8 @@ class Parameters_MTG_Game(Get_Many_Parameters_Base):
|
||||
@classmethod
|
||||
def get_default(cls, user_id_session):
|
||||
return cls(
|
||||
get_all_game = True
|
||||
access_user_id = user_id_session
|
||||
, get_all_game = True
|
||||
, get_inactive_game = False
|
||||
, game_ids = ''
|
||||
, get_all_user = False
|
||||
@@ -172,7 +174,8 @@ class Parameters_MTG_Game(Get_Many_Parameters_Base):
|
||||
@classmethod
|
||||
def from_json(cls, json):
|
||||
return cls(
|
||||
get_all_game = json.get('a_get_all_game', False)
|
||||
access_user_id = json.get('a_access_user_id', None)
|
||||
, get_all_game = json.get('a_get_all_game', False)
|
||||
, get_inactive_game = json.get('a_get_inactive_game', False)
|
||||
, game_ids = json.get('a_game_ids', '')
|
||||
, get_all_user = json.get('a_get_all_user', False)
|
||||
@@ -184,7 +187,8 @@ class Parameters_MTG_Game(Get_Many_Parameters_Base):
|
||||
|
||||
def to_json(self):
|
||||
return {
|
||||
'a_get_all_game': self.get_all_game
|
||||
'a_access_user_id': self.access_user_id
|
||||
, 'a_get_all_game': self.get_all_game
|
||||
, 'a_get_inactive_game': self.get_inactive_game
|
||||
, 'a_game_ids': str(self.game_ids)
|
||||
, 'a_get_all_user': self.get_all_user
|
||||
@@ -196,7 +200,8 @@ class Parameters_MTG_Game(Get_Many_Parameters_Base):
|
||||
@staticmethod
|
||||
def get_type_hints():
|
||||
return {
|
||||
'a_get_all_game': Boolean
|
||||
'a_access_user_id': Integer
|
||||
, 'a_get_all_game': Boolean
|
||||
, 'a_get_inactive_game': Boolean
|
||||
, 'a_game_ids': Text
|
||||
, 'a_get_all_user': Boolean
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: Business Objects
|
||||
Feature: MTG Game Player Business Object
|
||||
@@ -19,7 +19,7 @@ from helpers.helper_app import Helper_App
|
||||
from dataclasses import dataclass
|
||||
from typing import ClassVar
|
||||
from sqlalchemy import Uuid
|
||||
from sqlalchemy.types import Text, Boolean
|
||||
from sqlalchemy.types import Text, Boolean, Integer
|
||||
# import uuid
|
||||
|
||||
class MTG_Game_Player(SQLAlchemy_ABC, Base):
|
||||
@@ -151,6 +151,7 @@ class MTG_Game_Player_Temp(db.Model, Base):
|
||||
|
||||
|
||||
class Parameters_MTG_Game_Player(Get_Many_Parameters_Base):
|
||||
access_user_id: int
|
||||
get_all_game: bool
|
||||
get_inactive_game: bool
|
||||
game_ids: str
|
||||
@@ -160,7 +161,8 @@ class Parameters_MTG_Game_Player(Get_Many_Parameters_Base):
|
||||
@classmethod
|
||||
def get_default(cls, user_id_session):
|
||||
return cls(
|
||||
get_all_game = True
|
||||
access_user_id = user_id_session
|
||||
, get_all_game = True
|
||||
, get_inactive_game = False
|
||||
, game_ids = ''
|
||||
, require_all_id_filters_met = True
|
||||
@@ -170,7 +172,8 @@ class Parameters_MTG_Game_Player(Get_Many_Parameters_Base):
|
||||
@classmethod
|
||||
def from_json(cls, json):
|
||||
return cls(
|
||||
get_all_game = json.get('a_get_all_game', False)
|
||||
access_user_id = json.get('a_access_user_id', None)
|
||||
, get_all_game = json.get('a_get_all_game', False)
|
||||
, get_inactive_game = json.get('a_get_inactive_game', False)
|
||||
, game_ids = json.get('a_game_ids', '')
|
||||
, require_all_id_filters_met = json.get('a_require_all_id_filters_met', True)
|
||||
@@ -179,7 +182,8 @@ class Parameters_MTG_Game_Player(Get_Many_Parameters_Base):
|
||||
|
||||
def to_json(self):
|
||||
return {
|
||||
'a_get_all_game': self.get_all_game
|
||||
'a_access_user_id': self.access_user_id
|
||||
, 'a_get_all_game': self.get_all_game
|
||||
, 'a_get_inactive_game': self.get_inactive_game
|
||||
, 'a_game_ids': self.game_ids
|
||||
, 'a_require_all_id_filters_met': self.require_all_id_filters_met
|
||||
@@ -189,7 +193,8 @@ class Parameters_MTG_Game_Player(Get_Many_Parameters_Base):
|
||||
@staticmethod
|
||||
def get_type_hints():
|
||||
return {
|
||||
'a_get_all_game': Boolean
|
||||
'a_access_user_id': Integer
|
||||
, 'a_get_all_game': Boolean
|
||||
, 'a_get_inactive_game': Boolean
|
||||
, 'a_game_ids': Text
|
||||
, 'a_require_all_id_filters_met': Boolean
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: Business Objects
|
||||
Feature: MTG Game Round Business Object
|
||||
@@ -17,7 +17,7 @@ from helpers.helper_app import Helper_App
|
||||
from dataclasses import dataclass
|
||||
from typing import ClassVar
|
||||
from sqlalchemy import Uuid
|
||||
from sqlalchemy.types import Text, Boolean
|
||||
from sqlalchemy.types import Text, Boolean, Integer
|
||||
|
||||
|
||||
class MTG_Game_Round(SQLAlchemy_ABC, Base):
|
||||
@@ -130,6 +130,7 @@ class MTG_Game_Round_Temp(db.Model, Base):
|
||||
|
||||
|
||||
class Parameters_MTG_Game_Round(Get_Many_Parameters_Base):
|
||||
access_user_id: int
|
||||
get_all_game: bool
|
||||
get_inactive_game: bool
|
||||
game_ids: str
|
||||
@@ -139,7 +140,8 @@ class Parameters_MTG_Game_Round(Get_Many_Parameters_Base):
|
||||
@classmethod
|
||||
def get_default(cls, user_id_session):
|
||||
return cls(
|
||||
get_all_game = True
|
||||
access_user_id = user_id_session
|
||||
, get_all_game = True
|
||||
, get_inactive_game = False
|
||||
, game_ids = ''
|
||||
, require_all_id_filters_met = True
|
||||
@@ -149,7 +151,8 @@ class Parameters_MTG_Game_Round(Get_Many_Parameters_Base):
|
||||
@classmethod
|
||||
def from_json(cls, json):
|
||||
return cls(
|
||||
get_all_game = json.get('a_get_all_game', False)
|
||||
access_user_id = json.get('a_access_user_id', None)
|
||||
, get_all_game = json.get('a_get_all_game', False)
|
||||
, get_inactive_game = json.get('a_get_inactive_game', False)
|
||||
, game_ids = json.get('a_game_ids', '')
|
||||
, require_all_id_filters_met = json.get('a_require_all_id_filters_met', True)
|
||||
@@ -158,7 +161,8 @@ class Parameters_MTG_Game_Round(Get_Many_Parameters_Base):
|
||||
|
||||
def to_json(self):
|
||||
return {
|
||||
'a_get_all_game': self.get_all_game
|
||||
'a_access_user_id': self.access_user_id
|
||||
, 'a_get_all_game': self.get_all_game
|
||||
, 'a_get_inactive_game': self.get_inactive_game
|
||||
, 'a_game_ids': self.game_ids
|
||||
, 'a_require_all_id_filters_met': self.require_all_id_filters_met
|
||||
@@ -168,7 +172,8 @@ class Parameters_MTG_Game_Round(Get_Many_Parameters_Base):
|
||||
@staticmethod
|
||||
def get_type_hints():
|
||||
return {
|
||||
'a_get_all_game': Boolean
|
||||
'a_access_user_id': Integer
|
||||
, 'a_get_all_game': Boolean
|
||||
, 'a_get_inactive_game': Boolean
|
||||
, 'a_game_ids': Text
|
||||
, 'a_require_all_id_filters_met': Boolean
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: Business Objects
|
||||
Feature: MTG Game Round Player Damage Business Object
|
||||
@@ -17,7 +17,7 @@ from helpers.helper_app import Helper_App
|
||||
from dataclasses import dataclass
|
||||
from typing import ClassVar
|
||||
from sqlalchemy import Uuid
|
||||
from sqlalchemy.types import Text, Boolean
|
||||
from sqlalchemy.types import Text, Boolean, Integer
|
||||
|
||||
|
||||
class MTG_Game_Round_Player_Damage(SQLAlchemy_ABC, Base):
|
||||
@@ -163,6 +163,7 @@ class MTG_Game_Round_Player_Damage_Temp(db.Model, Base):
|
||||
|
||||
|
||||
class Parameters_MTG_Game_Round_Player_Damage(Get_Many_Parameters_Base):
|
||||
access_user_id: int
|
||||
get_all_game: bool
|
||||
get_inactive_game: bool
|
||||
game_ids: str
|
||||
@@ -172,7 +173,8 @@ class Parameters_MTG_Game_Round_Player_Damage(Get_Many_Parameters_Base):
|
||||
@classmethod
|
||||
def get_default(cls, user_id_session):
|
||||
return cls(
|
||||
get_all_game = True
|
||||
access_user_id = user_id_session
|
||||
, get_all_game = True
|
||||
, get_inactive_game = False
|
||||
, game_ids = ''
|
||||
, require_all_id_filters_met = True
|
||||
@@ -182,7 +184,8 @@ class Parameters_MTG_Game_Round_Player_Damage(Get_Many_Parameters_Base):
|
||||
@classmethod
|
||||
def from_json(cls, json):
|
||||
return cls(
|
||||
get_all_game = json.get('a_get_all_game', False)
|
||||
access_user_id = json.get('a_access_user_id', None)
|
||||
, get_all_game = json.get('a_get_all_game', False)
|
||||
, get_inactive_game = json.get('a_get_inactive_game', False)
|
||||
, game_ids = json.get('a_game_ids', '')
|
||||
, require_all_id_filters_met = json.get('a_require_all_id_filters_met', True)
|
||||
@@ -191,7 +194,8 @@ class Parameters_MTG_Game_Round_Player_Damage(Get_Many_Parameters_Base):
|
||||
|
||||
def to_json(self):
|
||||
return {
|
||||
'a_get_all_game': self.get_all_game
|
||||
'a_access_user_id': self.access_user_id
|
||||
, 'a_get_all_game': self.get_all_game
|
||||
, 'a_get_inactive_game': self.get_inactive_game
|
||||
, 'a_game_ids': self.game_ids
|
||||
, 'a_require_all_id_filters_met': self.require_all_id_filters_met
|
||||
@@ -201,7 +205,8 @@ class Parameters_MTG_Game_Round_Player_Damage(Get_Many_Parameters_Base):
|
||||
@staticmethod
|
||||
def get_type_hints():
|
||||
return {
|
||||
'a_get_all_game': Boolean
|
||||
'a_access_user_id': Integer
|
||||
, 'a_get_all_game': Boolean
|
||||
, 'a_get_inactive_game': Boolean
|
||||
, 'a_game_ids': Text
|
||||
, 'a_require_all_id_filters_met': Boolean
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: Business Objects
|
||||
Feature: MTG Game Session Member Business Object
|
||||
@@ -19,7 +19,7 @@ from helpers.helper_app import Helper_App
|
||||
from dataclasses import dataclass
|
||||
from typing import ClassVar
|
||||
from sqlalchemy import Uuid
|
||||
from sqlalchemy.types import Text, Boolean
|
||||
from sqlalchemy.types import Text, Boolean, Integer
|
||||
# import uuid
|
||||
|
||||
class MTG_Game_Session_Member(SQLAlchemy_ABC, Base):
|
||||
@@ -128,6 +128,7 @@ class MTG_Game_Session_Member_Temp(db.Model, Base):
|
||||
|
||||
|
||||
class Parameters_MTG_Game_Session_Member(Get_Many_Parameters_Base):
|
||||
access_user_id: int
|
||||
get_inactive_session_member: bool
|
||||
get_all_game: bool
|
||||
get_inactive_game: bool
|
||||
@@ -141,7 +142,8 @@ class Parameters_MTG_Game_Session_Member(Get_Many_Parameters_Base):
|
||||
@classmethod
|
||||
def get_default(cls, user_id_session):
|
||||
return cls(
|
||||
get_inactive_session_member = False
|
||||
access_user_id = user_id_session
|
||||
, get_inactive_session_member = False
|
||||
, get_all_game = True
|
||||
, get_inactive_game = False
|
||||
, game_ids = ''
|
||||
@@ -155,7 +157,8 @@ class Parameters_MTG_Game_Session_Member(Get_Many_Parameters_Base):
|
||||
@classmethod
|
||||
def from_json(cls, json):
|
||||
return cls(
|
||||
get_inactive_session_member = json.get('a_get_inactive_session_member', False)
|
||||
access_user_id = json.get('a_access_user_id', None)
|
||||
, get_inactive_session_member = json.get('a_get_inactive_session_member', False)
|
||||
, get_all_game = json.get('a_get_all_game', False)
|
||||
, get_inactive_game = json.get('a_get_inactive_game', False)
|
||||
, game_ids = json.get('a_game_ids', '')
|
||||
@@ -168,7 +171,8 @@ class Parameters_MTG_Game_Session_Member(Get_Many_Parameters_Base):
|
||||
|
||||
def to_json(self):
|
||||
return {
|
||||
'a_get_inactive_session_member': self.get_inactive_session_member
|
||||
'a_access_user_id': self.access_user_id
|
||||
, 'a_get_inactive_session_member': self.get_inactive_session_member
|
||||
, 'a_get_all_game': self.get_all_game
|
||||
, 'a_get_inactive_game': self.get_inactive_game
|
||||
, 'a_game_ids': self.game_ids
|
||||
@@ -182,7 +186,8 @@ class Parameters_MTG_Game_Session_Member(Get_Many_Parameters_Base):
|
||||
@staticmethod
|
||||
def get_type_hints():
|
||||
return {
|
||||
'a_get_inactive_session_member': Boolean
|
||||
'a_access_user_id': Integer
|
||||
, 'a_get_inactive_session_member': Boolean
|
||||
, 'a_get_all_game': Boolean
|
||||
, 'a_get_inactive_game': Boolean
|
||||
, 'a_game_ids': Text
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: Business Objects
|
||||
Feature: Statistic Business Object
|
||||
@@ -17,7 +17,7 @@ from helpers.helper_app import Helper_App
|
||||
from dataclasses import dataclass
|
||||
from typing import ClassVar
|
||||
from sqlalchemy import Uuid, Interval
|
||||
from sqlalchemy.types import Text, Boolean
|
||||
from sqlalchemy.types import Text, Boolean, Integer
|
||||
|
||||
|
||||
class Statistic(SQLAlchemy_ABC, Base):
|
||||
@@ -231,6 +231,7 @@ class Statistic_Temp(db.Model, Base):
|
||||
|
||||
|
||||
class Parameters_Statistic(Get_Many_Parameters_Base):
|
||||
access_user_id: int
|
||||
get_all_statistic: bool
|
||||
get_inactive_statistic: bool
|
||||
statistic_ids: str
|
||||
@@ -240,9 +241,10 @@ class Parameters_Statistic(Get_Many_Parameters_Base):
|
||||
require_any_id_filters_met: bool
|
||||
|
||||
@classmethod
|
||||
def get_default(cls):
|
||||
def get_default(cls, user_id_session):
|
||||
return cls(
|
||||
get_all_statistic = True
|
||||
access_user_id = user_id_session
|
||||
, get_all_statistic = True
|
||||
, get_inactive_statistic = False
|
||||
, statistic_ids = ''
|
||||
, entity_type_codes = ''
|
||||
@@ -254,7 +256,8 @@ class Parameters_Statistic(Get_Many_Parameters_Base):
|
||||
@classmethod
|
||||
def from_json(cls, json):
|
||||
return cls(
|
||||
get_all_statistic = json.get('a_get_all_statistic', False)
|
||||
access_user_id = json.get('a_access_user_id', None)
|
||||
, get_all_statistic = json.get('a_get_all_statistic', False)
|
||||
, get_inactive_statistic = json.get('a_get_inactive_statistic', False)
|
||||
, statistic_ids = json.get('a_statistic_ids', '')
|
||||
, entity_type_codes = json.get('a_entity_type_codes', '')
|
||||
@@ -265,7 +268,8 @@ class Parameters_Statistic(Get_Many_Parameters_Base):
|
||||
|
||||
def to_json(self):
|
||||
return {
|
||||
'a_get_all_statistic': self.get_all_statistic
|
||||
'a_access_user_id': self.access_user_id
|
||||
, 'a_get_all_statistic': self.get_all_statistic
|
||||
, 'a_get_inactive_statistic': self.get_inactive_statistic
|
||||
, 'a_statistic_ids': self.statistic_ids
|
||||
, 'a_entity_type_codes': self.entity_type_codes
|
||||
@@ -277,7 +281,8 @@ class Parameters_Statistic(Get_Many_Parameters_Base):
|
||||
@staticmethod
|
||||
def get_type_hints():
|
||||
return {
|
||||
'a_get_all_statistic': Boolean
|
||||
'a_access_user_id': Integer
|
||||
, 'a_get_all_statistic': Boolean
|
||||
, 'a_get_inactive_statistic': Boolean
|
||||
, 'a_statistic_ids': Text
|
||||
, 'a_entity_type_codes': Text
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: Business Objects
|
||||
Feature: User Business Object
|
||||
@@ -17,7 +17,7 @@ from helpers.helper_app import Helper_App
|
||||
# external
|
||||
from dataclasses import dataclass
|
||||
from typing import ClassVar, Optional
|
||||
from sqlalchemy.types import Text, Boolean
|
||||
from sqlalchemy.types import Text, Boolean, Integer
|
||||
|
||||
|
||||
class User(SQLAlchemy_ABC, Base):
|
||||
@@ -138,6 +138,7 @@ User (
|
||||
|
||||
|
||||
class Parameters_User(Get_Many_Parameters_Base):
|
||||
access_user_id: int
|
||||
# user_id: Optional[int]
|
||||
# auth0_user_id: str
|
||||
get_all_user: bool
|
||||
@@ -155,12 +156,12 @@ class Parameters_User(Get_Many_Parameters_Base):
|
||||
|
||||
|
||||
@classmethod
|
||||
def from_form_filters_user(cls, form):
|
||||
def from_form_filters_user(cls, form, user_id_session):
|
||||
_m = f'{cls.__qualname__}.from_form_filters_user'
|
||||
av.val_instance(form, 'form', _m, Filters_User)
|
||||
get_inactive = not av.input_bool(form.active_only.data, "active", _m)
|
||||
# user_id = '' if form.user_id.data is None else form.user_id.data
|
||||
filters = cls.get_default()
|
||||
filters = cls.get_default(user_id_session)
|
||||
filters.get_all_user = True # (user_id == '')
|
||||
filters.get_inactive_user = get_inactive
|
||||
filters.user_ids = '' # user_id
|
||||
@@ -170,11 +171,11 @@ class Parameters_User(Get_Many_Parameters_Base):
|
||||
# filters.require_all_non_id_filters_met = False
|
||||
# filters.require_any_non_id_filters_met = True
|
||||
return filters
|
||||
|
||||
|
||||
@classmethod
|
||||
def from_user(cls, user):
|
||||
def from_user(cls, user, user_id_session):
|
||||
av.val_instance(user, 'user', 'Parameters_User.from_user', User)
|
||||
filters = cls.get_default()
|
||||
filters = cls.get_default(user_id_session)
|
||||
filters.get_all_user = ((user.user_id is None or user.user_id == 0) and user.user_auth0_id is None)
|
||||
filters.get_inactive_user = False
|
||||
filters.user_ids = '' if user.user_id is None else str(user.user_id)
|
||||
@@ -182,13 +183,14 @@ class Parameters_User(Get_Many_Parameters_Base):
|
||||
# filters.names_user = user.get_name()
|
||||
# filters.emails_user = user.email
|
||||
return filters
|
||||
|
||||
|
||||
@classmethod
|
||||
def get_default(cls):
|
||||
def get_default(cls, user_id_session):
|
||||
return cls(
|
||||
# user_id = None
|
||||
access_user_id = user_id_session
|
||||
# , user_id = None
|
||||
# , auth0_user_id = ''
|
||||
get_all_user = False
|
||||
, get_all_user = False
|
||||
, get_inactive_user = False
|
||||
, user_ids = ''
|
||||
# , user_auth0_ids = ''
|
||||
@@ -205,9 +207,10 @@ class Parameters_User(Get_Many_Parameters_Base):
|
||||
pass
|
||||
def to_json(self):
|
||||
return {
|
||||
# 'a_user_id': self.user_id
|
||||
'a_access_user_id': self.access_user_id
|
||||
# , 'a_user_id': self.user_id
|
||||
# , 'a_auth0_user_id': self.auth0_user_id
|
||||
'a_get_all_user': self.get_all_user
|
||||
, 'a_get_all_user': self.get_all_user
|
||||
, 'a_get_inactive_user': self.get_inactive_user
|
||||
, 'a_user_ids': self.user_ids
|
||||
# , 'a_user_auth0_ids': self.user_auth0_ids
|
||||
@@ -221,7 +224,8 @@ class Parameters_User(Get_Many_Parameters_Base):
|
||||
@staticmethod
|
||||
def get_type_hints():
|
||||
return {
|
||||
'a_get_all_user': Boolean
|
||||
'a_access_user_id': Integer
|
||||
, 'a_get_all_user': Boolean
|
||||
, 'a_get_inactive_user': Boolean
|
||||
, 'a_user_ids': Text
|
||||
, 'a_require_all_id_filters_met': Boolean
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: Business Objects
|
||||
Feature: User Relationship Business Object
|
||||
@@ -17,7 +17,7 @@ from helpers.helper_app import Helper_App
|
||||
from dataclasses import dataclass
|
||||
from typing import ClassVar
|
||||
from sqlalchemy import Uuid
|
||||
from sqlalchemy.types import Text, Boolean
|
||||
from sqlalchemy.types import Text, Boolean, Integer
|
||||
# import uuid
|
||||
|
||||
class User_Relationship(SQLAlchemy_ABC, Base):
|
||||
@@ -136,6 +136,7 @@ class User_Relationship_Temp(db.Model, Base):
|
||||
|
||||
|
||||
class Parameters_User_Relationship(Get_Many_Parameters_Base):
|
||||
access_user_id: int
|
||||
get_inactive_user_relationship: bool
|
||||
get_all_user_follower: bool
|
||||
follower_user_ids: str
|
||||
@@ -148,7 +149,8 @@ class Parameters_User_Relationship(Get_Many_Parameters_Base):
|
||||
@classmethod
|
||||
def get_default(cls, user_id_session):
|
||||
return cls(
|
||||
get_inactive_user_relationship = True
|
||||
access_user_id = user_id_session
|
||||
, get_inactive_user_relationship = True
|
||||
, get_all_user_follower = False
|
||||
, follower_user_ids = ''
|
||||
, get_all_user_following = True
|
||||
@@ -161,7 +163,8 @@ class Parameters_User_Relationship(Get_Many_Parameters_Base):
|
||||
@classmethod
|
||||
def from_json(cls, json):
|
||||
return cls(
|
||||
get_inactive_user_relationship = json.get('a_get_inactive_user_relationship', False)
|
||||
access_user_id = json.get('a_access_user_id', None)
|
||||
, get_inactive_user_relationship = json.get('a_get_inactive_user_relationship', False)
|
||||
, get_all_user_follower = json.get('a_get_all_user_follower', False)
|
||||
, follower_user_ids = json.get('a_follower_user_ids', '')
|
||||
, get_all_user_following = json.get('a_get_all_user_following', False)
|
||||
@@ -173,7 +176,8 @@ class Parameters_User_Relationship(Get_Many_Parameters_Base):
|
||||
|
||||
def to_json(self):
|
||||
return {
|
||||
'a_get_inactive_user_relationship': self.get_inactive_user_relationship
|
||||
'a_access_user_id': self.access_user_id
|
||||
, 'a_get_inactive_user_relationship': self.get_inactive_user_relationship
|
||||
, 'a_get_all_user_follower': self.get_all_user_follower
|
||||
, 'a_follower_user_ids': self.follower_user_ids
|
||||
, 'a_get_all_user_following': self.get_all_user_following
|
||||
@@ -186,7 +190,8 @@ class Parameters_User_Relationship(Get_Many_Parameters_Base):
|
||||
@staticmethod
|
||||
def get_type_hints():
|
||||
return {
|
||||
'a_get_inactive_user_relationship': Boolean
|
||||
'a_access_user_id': Integer
|
||||
, 'a_get_inactive_user_relationship': Boolean
|
||||
, 'a_get_all_user_follower': Boolean
|
||||
, 'a_follower_user_ids': Text
|
||||
, 'a_get_all_user_following': Boolean
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: Backend
|
||||
Feature: Configuration
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: App Routing
|
||||
Feature: Legal Routes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: App Routing
|
||||
Feature: TCG - MTG Game Routes
|
||||
@@ -451,7 +451,7 @@ def decks():
|
||||
if not user_session.get_is_logged_in():
|
||||
return redirect(url_for('routes_mtg_game.home'))
|
||||
|
||||
parameters_deck = form_filters.to_parameters()
|
||||
parameters_deck = form_filters.to_parameters(user_id_session = user_session.user_id)
|
||||
|
||||
model = Model_View_MTG_Decks(parameters_deck = parameters_deck)
|
||||
model.form_filters = form_filters
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: App Routing
|
||||
Feature: User Routes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: Module Initialisation
|
||||
Feature: DataStores
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: DataStores
|
||||
Feature: Base DataStore
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: DataStores
|
||||
Feature: MTG DataStore
|
||||
@@ -348,7 +348,7 @@ class DataStore_MTG(DataStore_Base):
|
||||
def get_many_mtg_deck_commander_bracket(cls, parameters_commander_bracket):
|
||||
_m = f'{cls.__qualname__}.get_many_mtg_deck_commander_bracket'
|
||||
argument_dict = parameters_commander_bracket.to_json()
|
||||
argument_types = Parameters_MTG_Deck.get_type_hints()
|
||||
argument_types = Parameters_MTG_Deck_Commander_Bracket.get_type_hints()
|
||||
# Helper_App.console_log(f'{_m}\nargument_dict: {argument_dict}')
|
||||
|
||||
commander_brackets = []
|
||||
@@ -374,7 +374,7 @@ class DataStore_MTG(DataStore_Base):
|
||||
def get_many_statistic(cls, parameters_statistic):
|
||||
_m = f'{cls.__qualname__}.get_many_statistic'
|
||||
argument_dict = parameters_statistic.to_json()
|
||||
argument_types = Parameters_MTG_Deck.get_type_hints()
|
||||
argument_types = Parameters_Statistic.get_type_hints()
|
||||
# Helper_App.console_log(f'{_m}\nargument_dict: {argument_dict}')
|
||||
|
||||
statistics = []
|
||||
@@ -393,7 +393,7 @@ class DataStore_MTG(DataStore_Base):
|
||||
error.msg = str(e)
|
||||
errors.append(error)
|
||||
|
||||
return statistics,
|
||||
return statistics, errors
|
||||
|
||||
@classmethod
|
||||
def get_many_mtg_game_session_member(cls, member_filters):
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: DataStores
|
||||
Feature: User DataStore
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: Backend
|
||||
Feature: Form Base and Meta Classes - data input
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: Backend
|
||||
Feature: MTG Game Form
|
||||
@@ -87,7 +87,8 @@ class Filters_MTG_Game(Form_Base):
|
||||
|
||||
def to_parameters(self, user_id_session):
|
||||
return Parameters_MTG_Game (
|
||||
get_all_game = True
|
||||
access_user_id = user_id_session
|
||||
, get_all_game = True
|
||||
, get_inactive_game = not self.active_only.data
|
||||
, game_ids = ''
|
||||
, get_all_user = False
|
||||
@@ -95,8 +96,6 @@ class Filters_MTG_Game(Form_Base):
|
||||
, user_ids = '' if user_id_session is None else str(user_id_session)
|
||||
, require_all_id_filters_met = True
|
||||
, require_any_id_filters_met = True
|
||||
, require_all_non_id_filters_met = False
|
||||
, require_any_non_id_filters_met = True
|
||||
)
|
||||
|
||||
|
||||
@@ -126,7 +125,8 @@ class Filters_MTG_Game_Player(Form_Base):
|
||||
|
||||
def to_parameters(self, user_id_session, game_id=None):
|
||||
params = Parameters_MTG_Game_Player(
|
||||
get_all_player = True
|
||||
access_user_id = user_id_session
|
||||
, get_all_player = True
|
||||
, get_inactive_player = not self.active_only.data
|
||||
, player_ids = ''
|
||||
, game_ids = str(game_id) if game_id else ''
|
||||
@@ -170,14 +170,21 @@ class Filters_MTG_Deck(Form_Base):
|
||||
, MTG_Deck.FLAG_IS_COMMANDER: self.is_commander.data
|
||||
}
|
||||
|
||||
def to_parameters(self):
|
||||
def to_parameters(self, user_id_session):
|
||||
return Parameters_MTG_Deck(
|
||||
get_all_deck = True
|
||||
access_user_id = user_id_session
|
||||
, get_all_deck = True
|
||||
, get_inactive_deck = not self.active_only.data
|
||||
, deck_ids = ''
|
||||
, deck_names = self.search.data
|
||||
, include_commander_option = True
|
||||
, include_commander_option = self.is_commander.data
|
||||
, commander_bracket_ids = ''
|
||||
, get_all_game = False
|
||||
, get_inactive_game = not self.active_only.data
|
||||
, game_ids = ''
|
||||
, get_all_user = False
|
||||
, get_inactive_user = False
|
||||
, user_ids = str(user_id_session)
|
||||
, require_all_id_filters_met = False
|
||||
, require_any_id_filters_met = True
|
||||
, require_all_non_id_filters_met = False
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: Backend
|
||||
Feature: User Form
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: Module Initialisation
|
||||
Feature: Helpers
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: Helpers
|
||||
Feature: App Helper
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: Helpers
|
||||
Feature: MySQL Database Helper
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: Module Initialisation
|
||||
Feature: Library
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: Module Initialisation
|
||||
Feature: Models
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: Legal View Models
|
||||
Feature: Accessibility Report View Model
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: Legal View Models
|
||||
Feature: Accessibility Statement View Model
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: View Models
|
||||
Feature: Base View Model
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: Legal View Models
|
||||
Feature: License View Model
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: View Models
|
||||
Feature: MTG Parent View Model
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: View Models
|
||||
Feature: MTG Decks View Model
|
||||
@@ -45,7 +45,7 @@ class Model_View_MTG_Decks(Model_View_MTG_Base):
|
||||
|
||||
# Helper_App.console_log(f'Decks IDs: {self.decks}')
|
||||
# Get all commander brackets
|
||||
parameters_commander_bracket = Parameters_MTG_Deck_Commander_Bracket.get_default()
|
||||
parameters_commander_bracket = Parameters_MTG_Deck_Commander_Bracket.get_default(self.user.user_id)
|
||||
parameters_commander_bracket.get_all_commander_bracket = True
|
||||
parameters_commander_bracket.require_all_id_filters_met = False
|
||||
parameters_commander_bracket.require_any_id_filters_met = False
|
||||
@@ -65,7 +65,7 @@ class Model_View_MTG_Decks(Model_View_MTG_Base):
|
||||
deck_index[self.decks[index_deck].deck_id] = self.decks[index_deck]
|
||||
|
||||
# Get all statistics
|
||||
parameters_statistic = Parameters_Statistic.get_default()
|
||||
parameters_statistic = Parameters_Statistic.get_default(self.user.user_id)
|
||||
parameters_statistic.get_all_statistic = False
|
||||
parameters_statistic.entity_type_codes = Model_View_MTG_Decks.DECK_ENTITY_TYPE_CODE
|
||||
parameters_statistic.entity_record_ids = ','.join([str(d.deck_id) for d in self.decks])
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: View Models
|
||||
Feature: MTG Games View Model
|
||||
@@ -79,7 +79,7 @@ class Model_View_MTG_Game(Model_View_MTG_Base):
|
||||
self.decks, errors = datastore.get_many_mtg_deck(parameters_deck)
|
||||
|
||||
# Get all users
|
||||
parameters_user = Parameters_User.get_default()
|
||||
parameters_user = Parameters_User.get_default(self.user.user_id)
|
||||
parameters_user.get_all_user = True
|
||||
parameters_user.require_all_id_filters_met = False
|
||||
parameters_user.require_any_id_filters_met = False
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: View Models
|
||||
Feature: MTG Games View Model
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: View Models
|
||||
Feature: MTG Games View Model
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: Legal View Models
|
||||
Feature: Privacy Policy View Model
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: Legal View Models
|
||||
Feature: Retention Schedule View Model
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: View Models
|
||||
Feature: User View Model
|
||||
|
||||
4
run.py
4
run.py
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Project: PARTS Website
|
||||
Project: Magic Tracker
|
||||
Author: Edward Middleton-Smith
|
||||
Precision And Research Technology Systems Limited
|
||||
Shuffle & Skirmish
|
||||
|
||||
Technology: Backend
|
||||
Feature: Launcher
|
||||
|
||||
15
static/PostgreSQL/11202_tbl_TCG_MTG_Deck_Temp.sql
Normal file
15
static/PostgreSQL/11202_tbl_TCG_MTG_Deck_Temp.sql
Normal file
@@ -0,0 +1,15 @@
|
||||
|
||||
CREATE TABLE tcg.public.TCG_MTG_Deck_Temp (
|
||||
temp_id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY
|
||||
, deck_id INT
|
||||
, name TEXT NOT NULL
|
||||
, is_commander BOOLEAN
|
||||
, commander_bracket_id INT
|
||||
, active BOOLEAN
|
||||
, created_on TIMESTAMP
|
||||
, created_by_user_id INT
|
||||
, updated_last_on TIMESTAMP
|
||||
, updated_last_by_user_id INT
|
||||
, change_set_id INT
|
||||
, guid UUID
|
||||
);
|
||||
@@ -32,31 +32,31 @@ BEGIN
|
||||
)
|
||||
-- Changed user_auth0_id
|
||||
SELECT NEW.user_id, 'user_auth0_id', OLD.user_auth0_id, NEW.user_auth0_id, NEW.change_set_id
|
||||
WHERE OLD.user_auth0_id IS NOT DISTINCT FROM NEW.user_auth0_id
|
||||
WHERE OLD.user_auth0_id IS DISTINCT FROM NEW.user_auth0_id
|
||||
UNION
|
||||
-- Changed firstname
|
||||
SELECT NEW.user_id, 'firstname', OLD.firstname, NEW.firstname, NEW.change_set_id
|
||||
WHERE OLD.firstname IS NOT DISTINCT FROM NEW.firstname
|
||||
WHERE OLD.firstname IS DISTINCT FROM NEW.firstname
|
||||
UNION
|
||||
-- Changed surname
|
||||
SELECT NEW.user_id, 'surname', OLD.surname, NEW.surname, NEW.change_set_id
|
||||
WHERE OLD.surname IS NOT DISTINCT FROM NEW.surname
|
||||
WHERE OLD.surname IS DISTINCT FROM NEW.surname
|
||||
UNION
|
||||
-- Changed email
|
||||
SELECT NEW.user_id, 'email', OLD.email, NEW.email, NEW.change_set_id
|
||||
WHERE OLD.email IS NOT DISTINCT FROM NEW.email
|
||||
WHERE OLD.email IS DISTINCT FROM NEW.email
|
||||
UNION
|
||||
-- Changed is_email_verified
|
||||
SELECT NEW.user_id, 'is_email_verified', OLD.is_email_verified::TEXT, NEW.is_email_verified::TEXT, NEW.change_set_id
|
||||
WHERE OLD.is_email_verified IS NOT DISTINCT FROM NEW.is_email_verified
|
||||
WHERE OLD.is_email_verified IS DISTINCT FROM NEW.is_email_verified
|
||||
UNION
|
||||
-- Changed is_super_user
|
||||
SELECT NEW.user_id, 'is_super_user', OLD.is_super_user::TEXT, NEW.is_super_user::TEXT, NEW.change_set_id
|
||||
WHERE OLD.is_super_user IS NOT DISTINCT FROM NEW.is_super_user
|
||||
WHERE OLD.is_super_user IS DISTINCT FROM NEW.is_super_user
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.user_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
@@ -48,23 +48,23 @@ BEGIN
|
||||
)
|
||||
-- Changed follower_user_id
|
||||
SELECT NEW.relationship_id, 'follower_user_id', OLD.follower_user_id::TEXT, NEW.follower_user_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.follower_user_id IS NOT DISTINCT FROM NEW.follower_user_id
|
||||
WHERE OLD.follower_user_id IS DISTINCT FROM NEW.follower_user_id
|
||||
UNION
|
||||
-- Changed following_user_id
|
||||
SELECT NEW.relationship_id, 'following_user_id', OLD.following_user_id::TEXT, NEW.following_user_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.following_user_id IS NOT DISTINCT FROM NEW.following_user_id
|
||||
WHERE OLD.following_user_id IS DISTINCT FROM NEW.following_user_id
|
||||
UNION
|
||||
-- Changed is_following
|
||||
SELECT NEW.relationship_id, 'is_following', OLD.is_following::TEXT, NEW.is_following::TEXT, NEW.change_set_id
|
||||
WHERE OLD.is_following IS NOT DISTINCT FROM NEW.is_following
|
||||
WHERE OLD.is_following IS DISTINCT FROM NEW.is_following
|
||||
UNION
|
||||
-- Changed is_blocked
|
||||
SELECT NEW.relationship_id, 'is_blocked', OLD.is_blocked::TEXT, NEW.is_blocked::TEXT, NEW.change_set_id
|
||||
WHERE OLD.is_blocked IS NOT DISTINCT FROM NEW.is_blocked
|
||||
WHERE OLD.is_blocked IS DISTINCT FROM NEW.is_blocked
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.relationship_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
@@ -48,15 +48,15 @@ BEGIN
|
||||
)
|
||||
-- Changed code
|
||||
SELECT NEW.error_type_id, 'code', OLD.code, NEW.code, NEW.change_set_id
|
||||
WHERE OLD.code IS NOT DISTINCT FROM NEW.code
|
||||
WHERE OLD.code IS DISTINCT FROM NEW.code
|
||||
UNION
|
||||
-- Changed name
|
||||
SELECT NEW.error_type_id, 'name', OLD.name, NEW.name, NEW.change_set_id
|
||||
WHERE OLD.name IS NOT DISTINCT FROM NEW.name
|
||||
WHERE OLD.name IS DISTINCT FROM NEW.name
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.error_type_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
@@ -48,23 +48,23 @@ BEGIN
|
||||
)
|
||||
-- Changed guid
|
||||
SELECT NEW.error_id, 'guid', OLD.guid::TEXT, NEW.guid::TEXT, NEW.change_set_id
|
||||
WHERE OLD.guid IS NOT DISTINCT FROM NEW.guid
|
||||
WHERE OLD.guid IS DISTINCT FROM NEW.guid
|
||||
UNION
|
||||
-- Changed error_type_id
|
||||
SELECT NEW.error_id, 'error_type_id', OLD.error_type_id::TEXT, NEW.error_type_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.error_type_id IS NOT DISTINCT FROM NEW.error_type_id
|
||||
WHERE OLD.error_type_id IS DISTINCT FROM NEW.error_type_id
|
||||
UNION
|
||||
-- Changed message
|
||||
SELECT NEW.error_id, 'message', OLD.message, NEW.message, NEW.change_set_id
|
||||
WHERE OLD.message IS NOT DISTINCT FROM NEW.message
|
||||
WHERE OLD.message IS DISTINCT FROM NEW.message
|
||||
UNION
|
||||
-- Changed display_order
|
||||
SELECT NEW.error_id, 'display_order', OLD.display_order::TEXT, NEW.display_order::TEXT, NEW.change_set_id
|
||||
WHERE OLD.display_order IS NOT DISTINCT FROM NEW.display_order
|
||||
WHERE OLD.display_order IS DISTINCT FROM NEW.display_order
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.error_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
@@ -48,35 +48,35 @@ BEGIN
|
||||
)
|
||||
-- Changed name
|
||||
SELECT NEW.condition_id, 'name', OLD.name, NEW.name, NEW.change_set_id
|
||||
WHERE OLD.name IS NOT DISTINCT FROM NEW.name
|
||||
WHERE OLD.name IS DISTINCT FROM NEW.name
|
||||
UNION
|
||||
-- Changed code
|
||||
SELECT NEW.condition_id, 'code', OLD.code, NEW.code, NEW.change_set_id
|
||||
WHERE OLD.code IS NOT DISTINCT FROM NEW.code
|
||||
WHERE OLD.code IS DISTINCT FROM NEW.code
|
||||
UNION
|
||||
-- Changed description
|
||||
SELECT NEW.condition_id, 'description', OLD.description, NEW.description, NEW.change_set_id
|
||||
WHERE OLD.description IS NOT DISTINCT FROM NEW.description
|
||||
WHERE OLD.description IS DISTINCT FROM NEW.description
|
||||
UNION
|
||||
-- Changed summary
|
||||
SELECT NEW.condition_id, 'summary', OLD.summary, NEW.summary, NEW.change_set_id
|
||||
WHERE OLD.summary IS NOT DISTINCT FROM NEW.summary
|
||||
WHERE OLD.summary IS DISTINCT FROM NEW.summary
|
||||
UNION
|
||||
-- Changed us_name
|
||||
SELECT NEW.condition_id, 'us_name', OLD.us_name, NEW.us_name, NEW.change_set_id
|
||||
WHERE OLD.us_name IS NOT DISTINCT FROM NEW.us_name
|
||||
WHERE OLD.us_name IS DISTINCT FROM NEW.us_name
|
||||
UNION
|
||||
-- Changed price_ratio_min
|
||||
SELECT NEW.condition_id, 'price_ratio_min', OLD.price_ratio_min::TEXT, NEW.price_ratio_min::TEXT, NEW.change_set_id
|
||||
WHERE OLD.price_ratio_min IS NOT DISTINCT FROM NEW.price_ratio_min
|
||||
WHERE OLD.price_ratio_min IS DISTINCT FROM NEW.price_ratio_min
|
||||
UNION
|
||||
-- Changed price_ratio_max
|
||||
SELECT NEW.condition_id, 'price_ratio_max', OLD.price_ratio_max::TEXT, NEW.price_ratio_max::TEXT, NEW.change_set_id
|
||||
WHERE OLD.price_ratio_max IS NOT DISTINCT FROM NEW.price_ratio_max
|
||||
WHERE OLD.price_ratio_max IS DISTINCT FROM NEW.price_ratio_max
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.condition_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
@@ -48,23 +48,23 @@ BEGIN
|
||||
)
|
||||
-- Changed name
|
||||
SELECT NEW.finish_id, 'name', OLD.name, NEW.name, NEW.change_set_id
|
||||
WHERE OLD.name IS NOT DISTINCT FROM NEW.name
|
||||
WHERE OLD.name IS DISTINCT FROM NEW.name
|
||||
UNION
|
||||
-- Changed description
|
||||
SELECT NEW.finish_id, 'description', OLD.description, NEW.description, NEW.change_set_id
|
||||
WHERE OLD.description IS NOT DISTINCT FROM NEW.description
|
||||
WHERE OLD.description IS DISTINCT FROM NEW.description
|
||||
UNION
|
||||
-- Changed price_ratio_min
|
||||
SELECT NEW.finish_id, 'price_ratio_min', OLD.price_ratio_min::TEXT, NEW.price_ratio_min::TEXT, NEW.change_set_id
|
||||
WHERE OLD.price_ratio_min IS NOT DISTINCT FROM NEW.price_ratio_min
|
||||
WHERE OLD.price_ratio_min IS DISTINCT FROM NEW.price_ratio_min
|
||||
UNION
|
||||
-- Changed price_ratio_max
|
||||
SELECT NEW.finish_id, 'price_ratio_max', OLD.price_ratio_max::TEXT, NEW.price_ratio_max::TEXT, NEW.change_set_id
|
||||
WHERE OLD.price_ratio_max IS NOT DISTINCT FROM NEW.price_ratio_max
|
||||
WHERE OLD.price_ratio_max IS DISTINCT FROM NEW.price_ratio_max
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.finish_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
@@ -48,451 +48,451 @@ BEGIN
|
||||
)
|
||||
-- Changed all_parts
|
||||
SELECT NEW.card_id, 'all_parts', OLD.all_parts, NEW.all_parts, NEW.change_set_id
|
||||
WHERE OLD.all_parts IS NOT DISTINCT FROM NEW.all_parts
|
||||
WHERE OLD.all_parts IS DISTINCT FROM NEW.all_parts
|
||||
UNION
|
||||
-- Changed arena_id
|
||||
SELECT NEW.card_id, 'arena_id', OLD.arena_id::TEXT, NEW.arena_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.arena_id IS NOT DISTINCT FROM NEW.arena_id
|
||||
WHERE OLD.arena_id IS DISTINCT FROM NEW.arena_id
|
||||
UNION
|
||||
-- Changed artist
|
||||
SELECT NEW.card_id, 'artist', OLD.artist, NEW.artist, NEW.change_set_id
|
||||
WHERE OLD.artist IS NOT DISTINCT FROM NEW.artist
|
||||
WHERE OLD.artist IS DISTINCT FROM NEW.artist
|
||||
UNION
|
||||
-- Changed artist_ids
|
||||
SELECT NEW.card_id, 'artist_ids', OLD.artist_ids, NEW.artist_ids, NEW.change_set_id
|
||||
WHERE OLD.artist_ids IS NOT DISTINCT FROM NEW.artist_ids
|
||||
WHERE OLD.artist_ids IS DISTINCT FROM NEW.artist_ids
|
||||
UNION
|
||||
-- Changed booster
|
||||
SELECT NEW.card_id, 'booster', OLD.booster::TEXT, NEW.booster::TEXT, NEW.change_set_id
|
||||
WHERE OLD.booster IS NOT DISTINCT FROM NEW.booster
|
||||
WHERE OLD.booster IS DISTINCT FROM NEW.booster
|
||||
UNION
|
||||
-- Changed border_color
|
||||
SELECT NEW.card_id, 'border_color', OLD.border_color, NEW.border_color, NEW.change_set_id
|
||||
WHERE OLD.border_color IS NOT DISTINCT FROM NEW.border_color
|
||||
WHERE OLD.border_color IS DISTINCT FROM NEW.border_color
|
||||
UNION
|
||||
-- Changed card_back_id
|
||||
SELECT NEW.card_id, 'card_back_id', OLD.card_back_id, NEW.card_back_id, NEW.change_set_id
|
||||
WHERE OLD.card_back_id IS NOT DISTINCT FROM NEW.card_back_id
|
||||
WHERE OLD.card_back_id IS DISTINCT FROM NEW.card_back_id
|
||||
UNION
|
||||
-- Changed cmc
|
||||
SELECT NEW.card_id, 'cmc', OLD.cmc::TEXT, NEW.cmc::TEXT, NEW.change_set_id
|
||||
WHERE OLD.cmc IS NOT DISTINCT FROM NEW.cmc
|
||||
WHERE OLD.cmc IS DISTINCT FROM NEW.cmc
|
||||
UNION
|
||||
-- Changed collector_number
|
||||
SELECT NEW.card_id, 'collector_number', OLD.collector_number, NEW.collector_number, NEW.change_set_id
|
||||
WHERE OLD.collector_number IS NOT DISTINCT FROM NEW.collector_number
|
||||
WHERE OLD.collector_number IS DISTINCT FROM NEW.collector_number
|
||||
UNION
|
||||
-- Changed color_identity
|
||||
SELECT NEW.card_id, 'color_identity', OLD.color_identity, NEW.color_identity, NEW.change_set_id
|
||||
WHERE OLD.color_identity IS NOT DISTINCT FROM NEW.color_identity
|
||||
WHERE OLD.color_identity IS DISTINCT FROM NEW.color_identity
|
||||
UNION
|
||||
-- Changed colors
|
||||
SELECT NEW.card_id, 'colors', OLD.colors, NEW.colors, NEW.change_set_id
|
||||
WHERE OLD.colors IS NOT DISTINCT FROM NEW.colors
|
||||
WHERE OLD.colors IS DISTINCT FROM NEW.colors
|
||||
UNION
|
||||
-- Changed content_warning
|
||||
SELECT NEW.card_id, 'content_warning', OLD.content_warning::TEXT, NEW.content_warning::TEXT, NEW.change_set_id
|
||||
WHERE OLD.content_warning IS NOT DISTINCT FROM NEW.content_warning
|
||||
WHERE OLD.content_warning IS DISTINCT FROM NEW.content_warning
|
||||
UNION
|
||||
-- Changed digital
|
||||
SELECT NEW.card_id, 'digital', OLD.digital::TEXT, NEW.digital::TEXT, NEW.change_set_id
|
||||
WHERE OLD.digital IS NOT DISTINCT FROM NEW.digital
|
||||
WHERE OLD.digital IS DISTINCT FROM NEW.digital
|
||||
UNION
|
||||
-- Changed edhrec_rank
|
||||
SELECT NEW.card_id, 'edhrec_rank', OLD.edhrec_rank::TEXT, NEW.edhrec_rank::TEXT, NEW.change_set_id
|
||||
WHERE OLD.edhrec_rank IS NOT DISTINCT FROM NEW.edhrec_rank
|
||||
WHERE OLD.edhrec_rank IS DISTINCT FROM NEW.edhrec_rank
|
||||
UNION
|
||||
-- Changed finishes
|
||||
SELECT NEW.card_id, 'finishes', OLD.finishes, NEW.finishes, NEW.change_set_id
|
||||
WHERE OLD.finishes IS NOT DISTINCT FROM NEW.finishes
|
||||
WHERE OLD.finishes IS DISTINCT FROM NEW.finishes
|
||||
UNION
|
||||
-- Changed flavor_name
|
||||
SELECT NEW.card_id, 'flavor_name', OLD.flavor_name, NEW.flavor_name, NEW.change_set_id
|
||||
WHERE OLD.flavor_name IS NOT DISTINCT FROM NEW.flavor_name
|
||||
WHERE OLD.flavor_name IS DISTINCT FROM NEW.flavor_name
|
||||
UNION
|
||||
-- Changed flavor_text
|
||||
SELECT NEW.card_id, 'flavor_text', OLD.flavor_text, NEW.flavor_text, NEW.change_set_id
|
||||
WHERE OLD.flavor_text IS NOT DISTINCT FROM NEW.flavor_text
|
||||
WHERE OLD.flavor_text IS DISTINCT FROM NEW.flavor_text
|
||||
UNION
|
||||
-- Changed foil
|
||||
SELECT NEW.card_id, 'foil', OLD.foil::TEXT, NEW.foil::TEXT, NEW.change_set_id
|
||||
WHERE OLD.foil IS NOT DISTINCT FROM NEW.foil
|
||||
WHERE OLD.foil IS DISTINCT FROM NEW.foil
|
||||
UNION
|
||||
-- Changed frame
|
||||
SELECT NEW.card_id, 'frame', OLD.frame, NEW.frame, NEW.change_set_id
|
||||
WHERE OLD.frame IS NOT DISTINCT FROM NEW.frame
|
||||
WHERE OLD.frame IS DISTINCT FROM NEW.frame
|
||||
UNION
|
||||
-- Changed full_art
|
||||
SELECT NEW.card_id, 'full_art', OLD.full_art::TEXT, NEW.full_art::TEXT, NEW.change_set_id
|
||||
WHERE OLD.full_art IS NOT DISTINCT FROM NEW.full_art
|
||||
WHERE OLD.full_art IS DISTINCT FROM NEW.full_art
|
||||
UNION
|
||||
-- Changed game_changer
|
||||
SELECT NEW.card_id, 'game_changer', OLD.game_changer::TEXT, NEW.game_changer::TEXT, NEW.change_set_id
|
||||
WHERE OLD.game_changer IS NOT DISTINCT FROM NEW.game_changer
|
||||
WHERE OLD.game_changer IS DISTINCT FROM NEW.game_changer
|
||||
UNION
|
||||
-- Changed games
|
||||
SELECT NEW.card_id, 'games', OLD.games, NEW.games, NEW.change_set_id
|
||||
WHERE OLD.games IS NOT DISTINCT FROM NEW.games
|
||||
WHERE OLD.games IS DISTINCT FROM NEW.games
|
||||
UNION
|
||||
-- Changed hand_modifier
|
||||
SELECT NEW.card_id, 'hand_modifier', OLD.hand_modifier, NEW.hand_modifier, NEW.change_set_id
|
||||
WHERE OLD.hand_modifier IS NOT DISTINCT FROM NEW.hand_modifier
|
||||
WHERE OLD.hand_modifier IS DISTINCT FROM NEW.hand_modifier
|
||||
UNION
|
||||
-- Changed highres_image
|
||||
SELECT NEW.card_id, 'highres_image', OLD.highres_image::TEXT, NEW.highres_image::TEXT, NEW.change_set_id
|
||||
WHERE OLD.highres_image IS NOT DISTINCT FROM NEW.highres_image
|
||||
WHERE OLD.highres_image IS DISTINCT FROM NEW.highres_image
|
||||
UNION
|
||||
-- Changed id
|
||||
SELECT NEW.card_id, 'id', OLD.id::TEXT, NEW.id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.id IS NOT DISTINCT FROM NEW.id
|
||||
WHERE OLD.id IS DISTINCT FROM NEW.id
|
||||
UNION
|
||||
-- Changed image_status
|
||||
SELECT NEW.card_id, 'image_status', OLD.image_status, NEW.image_status, NEW.change_set_id
|
||||
WHERE OLD.image_status IS NOT DISTINCT FROM NEW.image_status
|
||||
WHERE OLD.image_status IS DISTINCT FROM NEW.image_status
|
||||
UNION
|
||||
-- Changed image_uri_art_crop
|
||||
SELECT NEW.card_id, 'image_uri_art_crop', OLD.image_uri_art_crop, NEW.image_uri_art_crop, NEW.change_set_id
|
||||
WHERE OLD.image_uri_art_crop IS NOT DISTINCT FROM NEW.image_uri_art_crop
|
||||
WHERE OLD.image_uri_art_crop IS DISTINCT FROM NEW.image_uri_art_crop
|
||||
UNION
|
||||
-- Changed image_uri_border_crop
|
||||
SELECT NEW.card_id, 'image_uri_border_crop', OLD.image_uri_border_crop, NEW.image_uri_border_crop, NEW.change_set_id
|
||||
WHERE OLD.image_uri_border_crop IS NOT DISTINCT FROM NEW.image_uri_border_crop
|
||||
WHERE OLD.image_uri_border_crop IS DISTINCT FROM NEW.image_uri_border_crop
|
||||
UNION
|
||||
-- Changed image_uri_large
|
||||
SELECT NEW.card_id, 'image_uri_large', OLD.image_uri_large, NEW.image_uri_large, NEW.change_set_id
|
||||
WHERE OLD.image_uri_large IS NOT DISTINCT FROM NEW.image_uri_large
|
||||
WHERE OLD.image_uri_large IS DISTINCT FROM NEW.image_uri_large
|
||||
UNION
|
||||
-- Changed image_uri_normal
|
||||
SELECT NEW.card_id, 'image_uri_normal', OLD.image_uri_normal, NEW.image_uri_normal, NEW.change_set_id
|
||||
WHERE OLD.image_uri_normal IS NOT DISTINCT FROM NEW.image_uri_normal
|
||||
WHERE OLD.image_uri_normal IS DISTINCT FROM NEW.image_uri_normal
|
||||
UNION
|
||||
-- Changed image_uri_png
|
||||
SELECT NEW.card_id, 'image_uri_png', OLD.image_uri_png, NEW.image_uri_png, NEW.change_set_id
|
||||
WHERE OLD.image_uri_png IS NOT DISTINCT FROM NEW.image_uri_png
|
||||
WHERE OLD.image_uri_png IS DISTINCT FROM NEW.image_uri_png
|
||||
UNION
|
||||
-- Changed image_uri_small
|
||||
SELECT NEW.card_id, 'image_uri_small', OLD.image_uri_small, NEW.image_uri_small, NEW.change_set_id
|
||||
WHERE OLD.image_uri_small IS NOT DISTINCT FROM NEW.image_uri_small
|
||||
WHERE OLD.image_uri_small IS DISTINCT FROM NEW.image_uri_small
|
||||
UNION
|
||||
-- Changed keywords
|
||||
SELECT NEW.card_id, 'keywords', OLD.keywords, NEW.keywords, NEW.change_set_id
|
||||
WHERE OLD.keywords IS NOT DISTINCT FROM NEW.keywords
|
||||
WHERE OLD.keywords IS DISTINCT FROM NEW.keywords
|
||||
UNION
|
||||
-- Changed lang
|
||||
SELECT NEW.card_id, 'lang', OLD.lang, NEW.lang, NEW.change_set_id
|
||||
WHERE OLD.lang IS NOT DISTINCT FROM NEW.lang
|
||||
WHERE OLD.lang IS DISTINCT FROM NEW.lang
|
||||
UNION
|
||||
-- Changed layout
|
||||
SELECT NEW.card_id, 'layout', OLD.layout, NEW.layout, NEW.change_set_id
|
||||
WHERE OLD.layout IS NOT DISTINCT FROM NEW.layout
|
||||
WHERE OLD.layout IS DISTINCT FROM NEW.layout
|
||||
UNION
|
||||
-- Changed legal_alchemy
|
||||
SELECT NEW.card_id, 'legal_alchemy', OLD.legal_alchemy::TEXT, NEW.legal_alchemy::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_alchemy IS NOT DISTINCT FROM NEW.legal_alchemy
|
||||
WHERE OLD.legal_alchemy IS DISTINCT FROM NEW.legal_alchemy
|
||||
UNION
|
||||
-- Changed legal_brawl
|
||||
SELECT NEW.card_id, 'legal_brawl', OLD.legal_brawl::TEXT, NEW.legal_brawl::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_brawl IS NOT DISTINCT FROM NEW.legal_brawl
|
||||
WHERE OLD.legal_brawl IS DISTINCT FROM NEW.legal_brawl
|
||||
UNION
|
||||
-- Changed legal_commander
|
||||
SELECT NEW.card_id, 'legal_commander', OLD.legal_commander::TEXT, NEW.legal_commander::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_commander IS NOT DISTINCT FROM NEW.legal_commander
|
||||
WHERE OLD.legal_commander IS DISTINCT FROM NEW.legal_commander
|
||||
UNION
|
||||
-- Changed legal_duel
|
||||
SELECT NEW.card_id, 'legal_duel', OLD.legal_duel::TEXT, NEW.legal_duel::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_duel IS NOT DISTINCT FROM NEW.legal_duel
|
||||
WHERE OLD.legal_duel IS DISTINCT FROM NEW.legal_duel
|
||||
UNION
|
||||
-- Changed legal_future
|
||||
SELECT NEW.card_id, 'legal_future', OLD.legal_future::TEXT, NEW.legal_future::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_future IS NOT DISTINCT FROM NEW.legal_future
|
||||
WHERE OLD.legal_future IS DISTINCT FROM NEW.legal_future
|
||||
UNION
|
||||
-- Changed legal_gladiator
|
||||
SELECT NEW.card_id, 'legal_gladiator', OLD.legal_gladiator::TEXT, NEW.legal_gladiator::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_gladiator IS NOT DISTINCT FROM NEW.legal_gladiator
|
||||
WHERE OLD.legal_gladiator IS DISTINCT FROM NEW.legal_gladiator
|
||||
UNION
|
||||
-- Changed legal_historic
|
||||
SELECT NEW.card_id, 'legal_historic', OLD.legal_historic::TEXT, NEW.legal_historic::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_historic IS NOT DISTINCT FROM NEW.legal_historic
|
||||
WHERE OLD.legal_historic IS DISTINCT FROM NEW.legal_historic
|
||||
UNION
|
||||
-- Changed legal_legacy
|
||||
SELECT NEW.card_id, 'legal_legacy', OLD.legal_legacy::TEXT, NEW.legal_legacy::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_legacy IS NOT DISTINCT FROM NEW.legal_legacy
|
||||
WHERE OLD.legal_legacy IS DISTINCT FROM NEW.legal_legacy
|
||||
UNION
|
||||
-- Changed legal_modern
|
||||
SELECT NEW.card_id, 'legal_modern', OLD.legal_modern::TEXT, NEW.legal_modern::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_modern IS NOT DISTINCT FROM NEW.legal_modern
|
||||
WHERE OLD.legal_modern IS DISTINCT FROM NEW.legal_modern
|
||||
UNION
|
||||
-- Changed legal_oathbreaker
|
||||
SELECT NEW.card_id, 'legal_oathbreaker', OLD.legal_oathbreaker::TEXT, NEW.legal_oathbreaker::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_oathbreaker IS NOT DISTINCT FROM NEW.legal_oathbreaker
|
||||
WHERE OLD.legal_oathbreaker IS DISTINCT FROM NEW.legal_oathbreaker
|
||||
UNION
|
||||
-- Changed legal_oldschool
|
||||
SELECT NEW.card_id, 'legal_oldschool', OLD.legal_oldschool::TEXT, NEW.legal_oldschool::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_oldschool IS NOT DISTINCT FROM NEW.legal_oldschool
|
||||
WHERE OLD.legal_oldschool IS DISTINCT FROM NEW.legal_oldschool
|
||||
UNION
|
||||
-- Changed legal_pauper
|
||||
SELECT NEW.card_id, 'legal_pauper', OLD.legal_pauper::TEXT, NEW.legal_pauper::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_pauper IS NOT DISTINCT FROM NEW.legal_pauper
|
||||
WHERE OLD.legal_pauper IS DISTINCT FROM NEW.legal_pauper
|
||||
UNION
|
||||
-- Changed legal_paupercommander
|
||||
SELECT NEW.card_id, 'legal_paupercommander', OLD.legal_paupercommander::TEXT, NEW.legal_paupercommander::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_paupercommander IS NOT DISTINCT FROM NEW.legal_paupercommander
|
||||
WHERE OLD.legal_paupercommander IS DISTINCT FROM NEW.legal_paupercommander
|
||||
UNION
|
||||
-- Changed legal_penny
|
||||
SELECT NEW.card_id, 'legal_penny', OLD.legal_penny::TEXT, NEW.legal_penny::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_penny IS NOT DISTINCT FROM NEW.legal_penny
|
||||
WHERE OLD.legal_penny IS DISTINCT FROM NEW.legal_penny
|
||||
UNION
|
||||
-- Changed legal_pioneer
|
||||
SELECT NEW.card_id, 'legal_pioneer', OLD.legal_pioneer::TEXT, NEW.legal_pioneer::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_pioneer IS NOT DISTINCT FROM NEW.legal_pioneer
|
||||
WHERE OLD.legal_pioneer IS DISTINCT FROM NEW.legal_pioneer
|
||||
UNION
|
||||
-- Changed legal_predh
|
||||
SELECT NEW.card_id, 'legal_predh', OLD.legal_predh::TEXT, NEW.legal_predh::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_predh IS NOT DISTINCT FROM NEW.legal_predh
|
||||
WHERE OLD.legal_predh IS DISTINCT FROM NEW.legal_predh
|
||||
UNION
|
||||
-- Changed legal_premodern
|
||||
SELECT NEW.card_id, 'legal_premodern', OLD.legal_premodern::TEXT, NEW.legal_premodern::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_premodern IS NOT DISTINCT FROM NEW.legal_premodern
|
||||
WHERE OLD.legal_premodern IS DISTINCT FROM NEW.legal_premodern
|
||||
UNION
|
||||
-- Changed legal_standard
|
||||
SELECT NEW.card_id, 'legal_standard', OLD.legal_standard::TEXT, NEW.legal_standard::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_standard IS NOT DISTINCT FROM NEW.legal_standard
|
||||
WHERE OLD.legal_standard IS DISTINCT FROM NEW.legal_standard
|
||||
UNION
|
||||
-- Changed legal_standardbrawl
|
||||
SELECT NEW.card_id, 'legal_standardbrawl', OLD.legal_standardbrawl::TEXT, NEW.legal_standardbrawl::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_standardbrawl IS NOT DISTINCT FROM NEW.legal_standardbrawl
|
||||
WHERE OLD.legal_standardbrawl IS DISTINCT FROM NEW.legal_standardbrawl
|
||||
UNION
|
||||
-- Changed legal_timeless
|
||||
SELECT NEW.card_id, 'legal_timeless', OLD.legal_timeless::TEXT, NEW.legal_timeless::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_timeless IS NOT DISTINCT FROM NEW.legal_timeless
|
||||
WHERE OLD.legal_timeless IS DISTINCT FROM NEW.legal_timeless
|
||||
UNION
|
||||
-- Changed legal_vintage
|
||||
SELECT NEW.card_id, 'legal_vintage', OLD.legal_vintage::TEXT, NEW.legal_vintage::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_vintage IS NOT DISTINCT FROM NEW.legal_vintage
|
||||
WHERE OLD.legal_vintage IS DISTINCT FROM NEW.legal_vintage
|
||||
UNION
|
||||
-- Changed life_modifier
|
||||
SELECT NEW.card_id, 'life_modifier', OLD.life_modifier, NEW.life_modifier, NEW.change_set_id
|
||||
WHERE OLD.life_modifier IS NOT DISTINCT FROM NEW.life_modifier
|
||||
WHERE OLD.life_modifier IS DISTINCT FROM NEW.life_modifier
|
||||
UNION
|
||||
-- Changed loyalty
|
||||
SELECT NEW.card_id, 'loyalty', OLD.loyalty, NEW.loyalty, NEW.change_set_id
|
||||
WHERE OLD.loyalty IS NOT DISTINCT FROM NEW.loyalty
|
||||
WHERE OLD.loyalty IS DISTINCT FROM NEW.loyalty
|
||||
UNION
|
||||
-- Changed mana_cost
|
||||
SELECT NEW.card_id, 'mana_cost', OLD.mana_cost, NEW.mana_cost, NEW.change_set_id
|
||||
WHERE OLD.mana_cost IS NOT DISTINCT FROM NEW.mana_cost
|
||||
WHERE OLD.mana_cost IS DISTINCT FROM NEW.mana_cost
|
||||
UNION
|
||||
-- Changed mtgo_id
|
||||
SELECT NEW.card_id, 'mtgo_id', OLD.mtgo_id::TEXT, NEW.mtgo_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.mtgo_id IS NOT DISTINCT FROM NEW.mtgo_id
|
||||
WHERE OLD.mtgo_id IS DISTINCT FROM NEW.mtgo_id
|
||||
UNION
|
||||
-- Changed multiverse_ids
|
||||
SELECT NEW.card_id, 'multiverse_ids', OLD.multiverse_ids, NEW.multiverse_ids, NEW.change_set_id
|
||||
WHERE OLD.multiverse_ids IS NOT DISTINCT FROM NEW.multiverse_ids
|
||||
WHERE OLD.multiverse_ids IS DISTINCT FROM NEW.multiverse_ids
|
||||
UNION
|
||||
-- Changed name
|
||||
SELECT NEW.card_id, 'name', OLD.name, NEW.name, NEW.change_set_id
|
||||
WHERE OLD.name IS NOT DISTINCT FROM NEW.name
|
||||
WHERE OLD.name IS DISTINCT FROM NEW.name
|
||||
UNION
|
||||
-- Changed nonfoil
|
||||
SELECT NEW.card_id, 'nonfoil', OLD.nonfoil::TEXT, NEW.nonfoil::TEXT, NEW.change_set_id
|
||||
WHERE OLD.nonfoil IS NOT DISTINCT FROM NEW.nonfoil
|
||||
WHERE OLD.nonfoil IS DISTINCT FROM NEW.nonfoil
|
||||
UNION
|
||||
-- Changed oracle_id
|
||||
SELECT NEW.card_id, 'oracle_id', OLD.oracle_id::TEXT, NEW.oracle_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.oracle_id IS NOT DISTINCT FROM NEW.oracle_id
|
||||
WHERE OLD.oracle_id IS DISTINCT FROM NEW.oracle_id
|
||||
UNION
|
||||
-- Changed oracle_text
|
||||
SELECT NEW.card_id, 'oracle_text', OLD.oracle_text, NEW.oracle_text, NEW.change_set_id
|
||||
WHERE OLD.oracle_text IS NOT DISTINCT FROM NEW.oracle_text
|
||||
WHERE OLD.oracle_text IS DISTINCT FROM NEW.oracle_text
|
||||
UNION
|
||||
-- Changed oversized
|
||||
SELECT NEW.card_id, 'oversized', OLD.oversized::TEXT, NEW.oversized::TEXT, NEW.change_set_id
|
||||
WHERE OLD.oversized IS NOT DISTINCT FROM NEW.oversized
|
||||
WHERE OLD.oversized IS DISTINCT FROM NEW.oversized
|
||||
UNION
|
||||
-- Changed penny_rank
|
||||
SELECT NEW.card_id, 'penny_rank', OLD.penny_rank::TEXT, NEW.penny_rank::TEXT, NEW.change_set_id
|
||||
WHERE OLD.penny_rank IS NOT DISTINCT FROM NEW.penny_rank
|
||||
WHERE OLD.penny_rank IS DISTINCT FROM NEW.penny_rank
|
||||
UNION
|
||||
-- Changed power
|
||||
SELECT NEW.card_id, 'power', OLD.power, NEW.power, NEW.change_set_id
|
||||
WHERE OLD.power IS NOT DISTINCT FROM NEW.power
|
||||
WHERE OLD.power IS DISTINCT FROM NEW.power
|
||||
UNION
|
||||
-- Changed preview_date
|
||||
SELECT NEW.card_id, 'preview_date', TO_CHAR(OLD.preview_date, 'YYYY-MM-DD'), TO_CHAR(NEW.preview_date, 'YYYY-MM-DD'), NEW.change_set_id
|
||||
WHERE OLD.preview_date IS NOT DISTINCT FROM NEW.preview_date
|
||||
WHERE OLD.preview_date IS DISTINCT FROM NEW.preview_date
|
||||
UNION
|
||||
-- Changed preview_source
|
||||
SELECT NEW.card_id, 'preview_source', OLD.preview_source, NEW.preview_source, NEW.change_set_id
|
||||
WHERE OLD.preview_source IS NOT DISTINCT FROM NEW.preview_source
|
||||
WHERE OLD.preview_source IS DISTINCT FROM NEW.preview_source
|
||||
UNION
|
||||
-- Changed preview_source_uri
|
||||
SELECT NEW.card_id, 'preview_source_uri', OLD.preview_source_uri, NEW.preview_source_uri, NEW.change_set_id
|
||||
WHERE OLD.preview_source_uri IS NOT DISTINCT FROM NEW.preview_source_uri
|
||||
WHERE OLD.preview_source_uri IS DISTINCT FROM NEW.preview_source_uri
|
||||
UNION
|
||||
-- Changed price_eur
|
||||
SELECT NEW.card_id, 'price_eur', OLD.price_eur::TEXT, NEW.price_eur::TEXT, NEW.change_set_id
|
||||
WHERE OLD.price_eur IS NOT DISTINCT FROM NEW.price_eur
|
||||
WHERE OLD.price_eur IS DISTINCT FROM NEW.price_eur
|
||||
UNION
|
||||
-- Changed price_eur_foil
|
||||
SELECT NEW.card_id, 'price_eur_foil', OLD.price_eur_foil::TEXT, NEW.price_eur_foil::TEXT, NEW.change_set_id
|
||||
WHERE OLD.price_eur_foil IS NOT DISTINCT FROM NEW.price_eur_foil
|
||||
WHERE OLD.price_eur_foil IS DISTINCT FROM NEW.price_eur_foil
|
||||
UNION
|
||||
-- Changed price_tix
|
||||
SELECT NEW.card_id, 'price_tix', OLD.price_tix::TEXT, NEW.price_tix::TEXT, NEW.change_set_id
|
||||
WHERE OLD.price_tix IS NOT DISTINCT FROM NEW.price_tix
|
||||
WHERE OLD.price_tix IS DISTINCT FROM NEW.price_tix
|
||||
UNION
|
||||
-- Changed price_usd
|
||||
SELECT NEW.card_id, 'price_usd', OLD.price_usd::TEXT, NEW.price_usd::TEXT, NEW.change_set_id
|
||||
WHERE OLD.price_usd IS NOT DISTINCT FROM NEW.price_usd
|
||||
WHERE OLD.price_usd IS DISTINCT FROM NEW.price_usd
|
||||
UNION
|
||||
-- Changed price_usd_etched
|
||||
SELECT NEW.card_id, 'price_usd_etched', OLD.price_usd_etched::TEXT, NEW.price_usd_etched::TEXT, NEW.change_set_id
|
||||
WHERE OLD.price_usd_etched IS NOT DISTINCT FROM NEW.price_usd_etched
|
||||
WHERE OLD.price_usd_etched IS DISTINCT FROM NEW.price_usd_etched
|
||||
UNION
|
||||
-- Changed price_usd_foil
|
||||
SELECT NEW.card_id, 'price_usd_foil', OLD.price_usd_foil::TEXT, NEW.price_usd_foil::TEXT, NEW.change_set_id
|
||||
WHERE OLD.price_usd_foil IS NOT DISTINCT FROM NEW.price_usd_foil
|
||||
WHERE OLD.price_usd_foil IS DISTINCT FROM NEW.price_usd_foil
|
||||
UNION
|
||||
-- Changed printed_name
|
||||
SELECT NEW.card_id, 'printed_name', OLD.printed_name, NEW.printed_name, NEW.change_set_id
|
||||
WHERE OLD.printed_name IS NOT DISTINCT FROM NEW.printed_name
|
||||
WHERE OLD.printed_name IS DISTINCT FROM NEW.printed_name
|
||||
UNION
|
||||
-- Changed printed_text
|
||||
SELECT NEW.card_id, 'printed_text', OLD.printed_text, NEW.printed_text, NEW.change_set_id
|
||||
WHERE OLD.printed_text IS NOT DISTINCT FROM NEW.printed_text
|
||||
WHERE OLD.printed_text IS DISTINCT FROM NEW.printed_text
|
||||
UNION
|
||||
-- Changed printed_type_line
|
||||
SELECT NEW.card_id, 'printed_type_line', OLD.printed_type_line, NEW.printed_type_line, NEW.change_set_id
|
||||
WHERE OLD.printed_type_line IS NOT DISTINCT FROM NEW.printed_type_line
|
||||
WHERE OLD.printed_type_line IS DISTINCT FROM NEW.printed_type_line
|
||||
UNION
|
||||
-- Changed prints_search_uri
|
||||
SELECT NEW.card_id, 'printed_search_uri', OLD.printed_search_uri, NEW.printed_search_uri, NEW.change_set_id
|
||||
WHERE OLD.printed_search_uri IS NOT DISTINCT FROM NEW.printed_search_uri
|
||||
WHERE OLD.printed_search_uri IS DISTINCT FROM NEW.printed_search_uri
|
||||
UNION
|
||||
-- Changed produced_mana
|
||||
SELECT NEW.card_id, 'produced_mana', OLD.produced_mana, NEW.produced_mana, NEW.change_set_id
|
||||
WHERE OLD.produced_mana IS NOT DISTINCT FROM NEW.produced_mana
|
||||
WHERE OLD.produced_mana IS DISTINCT FROM NEW.produced_mana
|
||||
UNION
|
||||
-- Changed promo
|
||||
SELECT NEW.card_id, 'promo', OLD.promo::TEXT, NEW.promo::TEXT, NEW.change_set_id
|
||||
WHERE OLD.promo IS NOT DISTINCT FROM NEW.promo
|
||||
WHERE OLD.promo IS DISTINCT FROM NEW.promo
|
||||
UNION
|
||||
-- Changed purchase_cardhoarder
|
||||
SELECT NEW.card_id, 'purchase_cardhoarder', OLD.purchase_cardhoarder, NEW.purchase_cardhoarder, NEW.change_set_id
|
||||
WHERE OLD.purchase_cardhoarder IS NOT DISTINCT FROM NEW.purchase_cardhoarder
|
||||
WHERE OLD.purchase_cardhoarder IS DISTINCT FROM NEW.purchase_cardhoarder
|
||||
UNION
|
||||
-- Changed purchase_cardmarket
|
||||
SELECT NEW.card_id, 'purchase_cardmarket', OLD.purchase_cardmarket, NEW.purchase_cardmarket, NEW.change_set_id
|
||||
WHERE OLD.purchase_cardmarket IS NOT DISTINCT FROM NEW.purchase_cardmarket
|
||||
WHERE OLD.purchase_cardmarket IS DISTINCT FROM NEW.purchase_cardmarket
|
||||
UNION
|
||||
-- Changed purchase_tcgplayer
|
||||
SELECT NEW.card_id, 'purchase_tcgplayer', OLD.purchase_tcgplayer, NEW.purchase_tcgplayer, NEW.change_set_id
|
||||
WHERE OLD.purchase_tcgplayer IS NOT DISTINCT FROM NEW.purchase_tcgplayer
|
||||
WHERE OLD.purchase_tcgplayer IS DISTINCT FROM NEW.purchase_tcgplayer
|
||||
UNION
|
||||
-- Changed rarity
|
||||
SELECT NEW.card_id, 'rarity', OLD.rarity, NEW.rarity, NEW.change_set_id
|
||||
WHERE OLD.rarity IS NOT DISTINCT FROM NEW.rarity
|
||||
WHERE OLD.rarity IS DISTINCT FROM NEW.rarity
|
||||
UNION
|
||||
-- Changed released_at
|
||||
SELECT NEW.card_id, 'released_at', TO_CHAR(OLD.released_at, 'YYYY-MM-DD'), TO_CHAR(NEW.released_at, 'YYYY-MM-DD'), NEW.change_set_id
|
||||
WHERE OLD.released_at IS NOT DISTINCT FROM NEW.released_at
|
||||
WHERE OLD.released_at IS DISTINCT FROM NEW.released_at
|
||||
UNION
|
||||
-- Changed reprint
|
||||
SELECT NEW.card_id, 'reprint', OLD.reprint::TEXT, NEW.reprint::TEXT, NEW.change_set_id
|
||||
WHERE OLD.reprint IS NOT DISTINCT FROM NEW.reprint
|
||||
WHERE OLD.reprint IS DISTINCT FROM NEW.reprint
|
||||
UNION
|
||||
-- Changed reserved
|
||||
SELECT NEW.card_id, 'reserved', OLD.reserved::TEXT, NEW.reserved::TEXT, NEW.change_set_id
|
||||
WHERE OLD.reserved IS NOT DISTINCT FROM NEW.reserved
|
||||
WHERE OLD.reserved IS DISTINCT FROM NEW.reserved
|
||||
UNION
|
||||
-- Changed rulings_uri
|
||||
SELECT NEW.card_id, 'rulings_uri', OLD.rulings_uri, NEW.rulings_uri, NEW.change_set_id
|
||||
WHERE OLD.rulings_uri IS NOT DISTINCT FROM NEW.rulings_uri
|
||||
WHERE OLD.rulings_uri IS DISTINCT FROM NEW.rulings_uri
|
||||
UNION
|
||||
-- Changed scryfall_set_uri
|
||||
SELECT NEW.card_id, 'scryfall_set_uri', OLD.scryfall_set_uri, NEW.scryfall_set_uri, NEW.change_set_id
|
||||
WHERE OLD.scryfall_set_uri IS NOT DISTINCT FROM NEW.scryfall_set_uri
|
||||
WHERE OLD.scryfall_set_uri IS DISTINCT FROM NEW.scryfall_set_uri
|
||||
UNION
|
||||
-- Changed scryfall_uri
|
||||
SELECT NEW.card_id, 'scryfall_uri', OLD.scryfall_uri, NEW.scryfall_uri, NEW.change_set_id
|
||||
WHERE OLD.scryfall_uri IS NOT DISTINCT FROM NEW.scryfall_uri
|
||||
WHERE OLD.scryfall_uri IS DISTINCT FROM NEW.scryfall_uri
|
||||
UNION
|
||||
-- Changed security_stamp
|
||||
SELECT NEW.card_id, 'security_stamp', OLD.security_stamp, NEW.security_stamp, NEW.change_set_id
|
||||
WHERE OLD.security_stamp IS NOT DISTINCT FROM NEW.security_stamp
|
||||
WHERE OLD.security_stamp IS DISTINCT FROM NEW.security_stamp
|
||||
UNION
|
||||
-- Changed set
|
||||
SELECT NEW.card_id, 'set', OLD.set, NEW.set, NEW.change_set_id
|
||||
WHERE OLD.set IS NOT DISTINCT FROM NEW.set
|
||||
WHERE OLD.set IS DISTINCT FROM NEW.set
|
||||
UNION
|
||||
-- Changed set_id
|
||||
SELECT NEW.card_id, 'set_id', OLD.set_id::TEXT, NEW.set_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.set_id IS NOT DISTINCT FROM NEW.set_id
|
||||
WHERE OLD.set_id IS DISTINCT FROM NEW.set_id
|
||||
UNION
|
||||
-- Changed set_name
|
||||
SELECT NEW.card_id, 'set_name', OLD.set_name, NEW.set_name, NEW.change_set_id
|
||||
WHERE OLD.set_name IS NOT DISTINCT FROM NEW.set_name
|
||||
WHERE OLD.set_name IS DISTINCT FROM NEW.set_name
|
||||
UNION
|
||||
-- Changed set_search_uri
|
||||
SELECT NEW.card_id, 'set_search_uri', OLD.set_search_uri, NEW.set_search_uri, NEW.change_set_id
|
||||
WHERE OLD.set_search_uri IS NOT DISTINCT FROM NEW.set_search_uri
|
||||
WHERE OLD.set_search_uri IS DISTINCT FROM NEW.set_search_uri
|
||||
UNION
|
||||
-- Changed set_type
|
||||
SELECT NEW.card_id, 'set_type', OLD.set_type, NEW.set_type, NEW.change_set_id
|
||||
WHERE OLD.set_type IS NOT DISTINCT FROM NEW.set_type
|
||||
WHERE OLD.set_type IS DISTINCT FROM NEW.set_type
|
||||
UNION
|
||||
-- Changed set_uri
|
||||
SELECT NEW.card_id, 'set_uri', OLD.set_uri, NEW.set_uri, NEW.change_set_id
|
||||
WHERE OLD.set_uri IS NOT DISTINCT FROM NEW.set_uri
|
||||
WHERE OLD.set_uri IS DISTINCT FROM NEW.set_uri
|
||||
UNION
|
||||
-- Changed story_spotlight
|
||||
SELECT NEW.card_id, 'story_spotlight', OLD.story_spotlight::TEXT, NEW.story_spotlight::TEXT, NEW.change_set_id
|
||||
WHERE OLD.story_spotlight IS NOT DISTINCT FROM NEW.story_spotlight
|
||||
WHERE OLD.story_spotlight IS DISTINCT FROM NEW.story_spotlight
|
||||
UNION
|
||||
-- Changed tcgplayer_id
|
||||
SELECT NEW.card_id, 'tcgplayer_id', OLD.tcgplayer_id::TEXT, NEW.tcgplayer_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.tcgplayer_id IS NOT DISTINCT FROM NEW.tcgplayer_id
|
||||
WHERE OLD.tcgplayer_id IS DISTINCT FROM NEW.tcgplayer_id
|
||||
UNION
|
||||
-- Changed textless
|
||||
SELECT NEW.card_id, 'textless', OLD.textless::TEXT, NEW.textless::TEXT, NEW.change_set_id
|
||||
WHERE OLD.textless IS NOT DISTINCT FROM NEW.textless
|
||||
WHERE OLD.textless IS DISTINCT FROM NEW.textless
|
||||
UNION
|
||||
-- Changed toughness
|
||||
SELECT NEW.card_id, 'toughness', OLD.toughness, NEW.toughness, NEW.change_set_id
|
||||
WHERE OLD.toughness IS NOT DISTINCT FROM NEW.toughness
|
||||
WHERE OLD.toughness IS DISTINCT FROM NEW.toughness
|
||||
UNION
|
||||
-- Changed type_line
|
||||
SELECT NEW.card_id, 'type_line', OLD.type_line, NEW.type_line, NEW.change_set_id
|
||||
WHERE OLD.type_line IS NOT DISTINCT FROM NEW.type_line
|
||||
WHERE OLD.type_line IS DISTINCT FROM NEW.type_line
|
||||
UNION
|
||||
-- Changed uri
|
||||
SELECT NEW.card_id, 'uri', OLD.uri, NEW.uri, NEW.change_set_id
|
||||
WHERE OLD.uri IS NOT DISTINCT FROM NEW.uri
|
||||
WHERE OLD.uri IS DISTINCT FROM NEW.uri
|
||||
UNION
|
||||
-- Changed uri_edhrec
|
||||
SELECT NEW.card_id, 'uri_edhrec', OLD.uri_edhrec, NEW.uri_edhrec, NEW.change_set_id
|
||||
WHERE OLD.uri_edhrec IS NOT DISTINCT FROM NEW.uri_edhrec
|
||||
WHERE OLD.uri_edhrec IS DISTINCT FROM NEW.uri_edhrec
|
||||
UNION
|
||||
-- Changed uri_gatherer
|
||||
SELECT NEW.card_id, 'uri_gatherer', OLD.uri_gatherer, NEW.uri_gatherer, NEW.change_set_id
|
||||
WHERE OLD.uri_gatherer IS NOT DISTINCT FROM NEW.uri_gatherer
|
||||
WHERE OLD.uri_gatherer IS DISTINCT FROM NEW.uri_gatherer
|
||||
UNION
|
||||
-- Changed uri_tcgplayer_infinite_articles
|
||||
SELECT NEW.card_id, 'uri_tcgplayer_infinite_articles', OLD.uri_tcgplayer_infinite_articles, NEW.uri_tcgplayer_infinite_articles, NEW.change_set_id
|
||||
WHERE OLD.uri_tcgplayer_infinite_articles IS NOT DISTINCT FROM NEW.uri_tcgplayer_infinite_articles
|
||||
WHERE OLD.uri_tcgplayer_infinite_articles IS DISTINCT FROM NEW.uri_tcgplayer_infinite_articles
|
||||
UNION
|
||||
-- Changed uri_tcgplayer_infinite_decks
|
||||
SELECT NEW.card_id, 'uri_tcgplayer_infinite_decks', OLD.uri_tcgplayer_infinite_decks, NEW.uri_tcgplayer_infinite_decks, NEW.change_set_id
|
||||
WHERE OLD.uri_tcgplayer_infinite_decks IS NOT DISTINCT FROM NEW.uri_tcgplayer_infinite_decks
|
||||
WHERE OLD.uri_tcgplayer_infinite_decks IS DISTINCT FROM NEW.uri_tcgplayer_infinite_decks
|
||||
UNION
|
||||
-- Changed variation
|
||||
SELECT NEW.card_id, 'variation', OLD.variation::TEXT, NEW.variation::TEXT, NEW.change_set_id
|
||||
WHERE OLD.variation IS NOT DISTINCT FROM NEW.variation
|
||||
WHERE OLD.variation IS DISTINCT FROM NEW.variation
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.card_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
@@ -48,135 +48,135 @@ BEGIN
|
||||
)
|
||||
-- Changed card_id
|
||||
SELECT NEW.inventory_id, 'card_id', OLD.card_id::TEXT, NEW.card_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.card_id IS NOT DISTINCT FROM NEW.card_id
|
||||
WHERE OLD.card_id IS DISTINCT FROM NEW.card_id
|
||||
UNION
|
||||
-- Changed finish_id
|
||||
SELECT NEW.inventory_id, 'finish_id', OLD.finish_id::TEXT, NEW.finish_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.finish_id IS NOT DISTINCT FROM NEW.finish_id
|
||||
WHERE OLD.finish_id IS DISTINCT FROM NEW.finish_id
|
||||
UNION
|
||||
-- Changed condition_id
|
||||
SELECT NEW.inventory_id, 'condition_id', OLD.condition_id::TEXT, NEW.condition_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.condition_id IS NOT DISTINCT FROM NEW.condition_id
|
||||
WHERE OLD.condition_id IS DISTINCT FROM NEW.condition_id
|
||||
UNION
|
||||
-- Changed sleeve_colour_name
|
||||
SELECT NEW.inventory_id, 'sleeve_colour_name', OLD.sleeve_colour_name, NEW.sleeve_colour_name, NEW.change_set_id
|
||||
WHERE OLD.sleeve_colour_name IS NOT DISTINCT FROM NEW.sleeve_colour_name
|
||||
WHERE OLD.sleeve_colour_name IS DISTINCT FROM NEW.sleeve_colour_name
|
||||
UNION
|
||||
-- Changed location_name
|
||||
SELECT NEW.inventory_id, 'location_name', OLD.location_name, NEW.location_name, NEW.change_set_id
|
||||
WHERE OLD.location_name IS NOT DISTINCT FROM NEW.location_name
|
||||
WHERE OLD.location_name IS DISTINCT FROM NEW.location_name
|
||||
UNION
|
||||
-- Changed acquired_from
|
||||
SELECT NEW.inventory_id, 'acquired_from', OLD.acquired_from, NEW.acquired_from, NEW.change_set_id
|
||||
WHERE OLD.acquired_from IS NOT DISTINCT FROM NEW.acquired_from
|
||||
WHERE OLD.acquired_from IS DISTINCT FROM NEW.acquired_from
|
||||
UNION
|
||||
-- Changed acquired_on
|
||||
SELECT NEW.inventory_id, 'acquired_on', TO_CHAR(OLD.acquired_on, 'YYYY-MM-DD'), TO_CHAR(NEW.acquired_on, 'YYYY-MM-DD'), NEW.change_set_id
|
||||
WHERE OLD.acquired_on IS NOT DISTINCT FROM NEW.acquired_on
|
||||
WHERE OLD.acquired_on IS DISTINCT FROM NEW.acquired_on
|
||||
UNION
|
||||
-- Changed cost_gbp
|
||||
SELECT NEW.inventory_id, 'cost_gbp', OLD.cost_gbp::TEXT, NEW.cost_gbp::TEXT, NEW.change_set_id
|
||||
WHERE OLD.cost_gbp IS NOT DISTINCT FROM NEW.cost_gbp
|
||||
WHERE OLD.cost_gbp IS DISTINCT FROM NEW.cost_gbp
|
||||
UNION
|
||||
-- Changed sale_price_gbp
|
||||
SELECT NEW.inventory_id, 'sale_price_gbp', OLD.sale_price_gbp::TEXT, NEW.sale_price_gbp::TEXT, NEW.change_set_id
|
||||
WHERE OLD.sale_price_gbp IS NOT DISTINCT FROM NEW.sale_price_gbp
|
||||
WHERE OLD.sale_price_gbp IS DISTINCT FROM NEW.sale_price_gbp
|
||||
UNION
|
||||
-- Changed is_sold
|
||||
SELECT NEW.inventory_id, 'is_sold', OLD.is_sold::TEXT, NEW.is_sold::TEXT, NEW.change_set_id
|
||||
WHERE OLD.is_sold IS NOT DISTINCT FROM NEW.is_sold
|
||||
WHERE OLD.is_sold IS DISTINCT FROM NEW.is_sold
|
||||
UNION
|
||||
-- Changed is_destroyed
|
||||
SELECT NEW.inventory_id, 'is_destroyed', OLD.is_destroyed::TEXT, NEW.is_destroyed::TEXT, NEW.change_set_id
|
||||
WHERE OLD.is_destroyed IS NOT DISTINCT FROM NEW.is_destroyed
|
||||
WHERE OLD.is_destroyed IS DISTINCT FROM NEW.is_destroyed
|
||||
UNION
|
||||
-- Changed notes
|
||||
SELECT NEW.inventory_id, 'notes', OLD.notes, NEW.notes, NEW.change_set_id
|
||||
WHERE OLD.notes IS NOT DISTINCT FROM NEW.notes
|
||||
WHERE OLD.notes IS DISTINCT FROM NEW.notes
|
||||
UNION
|
||||
-- Changed alterations_customisations
|
||||
SELECT NEW.inventory_id, 'alterations_customisations', OLD.alterations_customisations, NEW.alterations_customisations, NEW.change_set_id
|
||||
WHERE OLD.alterations_customisations IS NOT DISTINCT FROM NEW.alterations_customisations
|
||||
WHERE OLD.alterations_customisations IS DISTINCT FROM NEW.alterations_customisations
|
||||
UNION
|
||||
-- Changed grading_company_name
|
||||
SELECT NEW.inventory_id, 'grading_company_name', OLD.grading_company_name, NEW.grading_company_name, NEW.change_set_id
|
||||
WHERE OLD.grading_company_name IS NOT DISTINCT FROM NEW.grading_company_name
|
||||
WHERE OLD.grading_company_name IS DISTINCT FROM NEW.grading_company_name
|
||||
UNION
|
||||
-- Changed grading_score
|
||||
SELECT NEW.inventory_id, 'grading_score', OLD.grading_score, NEW.grading_score, NEW.change_set_id
|
||||
WHERE OLD.grading_score IS NOT DISTINCT FROM NEW.grading_score
|
||||
WHERE OLD.grading_score IS DISTINCT FROM NEW.grading_score
|
||||
UNION
|
||||
-- Changed subgrades
|
||||
SELECT NEW.inventory_id, 'subgrades', OLD.subgrades, NEW.subgrades, NEW.change_set_id
|
||||
WHERE OLD.subgrades IS NOT DISTINCT FROM NEW.subgrades
|
||||
WHERE OLD.subgrades IS DISTINCT FROM NEW.subgrades
|
||||
UNION
|
||||
-- Changed misprint_errors
|
||||
SELECT NEW.inventory_id, 'misprint_errors', OLD.misprint_errors, NEW.misprint_errors, NEW.change_set_id
|
||||
WHERE OLD.misprint_errors IS NOT DISTINCT FROM NEW.misprint_errors
|
||||
WHERE OLD.misprint_errors IS DISTINCT FROM NEW.misprint_errors
|
||||
UNION
|
||||
-- Changed miscut_errors
|
||||
SELECT NEW.inventory_id, 'miscut_errors', OLD.miscut_errors, NEW.miscut_errors, NEW.change_set_id
|
||||
WHERE OLD.miscut_errors IS NOT DISTINCT FROM NEW.miscut_errors
|
||||
WHERE OLD.miscut_errors IS DISTINCT FROM NEW.miscut_errors
|
||||
UNION
|
||||
-- Changed playability
|
||||
SELECT NEW.inventory_id, 'playability', OLD.playability, NEW.playability, NEW.change_set_id
|
||||
WHERE OLD.playability IS NOT DISTINCT FROM NEW.playability
|
||||
WHERE OLD.playability IS DISTINCT FROM NEW.playability
|
||||
UNION
|
||||
-- Changed owner_user_id
|
||||
SELECT NEW.inventory_id, 'owner_user_id', OLD.owner_user_id::TEXT, NEW.owner_user_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.owner_user_id IS NOT DISTINCT FROM NEW.owner_user_id
|
||||
WHERE OLD.owner_user_id IS DISTINCT FROM NEW.owner_user_id
|
||||
UNION
|
||||
-- Changed ownership_status_name
|
||||
SELECT NEW.inventory_id, 'ownership_status_name', OLD.ownership_status_name, NEW.ownership_status_name, NEW.change_set_id
|
||||
WHERE OLD.ownership_status_name IS NOT DISTINCT FROM NEW.ownership_status_name
|
||||
WHERE OLD.ownership_status_name IS DISTINCT FROM NEW.ownership_status_name
|
||||
UNION
|
||||
-- Changed trading_status_name
|
||||
SELECT NEW.inventory_id, 'trading_status_name', OLD.trading_status_name, NEW.trading_status_name, NEW.change_set_id
|
||||
WHERE OLD.trading_status_name IS NOT DISTINCT FROM NEW.trading_status_name
|
||||
WHERE OLD.trading_status_name IS DISTINCT FROM NEW.trading_status_name
|
||||
UNION
|
||||
-- Changed loaned_to_user_id
|
||||
SELECT NEW.inventory_id, 'loaned_to_user_id', OLD.loaned_to_user_id::TEXT, NEW.loaned_to_user_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.loaned_to_user_id IS NOT DISTINCT FROM NEW.loaned_to_user_id
|
||||
WHERE OLD.loaned_to_user_id IS DISTINCT FROM NEW.loaned_to_user_id
|
||||
UNION
|
||||
-- Changed acquired_on
|
||||
SELECT NEW.inventory_id, 'acquired_on', TO_CHAR(OLD.acquired_on, 'YYYY-MM-DD'), TO_CHAR(NEW.acquired_on, 'YYYY-MM-DD'), NEW.change_set_id
|
||||
WHERE OLD.acquired_on IS NOT DISTINCT FROM NEW.acquired_on
|
||||
WHERE OLD.acquired_on IS DISTINCT FROM NEW.acquired_on
|
||||
UNION
|
||||
-- Changed acquired_on
|
||||
SELECT NEW.inventory_id, 'acquired_on', TO_CHAR(OLD.acquired_on, 'YYYY-MM-DD'), TO_CHAR(NEW.acquired_on, 'YYYY-MM-DD'), NEW.change_set_id
|
||||
WHERE OLD.acquired_on IS NOT DISTINCT FROM NEW.acquired_on
|
||||
WHERE OLD.acquired_on IS DISTINCT FROM NEW.acquired_on
|
||||
UNION
|
||||
-- Changed provenance
|
||||
SELECT NEW.inventory_id, 'provenance', OLD.provenance, NEW.provenance, NEW.change_set_id
|
||||
WHERE OLD.provenance IS NOT DISTINCT FROM NEW.provenance
|
||||
WHERE OLD.provenance IS DISTINCT FROM NEW.provenance
|
||||
UNION
|
||||
-- Changed signed_by_names
|
||||
SELECT NEW.inventory_id, 'signed_by_names', OLD.signed_by_names, NEW.signed_by_names, NEW.change_set_id
|
||||
WHERE OLD.signed_by_names IS NOT DISTINCT FROM NEW.signed_by_names
|
||||
WHERE OLD.signed_by_names IS DISTINCT FROM NEW.signed_by_names
|
||||
UNION
|
||||
-- Changed signature_condition_name
|
||||
SELECT NEW.inventory_id, 'signature_condition_name', OLD.signature_condition_name, NEW.signature_condition_name, NEW.change_set_id
|
||||
WHERE OLD.signature_condition_name IS NOT DISTINCT FROM NEW.signature_condition_name
|
||||
WHERE OLD.signature_condition_name IS DISTINCT FROM NEW.signature_condition_name
|
||||
UNION
|
||||
-- Changed token_rear_side_card_id
|
||||
SELECT NEW.inventory_id, 'token_rear_side_card_id', OLD.token_rear_side_card_id::TEXT, NEW.token_rear_side_card_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.token_rear_side_card_id IS NOT DISTINCT FROM NEW.token_rear_side_card_id
|
||||
WHERE OLD.token_rear_side_card_id IS DISTINCT FROM NEW.token_rear_side_card_id
|
||||
UNION
|
||||
-- Changed front_name
|
||||
SELECT NEW.inventory_id, 'front_name', OLD.front_name, NEW.front_name, NEW.change_set_id
|
||||
WHERE OLD.front_name IS NOT DISTINCT FROM NEW.front_name
|
||||
WHERE OLD.front_name IS DISTINCT FROM NEW.front_name
|
||||
UNION
|
||||
-- Changed rear_name
|
||||
SELECT NEW.inventory_id, 'rear_name', OLD.rear_name, NEW.rear_name, NEW.change_set_id
|
||||
WHERE OLD.rear_name IS NOT DISTINCT FROM NEW.rear_name
|
||||
WHERE OLD.rear_name IS DISTINCT FROM NEW.rear_name
|
||||
UNION
|
||||
-- Changed display_order
|
||||
SELECT NEW.inventory_id, 'display_order', OLD.display_order::TEXT, NEW.display_order::TEXT, NEW.change_set_id
|
||||
WHERE OLD.display_order IS NOT DISTINCT FROM NEW.display_order
|
||||
WHERE OLD.display_order IS DISTINCT FROM NEW.display_order
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.inventory_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
@@ -48,19 +48,19 @@ BEGIN
|
||||
)
|
||||
-- Changed name
|
||||
SELECT NEW.commander_bracket_id, 'name', OLD.name::TEXT, NEW.name::TEXT, NEW.change_set_id
|
||||
WHERE OLD.name IS NOT DISTINCT FROM NEW.name
|
||||
WHERE OLD.name IS DISTINCT FROM NEW.name
|
||||
UNION
|
||||
-- Changed description
|
||||
SELECT NEW.commander_bracket_id, 'description', OLD.description::TEXT, NEW.description::TEXT, NEW.change_set_id
|
||||
WHERE OLD.description IS NOT DISTINCT FROM NEW.description
|
||||
WHERE OLD.description IS DISTINCT FROM NEW.description
|
||||
UNION
|
||||
-- Changed display_order
|
||||
SELECT NEW.commander_bracket_id, 'display_order', OLD.display_order::TEXT, NEW.display_order::TEXT, NEW.change_set_id
|
||||
WHERE OLD.display_order IS NOT DISTINCT FROM NEW.display_order
|
||||
WHERE OLD.display_order IS DISTINCT FROM NEW.display_order
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.commander_bracket_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
@@ -48,19 +48,19 @@ BEGIN
|
||||
)
|
||||
-- Changed name
|
||||
SELECT NEW.deck_id, 'name', OLD.name::TEXT, NEW.name::TEXT, NEW.change_set_id
|
||||
WHERE OLD.name IS NOT DISTINCT FROM NEW.name
|
||||
WHERE OLD.name IS DISTINCT FROM NEW.name
|
||||
UNION
|
||||
-- Changed is_commander
|
||||
SELECT NEW.deck_id, 'is_commander', OLD.is_commander::TEXT, NEW.is_commander::TEXT, NEW.change_set_id
|
||||
WHERE OLD.is_commander IS NOT DISTINCT FROM NEW.is_commander
|
||||
WHERE OLD.is_commander IS DISTINCT FROM NEW.is_commander
|
||||
UNION
|
||||
-- Changed commander_bracket_id
|
||||
SELECT NEW.deck_id, 'commander_bracket_id', OLD.commander_bracket_id::TEXT, NEW.commander_bracket_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.commander_bracket_id IS NOT DISTINCT FROM NEW.commander_bracket_id
|
||||
WHERE OLD.commander_bracket_id IS DISTINCT FROM NEW.commander_bracket_id
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.deck_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
@@ -48,19 +48,19 @@ BEGIN
|
||||
)
|
||||
-- Changed deck_id
|
||||
SELECT NEW.link_id, 'deck_id', OLD.deck_id::TEXT, NEW.deck_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.deck_id IS NOT DISTINCT FROM NEW.deck_id
|
||||
WHERE OLD.deck_id IS DISTINCT FROM NEW.deck_id
|
||||
UNION
|
||||
-- Changed inventory_id
|
||||
SELECT NEW.link_id, 'inventory_id', OLD.inventory_id::TEXT, NEW.inventory_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.inventory_id IS NOT DISTINCT FROM NEW.inventory_id
|
||||
WHERE OLD.inventory_id IS DISTINCT FROM NEW.inventory_id
|
||||
UNION
|
||||
-- Changed display_order
|
||||
SELECT NEW.link_id, 'display_order', OLD.display_order::TEXT, NEW.display_order::TEXT, NEW.change_set_id
|
||||
WHERE OLD.display_order IS NOT DISTINCT FROM NEW.display_order
|
||||
WHERE OLD.display_order IS DISTINCT FROM NEW.display_order
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.link_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
@@ -48,39 +48,39 @@ BEGIN
|
||||
)
|
||||
-- Changed notes
|
||||
SELECT NEW.game_id, 'notes', OLD.notes::TEXT, NEW.notes::TEXT, NEW.change_set_id
|
||||
WHERE OLD.notes IS NOT DISTINCT FROM NEW.notes
|
||||
WHERE OLD.notes IS DISTINCT FROM NEW.notes
|
||||
UNION
|
||||
-- Changed is_commander
|
||||
SELECT NEW.game_id, 'is_commander', OLD.is_commander::TEXT, NEW.is_commander::TEXT, NEW.change_set_id
|
||||
WHERE OLD.is_commander IS NOT DISTINCT FROM NEW.is_commander
|
||||
WHERE OLD.is_commander IS DISTINCT FROM NEW.is_commander
|
||||
UNION
|
||||
-- Changed is_draft
|
||||
SELECT NEW.game_id, 'is_draft', OLD.is_draft::TEXT, NEW.is_draft::TEXT, NEW.change_set_id
|
||||
WHERE OLD.is_draft IS NOT DISTINCT FROM NEW.is_draft
|
||||
WHERE OLD.is_draft IS DISTINCT FROM NEW.is_draft
|
||||
UNION
|
||||
-- Changed is_sealed
|
||||
SELECT NEW.game_id, 'is_sealed', OLD.is_sealed::TEXT, NEW.is_sealed::TEXT, NEW.change_set_id
|
||||
WHERE OLD.is_sealed IS NOT DISTINCT FROM NEW.is_sealed
|
||||
WHERE OLD.is_sealed IS DISTINCT FROM NEW.is_sealed
|
||||
UNION
|
||||
-- Changed location_name
|
||||
SELECT NEW.game_id, 'location_name', OLD.location_name, NEW.location_name, NEW.change_set_id
|
||||
WHERE OLD.location_name IS NOT DISTINCT FROM NEW.location_name
|
||||
WHERE OLD.location_name IS DISTINCT FROM NEW.location_name
|
||||
UNION
|
||||
-- Changed start_on
|
||||
SELECT NEW.game_id, 'start_on', OLD.start_on::TEXT, NEW.start_on::TEXT, NEW.change_set_id
|
||||
WHERE OLD.start_on IS NOT DISTINCT FROM NEW.start_on
|
||||
WHERE OLD.start_on IS DISTINCT FROM NEW.start_on
|
||||
UNION
|
||||
-- Changed end_on
|
||||
SELECT NEW.game_id, 'end_on', OLD.end_on::TEXT, NEW.end_on::TEXT, NEW.change_set_id
|
||||
WHERE OLD.end_on IS NOT DISTINCT FROM NEW.end_on
|
||||
WHERE OLD.end_on IS DISTINCT FROM NEW.end_on
|
||||
UNION
|
||||
-- Changed starting_life
|
||||
SELECT NEW.game_id, 'starting_life', OLD.starting_life::TEXT, NEW.starting_life::TEXT, NEW.change_set_id
|
||||
WHERE OLD.starting_life IS NOT DISTINCT FROM NEW.starting_life
|
||||
WHERE OLD.starting_life IS DISTINCT FROM NEW.starting_life
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.game_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
@@ -48,31 +48,31 @@ BEGIN
|
||||
)
|
||||
-- Changed game_id
|
||||
SELECT NEW.player_id, 'game_id', OLD.game_id::TEXT, NEW.game_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.game_id IS NOT DISTINCT FROM NEW.game_id
|
||||
WHERE OLD.game_id IS DISTINCT FROM NEW.game_id
|
||||
UNION
|
||||
-- Changed user_id
|
||||
SELECT NEW.player_id, 'user_id', OLD.user_id::TEXT, NEW.user_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.user_id IS NOT DISTINCT FROM NEW.user_id
|
||||
WHERE OLD.user_id IS DISTINCT FROM NEW.user_id
|
||||
UNION
|
||||
-- Changed deck_id
|
||||
SELECT NEW.player_id, 'deck_id', OLD.deck_id::TEXT, NEW.deck_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.deck_id IS NOT DISTINCT FROM NEW.deck_id
|
||||
WHERE OLD.deck_id IS DISTINCT FROM NEW.deck_id
|
||||
UNION
|
||||
-- Changed name
|
||||
SELECT NEW.player_id, 'name', OLD.name, NEW.name, NEW.change_set_id
|
||||
WHERE OLD.name IS NOT DISTINCT FROM NEW.name
|
||||
WHERE OLD.name IS DISTINCT FROM NEW.name
|
||||
UNION
|
||||
-- Changed notes
|
||||
SELECT NEW.player_id, 'notes', OLD.notes, NEW.notes, NEW.change_set_id
|
||||
WHERE OLD.notes IS NOT DISTINCT FROM NEW.notes
|
||||
WHERE OLD.notes IS DISTINCT FROM NEW.notes
|
||||
UNION
|
||||
-- Changed display_order
|
||||
SELECT NEW.player_id, 'display_order', OLD.display_order::TEXT, NEW.display_order::TEXT, NEW.change_set_id
|
||||
WHERE OLD.display_order IS NOT DISTINCT FROM NEW.display_order
|
||||
WHERE OLD.display_order IS DISTINCT FROM NEW.display_order
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.player_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
@@ -48,19 +48,19 @@ BEGIN
|
||||
)
|
||||
-- Changed game_id
|
||||
SELECT NEW.round_id, 'game_id', OLD.game_id::TEXT, NEW.game_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.game_id IS NOT DISTINCT FROM NEW.game_id
|
||||
WHERE OLD.game_id IS DISTINCT FROM NEW.game_id
|
||||
UNION
|
||||
-- Changed notes
|
||||
SELECT NEW.round_id, 'notes', OLD.notes::TEXT, NEW.notes::TEXT, NEW.change_set_id
|
||||
WHERE OLD.notes IS NOT DISTINCT FROM NEW.notes
|
||||
WHERE OLD.notes IS DISTINCT FROM NEW.notes
|
||||
UNION
|
||||
-- Changed display_order
|
||||
SELECT NEW.round_id, 'display_order', OLD.display_order::TEXT, NEW.display_order::TEXT, NEW.change_set_id
|
||||
WHERE OLD.display_order IS NOT DISTINCT FROM NEW.display_order
|
||||
WHERE OLD.display_order IS DISTINCT FROM NEW.display_order
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.round_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
@@ -48,35 +48,35 @@ BEGIN
|
||||
)
|
||||
-- Changed round_id
|
||||
SELECT NEW.damage_id, 'round_id', OLD.round_id::TEXT, NEW.round_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.round_id IS NOT DISTINCT FROM NEW.round_id
|
||||
WHERE OLD.round_id IS DISTINCT FROM NEW.round_id
|
||||
UNION
|
||||
-- Changed player_id
|
||||
SELECT NEW.damage_id, 'player_id', OLD.player_id::TEXT, NEW.player_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.player_id IS NOT DISTINCT FROM NEW.player_id
|
||||
WHERE OLD.player_id IS DISTINCT FROM NEW.player_id
|
||||
UNION
|
||||
-- Changed received_from_commander_player_id
|
||||
SELECT NEW.damage_id, 'received_from_commander_player_id', OLD.received_from_commander_player_id::TEXT, NEW.received_from_commander_player_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.received_from_commander_player_id IS NOT DISTINCT FROM NEW.received_from_commander_player_id
|
||||
WHERE OLD.received_from_commander_player_id IS DISTINCT FROM NEW.received_from_commander_player_id
|
||||
UNION
|
||||
-- Changed life_gain
|
||||
SELECT NEW.damage_id, 'life_gain', OLD.life_gain::TEXT, NEW.life_gain::TEXT, NEW.change_set_id
|
||||
WHERE OLD.life_gain IS NOT DISTINCT FROM NEW.life_gain
|
||||
WHERE OLD.life_gain IS DISTINCT FROM NEW.life_gain
|
||||
UNION
|
||||
-- Changed life_loss
|
||||
SELECT NEW.damage_id, 'life_loss', OLD.life_loss::TEXT, NEW.life_loss::TEXT, NEW.change_set_id
|
||||
WHERE OLD.life_loss IS NOT DISTINCT FROM NEW.life_loss
|
||||
WHERE OLD.life_loss IS DISTINCT FROM NEW.life_loss
|
||||
UNION
|
||||
-- Changed commander_deaths
|
||||
SELECT NEW.damage_id, 'commander_deaths', OLD.commander_deaths::TEXT, NEW.commander_deaths::TEXT, NEW.change_set_id
|
||||
WHERE OLD.commander_deaths IS NOT DISTINCT FROM NEW.commander_deaths
|
||||
WHERE OLD.commander_deaths IS DISTINCT FROM NEW.commander_deaths
|
||||
UNION
|
||||
-- Changed is_eliminated
|
||||
SELECT NEW.damage_id, 'is_eliminated', OLD.is_eliminated::TEXT, NEW.is_eliminated::TEXT, NEW.change_set_id
|
||||
WHERE OLD.is_eliminated IS NOT DISTINCT FROM NEW.is_eliminated
|
||||
WHERE OLD.is_eliminated IS DISTINCT FROM NEW.is_eliminated
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.damage_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
@@ -48,15 +48,15 @@ BEGIN
|
||||
)
|
||||
-- Changed user_id
|
||||
SELECT NEW.member_id, 'user_id', OLD.user_id::TEXT, NEW.user_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.user_id IS NOT DISTINCT FROM NEW.user_id
|
||||
WHERE OLD.user_id IS DISTINCT FROM NEW.user_id
|
||||
UNION
|
||||
-- Changed is_permitted
|
||||
SELECT NEW.member_id, 'is_permitted', OLD.is_permitted::TEXT, NEW.is_permitted::TEXT, NEW.change_set_id
|
||||
WHERE OLD.is_permitted IS NOT DISTINCT FROM NEW.is_permitted
|
||||
WHERE OLD.is_permitted IS DISTINCT FROM NEW.is_permitted
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.member_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
@@ -48,35 +48,35 @@ BEGIN
|
||||
)
|
||||
-- Changed entity_type_code
|
||||
SELECT NEW.statistic_id, 'entity_type_code', OLD.entity_type_code, NEW.entity_type_code, NEW.change_set_id
|
||||
WHERE OLD.entity_type_code IS NOT DISTINCT FROM NEW.entity_type_code
|
||||
WHERE OLD.entity_type_code IS DISTINCT FROM NEW.entity_type_code
|
||||
UNION
|
||||
-- Changed entity_record_id
|
||||
SELECT NEW.statistic_id, 'entity_record_id', OLD.entity_record_id::TEXT, NEW.entity_record_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.entity_record_id IS NOT DISTINCT FROM NEW.entity_record_id
|
||||
WHERE OLD.entity_record_id IS DISTINCT FROM NEW.entity_record_id
|
||||
UNION
|
||||
-- Changed name
|
||||
SELECT NEW.statistic_id, 'name', OLD.name, NEW.name, NEW.change_set_id
|
||||
WHERE OLD.name IS NOT DISTINCT FROM NEW.name
|
||||
WHERE OLD.name IS DISTINCT FROM NEW.name
|
||||
UNION
|
||||
-- Changed value_bool
|
||||
SELECT NEW.statistic_id, 'value_bool', OLD.value_bool::TEXT, NEW.value_bool::TEXT, NEW.change_set_id
|
||||
WHERE OLD.value_bool IS NOT DISTINCT FROM NEW.value_bool
|
||||
WHERE OLD.value_bool IS DISTINCT FROM NEW.value_bool
|
||||
UNION
|
||||
-- Changed value_float
|
||||
SELECT NEW.statistic_id, 'value_float', OLD.value_float::TEXT, NEW.value_float::TEXT, NEW.change_set_id
|
||||
WHERE OLD.value_float IS NOT DISTINCT FROM NEW.value_float
|
||||
WHERE OLD.value_float IS DISTINCT FROM NEW.value_float
|
||||
UNION
|
||||
-- Changed value_text
|
||||
SELECT NEW.statistic_id, 'value_text', OLD.value_text, NEW.value_text, NEW.change_set_id
|
||||
WHERE OLD.value_text IS NOT DISTINCT FROM NEW.value_text
|
||||
WHERE OLD.value_text IS DISTINCT FROM NEW.value_text
|
||||
UNION
|
||||
-- Changed value_timestamp
|
||||
SELECT NEW.statistic_id, 'value_timestamp', OLD.value_timestamp::TEXT, NEW.value_timestamp::TEXT, NEW.change_set_id
|
||||
WHERE OLD.value_timestamp IS NOT DISTINCT FROM NEW.value_timestamp
|
||||
WHERE OLD.value_timestamp IS DISTINCT FROM NEW.value_timestamp
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.statistic_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
|
||||
CREATE OR REPLACE FUNCTION tcg.public.FN_TCG_User_Get_Many (
|
||||
a_get_all_user BOOLEAN
|
||||
a_access_user_id INT
|
||||
, a_get_all_user BOOLEAN
|
||||
, a_get_inactive_user BOOLEAN
|
||||
, a_user_ids TEXT
|
||||
, a_require_all_id_filters_met BOOLEAN
|
||||
@@ -24,20 +25,30 @@ RETURNS TABLE (
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
DECLARE
|
||||
v_access_user_id INT;
|
||||
v_can_admin BOOLEAN;
|
||||
v_get_all_user BOOLEAN;
|
||||
v_get_inactive_user BOOLEAN;
|
||||
v_require_all_id_filters_met BOOLEAN;
|
||||
v_require_any_id_filters_met BOOLEAN;
|
||||
v_user_ids TEXT;
|
||||
BEGIN
|
||||
v_access_user_id := a_access_user_id;
|
||||
v_get_all_user := COALESCE(a_get_all_user, FALSE);
|
||||
v_get_inactive_user := COALESCE(a_get_inactive_user, FALSE);
|
||||
v_user_ids := TRIM(COALESCE(a_user_ids, ''));
|
||||
v_require_all_id_filters_met := COALESCE(a_require_all_id_filters_met, FALSE);
|
||||
v_require_any_id_filters_met := COALESCE(a_require_any_id_filters_met, FALSE);
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1) THEN
|
||||
RAISE EXCEPTION 'Access User ID required.';
|
||||
END IF;
|
||||
|
||||
v_can_admin := COALESCE((SELECT TCG_USER.is_super_user FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1), FALSE);
|
||||
|
||||
-- Outputs
|
||||
RETURN QUERY SELECT
|
||||
RETURN QUERY
|
||||
SELECT
|
||||
TCG_USER.user_id
|
||||
, TCG_USER.user_auth0_id
|
||||
, TCG_USER.firstname
|
||||
@@ -86,7 +97,8 @@ $$;
|
||||
|
||||
SELECT *
|
||||
FROM tcg.public.FN_TCG_User_Get_Many (
|
||||
a_get_all_user := TRUE
|
||||
a_access_user_id := 3
|
||||
, a_get_all_user := TRUE
|
||||
, a_get_inactive_user := FALSE
|
||||
, a_user_ids := ''
|
||||
, a_require_all_id_filters_met := TRUE
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
|
||||
CREATE OR REPLACE FUNCTION tcg.public.FN_TCG_User_Relationship_Get_Many (
|
||||
a_get_inactive_user_relationship BOOLEAN
|
||||
a_access_user_id INT
|
||||
, a_get_inactive_user_relationship BOOLEAN
|
||||
, a_get_all_user_follower BOOLEAN
|
||||
, a_user_follower_ids TEXT
|
||||
, a_get_all_user_following BOOLEAN
|
||||
@@ -25,6 +26,8 @@ RETURNS TABLE (
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
DECLARE
|
||||
v_access_user_id INT;
|
||||
v_can_admin BOOLEAN;
|
||||
v_get_inactive_user_relationship BOOLEAN;
|
||||
v_get_all_user_follower BOOLEAN;
|
||||
v_user_follower_ids TEXT;
|
||||
@@ -34,6 +37,7 @@ DECLARE
|
||||
v_require_all_id_filters_met BOOLEAN;
|
||||
v_require_any_id_filters_met BOOLEAN;
|
||||
BEGIN
|
||||
v_access_user_id := a_access_user_id;
|
||||
v_get_inactive_user_relationship := COALESCE(a_get_inactive_user_relationship, FALSE);
|
||||
v_get_all_user_follower := COALESCE(a_get_all_user_follower, FALSE);
|
||||
v_user_follower_ids := TRIM(COALESCE(a_user_follower_ids, ''));
|
||||
@@ -43,8 +47,31 @@ BEGIN
|
||||
v_require_all_id_filters_met := COALESCE(a_require_all_id_filters_met, FALSE);
|
||||
v_require_any_id_filters_met := COALESCE(a_require_any_id_filters_met, FALSE);
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1) THEN
|
||||
RAISE EXCEPTION 'Access User ID required.';
|
||||
END IF;
|
||||
|
||||
v_can_admin := COALESCE((SELECT TCG_USER.is_super_user FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1), FALSE);
|
||||
|
||||
-- Outputs
|
||||
RETURN QUERY SELECT
|
||||
RETURN QUERY
|
||||
WITH Access_Relationship AS (
|
||||
SELECT DISTINCT
|
||||
RELATIONSHIP.relationship_id
|
||||
FROM tcg.public.TCG_User_Relationship RELATIONSHIP
|
||||
WHERE
|
||||
(
|
||||
v_can_admin
|
||||
OR RELATIONSHIP.follower_user_id = v_access_user_id
|
||||
OR RELATIONSHIP.following_user_id = v_access_user_id
|
||||
)
|
||||
AND (
|
||||
v_get_inactive_user_relationship
|
||||
OR RELATIONSHIP.active
|
||||
)
|
||||
|
||||
)
|
||||
SELECT DISTINCT
|
||||
RELATIONSHIP.relationship_id
|
||||
, RELATIONSHIP.follower_user_id
|
||||
, RELATIONSHIP.following_user_id
|
||||
@@ -57,6 +84,7 @@ BEGIN
|
||||
, RELATIONSHIP.updated_last_by_user_id
|
||||
, RELATIONSHIP.change_set_id
|
||||
FROM tcg.public.TCG_User_Relationship RELATIONSHIP
|
||||
INNER JOIN Access_Relationship ACCESS_RELATIONSHIP ON RELATIONSHIP.relationship_id = ACCESS_RELATIONSHIP.relationship_id
|
||||
INNER JOIN tcg.public.TCG_User USER_FOLLOWER ON RELATIONSHIP.follower_user_id = USER_FOLLOWER.user_id
|
||||
INNER JOIN tcg.public.TCG_User USER_FOLLOWING ON RELATIONSHIP.following_user_id = USER_FOLLOWING.user_id
|
||||
WHERE
|
||||
@@ -91,10 +119,6 @@ BEGIN
|
||||
)
|
||||
)
|
||||
)
|
||||
AND (
|
||||
v_get_inactive_user_relationship
|
||||
OR RELATIONSHIP.active
|
||||
)
|
||||
AND (
|
||||
v_get_inactive_user
|
||||
OR (
|
||||
@@ -104,8 +128,8 @@ BEGIN
|
||||
)
|
||||
ORDER BY
|
||||
RELATIONSHIP.follower_user_id
|
||||
, NOT RELATIONSHIP.is_following
|
||||
, NOT RELATIONSHIP.is_blocked
|
||||
, RELATIONSHIP.is_following DESC
|
||||
, RELATIONSHIP.is_blocked DESC
|
||||
, RELATIONSHIP.following_user_id
|
||||
;
|
||||
END;
|
||||
@@ -114,7 +138,8 @@ $$;
|
||||
|
||||
SELECT *
|
||||
FROM tcg.public.FN_TCG_User_Relationship_Get_Many (
|
||||
a_get_inactive_user_relationship := FALSE
|
||||
a_access_user_id := 3
|
||||
, a_get_inactive_user_relationship := FALSE
|
||||
, a_get_all_user_follower := TRUE
|
||||
, a_user_follower_ids := ''
|
||||
, a_get_all_user_following := TRUE
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
|
||||
CREATE OR REPLACE FUNCTION tcg.public.FN_TCG_MTG_Deck_Commander_Bracket_Get_Many (
|
||||
a_get_all_commander_bracket BOOLEAN
|
||||
a_access_user_id INT
|
||||
, a_get_all_commander_bracket BOOLEAN
|
||||
, a_get_inactive_commander_bracket BOOLEAN
|
||||
, a_commander_bracket_ids TEXT
|
||||
, a_commander_bracket_names TEXT
|
||||
@@ -24,6 +25,8 @@ RETURNS TABLE (
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
DECLARE
|
||||
v_access_user_id INT;
|
||||
v_can_admin BOOLEAN;
|
||||
v_get_all_commander_bracket BOOLEAN;
|
||||
v_get_inactive_commander_bracket BOOLEAN;
|
||||
v_commander_bracket_ids TEXT;
|
||||
@@ -33,6 +36,7 @@ DECLARE
|
||||
v_require_all_non_id_filters_met BOOLEAN;
|
||||
v_require_any_non_id_filters_met BOOLEAN;
|
||||
BEGIN
|
||||
v_access_user_id := a_access_user_id;
|
||||
v_get_all_commander_bracket := COALESCE(a_get_all_commander_bracket, TRUE);
|
||||
v_get_inactive_commander_bracket := COALESCE(a_get_inactive_commander_bracket, FALSE);
|
||||
v_commander_bracket_ids := TRIM(COALESCE(a_commander_bracket_ids, ''));
|
||||
@@ -42,6 +46,12 @@ BEGIN
|
||||
v_require_all_non_id_filters_met := COALESCE(a_require_all_non_id_filters_met, FALSE);
|
||||
v_require_any_non_id_filters_met := COALESCE(a_require_any_non_id_filters_met, TRUE);
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1) THEN
|
||||
RAISE EXCEPTION 'Access User ID required.';
|
||||
END IF;
|
||||
|
||||
v_can_admin := COALESCE((SELECT TCG_USER.is_super_user FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1), FALSE);
|
||||
|
||||
-- Outputs
|
||||
RETURN QUERY SELECT
|
||||
COMMANDER_BRACKET.commander_bracket_id
|
||||
@@ -110,7 +120,8 @@ $$;
|
||||
|
||||
SELECT *
|
||||
FROM tcg.public.FN_TCG_MTG_Deck_Commander_Bracket_Get_Many (
|
||||
a_get_all_commander_bracket := TRUE
|
||||
a_access_user_id := 3
|
||||
, a_get_all_commander_bracket := TRUE
|
||||
, a_get_inactive_commander_bracket := FALSE
|
||||
, a_commander_bracket_ids := CAST(NULL AS TEXT)
|
||||
, a_commander_bracket_names := CAST(NULL AS TEXT)
|
||||
|
||||
@@ -1,16 +1,20 @@
|
||||
|
||||
CREATE OR REPLACE FUNCTION tcg.public.FN_TCG_MTG_Deck_Get_Many (
|
||||
a_get_all_deck BOOLEAN
|
||||
a_access_user_id INT
|
||||
, a_get_all_deck BOOLEAN
|
||||
, a_get_inactive_deck BOOLEAN
|
||||
, a_deck_ids TEXT
|
||||
, a_deck_names TEXT
|
||||
, a_commander_bracket_ids TEXT
|
||||
, a_created_by_user_ids TEXT
|
||||
-- , a_created_by_user_ids TEXT
|
||||
, a_include_commander_option BOOLEAN
|
||||
, a_get_all_game BOOLEAN
|
||||
, a_get_inactive_game BOOLEAN
|
||||
, a_game_ids TEXT
|
||||
, a_filter_by_game_session_not_player BOOLEAN
|
||||
, a_get_all_user BOOLEAN
|
||||
, a_get_inactive_user BOOLEAN
|
||||
, a_user_ids TEXT
|
||||
-- , a_filter_by_game_session_not_player BOOLEAN
|
||||
, a_require_all_id_filters_met BOOLEAN
|
||||
, a_require_any_id_filters_met BOOLEAN
|
||||
, a_require_all_non_id_filters_met BOOLEAN
|
||||
@@ -31,38 +35,109 @@ RETURNS TABLE (
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
DECLARE
|
||||
v_access_user_id INT;
|
||||
v_can_admin BOOLEAN;
|
||||
v_get_all_deck BOOLEAN;
|
||||
v_get_inactive_deck BOOLEAN;
|
||||
v_deck_ids TEXT;
|
||||
v_deck_names TEXT;
|
||||
v_created_by_user_ids TEXT;
|
||||
v_include_commander_option BOOLEAN;
|
||||
v_get_all_game BOOLEAN;
|
||||
v_get_inactive_game BOOLEAN;
|
||||
v_game_ids TEXT;
|
||||
v_filter_by_game_session_not_player BOOLEAN;
|
||||
v_get_all_user BOOLEAN;
|
||||
v_get_inactive_user BOOLEAN;
|
||||
v_user_ids TEXT;
|
||||
-- v_filter_by_game_session_not_player BOOLEAN;
|
||||
v_require_all_id_filters_met BOOLEAN;
|
||||
v_require_any_id_filters_met BOOLEAN;
|
||||
v_require_all_non_id_filters_met BOOLEAN;
|
||||
v_require_any_non_id_filters_met BOOLEAN;
|
||||
BEGIN
|
||||
v_access_user_id := a_access_user_id;
|
||||
v_get_all_deck := COALESCE(a_get_all_deck, FALSE);
|
||||
v_get_inactive_deck := COALESCE(a_get_inactive_deck, FALSE);
|
||||
v_deck_ids := TRIM(COALESCE(a_deck_ids, ''));
|
||||
v_deck_names := TRIM(COALESCE(a_deck_names, ''));
|
||||
v_include_commander_option := COALESCE(a_include_commander_option, TRUE);
|
||||
v_created_by_user_ids := TRIM(COALESCE(a_created_by_user_ids, ''));
|
||||
-- v_created_by_user_ids := TRIM(COALESCE(a_created_by_user_ids, ''));
|
||||
v_get_all_game := COALESCE(a_get_all_game, FALSE);
|
||||
v_get_inactive_game := COALESCE(a_get_inactive_game, FALSE);
|
||||
v_game_ids := TRIM(COALESCE(a_game_ids, ''));
|
||||
v_filter_by_game_session_not_player := COALESCE(a_filter_by_game_session_not_player, TRUE);
|
||||
v_get_all_user := COALESCE(a_get_all_user, FALSE);
|
||||
v_get_inactive_user := COALESCE(a_get_inactive_user, FALSE);
|
||||
v_user_ids := TRIM(COALESCE(a_user_ids, ''));
|
||||
-- v_filter_by_game_session_not_player := COALESCE(a_filter_by_game_session_not_player, TRUE);
|
||||
v_require_all_id_filters_met := COALESCE(a_require_all_id_filters_met, FALSE);
|
||||
v_require_any_id_filters_met := COALESCE(a_require_any_id_filters_met, FALSE);
|
||||
v_require_all_non_id_filters_met := COALESCE(a_require_all_non_id_filters_met, FALSE);
|
||||
v_require_any_non_id_filters_met := COALESCE(a_require_any_non_id_filters_met, FALSE);
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1) THEN
|
||||
RAISE EXCEPTION 'Access User ID required.';
|
||||
END IF;
|
||||
|
||||
v_can_admin := COALESCE((SELECT TCG_USER.is_super_user FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1), FALSE);
|
||||
|
||||
-- Outputs
|
||||
RETURN QUERY
|
||||
WITH
|
||||
Access_Game AS (
|
||||
SELECT DISTINCT
|
||||
GAME.game_id
|
||||
, GAME.active
|
||||
FROM tcg.public.FN_TCG_MTG_Game_Get_Many (
|
||||
a_access_user_id := v_access_user_id
|
||||
, a_get_all_game := v_get_all_game
|
||||
, a_get_inactive_game := v_get_inactive_game
|
||||
, a_game_ids := v_game_ids
|
||||
, a_get_all_user := v_get_all_user
|
||||
, a_get_inactive_user := v_get_inactive_user
|
||||
, a_user_ids := v_user_ids
|
||||
, a_require_all_id_filters_met := v_require_all_id_filters_met
|
||||
, a_require_any_id_filters_met := v_require_any_id_filters_met
|
||||
) GAME
|
||||
)
|
||||
, Access_Player AS (
|
||||
SELECT
|
||||
PLAYER.player_id
|
||||
, PLAYER.game_id
|
||||
, PLAYER.user_id
|
||||
, PLAYER.deck_id
|
||||
, PLAYER.active
|
||||
FROM tcg.public.FN_TCG_MTG_Game_Player_Get_Many (
|
||||
a_access_user_id := v_access_user_id
|
||||
, a_get_all_game := v_get_all_game
|
||||
, a_get_inactive_game := v_get_inactive_game
|
||||
, a_game_ids := v_game_ids
|
||||
, a_get_all_user := v_get_all_user
|
||||
, a_get_inactive_user := v_get_inactive_user
|
||||
, a_user_ids := v_user_ids
|
||||
, a_require_all_id_filters_met := v_require_all_id_filters_met
|
||||
, a_require_any_id_filters_met := v_require_any_id_filters_met
|
||||
) PLAYER
|
||||
)
|
||||
, Access_User AS (
|
||||
SELECT DISTINCT TCG_USER.user_id
|
||||
FROM tcg.public.TCG_User TCG_USER
|
||||
LEFT JOIN Access_Player ACCESS_PLAYER ON TCG_USER.user_id = ACCESS_PLAYER.user_id
|
||||
LEFT JOIN tcg.public.TCG_MTG_Game_Session_Member SESSION_MEMBER
|
||||
ON TCG_USER.user_id = SESSION_MEMBER.user_id
|
||||
AND SESSION_MEMBER.is_permitted
|
||||
AND SESSION_MEMBER.active
|
||||
LEFT JOIN Access_Game GAME ON SESSION_MEMBER.game_id = GAME.game_id
|
||||
WHERE
|
||||
(
|
||||
v_can_admin
|
||||
OR TCG_USER.user_id = v_access_user_id
|
||||
OR ACCESS_PLAYER.player_id IS NOT NULL
|
||||
OR GAME.game_id IS NOT NULL
|
||||
)
|
||||
AND (
|
||||
v_get_inactive_user
|
||||
OR TCG_USER.active
|
||||
)
|
||||
)
|
||||
SELECT DISTINCT
|
||||
DECK.deck_id
|
||||
, DECK.name
|
||||
@@ -75,7 +150,9 @@ BEGIN
|
||||
, DECK.updated_last_by_user_id
|
||||
, DECK.change_set_id
|
||||
FROM tcg.public.TCG_MTG_Deck DECK
|
||||
LEFT JOIN tcg.public.TCG_MTG_Game SESSION_GAME ON DECK.game_id = SESSION_GAME.game_id
|
||||
INNER JOIN Access_User ACCESS_USER ON DECK.created_by_user_id = ACCESS_USER.user_id
|
||||
LEFT JOIN tcg.public.TCG_MTG_Game_Session_Member SESSION_MEMBER ON DECK.created_by_user_id = SESSION_MEMBER.user_id
|
||||
LEFT JOIN tcg.public.TCG_MTG_Game SESSION_GAME ON SESSION_MEMBER.game_id = SESSION_GAME.game_id
|
||||
LEFT JOIN tcg.public.TCG_MTG_Game_Player PLAYER ON DECK.deck_id = PLAYER.deck_id
|
||||
LEFT JOIN tcg.public.TCG_MTG_Game PLAYER_GAME ON PLAYER.game_id = PLAYER_GAME.game_id
|
||||
WHERE
|
||||
@@ -90,17 +167,11 @@ BEGIN
|
||||
v_get_all_deck
|
||||
OR (
|
||||
DECK.deck_id = ANY(string_to_array(v_deck_ids, ',')::INT[])
|
||||
AND DECK.created_by_user_id = ANY(string_to_array(v_created_by_user_ids, ',')::INT[])
|
||||
AND DECK.created_by_user_id = ANY(string_to_array(v_user_ids, ',')::INT[])
|
||||
AND (
|
||||
v_get_all_game
|
||||
OR (
|
||||
v_filter_by_game_session_not_player
|
||||
AND SESSION_GAME.game_id = ANY(string_to_array(v_game_ids, ',')::INT[])
|
||||
)
|
||||
OR (
|
||||
NOT v_filter_by_game_session_not_player
|
||||
AND PLAYER.game_id = ANY(string_to_array(v_game_ids, ',')::INT[])
|
||||
)
|
||||
OR SESSION_GAME.game_id = ANY(string_to_array(v_game_ids, ',')::INT[])
|
||||
OR PLAYER.game_id = ANY(string_to_array(v_game_ids, ',')::INT[])
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -111,17 +182,11 @@ BEGIN
|
||||
AND (
|
||||
v_get_all_deck
|
||||
OR DECK.deck_id = ANY(string_to_array(v_deck_ids, ',')::INT[])
|
||||
OR DECK.created_by_user_id = ANY(string_to_array(v_created_by_user_ids, ',')::INT[])
|
||||
OR DECK.created_by_user_id = ANY(string_to_array(v_user_ids, ',')::INT[])
|
||||
OR (
|
||||
v_get_all_game
|
||||
OR (
|
||||
v_filter_by_game_session_not_player
|
||||
AND SESSION_GAME.game_id = ANY(string_to_array(v_game_ids, ',')::INT[])
|
||||
)
|
||||
OR (
|
||||
NOT v_filter_by_game_session_not_player
|
||||
AND PLAYER.game_id = ANY(string_to_array(v_game_ids, ',')::INT[])
|
||||
)
|
||||
OR SESSION_GAME.game_id = ANY(string_to_array(v_game_ids, ',')::INT[])
|
||||
OR PLAYER.game_id = ANY(string_to_array(v_game_ids, ',')::INT[])
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -160,14 +225,8 @@ BEGIN
|
||||
)
|
||||
AND (
|
||||
v_get_inactive_game
|
||||
OR (
|
||||
v_filter_by_game_session_not_player
|
||||
AND SESSION_GAME.active
|
||||
)
|
||||
OR (
|
||||
NOT v_filter_by_game_session_not_player
|
||||
AND PLAYER_GAME.active
|
||||
)
|
||||
OR SESSION_GAME.active
|
||||
OR PLAYER_GAME.active
|
||||
)
|
||||
ORDER BY DECK.name
|
||||
;
|
||||
@@ -177,17 +236,21 @@ $$;
|
||||
|
||||
SELECT *
|
||||
FROM tcg.public.FN_TCG_MTG_Deck_Get_Many (
|
||||
a_get_all_deck := TRUE
|
||||
a_access_user_id := 5
|
||||
, a_get_all_deck := TRUE
|
||||
, a_get_inactive_deck := FALSE
|
||||
, a_deck_ids := CAST(NULL AS TEXT)
|
||||
, a_deck_names := CAST(NULL AS TEXT)
|
||||
, a_commander_bracket_ids := CAST(NULL AS TEXT)
|
||||
, a_include_commander_option := true
|
||||
, a_created_by_user_ids := '3'
|
||||
-- , a_created_by_user_ids := '3'
|
||||
, a_get_all_game := FALSE
|
||||
, a_get_inactive_game := FALSE
|
||||
, a_game_ids := CAST(NULL AS TEXT)
|
||||
, a_filter_by_game_session_not_player := TRUE
|
||||
, a_get_all_user := FALSE
|
||||
, a_get_inactive_user := FALSE
|
||||
, a_user_ids := CAST(NULL AS TEXT)
|
||||
-- , a_filter_by_game_session_not_player := TRUE
|
||||
, a_require_all_id_filters_met := TRUE
|
||||
, a_require_any_id_filters_met := FALSE
|
||||
, a_require_all_non_id_filters_met := FALSE
|
||||
|
||||
511
static/PostgreSQL/71201_usp_TCG_MTG_Deck_Save.sql
Normal file
511
static/PostgreSQL/71201_usp_TCG_MTG_Deck_Save.sql
Normal file
@@ -0,0 +1,511 @@
|
||||
|
||||
CREATE OR REPLACE PROCEDURE tcg.public.USP_TCG_MTG_Deck_Save (
|
||||
a_comment TEXT
|
||||
, a_guid UUID
|
||||
, a_user_id INT
|
||||
, OUT o_success BOOLEAN
|
||||
)
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
DECLARE
|
||||
v_bad_data_error_type_id INT;
|
||||
v_change_set_id INT;
|
||||
v_comment TEXT;
|
||||
-- v_error_message TEXT;
|
||||
v_guid UUID;
|
||||
v_time_start TIMESTAMP;
|
||||
v_user_id INT;
|
||||
v_warning_error_type_id INT;
|
||||
BEGIN
|
||||
v_comment := TRIM(COALESCE(a_comment, ''));
|
||||
v_guid := a_guid;
|
||||
v_user_id := a_user_id;
|
||||
|
||||
v_bad_data_error_type_id := (SELECT ERROR_TYPE.error_type_id FROM tcg.public.Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = 'BAD_DATA' LIMIT 1);
|
||||
v_warning_error_type_id := (SELECT ERROR_TYPE.error_type_id FROM tcg.public.Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = 'WARNING' LIMIT 1);
|
||||
v_time_start := CURRENT_TIMESTAMP;
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_user_id LIMIT 1) THEN
|
||||
RAISE EXCEPTION 'Access User ID required.';
|
||||
END IF;
|
||||
|
||||
DROP TABLE IF EXISTS Temp_MTG_Deck_Save_Deck;
|
||||
DROP TABLE IF EXISTS Temp_MTG_Deck_Save_Commander_Bracket;
|
||||
DROP TABLE IF EXISTS Temp_MTG_Deck_Save_Error;
|
||||
|
||||
CREATE TEMP TABLE Temp_MTG_Deck_Save_Deck (
|
||||
temp_id INT NOT NULL
|
||||
, deck_id INT
|
||||
, name TEXT
|
||||
, is_commander BOOLEAN
|
||||
, commander_bracket_id INT
|
||||
, active BOOLEAN
|
||||
, created_on TIMESTAMP
|
||||
, created_by_user_id INT
|
||||
, updated_last_on TIMESTAMP
|
||||
, updated_last_by_user_id INT
|
||||
|
||||
, is_new BOOLEAN
|
||||
, error_name TEXT
|
||||
, is_duplicate BOOLEAN
|
||||
);
|
||||
|
||||
CREATE TEMP TABLE Temp_MTG_Deck_Save_Commander_Bracket (
|
||||
commander_bracket_id INT NOT NULL
|
||||
, name TEXT
|
||||
, description TEXT
|
||||
, display_order INT
|
||||
, active BOOLEAN
|
||||
, created_on TIMESTAMP
|
||||
, created_by_user_id INT
|
||||
, updated_last_on TIMESTAMP
|
||||
, updated_last_by_user_id INT
|
||||
, change_set_id INT
|
||||
);
|
||||
|
||||
CREATE TEMP TABLE Temp_MTG_Deck_Save_Error (
|
||||
temp_id INT GENERATED ALWAYS AS IDENTITY
|
||||
, error_type_id INT
|
||||
, message TEXT
|
||||
);
|
||||
|
||||
INSERT INTO Temp_MTG_Deck_Save_Commander_Bracket (
|
||||
commander_bracket_id
|
||||
, name
|
||||
, description
|
||||
, display_order
|
||||
, active
|
||||
, created_on
|
||||
, created_by_user_id
|
||||
, updated_last_on
|
||||
, updated_last_by_user_id
|
||||
, change_set_id
|
||||
)
|
||||
SELECT
|
||||
COMMANDER_BRACKET.commander_bracket_id
|
||||
, COMMANDER_BRACKET.name
|
||||
, COMMANDER_BRACKET.description
|
||||
, COMMANDER_BRACKET.display_order
|
||||
, COMMANDER_BRACKET.active
|
||||
, COMMANDER_BRACKET.created_on
|
||||
, COMMANDER_BRACKET.created_by_user_id
|
||||
, COMMANDER_BRACKET.updated_last_on
|
||||
, COMMANDER_BRACKET.updated_last_by_user_id
|
||||
, COMMANDER_BRACKET.change_set_id
|
||||
FROM tcg.public.TCG_MTG_Deck_Commander_Bracket COMMANDER_BRACKET
|
||||
;
|
||||
|
||||
WITH Temp_Deck AS (
|
||||
SELECT
|
||||
DECK_T.temp_id
|
||||
, CASE
|
||||
WHEN
|
||||
COALESCE(DECK_T.deck_id, 0) < 1
|
||||
OR DECK.deck_id IS NULL
|
||||
THEN DECK.deck_id
|
||||
ELSE DECK_T.deck_id
|
||||
END AS deck_id
|
||||
, TRIM(COALESCE(DECK_T.name, '')) AS name
|
||||
, COALESCE(DECK_T.is_commander, TRUE) AS is_commander
|
||||
, DECK_T.commander_bracket_id
|
||||
, COALESCE(DECK_T.active, TRUE) AS active
|
||||
, COALESCE(DECK_T.created_on, v_time_start) AS created_on
|
||||
, COALESCE(DECK_T.created_by_user_id, v_user_id) AS created_by_user_id
|
||||
, COALESCE(DECK_T.updated_last_on, v_time_start) AS updated_last_on
|
||||
, COALESCE(DECK_T.updated_last_by_user_id, v_user_id) AS updated_last_by_user_id
|
||||
FROM tcg.public.TCG_MTG_Deck_Temp DECK_T
|
||||
LEFT JOIN tcg.public.TCG_MTG_Deck DECK
|
||||
ON DECK.deck_id = DECK_T.deck_id
|
||||
AND DECK.created_by_user_id = v_user_id
|
||||
WHERE DECK_T.guid = v_guid
|
||||
)
|
||||
INSERT INTO Temp_MTG_Deck_Save_Deck (
|
||||
temp_id
|
||||
, deck_id
|
||||
, name
|
||||
, is_commander
|
||||
, commander_bracket_id
|
||||
, active
|
||||
, created_on
|
||||
, created_by_user_id
|
||||
, updated_last_on
|
||||
, updated_last_by_user_id
|
||||
|
||||
, is_new
|
||||
, error_name
|
||||
)
|
||||
SELECT
|
||||
T_DECK.temp_id
|
||||
, T_DECK.deck_id
|
||||
, T_DECK.name
|
||||
, T_DECK.is_commander
|
||||
, T_DECK.commander_bracket_id
|
||||
, T_DECK.active
|
||||
, T_DECK.created_on
|
||||
, T_DECK.created_by_user_id
|
||||
, T_DECK.updated_last_on
|
||||
, T_DECK.updated_last_by_user_id
|
||||
|
||||
, CASE WHEN T_DECK.deck_id IS NULL THEN TRUE ELSE FALSE END AS is_new
|
||||
, CONCAT(
|
||||
'Deck { id: '
|
||||
, CAST(T_DECK.deck_id AS VARCHAR)
|
||||
, ', temp id: '
|
||||
, CAST(T_DECK.temp_id AS VARCHAR)
|
||||
, ', name: '
|
||||
, T_DECK.name
|
||||
, ' }'
|
||||
) -- error_name
|
||||
FROM Temp_Deck T_DECK
|
||||
LEFT JOIN tcg.public.TCG_MTG_Deck DECK
|
||||
ON DECK.deck_id = T_DECK.deck_id
|
||||
AND DECK.created_by_user_id = v_user_id
|
||||
;
|
||||
|
||||
-- Missing fields
|
||||
WITH Deck_Missing_Field AS (
|
||||
SELECT
|
||||
T_DECK.temp_id
|
||||
, 'name' AS field
|
||||
FROM Temp_MTG_Deck_Save_Deck T_DECK
|
||||
WHERE T_DECK.name = ''
|
||||
UNION
|
||||
SELECT
|
||||
T_DECK.temp_id
|
||||
, 'commander_bracket_id' AS field
|
||||
FROM Temp_MTG_Deck_Save_Deck T_DECK
|
||||
WHERE
|
||||
T_DECK.commander_bracket_id IS NULL
|
||||
AND T_DECK.is_commander
|
||||
)
|
||||
INSERT INTO Temp_MTG_Deck_Save_Error (
|
||||
error_type_id
|
||||
, message
|
||||
)
|
||||
SELECT
|
||||
v_bad_data_error_type_id -- error_type_id
|
||||
, CONCAT(
|
||||
'Missing mandatory field: '
|
||||
, DECK_MISSING_FIELD.field
|
||||
, ' on '
|
||||
, T_DECK.error_name
|
||||
, '.'
|
||||
) -- message
|
||||
FROM Temp_MTG_Deck_Save_Deck T_DECK
|
||||
INNER JOIN Deck_Missing_Field DECK_MISSING_FIELD ON T_DECK.temp_id = DECK_MISSING_FIELD.temp_id
|
||||
;
|
||||
|
||||
-- Failed join fields
|
||||
WITH Deck_Failed_Join_Field AS (
|
||||
SELECT
|
||||
T_DECK.temp_id
|
||||
, 'commander_bracket_id' AS field
|
||||
FROM Temp_MTG_Deck_Save_Deck T_DECK
|
||||
LEFT JOIN Temp_MTG_Deck_Save_Commander_Bracket T_COMMANDER_BRACKET
|
||||
ON T_DECK.commander_bracket_id = T_COMMANDER_BRACKET.commander_bracket_id
|
||||
AND T_COMMANDER_BRACKET.active
|
||||
WHERE
|
||||
T_COMMANDER_BRACKET.commander_bracket_id IS NULL
|
||||
AND T_DECK.commander_bracket_id IS NOT NULL
|
||||
)
|
||||
INSERT INTO Temp_MTG_Deck_Save_Error (
|
||||
error_type_id
|
||||
, message
|
||||
)
|
||||
SELECT
|
||||
v_bad_data_error_type_id -- error_type_id
|
||||
, CONCAT(
|
||||
'Failed relationship: '
|
||||
, DECK_FAILED_JOIN_FIELD.field
|
||||
, ' on '
|
||||
, T_DECK.error_name
|
||||
, '.'
|
||||
) -- message
|
||||
FROM Temp_MTG_Deck_Save_Deck T_DECK
|
||||
INNER JOIN Deck_Failed_Join_Field DECK_FAILED_JOIN_FIELD ON T_DECK.temp_id = DECK_FAILED_JOIN_FIELD.temp_id
|
||||
;
|
||||
|
||||
-- Duplicate Deck
|
||||
WITH
|
||||
All_Deck AS (
|
||||
SELECT
|
||||
T_DECK.temp_id
|
||||
, T_DECK.created_by_user_id
|
||||
, T_DECK.name
|
||||
, TRUE AS is_save_record
|
||||
FROM Temp_MTG_Deck_Save_Deck T_DECK
|
||||
UNION
|
||||
SELECT
|
||||
NULL AS temp_id
|
||||
, DECK.created_by_user_id
|
||||
, DECK.name
|
||||
, FALSE AS is_save_record
|
||||
FROM tcg.public.TCG_MTG_Deck DECK
|
||||
LEFT JOIN Temp_MTG_Deck_Save_Deck T_DECK ON DECK.deck_id = T_DECK.deck_id
|
||||
WHERE T_DECK.deck_id IS NULL
|
||||
)
|
||||
, Deck_Name_Count AS (
|
||||
SELECT
|
||||
ALL_DECK.created_by_user_id
|
||||
, ALL_DECK.name
|
||||
, COUNT(*) AS count_deck
|
||||
FROM All_Deck ALL_DECK
|
||||
GROUP BY
|
||||
ALL_DECK.created_by_user_id
|
||||
, ALL_DECK.name
|
||||
)
|
||||
, Duplicate_Deck AS (
|
||||
SELECT
|
||||
ALL_DECK.temp_id
|
||||
, ALL_DECK.name
|
||||
, ALL_DECK.created_by_user_id
|
||||
, CASE WHEN COALESCE(DECK_NAME_COUNT.count_deck, 0) <= 1 THEN TRUE ELSE FALSE END AS is_unique
|
||||
FROM All_Deck ALL_DECK
|
||||
INNER JOIN Deck_Name_Count DECK_NAME_COUNT
|
||||
ON ALL_DECK.name = DECK_NAME_COUNT.name
|
||||
AND ALL_DECK.created_by_user_id = DECK_NAME_COUNT.created_by_user_id
|
||||
)
|
||||
UPDATE Temp_MTG_Deck_Save_Deck T_DECK
|
||||
SET is_duplicate = NOT DUPLICATE_DECK.is_unique
|
||||
FROM Duplicate_Deck DUPLICATE_DECK
|
||||
WHERE T_DECK.temp_id = DUPLICATE_DECK.temp_id
|
||||
;
|
||||
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM Temp_MTG_Deck_Save_Deck T_DECK
|
||||
WHERE T_DECK.is_duplicate
|
||||
LIMIT 1
|
||||
) THEN
|
||||
INSERT INTO Temp_MTG_Deck_Save_Error (
|
||||
error_type_id
|
||||
, message
|
||||
)
|
||||
SELECT
|
||||
v_bad_data_error_type_id -- error_type_id
|
||||
, CONCAT(
|
||||
'Duplicate on '
|
||||
, T_DECK.error_name
|
||||
) -- message
|
||||
FROM Temp_MTG_Deck_Save_Deck T_DECK
|
||||
WHERE T_DECK.is_duplicate
|
||||
;
|
||||
END IF;
|
||||
|
||||
-- Nothing to save
|
||||
IF NOT EXISTS (SELECT * FROM Temp_MTG_Deck_Save_Deck LIMIT 1) THEN
|
||||
INSERT INTO Temp_MTG_Deck_Save_Error (
|
||||
error_type_id
|
||||
, message
|
||||
)
|
||||
VALUES (
|
||||
v_warning_error_type_id
|
||||
, 'Nothing to save.'
|
||||
);
|
||||
END IF;
|
||||
|
||||
/*
|
||||
INSERT INTO Temp_MTG_Deck_Save_Error (
|
||||
error_type_id
|
||||
, message
|
||||
)
|
||||
SELECT
|
||||
v_warning_error_type_id AS error_type_id
|
||||
, CONCAT(
|
||||
'Decks: '
|
||||
, STRING_AGG(T_DECK.error_name, ', ')
|
||||
) AS message
|
||||
FROM Temp_MTG_Deck_Save_Deck T_DECK
|
||||
;
|
||||
*/
|
||||
|
||||
-- Outputs
|
||||
-- Change Set
|
||||
INSERT INTO tcg.public.TCG_Change_Set (
|
||||
comment
|
||||
, updated_last_by_user_id
|
||||
)
|
||||
VALUES (
|
||||
v_comment
|
||||
, v_user_id
|
||||
)
|
||||
RETURNING change_set_id INTO v_change_set_id
|
||||
;
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM Temp_MTG_Deck_Save_Error T_ERROR WHERE T_ERROR.error_type_id <> v_warning_error_type_id LIMIT 1) THEN
|
||||
|
||||
-- Deck
|
||||
INSERT INTO tcg.public.TCG_MTG_Deck (
|
||||
name
|
||||
, is_commander
|
||||
, commander_bracket_id
|
||||
, active
|
||||
, created_on
|
||||
, created_by_user_id
|
||||
, updated_last_on
|
||||
, updated_last_by_user_id
|
||||
, change_set_id
|
||||
)
|
||||
SELECT
|
||||
T_DECK.name
|
||||
, T_DECK.is_commander
|
||||
, T_DECK.commander_bracket_id
|
||||
, T_DECK.active
|
||||
, T_DECK.created_on
|
||||
, T_DECK.created_by_user_id
|
||||
, T_DECK.updated_last_on
|
||||
, T_DECK.updated_last_by_user_id
|
||||
, v_change_set_id -- change_set_id
|
||||
FROM Temp_MTG_Deck_Save_Deck T_DECK
|
||||
WHERE
|
||||
T_DECK.is_new
|
||||
AND T_DECK.active
|
||||
;
|
||||
|
||||
UPDATE tcg.public.TCG_MTG_Deck DECK
|
||||
SET
|
||||
name = T_DECK.name
|
||||
, is_commander = T_DECK.is_commander
|
||||
, commander_bracket_id = T_DECK.commander_bracket_id
|
||||
, active = T_DECK.active
|
||||
, updated_last_on = v_time_start
|
||||
, updated_last_by_user_id = v_user_id
|
||||
, change_set_id = v_change_set_id
|
||||
FROM Temp_MTG_Deck_Save_Deck T_DECK
|
||||
WHERE
|
||||
DECK.deck_id = T_DECK.deck_id
|
||||
AND NOT T_DECK.is_new
|
||||
;
|
||||
|
||||
END IF;
|
||||
|
||||
-- Error
|
||||
INSERT INTO tcg.public.Error (
|
||||
guid
|
||||
, error_type_id
|
||||
, message
|
||||
, display_order
|
||||
, created_on
|
||||
, created_by_user_id
|
||||
, updated_last_on
|
||||
, updated_last_by_user_id
|
||||
, change_set_id
|
||||
)
|
||||
SELECT
|
||||
v_guid
|
||||
, T_ERROR.error_type_id
|
||||
, T_ERROR.message
|
||||
, T_ERROR.temp_id
|
||||
, v_time_start
|
||||
, v_user_id
|
||||
, v_time_start
|
||||
, v_user_id
|
||||
, v_change_set_id
|
||||
FROM Temp_MTG_Deck_Save_Error T_ERROR
|
||||
LEFT JOIN tcg.public.Error_Type ERROR_TYPE ON T_ERROR.error_type_id = ERROR_TYPE.error_type_id
|
||||
ORDER BY T_ERROR.temp_id
|
||||
;
|
||||
|
||||
COMMIT;
|
||||
|
||||
o_success := NOT EXISTS (
|
||||
SELECT *
|
||||
FROM Temp_MTG_Deck_Save_Error T_ERROR
|
||||
WHERE T_ERROR.error_type_id <> v_warning_error_type_id
|
||||
LIMIT 1
|
||||
);
|
||||
|
||||
DELETE FROM tcg.public.TCG_MTG_Deck_Temp DECK_T WHERE DECK_T.guid = v_guid;
|
||||
|
||||
DROP TABLE IF EXISTS Temp_MTG_Deck_Save_Deck;
|
||||
DROP TABLE IF EXISTS Temp_MTG_Deck_Save_Commander_Bracket;
|
||||
DROP TABLE IF EXISTS Temp_MTG_Deck_Save_Error;
|
||||
END;
|
||||
$$;
|
||||
|
||||
|
||||
|
||||
-- Call it with:
|
||||
DO $$
|
||||
DECLARE
|
||||
v_comment TEXT := 'MTG Deck Save.';
|
||||
v_guid UUID;
|
||||
v_user_id INT := 3;
|
||||
v_success BOOLEAN;
|
||||
BEGIN
|
||||
v_guid := gen_random_uuid();
|
||||
|
||||
INSERT INTO tcg.public.TCG_MTG_Deck_Temp (
|
||||
guid
|
||||
, deck_id
|
||||
, name
|
||||
, is_commander
|
||||
, commander_bracket_id
|
||||
, active
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
v_guid
|
||||
, 1 -- deck_id
|
||||
, 'Final Fantasy: Counter Blitz' -- name
|
||||
, TRUE -- is_commander
|
||||
, 2 -- commander_bracket_id
|
||||
, TRUE -- active
|
||||
)
|
||||
, (
|
||||
v_guid
|
||||
, 2 -- deck_id
|
||||
, 'Tarkir Dragonstorm: Jeskai Striker' -- name
|
||||
, TRUE -- is_commander
|
||||
, 2 -- commander_bracket_id
|
||||
, TRUE -- active
|
||||
)
|
||||
, (
|
||||
v_guid
|
||||
, 3 -- deck_id
|
||||
, 'The Lost Caverns of Ixalan: Blood Rites' -- name
|
||||
, TRUE -- is_commander
|
||||
, 2 -- commander_bracket_id
|
||||
, TRUE -- active
|
||||
)
|
||||
;
|
||||
|
||||
CALL tcg.public.USP_TCG_MTG_Deck_Save (
|
||||
v_comment -- a_comment
|
||||
, v_guid -- a_guid
|
||||
, v_user_id -- a_user_id
|
||||
, v_success -- o_success
|
||||
);
|
||||
RAISE NOTICE 'Success: %', CASE WHEN v_success THEN 'TRUE' ELSE 'FALSE' END;
|
||||
END;
|
||||
$$;
|
||||
|
||||
SELECT *
|
||||
-- DELETE
|
||||
FROM tcg.public.Error ERROR
|
||||
LEFT JOIN tcg.public.Error_Type ERROR_TYPE ON ERROR.error_type_id = ERROR_TYPE.error_type_id
|
||||
;
|
||||
SELECT *
|
||||
FROM tcg.public.Error_Type ERROR_TYPE
|
||||
;
|
||||
SELECT *
|
||||
FROM tcg.public.TCG_Change_Set CHANGE_SET
|
||||
ORDER BY CHANGE_SET.change_set_id DESC
|
||||
;
|
||||
|
||||
SELECT *
|
||||
-- DELETE
|
||||
FROM tcg.public.TCG_MTG_Deck_Temp
|
||||
;
|
||||
SELECT *
|
||||
-- DELETE
|
||||
FROM tcg.public.TCG_MTG_Deck DECK
|
||||
;
|
||||
SELECT *
|
||||
-- DELETE
|
||||
FROM tcg.public.TCG_MTG_Deck_Audit DECK_AUDIT
|
||||
;
|
||||
-- 1 - Final Fantasy: Counter Blitz
|
||||
-- 2 - Tarkir Dragonstorm: Jeskai Striker
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
|
||||
CREATE OR REPLACE FUNCTION tcg.public.FN_TCG_MTG_Game_Get_Many (
|
||||
a_get_all_game BOOLEAN
|
||||
a_access_user_id INT
|
||||
, a_get_all_game BOOLEAN
|
||||
, a_get_inactive_game BOOLEAN
|
||||
, a_game_ids TEXT
|
||||
, a_get_all_user BOOLEAN
|
||||
@@ -28,7 +29,9 @@ RETURNS TABLE (
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
DECLARE
|
||||
v_access_user_id INT;
|
||||
-- v_bad_data_error_type_id INT;
|
||||
v_can_admin BOOLEAN;
|
||||
-- v_warning_error_type_id INT;
|
||||
v_get_all_game BOOLEAN;
|
||||
v_get_inactive_game BOOLEAN;
|
||||
@@ -41,6 +44,7 @@ DECLARE
|
||||
-- , v_require_all_non_id_filters_met BOOLEAN
|
||||
-- , v_require_any_non_id_filters_met BOOLEAN
|
||||
BEGIN
|
||||
v_access_user_id := a_access_user_id;
|
||||
-- v_bad_data_error_type_id := (SELECT ERROR_TYPE.error_type_id FROM tcg.public.Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = 'BAD_DATA' LIMIT 1);
|
||||
-- v_warning_error_type_id := (SELECT ERROR_TYPE.error_type_id FROM tcg.public.Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = 'WARNING' LIMIT 1);
|
||||
v_get_all_game := COALESCE(a_get_all_game, FALSE);
|
||||
@@ -52,9 +56,43 @@ BEGIN
|
||||
v_require_all_id_filters_met := COALESCE(a_require_all_id_filters_met, FALSE);
|
||||
v_require_any_id_filters_met := COALESCE(a_require_any_id_filters_met, FALSE);
|
||||
|
||||
-- Outputs
|
||||
IF NOT EXISTS (SELECT * FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1) THEN
|
||||
RAISE EXCEPTION 'Access User ID required.';
|
||||
END IF;
|
||||
|
||||
RETURN QUERY SELECT
|
||||
v_can_admin := COALESCE((SELECT TCG_USER.is_super_user FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1), FALSE);
|
||||
|
||||
-- Outputs
|
||||
RETURN QUERY
|
||||
WITH Access_Game AS (
|
||||
SELECT DISTINCT GAME.game_id
|
||||
FROM tcg.public.TCG_MTG_Game GAME
|
||||
LEFT JOIN tcg.public.TCG_MTG_Game_Player PLAYER
|
||||
ON GAME.game_id = PLAYER.game_id
|
||||
AND (
|
||||
v_get_inactive_user
|
||||
OR PLAYER.active
|
||||
)
|
||||
LEFT JOIN tcg.public.TCG_MTG_Game_Session_Member SESSION_MEMBER
|
||||
ON GAME.game_id = SESSION_MEMBER.game_id
|
||||
AND SESSION_MEMBER.is_permitted
|
||||
AND (
|
||||
v_get_inactive_user
|
||||
OR SESSION_MEMBER.active
|
||||
)
|
||||
WHERE
|
||||
(
|
||||
v_can_admin
|
||||
OR GAME.created_by_user_id = v_access_user_id
|
||||
OR PLAYER.user_id = v_access_user_id
|
||||
OR SESSION_MEMBER.user_id = v_access_user_id
|
||||
)
|
||||
AND (
|
||||
v_get_inactive_game
|
||||
OR GAME.active
|
||||
)
|
||||
)
|
||||
SELECT DISTINCT
|
||||
GAME.game_id
|
||||
, GAME.notes
|
||||
, GAME.is_commander
|
||||
@@ -70,7 +108,9 @@ BEGIN
|
||||
, GAME.updated_last_on
|
||||
, GAME.updated_last_by_user_id
|
||||
FROM tcg.public.TCG_MTG_Game GAME
|
||||
INNER JOIN Access_Game ACCESS_GAME ON GAME.game_id = ACCESS_GAME.game_id
|
||||
INNER JOIN tcg.public.TCG_User CREATOR_USER ON GAME.created_by_user_id = CREATOR_USER.user_id
|
||||
LEFT JOIN tcg.public.TCG_MTG_Game_Player PLAYER ON GAME.game_id = PLAYER.game_id
|
||||
WHERE
|
||||
(
|
||||
(
|
||||
@@ -86,6 +126,7 @@ BEGIN
|
||||
AND (
|
||||
a_get_all_user
|
||||
OR CREATOR_USER.user_id = ANY(string_to_array(v_user_ids, ',')::INT[])
|
||||
OR PLAYER.user_id = ANY(string_to_array(v_user_ids, ',')::INT[])
|
||||
)
|
||||
)
|
||||
OR (
|
||||
@@ -98,17 +139,10 @@ BEGIN
|
||||
AND (
|
||||
v_get_all_user
|
||||
OR CREATOR_USER.user_id = ANY(string_to_array(v_user_ids, ',')::INT[])
|
||||
OR PLAYER.user_id = ANY(string_to_array(v_user_ids, ',')::INT[])
|
||||
)
|
||||
)
|
||||
)
|
||||
AND (
|
||||
v_get_inactive_game
|
||||
OR GAME.active
|
||||
)
|
||||
AND (
|
||||
v_get_inactive_user
|
||||
OR CREATOR_USER.active
|
||||
)
|
||||
ORDER BY GAME.created_on DESC
|
||||
;
|
||||
END;
|
||||
@@ -117,14 +151,15 @@ $$;
|
||||
|
||||
SELECT *
|
||||
FROM tcg.public.FN_TCG_MTG_Game_Get_Many (
|
||||
a_get_all_game := TRUE
|
||||
a_access_user_id := 4
|
||||
, a_get_all_game := TRUE
|
||||
, a_get_inactive_game := FALSE
|
||||
, a_game_ids := ''
|
||||
, a_get_all_user := TRUE
|
||||
, a_get_inactive_user := FALSE
|
||||
, a_user_ids := ''
|
||||
, a_require_all_id_filters_met := TRUE
|
||||
, a_require_any_id_filters_met := FALSE
|
||||
, a_get_all_user := FALSE
|
||||
, a_get_inactive_user := FALSE
|
||||
, a_user_ids := '4'
|
||||
, a_require_all_id_filters_met := TRUE
|
||||
, a_require_any_id_filters_met := TRUE
|
||||
)
|
||||
;
|
||||
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
|
||||
CREATE OR REPLACE FUNCTION tcg.public.FN_TCG_MTG_Game_Player_Get_Many (
|
||||
a_get_all_game BOOLEAN
|
||||
a_access_user_id INT
|
||||
, a_get_all_game BOOLEAN
|
||||
, a_get_inactive_game BOOLEAN
|
||||
, a_game_ids TEXT
|
||||
, a_get_all_user BOOLEAN
|
||||
, a_get_inactive_user BOOLEAN
|
||||
, a_user_ids TEXT
|
||||
, a_require_all_id_filters_met BOOLEAN
|
||||
, a_require_any_id_filters_met BOOLEAN
|
||||
)
|
||||
@@ -24,38 +28,69 @@ RETURNS TABLE (
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
DECLARE
|
||||
v_access_user_id INT;
|
||||
v_get_all_game BOOLEAN;
|
||||
v_get_inactive_game BOOLEAN;
|
||||
v_game_ids TEXT;
|
||||
v_get_all_user BOOLEAN;
|
||||
v_get_inactive_user BOOLEAN;
|
||||
v_user_ids TEXT;
|
||||
v_require_all_id_filters_met BOOLEAN;
|
||||
v_require_any_id_filters_met BOOLEAN;
|
||||
BEGIN
|
||||
v_access_user_id := a_access_user_id;
|
||||
v_get_all_game := COALESCE(a_get_all_game, FALSE);
|
||||
v_get_inactive_game := COALESCE(a_get_inactive_game, FALSE);
|
||||
v_game_ids := TRIM(COALESCE(a_game_ids, ''));
|
||||
v_get_all_user := COALESCE(a_get_all_user, FALSE);
|
||||
v_get_inactive_user := COALESCE(a_get_inactive_user, FALSE);
|
||||
v_user_ids := TRIM(COALESCE(a_user_ids, ''));
|
||||
v_require_all_id_filters_met := COALESCE(a_require_all_id_filters_met, FALSE);
|
||||
v_require_any_id_filters_met := COALESCE(a_require_any_id_filters_met, FALSE);
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1) THEN
|
||||
RAISE EXCEPTION 'Access User ID required.';
|
||||
END IF;
|
||||
|
||||
-- Outputs
|
||||
RETURN QUERY
|
||||
WITH User_Name AS (
|
||||
SELECT
|
||||
TCG_USER.user_id
|
||||
, CASE
|
||||
WHEN
|
||||
TRIM(COALESCE(TCG_USER.firstname, '')) <> ''
|
||||
AND TRIM(COALESCE(TCG_USER.surname, '')) <> ''
|
||||
THEN CONCAT(
|
||||
TRIM(COALESCE(TCG_USER.firstname, ''))
|
||||
, ' '
|
||||
, TRIM(COALESCE(TCG_USER.surname, ''))
|
||||
)
|
||||
WHEN TRIM(COALESCE(TCG_USER.firstname, '')) <> ''
|
||||
THEN TRIM(COALESCE(TCG_USER.firstname, ''))
|
||||
ELSE TRIM(COALESCE(TCG_USER.surname, ''))
|
||||
END AS name
|
||||
FROM tcg.public.TCG_User TCG_USER
|
||||
)
|
||||
WITH
|
||||
User_Name AS (
|
||||
SELECT
|
||||
TCG_USER.user_id
|
||||
, CASE
|
||||
WHEN
|
||||
TRIM(COALESCE(TCG_USER.firstname, '')) <> ''
|
||||
AND TRIM(COALESCE(TCG_USER.surname, '')) <> ''
|
||||
THEN CONCAT(
|
||||
TRIM(COALESCE(TCG_USER.firstname, ''))
|
||||
, ' '
|
||||
, TRIM(COALESCE(TCG_USER.surname, ''))
|
||||
)
|
||||
WHEN TRIM(COALESCE(TCG_USER.firstname, '')) <> ''
|
||||
THEN TRIM(COALESCE(TCG_USER.firstname, ''))
|
||||
ELSE TRIM(COALESCE(TCG_USER.surname, ''))
|
||||
END AS name
|
||||
FROM tcg.public.TCG_User TCG_USER
|
||||
)
|
||||
, Access_Game AS (
|
||||
SELECT
|
||||
GAME.game_id
|
||||
, GAME.active
|
||||
, GAME.created_on
|
||||
, GAME.created_by_user_id
|
||||
FROM tcg.public.FN_TCG_MTG_Game_Get_Many (
|
||||
a_access_user_id := v_access_user_id
|
||||
, a_get_all_game := v_get_all_game
|
||||
, a_get_inactive_game := v_get_inactive_game
|
||||
, a_game_ids := v_game_ids
|
||||
, a_get_all_user := v_get_all_user
|
||||
, a_get_inactive_user := v_get_inactive_user
|
||||
, a_user_ids := v_user_ids
|
||||
, a_require_all_id_filters_met := v_require_all_id_filters_met
|
||||
, a_require_any_id_filters_met := v_require_any_id_filters_met
|
||||
) GAME
|
||||
)
|
||||
SELECT
|
||||
PLAYER.player_id
|
||||
, PLAYER.game_id
|
||||
@@ -86,7 +121,7 @@ BEGIN
|
||||
, PLAYER.updated_last_by_user_id
|
||||
, PLAYER.change_set_id
|
||||
FROM tcg.public.TCG_MTG_Game_Player PLAYER
|
||||
INNER JOIN tcg.public.TCG_MTG_Game GAME ON PLAYER.game_id = GAME.game_id
|
||||
INNER JOIN Access_Game GAME ON PLAYER.game_id = GAME.game_id
|
||||
-- LEFT JOIN tcg.public.TCG_User TCG_USER ON PLAYER.user_id = TCG_USER.user_id
|
||||
LEFT JOIN User_Name USER_NAME ON PLAYER.user_id = USER_NAME.user_id
|
||||
LEFT JOIN tcg.public.TCG_MTG_Deck DECK ON PLAYER.deck_id = DECK.deck_id
|
||||
@@ -102,6 +137,11 @@ BEGIN
|
||||
v_get_all_game
|
||||
OR PLAYER.game_id = ANY(string_to_array(v_game_ids, ',')::INT[])
|
||||
)
|
||||
AND (
|
||||
v_get_all_user
|
||||
OR GAME.created_by_user_id = ANY(string_to_array(v_user_ids, ',')::INT[])
|
||||
OR PLAYER.user_id = ANY(string_to_array(v_user_ids, ',')::INT[])
|
||||
)
|
||||
)
|
||||
OR (
|
||||
NOT v_require_all_id_filters_met
|
||||
@@ -110,12 +150,24 @@ BEGIN
|
||||
v_get_all_game
|
||||
OR PLAYER.game_id = ANY(string_to_array(v_game_ids, ',')::INT[])
|
||||
)
|
||||
AND (
|
||||
v_get_all_user
|
||||
OR GAME.created_by_user_id = ANY(string_to_array(v_user_ids, ',')::INT[])
|
||||
OR PLAYER.user_id = ANY(string_to_array(v_user_ids, ',')::INT[])
|
||||
)
|
||||
)
|
||||
)
|
||||
AND (
|
||||
v_get_inactive_game
|
||||
OR GAME.active
|
||||
)
|
||||
AND (
|
||||
(
|
||||
v_get_inactive_game
|
||||
AND v_get_inactive_user
|
||||
)
|
||||
OR PLAYER.active
|
||||
)
|
||||
ORDER BY
|
||||
GAME.created_on DESC
|
||||
, PLAYER.display_order
|
||||
@@ -126,9 +178,13 @@ $$;
|
||||
|
||||
SELECT *
|
||||
FROM tcg.public.FN_TCG_MTG_Game_Player_Get_Many (
|
||||
a_get_all_game := FALSE
|
||||
a_access_user_id := 5
|
||||
, a_get_all_game := TRUE
|
||||
, a_get_inactive_game := FALSE
|
||||
, a_game_ids := '34'
|
||||
, a_get_all_user := FALSE
|
||||
, a_get_inactive_user := FALSE
|
||||
, a_user_ids := '5'
|
||||
, a_require_all_id_filters_met := TRUE
|
||||
, a_require_any_id_filters_met := FALSE
|
||||
)
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
|
||||
CREATE OR REPLACE FUNCTION tcg.public.FN_TCG_MTG_Game_Round_Get_Many (
|
||||
a_get_all_game BOOLEAN
|
||||
a_access_user_id INT
|
||||
, a_get_all_game BOOLEAN
|
||||
, a_get_inactive_game BOOLEAN
|
||||
, a_game_ids TEXT
|
||||
, a_get_all_user BOOLEAN
|
||||
, a_get_inactive_user BOOLEAN
|
||||
, a_user_ids TEXT
|
||||
, a_require_all_id_filters_met BOOLEAN
|
||||
, a_require_any_id_filters_met BOOLEAN
|
||||
)
|
||||
@@ -21,33 +25,68 @@ RETURNS TABLE (
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
DECLARE
|
||||
v_access_user_id INT;
|
||||
v_can_admin BOOLEAN;
|
||||
v_get_all_game BOOLEAN;
|
||||
v_get_inactive_game BOOLEAN;
|
||||
v_game_ids TEXT;
|
||||
v_get_all_user BOOLEAN;
|
||||
v_get_inactive_user BOOLEAN;
|
||||
v_user_ids TEXT;
|
||||
v_require_all_id_filters_met BOOLEAN;
|
||||
v_require_any_id_filters_met BOOLEAN;
|
||||
BEGIN
|
||||
v_access_user_id := a_access_user_id;
|
||||
v_get_all_game := COALESCE(a_get_all_game, FALSE);
|
||||
v_get_inactive_game := COALESCE(a_get_inactive_game, FALSE);
|
||||
v_game_ids := TRIM(COALESCE(a_game_ids, ''));
|
||||
v_get_all_user := COALESCE(a_get_all_user, FALSE);
|
||||
v_get_inactive_user := COALESCE(a_get_inactive_user, FALSE);
|
||||
v_user_ids := TRIM(COALESCE(a_user_ids, ''));
|
||||
v_require_all_id_filters_met := COALESCE(a_require_all_id_filters_met, FALSE);
|
||||
v_require_any_id_filters_met := COALESCE(a_require_any_id_filters_met, FALSE);
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1) THEN
|
||||
RAISE EXCEPTION 'Access User ID required.';
|
||||
END IF;
|
||||
|
||||
v_can_admin := COALESCE((SELECT TCG_USER.is_super_user FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1), FALSE);
|
||||
|
||||
-- Outputs
|
||||
|
||||
RETURN QUERY SELECT
|
||||
ROUND.round_id
|
||||
, ROUND.game_id
|
||||
, ROUND.notes
|
||||
, ROUND.display_order
|
||||
, ROUND.active
|
||||
, ROUND.created_on
|
||||
, ROUND.created_by_user_id
|
||||
, ROUND.updated_last_on
|
||||
, ROUND.updated_last_by_user_id
|
||||
, ROUND.change_set_id
|
||||
FROM tcg.public.TCG_MTG_Game_Round ROUND
|
||||
INNER JOIN tcg.public.TCG_MTG_Game GAME ON ROUND.game_id = GAME.game_id
|
||||
RETURN QUERY
|
||||
WITH Access_Game AS (
|
||||
SELECT
|
||||
GAME.game_id
|
||||
, GAME.active
|
||||
, GAME.created_on
|
||||
, GAME.created_by_user_id
|
||||
FROM tcg.public.FN_TCG_MTG_Game_Get_Many (
|
||||
a_access_user_id := v_access_user_id
|
||||
, a_get_all_game := v_get_all_game
|
||||
, a_get_inactive_game := v_get_inactive_game
|
||||
, a_game_ids := v_game_ids
|
||||
, a_get_all_user := v_get_all_user
|
||||
, a_get_inactive_user := v_get_inactive_user
|
||||
, a_user_ids := v_user_ids
|
||||
, a_require_all_id_filters_met := v_require_all_id_filters_met
|
||||
, a_require_any_id_filters_met := v_require_any_id_filters_met
|
||||
) GAME
|
||||
)
|
||||
SELECT
|
||||
TCG_ROUND.round_id
|
||||
, TCG_ROUND.game_id
|
||||
, TCG_ROUND.notes
|
||||
, TCG_ROUND.display_order
|
||||
, TCG_ROUND.active
|
||||
, TCG_ROUND.created_on
|
||||
, TCG_ROUND.created_by_user_id
|
||||
, TCG_ROUND.updated_last_on
|
||||
, TCG_ROUND.updated_last_by_user_id
|
||||
, TCG_ROUND.change_set_id
|
||||
FROM tcg.public.TCG_MTG_Game_Round TCG_ROUND
|
||||
INNER JOIN Access_Game ACCESS_GAME ON TCG_ROUND.game_id = ACCESS_GAME.game_id
|
||||
INNER JOIN tcg.public.TCG_MTG_Game GAME ON TCG_ROUND.game_id = GAME.game_id
|
||||
WHERE
|
||||
(
|
||||
(
|
||||
@@ -58,7 +97,7 @@ BEGIN
|
||||
v_require_all_id_filters_met
|
||||
AND (
|
||||
v_get_all_game
|
||||
OR ROUND.game_id = ANY(string_to_array(v_game_ids, ',')::INT[])
|
||||
OR TCG_ROUND.game_id = ANY(string_to_array(v_game_ids, ',')::INT[])
|
||||
)
|
||||
)
|
||||
OR (
|
||||
@@ -66,17 +105,17 @@ BEGIN
|
||||
AND v_require_any_id_filters_met
|
||||
AND (
|
||||
v_get_all_game
|
||||
OR ROUND.game_id = ANY(string_to_array(v_game_ids, ',')::INT[])
|
||||
OR TCG_ROUND.game_id = ANY(string_to_array(v_game_ids, ',')::INT[])
|
||||
)
|
||||
)
|
||||
)
|
||||
AND (
|
||||
v_get_inactive_game
|
||||
OR ROUND.active
|
||||
OR TCG_ROUND.active
|
||||
)
|
||||
ORDER BY
|
||||
GAME.created_on DESC
|
||||
, ROUND.display_order
|
||||
, TCG_ROUND.display_order
|
||||
;
|
||||
END;
|
||||
$$;
|
||||
@@ -84,9 +123,13 @@ $$;
|
||||
|
||||
SELECT *
|
||||
FROM tcg.public.FN_TCG_MTG_Game_Round_Get_Many (
|
||||
a_get_all_game := FALSE
|
||||
a_access_user_id := 3
|
||||
, a_get_all_game := FALSE
|
||||
, a_get_inactive_game := FALSE
|
||||
, a_game_ids := '11'
|
||||
, a_get_all_user := TRUE
|
||||
, a_get_inactive_user := FALSE
|
||||
, a_user_ids := ''
|
||||
, a_require_all_id_filters_met := TRUE
|
||||
, a_require_any_id_filters_met := FALSE
|
||||
)
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
|
||||
CREATE OR REPLACE FUNCTION tcg.public.FN_TCG_MTG_Game_Round_Player_Damage_Get_Many (
|
||||
a_get_all_game BOOLEAN
|
||||
a_access_user_id INT
|
||||
, a_get_all_game BOOLEAN
|
||||
, a_get_inactive_game BOOLEAN
|
||||
, a_game_ids TEXT
|
||||
, a_get_all_user BOOLEAN
|
||||
, a_get_inactive_user BOOLEAN
|
||||
, a_user_ids TEXT
|
||||
, a_require_all_id_filters_met BOOLEAN
|
||||
, a_require_any_id_filters_met BOOLEAN
|
||||
)
|
||||
@@ -21,24 +25,62 @@ RETURNS TABLE (
|
||||
, updated_last_on TIMESTAMP
|
||||
, updated_last_by_user_id INT
|
||||
, change_set_id INT
|
||||
, game_created_on TIMESTAMP
|
||||
, round_display_order INT
|
||||
, player_display_order INT
|
||||
)
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
DECLARE
|
||||
v_access_user_id INT;
|
||||
v_can_admin BOOLEAN;
|
||||
v_get_all_game BOOLEAN;
|
||||
v_get_inactive_game BOOLEAN;
|
||||
v_game_ids TEXT;
|
||||
v_get_all_user BOOLEAN;
|
||||
v_get_inactive_user BOOLEAN;
|
||||
v_user_ids TEXT;
|
||||
v_require_all_id_filters_met BOOLEAN;
|
||||
v_require_any_id_filters_met BOOLEAN;
|
||||
BEGIN
|
||||
v_access_user_id := a_access_user_id;
|
||||
v_get_all_game := COALESCE(a_get_all_game, FALSE);
|
||||
v_get_inactive_game := COALESCE(a_get_inactive_game, FALSE);
|
||||
v_game_ids := TRIM(COALESCE(a_game_ids, ''));
|
||||
v_get_all_user := COALESCE(a_get_all_user, FALSE);
|
||||
v_get_inactive_user := COALESCE(a_get_inactive_user, FALSE);
|
||||
v_user_ids := TRIM(COALESCE(a_user_ids, ''));
|
||||
v_require_all_id_filters_met := COALESCE(a_require_all_id_filters_met, FALSE);
|
||||
v_require_any_id_filters_met := COALESCE(a_require_any_id_filters_met, FALSE);
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1) THEN
|
||||
RAISE EXCEPTION 'Access User ID required.';
|
||||
END IF;
|
||||
|
||||
v_can_admin := COALESCE((SELECT TCG_USER.is_super_user FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1), FALSE);
|
||||
|
||||
-- Outputs
|
||||
RETURN QUERY SELECT
|
||||
RETURN QUERY
|
||||
WITH Access_Player AS (
|
||||
SELECT
|
||||
PLAYER.player_id
|
||||
, PLAYER.game_id
|
||||
, PLAYER.user_id
|
||||
, PLAYER.deck_id
|
||||
, PLAYER.active
|
||||
FROM tcg.public.FN_TCG_MTG_Game_Player_Get_Many (
|
||||
a_access_user_id := v_access_user_id
|
||||
, a_get_all_game := v_get_all_game
|
||||
, a_get_inactive_game := v_get_inactive_game
|
||||
, a_game_ids := v_game_ids
|
||||
, a_get_all_user := v_get_all_user
|
||||
, a_get_inactive_user := v_get_inactive_user
|
||||
, a_user_ids := v_user_ids
|
||||
, a_require_all_id_filters_met := v_require_all_id_filters_met
|
||||
, a_require_any_id_filters_met := v_require_any_id_filters_met
|
||||
) PLAYER
|
||||
)
|
||||
SELECT DISTINCT
|
||||
PLAYER_DAMAGE.damage_id
|
||||
, PLAYER_DAMAGE.round_id
|
||||
, PLAYER_DAMAGE.player_id
|
||||
@@ -53,7 +95,11 @@ BEGIN
|
||||
, PLAYER_DAMAGE.updated_last_on
|
||||
, PLAYER_DAMAGE.updated_last_by_user_id
|
||||
, PLAYER_DAMAGE.change_set_id
|
||||
, GAME.created_on AS game_created_on
|
||||
, GAME_ROUND.display_order AS round_display_order
|
||||
, PLAYER.display_order AS player_display_order
|
||||
FROM tcg.public.TCG_MTG_Game_Round_Player_Damage PLAYER_DAMAGE
|
||||
INNER JOIN Access_Player ACCESS_PLAYER ON PLAYER_DAMAGE.player_id = ACCESS_PLAYER.player_id
|
||||
INNER JOIN tcg.public.TCG_MTG_Game_Round GAME_ROUND ON PLAYER_DAMAGE.round_id = GAME_ROUND.round_id
|
||||
INNER JOIN tcg.public.TCG_MTG_Game GAME ON GAME_ROUND.game_id = GAME.game_id
|
||||
INNER JOIN tcg.public.TCG_MTG_Game_Player PLAYER ON PLAYER_DAMAGE.player_id = PLAYER.player_id
|
||||
@@ -95,9 +141,13 @@ $$;
|
||||
|
||||
SELECT *
|
||||
FROM tcg.public.FN_TCG_MTG_Game_Round_Player_Damage_Get_Many (
|
||||
a_get_all_game := FALSE
|
||||
a_access_user_id := 3
|
||||
, a_get_all_game := FALSE
|
||||
, a_get_inactive_game := FALSE
|
||||
, a_game_ids := '30'
|
||||
, a_get_all_user := TRUE
|
||||
, a_get_inactive_user := FALSE
|
||||
, a_user_ids := ''
|
||||
, a_require_all_id_filters_met := TRUE
|
||||
, a_require_any_id_filters_met := FALSE
|
||||
)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
|
||||
CREATE OR REPLACE FUNCTION tcg.public.FN_TCG_MTG_Game_Session_Member_Get_Many (
|
||||
a_get_inactive_session_member BOOLEAN
|
||||
a_access_user_id INT
|
||||
, a_get_inactive_session_member BOOLEAN
|
||||
, a_get_all_game BOOLEAN
|
||||
, a_get_inactive_game BOOLEAN
|
||||
, a_game_ids TEXT
|
||||
@@ -24,6 +25,8 @@ RETURNS TABLE (
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
DECLARE
|
||||
v_access_user_id INT;
|
||||
v_can_admin BOOLEAN;
|
||||
v_get_inactive_session_member BOOLEAN;
|
||||
v_get_all_game BOOLEAN;
|
||||
v_get_inactive_game BOOLEAN;
|
||||
@@ -36,6 +39,7 @@ DECLARE
|
||||
-- , v_require_all_non_id_filters_met BOOLEAN
|
||||
-- , v_require_any_non_id_filters_met BOOLEAN
|
||||
BEGIN
|
||||
v_access_user_id := a_access_user_id;
|
||||
v_get_inactive_session_member := COALESCE(a_get_inactive_session_member, FALSE);
|
||||
v_get_all_game := COALESCE(a_get_all_game, FALSE);
|
||||
v_get_inactive_game := COALESCE(a_get_inactive_game, FALSE);
|
||||
@@ -46,8 +50,33 @@ BEGIN
|
||||
v_require_all_id_filters_met := COALESCE(a_require_all_id_filters_met, FALSE);
|
||||
v_require_any_id_filters_met := COALESCE(a_require_any_id_filters_met, FALSE);
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1) THEN
|
||||
RAISE EXCEPTION 'Access User ID required.';
|
||||
END IF;
|
||||
|
||||
v_can_admin := COALESCE((SELECT TCG_USER.is_super_user FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1), FALSE);
|
||||
|
||||
-- Outputs
|
||||
RETURN QUERY SELECT
|
||||
RETURN QUERY
|
||||
WITH Access_Game AS (
|
||||
SELECT
|
||||
GAME.game_id
|
||||
, GAME.active
|
||||
, GAME.created_on
|
||||
, GAME.created_by_user_id
|
||||
FROM tcg.public.FN_TCG_MTG_Game_Get_Many (
|
||||
a_access_user_id := v_access_user_id
|
||||
, a_get_all_game := v_get_all_game
|
||||
, a_get_inactive_game := v_get_inactive_game
|
||||
, a_game_ids := v_game_ids
|
||||
, a_get_all_user := v_get_all_user
|
||||
, a_get_inactive_user := v_get_inactive_user
|
||||
, a_user_ids := v_user_ids
|
||||
, a_require_all_id_filters_met := v_require_all_id_filters_met
|
||||
, a_require_any_id_filters_met := v_require_any_id_filters_met
|
||||
) GAME
|
||||
)
|
||||
SELECT
|
||||
SESSION_MEMBER.member_id
|
||||
, SESSION_MEMBER.game_id
|
||||
, SESSION_MEMBER.user_id
|
||||
@@ -58,6 +87,7 @@ BEGIN
|
||||
, SESSION_MEMBER.updated_last_on
|
||||
, SESSION_MEMBER.updated_last_by_user_id
|
||||
FROM tcg.public.TCG_MTG_Game_Session_Member SESSION_MEMBER
|
||||
INNER JOIN Access_Game ACCESS_GAME ON SESSION_MEMBER.game_id = ACCESS_GAME.game_id
|
||||
INNER JOIN tcg.public.TCG_MTG_Game GAME ON SESSION_MEMBER.game_id = GAME.game_id
|
||||
INNER JOIN tcg.public.TCG_User MEMBER_USER ON SESSION_MEMBER.user_id = MEMBER_USER.user_id
|
||||
WHERE
|
||||
@@ -113,7 +143,8 @@ $$;
|
||||
|
||||
SELECT *
|
||||
FROM tcg.public.FN_TCG_MTG_Game_Session_Member_Get_Many (
|
||||
a_get_inactive_session_member := FALSE
|
||||
a_access_user_id := 4
|
||||
, a_get_inactive_session_member := FALSE
|
||||
, a_get_all_game := TRUE
|
||||
, a_get_inactive_game := FALSE
|
||||
, a_game_ids := ''
|
||||
@@ -125,11 +156,11 @@ FROM tcg.public.FN_TCG_MTG_Game_Session_Member_Get_Many (
|
||||
)
|
||||
;
|
||||
|
||||
/*
|
||||
SELECT *
|
||||
FROM tcg.public.TCG_MTG_Game_Session_Member
|
||||
;
|
||||
|
||||
/*
|
||||
SELECT *
|
||||
FROM tcg.public.TCG_User
|
||||
;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
|
||||
CREATE OR REPLACE FUNCTION tcg.public.FN_TCG_Statistic_Get_Many (
|
||||
a_get_all_statistic BOOLEAN
|
||||
a_access_user_id INT
|
||||
, a_get_all_statistic BOOLEAN
|
||||
, a_get_inactive_statistic BOOLEAN
|
||||
, a_statistic_ids TEXT
|
||||
, a_entity_type_codes TEXT
|
||||
@@ -34,7 +35,9 @@ RETURNS TABLE (
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
DECLARE
|
||||
v_get_all_statistic BOOLEAN;
|
||||
v_access_user_id INT;
|
||||
v_can_admin BOOLEAN;
|
||||
v_get_all_statistic BOOLEAN;
|
||||
v_get_inactive_statistic BOOLEAN;
|
||||
v_statistic_ids TEXT;
|
||||
v_entity_type_codes TEXT;
|
||||
@@ -42,6 +45,7 @@ DECLARE
|
||||
v_require_all_id_filters_met BOOLEAN;
|
||||
v_require_any_id_filters_met BOOLEAN;
|
||||
BEGIN
|
||||
v_access_user_id := a_access_user_id;
|
||||
v_get_all_statistic := COALESCE(a_get_all_statistic, FALSE);
|
||||
v_get_inactive_statistic := COALESCE(a_get_inactive_statistic, FALSE);
|
||||
v_statistic_ids := TRIM(COALESCE(a_statistic_ids, ''));
|
||||
@@ -50,6 +54,12 @@ BEGIN
|
||||
v_require_all_id_filters_met := COALESCE(a_require_all_id_filters_met, FALSE);
|
||||
v_require_any_id_filters_met := COALESCE(a_require_any_id_filters_met, FALSE);
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1) THEN
|
||||
RAISE EXCEPTION 'Access User ID required.';
|
||||
END IF;
|
||||
|
||||
v_can_admin := COALESCE((SELECT TCG_USER.is_super_user FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1), FALSE);
|
||||
|
||||
-- Outputs
|
||||
RETURN QUERY SELECT
|
||||
STATISTIC.statistic_id
|
||||
@@ -113,7 +123,8 @@ $$;
|
||||
|
||||
SELECT *
|
||||
FROM tcg.public.FN_TCG_Statistic_Get_Many (
|
||||
a_get_all_statistic := FALSE
|
||||
a_access_user_id := 3
|
||||
, a_get_all_statistic := FALSE
|
||||
, a_get_inactive_statistic := FALSE
|
||||
, a_statistic_ids := ''
|
||||
, a_entity_type_codes := 'deck'
|
||||
|
||||
@@ -32,23 +32,23 @@ BEGIN
|
||||
)
|
||||
-- Changed name
|
||||
SELECT NEW.rarity_id, 'name', OLD.name, NEW.name, NEW.change_set_id
|
||||
WHERE OLD.name IS NOT DISTINCT FROM NEW.name
|
||||
WHERE OLD.name IS DISTINCT FROM NEW.name
|
||||
UNION
|
||||
-- Changed colour_name
|
||||
SELECT NEW.rarity_id, 'colour_name', OLD.colour_name, NEW.colour_name, NEW.change_set_id
|
||||
WHERE OLD.colour_name IS NOT DISTINCT FROM NEW.colour_name
|
||||
WHERE OLD.colour_name IS DISTINCT FROM NEW.colour_name
|
||||
UNION
|
||||
-- Changed price_ratio_min
|
||||
SELECT NEW.rarity_id, 'price_ratio_min', OLD.price_ratio_min::TEXT, NEW.price_ratio_min::TEXT, NEW.change_set_id
|
||||
WHERE OLD.price_ratio_min IS NOT DISTINCT FROM NEW.price_ratio_min
|
||||
WHERE OLD.price_ratio_min IS DISTINCT FROM NEW.price_ratio_min
|
||||
UNION
|
||||
-- Changed price_ratio_max
|
||||
SELECT NEW.rarity_id, 'price_ratio_max', OLD.price_ratio_max::TEXT, NEW.price_ratio_max::TEXT, NEW.change_set_id
|
||||
WHERE OLD.price_ratio_max IS NOT DISTINCT FROM NEW.price_ratio_max
|
||||
WHERE OLD.price_ratio_max IS DISTINCT FROM NEW.price_ratio_max
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.rarity_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -17,7 +17,7 @@
|
||||
td:not([class]):last-child {
|
||||
padding: 0 1em;
|
||||
}
|
||||
</style></head><body><div><main> <h1>Report</h1> <div><h2>About the Evaluation</h2> <dl><dt>Report Creator </dt><dd>Lord Edward Middleton-Smith </dd><dt>Evaluation Commissioner </dt><dd>Lord Edward Middleton-Smith </dd><dt>Evaluation date </dt><dd>Tue Apr 30 2024</dd></dl> </div> <div><h2>Executive Summary</h2> <div><span>Not provided</span></div> </div> <div><h2>Scope of the Evaluation</h2> <dl><dt>Website name </dt><dd>Public Website of Precision And Research Technology Systems Limited </dd><dt>Scope of the website </dt><dd>'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://commander.mtg.teddy.org.uk/ </dd><dt>WCAG Version </dt><dd>2.2 </dd><dt>Conformance target </dt><dd>AA </dd><dt>Accessibility support baseline </dt><dd>Google Chrome with NVDA, FireFox with NVDA, Ecosia mobile browser with TalkBack. </dd><dt>Additional evaluation requirements </dt><dd><span>Not provided</span></dd></dl> </div> <h2>Detailed Audit Results</h2> <h3>Summary</h3> <p>Reported on 55 of 55 WCAG 2.2 AA
|
||||
</style></head><body><div><main> <h1>Report</h1> <div><h2>About the Evaluation</h2> <dl><dt>Report Creator </dt><dd>Lord Edward Middleton-Smith </dd><dt>Evaluation Commissioner </dt><dd>Lord Edward Middleton-Smith </dd><dt>Evaluation date </dt><dd>Tue Apr 30 2024</dd></dl> </div> <div><h2>Executive Summary</h2> <div><span>Not provided</span></div> </div> <div><h2>Scope of the Evaluation</h2> <dl><dt>Website name </dt><dd>Public Website of Shuffle & Skirmish </dd><dt>Scope of the website </dt><dd>'All web content of the public mobile and desktop website of Shuffle & Skirmish located at https://commander.mtg.teddy.org.uk/ </dd><dt>WCAG Version </dt><dd>2.2 </dd><dt>Conformance target </dt><dd>AA </dd><dt>Accessibility support baseline </dt><dd>Google Chrome with NVDA, FireFox with NVDA, Ecosia mobile browser with TalkBack. </dd><dt>Additional evaluation requirements </dt><dd><span>Not provided</span></dd></dl> </div> <h2>Detailed Audit Results</h2> <h3>Summary</h3> <p>Reported on 55 of 55 WCAG 2.2 AA
|
||||
Success Criteria.</p> <ul><li><span>41</span> <span>Passed</span></li><li><span>0</span> <span>Failed</span></li><li><span>0</span> <span>Cannot tell</span></li><li><span>14</span> <span>Not present</span></li><li><span>0</span> <span>Not checked</span></li></ul> <h3>All Results</h3> <h4>1 Perceivable</h4> <h5 id="guideline-11">1.1 Text Alternatives</h5> <table aria-labelledby="guideline-11"><tbody><tr><th scope="col">Success Criterion</th> <th scope="col">Result</th> <th scope="col">Observations</th> </tr> <tr><th scope="row" id="criterion-111">1.1.1: Non-text Content</th> <td> <p><span>Result:</span> Passed</p> </td> <td> <p>Observations:</p> <p>All user input controls have descriptive names and v2 Google reCaptcha used with text label to identify to user that they must check the box to prove they are not a bot.</p>
|
||||
</td> </tr></tbody> </table><h5 id="guideline-12">1.2 Time-based Media</h5> <table aria-labelledby="guideline-12"><tbody><tr><th scope="col">Success Criterion</th> <th scope="col">Result</th> <th scope="col">Observations</th> </tr> <tr><th scope="row" id="criterion-121">1.2.1: Audio-only and Video-only (Prerecorded)</th> <td> <p><span>Result:</span> Not present</p> </td> <td> </td> </tr><tr><th scope="row" id="criterion-122">1.2.2: Captions (Prerecorded)</th> <td> <p><span>Result:</span> Not present</p> </td> <td> </td> </tr><tr><th scope="row" id="criterion-123">1.2.3: Audio Description or Media Alternative (Prerecorded)</th> <td> <p><span>Result:</span> Not present</p> </td> <td> </td> </tr><tr><th scope="row" id="criterion-124">1.2.4: Captions (Live)</th> <td> <p><span>Result:</span> Not present</p> </td> <td> </td> </tr><tr><th scope="row" id="criterion-125">1.2.5: Audio Description (Prerecorded)</th> <td> <p><span>Result:</span> Not present</p> </td> <td> </td> </tr></tbody> </table><h5 id="guideline-13">1.3 Adaptable</h5> <table aria-labelledby="guideline-13"><tbody><tr><th scope="col">Success Criterion</th> <th scope="col">Result</th> <th scope="col">Observations</th> </tr> <tr><th scope="row" id="criterion-131">1.3.1: Info and Relationships</th> <td> <p><span>Result:</span> Passed</p> </td> <td> <p>Observations:</p> <p>Elements change in response to zoom and viewport dimensions properly. Aria-label provided for all images.</p>
|
||||
</td> </tr><tr><th scope="row" id="criterion-132">1.3.2: Meaningful Sequence</th> <td> <p><span>Result:</span> Passed</p> </td> <td> <p>Observations:</p> <p>Flow layout keeps associated sections together but allows dynamic structure depending on size of elements relative to screen.</p>
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
<!-- HTML content -->
|
||||
<div class="{{ model.FLAG_CARD }} {{ model.FLAG_COLUMN }}">
|
||||
<p>Copyright © 2024 Precision And Research Technology Systems Limited
|
||||
<p>Copyright © 2024 Shuffle & Skirmish
|
||||
</p>
|
||||
<p>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
</p>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
td:not([class]):last-child {
|
||||
padding: 0 1em;
|
||||
}
|
||||
</style></head><body><div><main> <h1>Report</h1> <div><h2>About the Evaluation</h2> <dl><dt>Report Creator </dt><dd>Lord Edward Middleton-Smith </dd><dt>Evaluation Commissioner </dt><dd>Lord Edward Middleton-Smith </dd><dt>Evaluation date </dt><dd>Tue Apr 30 2024</dd></dl> </div> <div><h2>Executive Summary</h2> <div><span>Not provided</span></div> </div> <div><h2>Scope of the Evaluation</h2> <dl><dt>Website name </dt><dd>Public Website of Precision And Research Technology Systems Limited </dd><dt>Scope of the website </dt><dd>'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://commander.mtg.teddy.org.uk/ </dd><dt>WCAG Version </dt><dd>2.2 </dd><dt>Conformance target </dt><dd>AA </dd><dt>Accessibility support baseline </dt><dd>Google Chrome with NVDA, FireFox with NVDA, Ecosia mobile browser with TalkBack. </dd><dt>Additional evaluation requirements </dt><dd><span>Not provided</span></dd></dl> </div> <h2>Detailed Audit Results</h2> <h3>Summary</h3> <p>Reported on 55 of 55 WCAG 2.2 AA
|
||||
</style></head><body><div><main> <h1>Report</h1> <div><h2>About the Evaluation</h2> <dl><dt>Report Creator </dt><dd>Lord Edward Middleton-Smith </dd><dt>Evaluation Commissioner </dt><dd>Lord Edward Middleton-Smith </dd><dt>Evaluation date </dt><dd>Tue Apr 30 2024</dd></dl> </div> <div><h2>Executive Summary</h2> <div><span>Not provided</span></div> </div> <div><h2>Scope of the Evaluation</h2> <dl><dt>Website name </dt><dd>Public Website of Shuffle & Skirmish </dd><dt>Scope of the website </dt><dd>'All web content of the public mobile and desktop website of Shuffle & Skirmish located at https://commander.mtg.teddy.org.uk/ </dd><dt>WCAG Version </dt><dd>2.2 </dd><dt>Conformance target </dt><dd>AA </dd><dt>Accessibility support baseline </dt><dd>Google Chrome with NVDA, FireFox with NVDA, Ecosia mobile browser with TalkBack. </dd><dt>Additional evaluation requirements </dt><dd><span>Not provided</span></dd></dl> </div> <h2>Detailed Audit Results</h2> <h3>Summary</h3> <p>Reported on 55 of 55 WCAG 2.2 AA
|
||||
Success Criteria.</p> <ul><li><span>41</span> <span>Passed</span></li><li><span>0</span> <span>Failed</span></li><li><span>0</span> <span>Cannot tell</span></li><li><span>14</span> <span>Not present</span></li><li><span>0</span> <span>Not checked</span></li></ul> <h3>All Results</h3> <h4>1 Perceivable</h4> <h5 id="guideline-11">1.1 Text Alternatives</h5> <table aria-labelledby="guideline-11"><tbody><tr><th scope="col">Success Criterion</th> <th scope="col">Result</th> <th scope="col">Observations</th> </tr> <tr><th scope="row" id="criterion-111">1.1.1: Non-text Content</th> <td> <p><span>Result:</span> Passed</p> </td> <td> <p>Observations:</p> <p>All user input controls have descriptive names and v2 Google reCaptcha used with text label to identify to user that they must check the box to prove they are not a bot.</p>
|
||||
</td> </tr></tbody> </table><h5 id="guideline-12">1.2 Time-based Media</h5> <table aria-labelledby="guideline-12"><tbody><tr><th scope="col">Success Criterion</th> <th scope="col">Result</th> <th scope="col">Observations</th> </tr> <tr><th scope="row" id="criterion-121">1.2.1: Audio-only and Video-only (Prerecorded)</th> <td> <p><span>Result:</span> Not present</p> </td> <td> </td> </tr><tr><th scope="row" id="criterion-122">1.2.2: Captions (Prerecorded)</th> <td> <p><span>Result:</span> Not present</p> </td> <td> </td> </tr><tr><th scope="row" id="criterion-123">1.2.3: Audio Description or Media Alternative (Prerecorded)</th> <td> <p><span>Result:</span> Not present</p> </td> <td> </td> </tr><tr><th scope="row" id="criterion-124">1.2.4: Captions (Live)</th> <td> <p><span>Result:</span> Not present</p> </td> <td> </td> </tr><tr><th scope="row" id="criterion-125">1.2.5: Audio Description (Prerecorded)</th> <td> <p><span>Result:</span> Not present</p> </td> <td> </td> </tr></tbody> </table><h5 id="guideline-13">1.3 Adaptable</h5> <table aria-labelledby="guideline-13"><tbody><tr><th scope="col">Success Criterion</th> <th scope="col">Result</th> <th scope="col">Observations</th> </tr> <tr><th scope="row" id="criterion-131">1.3.1: Info and Relationships</th> <td> <p><span>Result:</span> Passed</p> </td> <td> <p>Observations:</p> <p>Elements change in response to zoom and viewport dimensions properly. Aria-label provided for all images.</p>
|
||||
</td> </tr><tr><th scope="row" id="criterion-132">1.3.2: Meaningful Sequence</th> <td> <p><span>Result:</span> Passed</p> </td> <td> <p>Observations:</p> <p>Flow layout keeps associated sections together but allows dynamic structure depending on size of elements relative to screen.</p>
|
||||
|
||||
Reference in New Issue
Block a user