Compare commits

...

3 Commits

Author SHA1 Message Date
0e865512ba Bump dependencies
All checks were successful
Ruff / ruff (push) Successful in 52s
Test / test (push) Successful in 3m29s
2024-09-03 11:08:58 -04:00
de36c6844c doorcontrol: Convert HIDEvent.raw_card_number to TextField
Turns out that those are not just representing a uint, and can be much
longer. Also Text fields in Postgres doesn't have any performance
penalty.
2024-09-03 11:05:32 -04:00
6c80ed05bd Enable pre-commit hook to check django migrations 2024-09-03 11:00:38 -04:00
7 changed files with 169 additions and 154 deletions

View File

@ -8,13 +8,13 @@ repos:
- id: check-added-large-files - id: check-added-large-files
- repo: https://github.com/Riverside-Healthcare/djLint - repo: https://github.com/Riverside-Healthcare/djLint
rev: v1.34.1 rev: v1.35.2
hooks: hooks:
- id: djlint-django - id: djlint-django
- id: djlint-reformat-django - id: djlint-reformat-django
- repo: https://github.com/astral-sh/ruff-pre-commit - repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.6.1 rev: v0.6.3
hooks: hooks:
- id: ruff - id: ruff
- id: ruff-format - id: ruff-format
@ -24,12 +24,11 @@ repos:
hooks: hooks:
- id: pdm-lock-check - id: pdm-lock-check
# TODO: waiting on django-recurrence 1.12 to be released on PyPi - repo: local
# - repo: local hooks:
# hooks: - id: django-migrations
# - id: django-migrations name: Check django migrations
# name: Check django migrations entry: pdm run ./manage.py makemigrations --check --dry-run
# entry: pdm run ./manage.py makemigrations --check --dry-run language: system
# language: system types: [python]
# types: [python] pass_filenames: false
# pass_filenames: false

View File

@ -0,0 +1,17 @@
# Generated by Django 5.1 on 2024-09-03 14:56
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("doorcontrol", "0001_initial"),
]
operations = [
migrations.AlterField(
model_name="hidevent",
name="raw_card_number",
field=models.TextField(blank=True, db_column="rawCardNumber", null=True),
),
]

View File

@ -159,9 +159,7 @@ class HIDEvent(models.Model):
io_state = models.BooleanField(blank=True, null=True, db_column="ioState") io_state = models.BooleanField(blank=True, null=True, db_column="ioState")
new_time = models.DateTimeField(blank=True, null=True, db_column="newTime") new_time = models.DateTimeField(blank=True, null=True, db_column="newTime")
old_time = models.DateTimeField(blank=True, null=True, db_column="oldTime") old_time = models.DateTimeField(blank=True, null=True, db_column="oldTime")
raw_card_number = models.CharField( raw_card_number = models.TextField(blank=True, null=True, db_column="rawCardNumber")
max_length=8, blank=True, null=True, db_column="rawCardNumber"
)
# Based on `function isRedEvent` from /html/hid-global.js on a HID EDGE EVO Solo # Based on `function isRedEvent` from /html/hid-global.js on a HID EDGE EVO Solo
is_red = models.GeneratedField( is_red = models.GeneratedField(

View File

@ -15,7 +15,7 @@
"prettier": "^3.3.3", "prettier": "^3.3.3",
"sass": "^1.77.8", "sass": "^1.77.8",
"typescript": "^5.5.4", "typescript": "^5.5.4",
"vite": "^5.4.1" "vite": "^5.4.2"
}, },
"dependencies": { "dependencies": {
"@popperjs/core": "^2.11.8", "@popperjs/core": "^2.11.8",

View File

@ -5,7 +5,7 @@
groups = ["default", "debug", "dev", "lint", "server", "typing"] groups = ["default", "debug", "dev", "lint", "server", "typing"]
strategy = ["inherit_metadata"] strategy = ["inherit_metadata"]
lock_version = "4.5.0" lock_version = "4.5.0"
content_hash = "sha256:5d6778ee41d2095320769ec21bd878f60d2bafbdcf9bc24ab484929311118978" content_hash = "sha256:2352a5fdfb84e6efba254f0874182ba0b5ff2522a6d6384d3610c2c18671008f"
[[metadata.targets]] [[metadata.targets]]
requires_python = "==3.11.*" requires_python = "==3.11.*"
@ -362,7 +362,7 @@ files = [
[[package]] [[package]]
name = "django" name = "django"
version = "5.1" version = "5.1.1"
requires_python = ">=3.10" requires_python = ">=3.10"
summary = "A high-level Python web framework that encourages rapid development and clean, pragmatic design." summary = "A high-level Python web framework that encourages rapid development and clean, pragmatic design."
groups = ["default", "debug", "dev", "typing"] groups = ["default", "debug", "dev", "typing"]
@ -373,8 +373,8 @@ dependencies = [
"tzdata; sys_platform == \"win32\"", "tzdata; sys_platform == \"win32\"",
] ]
files = [ files = [
{file = "Django-5.1-py3-none-any.whl", hash = "sha256:d3b811bf5371a26def053d7ee42a9df1267ef7622323fe70a601936725aa4557"}, {file = "Django-5.1.1-py3-none-any.whl", hash = "sha256:71603f27dac22a6533fb38d83072eea9ddb4017fead6f67f2562a40402d61c3f"},
{file = "Django-5.1.tar.gz", hash = "sha256:848a5980e8efb76eea70872fb0e4bc5e371619c70fffbe48e3e1b50b2c09455d"}, {file = "Django-5.1.1.tar.gz", hash = "sha256:021ffb7fdab3d2d388bc8c7c2434eb9c1f6f4d09e6119010bbb1694dda286bc2"},
] ]
[[package]] [[package]]
@ -874,28 +874,28 @@ files = [
[[package]] [[package]]
name = "djlint" name = "djlint"
version = "1.34.1" version = "1.35.2"
requires_python = ">=3.8.0,<4.0.0" requires_python = "<4.0,>=3.8"
summary = "HTML Template Linter and Formatter" summary = "HTML Template Linter and Formatter"
groups = ["lint"] groups = ["lint"]
marker = "python_version == \"3.11\"" marker = "python_version == \"3.11\""
dependencies = [ dependencies = [
"PyYAML<7.0,>=6.0", "PyYAML>=6.0",
"click<9.0.0,>=8.0.1", "click>=8.0.1",
"colorama<0.5.0,>=0.4.4", "colorama>=0.4.4",
"cssbeautifier<2.0.0,>=1.14.4", "cssbeautifier>=1.14.4",
"html-tag-names<0.2.0,>=0.1.2", "html-tag-names>=0.1.2",
"html-void-elements<0.2.0,>=0.1.0", "html-void-elements>=0.1.0",
"jsbeautifier<2.0.0,>=1.14.4", "jsbeautifier>=1.14.4",
"json5<0.10.0,>=0.9.11", "json5>=0.9.11",
"pathspec<0.13.0,>=0.12.0", "pathspec>=0.12.0",
"regex<2024.0.0,>=2023.0.0", "regex>=2023",
"tomli<3.0.0,>=2.0.1; python_version < \"3.11\"", "tomli>=2.0.1; python_version < \"3.11\"",
"tqdm<5.0.0,>=4.62.2", "tqdm>=4.62.2",
] ]
files = [ files = [
{file = "djlint-1.34.1-py3-none-any.whl", hash = "sha256:96ff1c464fb6f061130ebc88663a2ea524d7ec51f4b56221a2b3f0320a3cfce8"}, {file = "djlint-1.35.2-py3-none-any.whl", hash = "sha256:4ba995bad378f2afa77c8ea56ba1c14429d9ff26a18e8ae23bc71eedb9152243"},
{file = "djlint-1.34.1.tar.gz", hash = "sha256:db93fa008d19eaadb0454edf1704931d14469d48508daba2df9941111f408346"}, {file = "djlint-1.35.2.tar.gz", hash = "sha256:318de9d4b9b0061a111f8f5164ecbacd8215f449dd4bd5a76d2a691c815ee103"},
] ]
[[package]] [[package]]
@ -1018,7 +1018,7 @@ files = [
[[package]] [[package]]
name = "google-api-python-client" name = "google-api-python-client"
version = "2.142.0" version = "2.143.0"
requires_python = ">=3.7" requires_python = ">=3.7"
summary = "Google API Client Library for Python" summary = "Google API Client Library for Python"
groups = ["default", "typing"] groups = ["default", "typing"]
@ -1031,8 +1031,8 @@ dependencies = [
"uritemplate<5,>=3.0.1", "uritemplate<5,>=3.0.1",
] ]
files = [ files = [
{file = "google_api_python_client-2.142.0-py2.py3-none-any.whl", hash = "sha256:266799082bb8301f423ec204dffbffb470b502abbf29efd1f83e644d36eb5a8f"}, {file = "google_api_python_client-2.143.0-py2.py3-none-any.whl", hash = "sha256:d5654134522b9b574b82234e96f7e0aeeabcbf33643fbabcd449ef0068e3a476"},
{file = "google_api_python_client-2.142.0.tar.gz", hash = "sha256:a1101ac9e24356557ca22f07ff48b7f61fa5d4b4e7feeef3bda16e5dcb86350e"}, {file = "google_api_python_client-2.143.0.tar.gz", hash = "sha256:6a75441f9078e6e2fcdf4946a153fda1e2cc81b5e9c8d6e8c0750c85c7f8a566"},
] ]
[[package]] [[package]]
@ -1200,7 +1200,7 @@ files = [
[[package]] [[package]]
name = "hypothesis" name = "hypothesis"
version = "6.111.1" version = "6.111.2"
requires_python = ">=3.8" requires_python = ">=3.8"
summary = "A library for property-based testing" summary = "A library for property-based testing"
groups = ["dev"] groups = ["dev"]
@ -1211,13 +1211,13 @@ dependencies = [
"sortedcontainers<3.0.0,>=2.1.0", "sortedcontainers<3.0.0,>=2.1.0",
] ]
files = [ files = [
{file = "hypothesis-6.111.1-py3-none-any.whl", hash = "sha256:9422adbac4b2104f6cf92dc6604b5c9df975efc08ffc7145ecc39bc617243835"}, {file = "hypothesis-6.111.2-py3-none-any.whl", hash = "sha256:055e8228958e22178d6077e455fd86a72044d02dac130dbf9c8b31e161b9809c"},
{file = "hypothesis-6.111.1.tar.gz", hash = "sha256:6ab6185a858fa692bf125c0d0a936134edc318bee01c05e407c71c9ead0b61c5"}, {file = "hypothesis-6.111.2.tar.gz", hash = "sha256:0496ad28c7240ee9ba89fcc7fb1dc74e89f3e40fbcbbb5f73c0091558dec8e6e"},
] ]
[[package]] [[package]]
name = "hypothesis" name = "hypothesis"
version = "6.111.1" version = "6.111.2"
extras = ["django"] extras = ["django"]
requires_python = ">=3.8" requires_python = ">=3.8"
summary = "A library for property-based testing" summary = "A library for property-based testing"
@ -1225,11 +1225,11 @@ groups = ["dev"]
marker = "python_version == \"3.11\"" marker = "python_version == \"3.11\""
dependencies = [ dependencies = [
"django>=3.2", "django>=3.2",
"hypothesis==6.111.1", "hypothesis==6.111.2",
] ]
files = [ files = [
{file = "hypothesis-6.111.1-py3-none-any.whl", hash = "sha256:9422adbac4b2104f6cf92dc6604b5c9df975efc08ffc7145ecc39bc617243835"}, {file = "hypothesis-6.111.2-py3-none-any.whl", hash = "sha256:055e8228958e22178d6077e455fd86a72044d02dac130dbf9c8b31e161b9809c"},
{file = "hypothesis-6.111.1.tar.gz", hash = "sha256:6ab6185a858fa692bf125c0d0a936134edc318bee01c05e407c71c9ead0b61c5"}, {file = "hypothesis-6.111.2.tar.gz", hash = "sha256:0496ad28c7240ee9ba89fcc7fb1dc74e89f3e40fbcbbb5f73c0091558dec8e6e"},
] ]
[[package]] [[package]]
@ -1246,7 +1246,7 @@ files = [
[[package]] [[package]]
name = "ipython" name = "ipython"
version = "8.26.0" version = "8.27.0"
requires_python = ">=3.10" requires_python = ">=3.10"
summary = "IPython: Productive Interactive Computing" summary = "IPython: Productive Interactive Computing"
groups = ["dev"] groups = ["dev"]
@ -1265,8 +1265,8 @@ dependencies = [
"typing-extensions>=4.6; python_version < \"3.12\"", "typing-extensions>=4.6; python_version < \"3.12\"",
] ]
files = [ files = [
{file = "ipython-8.26.0-py3-none-any.whl", hash = "sha256:e6b347c27bdf9c32ee9d31ae85defc525755a1869f14057e900675b9e8d6e6ff"}, {file = "ipython-8.27.0-py3-none-any.whl", hash = "sha256:f68b3cb8bde357a5d7adc9598d57e22a45dfbea19eb6b98286fa3b288c9cd55c"},
{file = "ipython-8.26.0.tar.gz", hash = "sha256:1cec0fbba8404af13facebe83d04436a7434c7400e59f47acf467c64abd0956c"}, {file = "ipython-8.27.0.tar.gz", hash = "sha256:0b99a2dc9f15fd68692e898e5568725c6d49c527d36a9fb5960ffbdeaa82ff7e"},
] ]
[[package]] [[package]]
@ -1402,17 +1402,18 @@ files = [
[[package]] [[package]]
name = "mdformat-tables" name = "mdformat-tables"
version = "0.4.1" version = "1.0.0"
requires_python = ">=3.6.1" requires_python = ">=3.7.0"
summary = "An mdformat plugin for rendering tables." summary = "An mdformat plugin for rendering tables."
groups = ["default"] groups = ["default"]
marker = "python_version == \"3.11\"" marker = "python_version == \"3.11\""
dependencies = [ dependencies = [
"mdformat<0.8.0,>=0.7.5", "mdformat<0.8.0,>=0.7.5",
"wcwidth>=0.2.13",
] ]
files = [ files = [
{file = "mdformat_tables-0.4.1-py3-none-any.whl", hash = "sha256:981f3dc7350027f78e3fd6a5fe8a16e123eec423af2d140e588d855751501019"}, {file = "mdformat_tables-1.0.0-py3-none-any.whl", hash = "sha256:94cd86126141b2adc3b04c08d1441eb1272b36c39146bab078249a41c7240a9a"},
{file = "mdformat_tables-0.4.1.tar.gz", hash = "sha256:3024e88e9d29d7b8bb07fd6b59c9d5dcf14d2060122be29e30e72d27b65d7da9"}, {file = "mdformat_tables-1.0.0.tar.gz", hash = "sha256:a57db1ac17c4a125da794ef45539904bb8a9592e80557d525e1f169c96daa2c8"},
] ]
[[package]] [[package]]
@ -1948,14 +1949,14 @@ files = [
[[package]] [[package]]
name = "ruff" name = "ruff"
version = "0.6.1" version = "0.6.3"
requires_python = ">=3.7" requires_python = ">=3.7"
summary = "An extremely fast Python linter and code formatter, written in Rust." summary = "An extremely fast Python linter and code formatter, written in Rust."
groups = ["lint"] groups = ["lint"]
marker = "python_version == \"3.11\"" marker = "python_version == \"3.11\""
files = [ files = [
{file = "ruff-0.6.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d812615525a34ecfc07fd93f906ef5b93656be01dfae9a819e31caa6cfe758a1"}, {file = "ruff-0.6.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70452a10eb2d66549de8e75f89ae82462159855e983ddff91bc0bce6511d0470"},
{file = "ruff-0.6.1.tar.gz", hash = "sha256:af3ffd8c6563acb8848d33cd19a69b9bfe943667f0419ca083f8ebe4224a3436"}, {file = "ruff-0.6.3.tar.gz", hash = "sha256:183b99e9edd1ef63be34a3b51fee0a9f4ab95add123dbf89a71f7b1f0c991983"},
] ]
[[package]] [[package]]
@ -1972,14 +1973,14 @@ files = [
[[package]] [[package]]
name = "setuptools" name = "setuptools"
version = "73.0.1" version = "74.1.1"
requires_python = ">=3.8" requires_python = ">=3.8"
summary = "Easily download, build, install, upgrade, and uninstall Python packages" summary = "Easily download, build, install, upgrade, and uninstall Python packages"
groups = ["server", "typing"] groups = ["server", "typing"]
marker = "python_version == \"3.11\"" marker = "python_version == \"3.11\""
files = [ files = [
{file = "setuptools-73.0.1-py3-none-any.whl", hash = "sha256:b208925fcb9f7af924ed2dc04708ea89791e24bde0d3020b27df0e116088b34e"}, {file = "setuptools-74.1.1-py3-none-any.whl", hash = "sha256:fc91b5f89e392ef5b77fe143b17e32f65d3024744fba66dc3afe07201684d766"},
{file = "setuptools-73.0.1.tar.gz", hash = "sha256:d59a3e788ab7e012ab2c4baed1b376da6366883ee20d7a5fc426816e3d7b1193"}, {file = "setuptools-74.1.1.tar.gz", hash = "sha256:2353af060c06388be1cecbf5953dcdb1f38362f87a2356c480b6b4d5fcfc8847"},
] ]
[[package]] [[package]]
@ -2226,14 +2227,14 @@ files = [
[[package]] [[package]]
name = "types-markdown" name = "types-markdown"
version = "3.6.0.20240316" version = "3.7.0.20240822"
requires_python = ">=3.8" requires_python = ">=3.8"
summary = "Typing stubs for Markdown" summary = "Typing stubs for Markdown"
groups = ["typing"] groups = ["typing"]
marker = "python_version == \"3.11\"" marker = "python_version == \"3.11\""
files = [ files = [
{file = "types-Markdown-3.6.0.20240316.tar.gz", hash = "sha256:de9fb84860b55b647b170ca576895fcca61b934a6ecdc65c31932c6795b440b8"}, {file = "types-Markdown-3.7.0.20240822.tar.gz", hash = "sha256:183557c9f4f865bdefd8f5f96a38145c31819271cde111d35557c3bd2069e78d"},
{file = "types_Markdown-3.6.0.20240316-py3-none-any.whl", hash = "sha256:d3ecd26a940781787c7b57a0e3c9d77c150db64e12989ef687059edc83dfd78a"}, {file = "types_Markdown-3.7.0.20240822-py3-none-any.whl", hash = "sha256:bec91c410aaf2470ffdb103e38438fbcc53689b00133f19e64869eb138432ad7"},
] ]
[[package]] [[package]]
@ -2452,7 +2453,7 @@ files = [
name = "wcwidth" name = "wcwidth"
version = "0.2.13" version = "0.2.13"
summary = "Measures the displayed width of unicode strings in a terminal" summary = "Measures the displayed width of unicode strings in a terminal"
groups = ["dev"] groups = ["default", "dev"]
marker = "python_version == \"3.11\"" marker = "python_version == \"3.11\""
dependencies = [ dependencies = [
"backports-functools-lru-cache>=1.2.1; python_version < \"3.2\"", "backports-functools-lru-cache>=1.2.1; python_version < \"3.2\"",

View File

@ -40,8 +40,8 @@ importers:
specifier: ^5.5.4 specifier: ^5.5.4
version: 5.5.4 version: 5.5.4
vite: vite:
specifier: ^5.4.1 specifier: ^5.4.2
version: 5.4.1(sass@1.77.8) version: 5.4.2(sass@1.77.8)
packages: packages:
@ -198,83 +198,83 @@ packages:
'@popperjs/core@2.11.8': '@popperjs/core@2.11.8':
resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==}
'@rollup/rollup-android-arm-eabi@4.20.0': '@rollup/rollup-android-arm-eabi@4.21.2':
resolution: {integrity: sha512-TSpWzflCc4VGAUJZlPpgAJE1+V60MePDQnBd7PPkpuEmOy8i87aL6tinFGKBFKuEDikYpig72QzdT3QPYIi+oA==} resolution: {integrity: sha512-fSuPrt0ZO8uXeS+xP3b+yYTCBUd05MoSp2N/MFOgjhhUhMmchXlpTQrTpI8T+YAwAQuK7MafsCOxW7VrPMrJcg==}
cpu: [arm] cpu: [arm]
os: [android] os: [android]
'@rollup/rollup-android-arm64@4.20.0': '@rollup/rollup-android-arm64@4.21.2':
resolution: {integrity: sha512-u00Ro/nok7oGzVuh/FMYfNoGqxU5CPWz1mxV85S2w9LxHR8OoMQBuSk+3BKVIDYgkpeOET5yXkx90OYFc+ytpQ==} resolution: {integrity: sha512-xGU5ZQmPlsjQS6tzTTGwMsnKUtu0WVbl0hYpTPauvbRAnmIvpInhJtgjj3mcuJpEiuUw4v1s4BimkdfDWlh7gA==}
cpu: [arm64] cpu: [arm64]
os: [android] os: [android]
'@rollup/rollup-darwin-arm64@4.20.0': '@rollup/rollup-darwin-arm64@4.21.2':
resolution: {integrity: sha512-uFVfvzvsdGtlSLuL0ZlvPJvl6ZmrH4CBwLGEFPe7hUmf7htGAN+aXo43R/V6LATyxlKVC/m6UsLb7jbG+LG39Q==} resolution: {integrity: sha512-99AhQ3/ZMxU7jw34Sq8brzXqWH/bMnf7ZVhvLk9QU2cOepbQSVTns6qoErJmSiAvU3InRqC2RRZ5ovh1KN0d0Q==}
cpu: [arm64] cpu: [arm64]
os: [darwin] os: [darwin]
'@rollup/rollup-darwin-x64@4.20.0': '@rollup/rollup-darwin-x64@4.21.2':
resolution: {integrity: sha512-xbrMDdlev53vNXexEa6l0LffojxhqDTBeL+VUxuuIXys4x6xyvbKq5XqTXBCEUA8ty8iEJblHvFaWRJTk/icAQ==} resolution: {integrity: sha512-ZbRaUvw2iN/y37x6dY50D8m2BnDbBjlnMPotDi/qITMJ4sIxNY33HArjikDyakhSv0+ybdUxhWxE6kTI4oX26w==}
cpu: [x64] cpu: [x64]
os: [darwin] os: [darwin]
'@rollup/rollup-linux-arm-gnueabihf@4.20.0': '@rollup/rollup-linux-arm-gnueabihf@4.21.2':
resolution: {integrity: sha512-jMYvxZwGmoHFBTbr12Xc6wOdc2xA5tF5F2q6t7Rcfab68TT0n+r7dgawD4qhPEvasDsVpQi+MgDzj2faOLsZjA==} resolution: {integrity: sha512-ztRJJMiE8nnU1YFcdbd9BcH6bGWG1z+jP+IPW2oDUAPxPjo9dverIOyXz76m6IPA6udEL12reYeLojzW2cYL7w==}
cpu: [arm] cpu: [arm]
os: [linux] os: [linux]
'@rollup/rollup-linux-arm-musleabihf@4.20.0': '@rollup/rollup-linux-arm-musleabihf@4.21.2':
resolution: {integrity: sha512-1asSTl4HKuIHIB1GcdFHNNZhxAYEdqML/MW4QmPS4G0ivbEcBr1JKlFLKsIRqjSwOBkdItn3/ZDlyvZ/N6KPlw==} resolution: {integrity: sha512-flOcGHDZajGKYpLV0JNc0VFH361M7rnV1ee+NTeC/BQQ1/0pllYcFmxpagltANYt8FYf9+kL6RSk80Ziwyhr7w==}
cpu: [arm] cpu: [arm]
os: [linux] os: [linux]
'@rollup/rollup-linux-arm64-gnu@4.20.0': '@rollup/rollup-linux-arm64-gnu@4.21.2':
resolution: {integrity: sha512-COBb8Bkx56KldOYJfMf6wKeYJrtJ9vEgBRAOkfw6Ens0tnmzPqvlpjZiLgkhg6cA3DGzCmLmmd319pmHvKWWlQ==} resolution: {integrity: sha512-69CF19Kp3TdMopyteO/LJbWufOzqqXzkrv4L2sP8kfMaAQ6iwky7NoXTp7bD6/irKgknDKM0P9E/1l5XxVQAhw==}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
'@rollup/rollup-linux-arm64-musl@4.20.0': '@rollup/rollup-linux-arm64-musl@4.21.2':
resolution: {integrity: sha512-+it+mBSyMslVQa8wSPvBx53fYuZK/oLTu5RJoXogjk6x7Q7sz1GNRsXWjn6SwyJm8E/oMjNVwPhmNdIjwP135Q==} resolution: {integrity: sha512-48pD/fJkTiHAZTnZwR0VzHrao70/4MlzJrq0ZsILjLW/Ab/1XlVUStYyGt7tdyIiVSlGZbnliqmult/QGA2O2w==}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
'@rollup/rollup-linux-powerpc64le-gnu@4.20.0': '@rollup/rollup-linux-powerpc64le-gnu@4.21.2':
resolution: {integrity: sha512-yAMvqhPfGKsAxHN8I4+jE0CpLWD8cv4z7CK7BMmhjDuz606Q2tFKkWRY8bHR9JQXYcoLfopo5TTqzxgPUjUMfw==} resolution: {integrity: sha512-cZdyuInj0ofc7mAQpKcPR2a2iu4YM4FQfuUzCVA2u4HI95lCwzjoPtdWjdpDKyHxI0UO82bLDoOaLfpZ/wviyQ==}
cpu: [ppc64] cpu: [ppc64]
os: [linux] os: [linux]
'@rollup/rollup-linux-riscv64-gnu@4.20.0': '@rollup/rollup-linux-riscv64-gnu@4.21.2':
resolution: {integrity: sha512-qmuxFpfmi/2SUkAw95TtNq/w/I7Gpjurx609OOOV7U4vhvUhBcftcmXwl3rqAek+ADBwSjIC4IVNLiszoj3dPA==} resolution: {integrity: sha512-RL56JMT6NwQ0lXIQmMIWr1SW28z4E4pOhRRNqwWZeXpRlykRIlEpSWdsgNWJbYBEWD84eocjSGDu/XxbYeCmwg==}
cpu: [riscv64] cpu: [riscv64]
os: [linux] os: [linux]
'@rollup/rollup-linux-s390x-gnu@4.20.0': '@rollup/rollup-linux-s390x-gnu@4.21.2':
resolution: {integrity: sha512-I0BtGXddHSHjV1mqTNkgUZLnS3WtsqebAXv11D5BZE/gfw5KoyXSAXVqyJximQXNvNzUo4GKlCK/dIwXlz+jlg==} resolution: {integrity: sha512-PMxkrWS9z38bCr3rWvDFVGD6sFeZJw4iQlhrup7ReGmfn7Oukrr/zweLhYX6v2/8J6Cep9IEA/SmjXjCmSbrMQ==}
cpu: [s390x] cpu: [s390x]
os: [linux] os: [linux]
'@rollup/rollup-linux-x64-gnu@4.20.0': '@rollup/rollup-linux-x64-gnu@4.21.2':
resolution: {integrity: sha512-y+eoL2I3iphUg9tN9GB6ku1FA8kOfmF4oUEWhztDJ4KXJy1agk/9+pejOuZkNFhRwHAOxMsBPLbXPd6mJiCwew==} resolution: {integrity: sha512-B90tYAUoLhU22olrafY3JQCFLnT3NglazdwkHyxNDYF/zAxJt5fJUB/yBoWFoIQ7SQj+KLe3iL4BhOMa9fzgpw==}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
'@rollup/rollup-linux-x64-musl@4.20.0': '@rollup/rollup-linux-x64-musl@4.21.2':
resolution: {integrity: sha512-hM3nhW40kBNYUkZb/r9k2FKK+/MnKglX7UYd4ZUy5DJs8/sMsIbqWK2piZtVGE3kcXVNj3B2IrUYROJMMCikNg==} resolution: {integrity: sha512-7twFizNXudESmC9oneLGIUmoHiiLppz/Xs5uJQ4ShvE6234K0VB1/aJYU3f/4g7PhssLGKBVCC37uRkkOi8wjg==}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
'@rollup/rollup-win32-arm64-msvc@4.20.0': '@rollup/rollup-win32-arm64-msvc@4.21.2':
resolution: {integrity: sha512-psegMvP+Ik/Bg7QRJbv8w8PAytPA7Uo8fpFjXyCRHWm6Nt42L+JtoqH8eDQ5hRP7/XW2UiIriy1Z46jf0Oa1kA==} resolution: {integrity: sha512-9rRero0E7qTeYf6+rFh3AErTNU1VCQg2mn7CQcI44vNUWM9Ze7MSRS/9RFuSsox+vstRt97+x3sOhEey024FRQ==}
cpu: [arm64] cpu: [arm64]
os: [win32] os: [win32]
'@rollup/rollup-win32-ia32-msvc@4.20.0': '@rollup/rollup-win32-ia32-msvc@4.21.2':
resolution: {integrity: sha512-GabekH3w4lgAJpVxkk7hUzUf2hICSQO0a/BLFA11/RMxQT92MabKAqyubzDZmMOC/hcJNlc+rrypzNzYl4Dx7A==} resolution: {integrity: sha512-5rA4vjlqgrpbFVVHX3qkrCo/fZTj1q0Xxpg+Z7yIo3J2AilW7t2+n6Q8Jrx+4MrYpAnjttTYF8rr7bP46BPzRw==}
cpu: [ia32] cpu: [ia32]
os: [win32] os: [win32]
'@rollup/rollup-win32-x64-msvc@4.20.0': '@rollup/rollup-win32-x64-msvc@4.21.2':
resolution: {integrity: sha512-aJ1EJSuTdGnM6qbVC4B5DSmozPTqIag9fSzXRNNo+humQLG89XpPgdt16Ia56ORD7s+H8Pmyx44uczDQ0yDzpg==} resolution: {integrity: sha512-6UUxd0+SKomjdzuAcp+HAmxw1FlGBnl1v2yEPSabtx4lBfdXHDVsW7+lQkgz9cNFJGY3AWR7+V8P5BqkD9L9nA==}
cpu: [x64] cpu: [x64]
os: [win32] os: [win32]
@ -371,8 +371,8 @@ packages:
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
engines: {node: '>= 8'} engines: {node: '>= 8'}
micromatch@4.0.7: micromatch@4.0.8:
resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
engines: {node: '>=8.6'} engines: {node: '>=8.6'}
nanoid@3.3.7: nanoid@3.3.7:
@ -388,15 +388,15 @@ packages:
resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==}
engines: {node: '>=12'} engines: {node: '>=12'}
picocolors@1.0.1: picocolors@1.1.0:
resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==}
picomatch@2.3.1: picomatch@2.3.1:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
engines: {node: '>=8.6'} engines: {node: '>=8.6'}
postcss@8.4.41: postcss@8.4.44:
resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==} resolution: {integrity: sha512-Aweb9unOEpQ3ezu4Q00DPvvM2ZTUitJdNKeP/+uQgr1IBIqu574IaZoURId7BKtWMREwzKa9OgzPzezWGPWFQw==}
engines: {node: ^10 || ^12 || >=14} engines: {node: ^10 || ^12 || >=14}
prettier@3.3.3: prettier@3.3.3:
@ -415,8 +415,8 @@ packages:
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'} engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
rollup@4.20.0: rollup@4.21.2:
resolution: {integrity: sha512-6rbWBChcnSGzIlXeIdNIZTopKYad8ZG8ajhl78lGRLsI2rX8IkaotQhVas2Ma+GPxJav19wrSzvRvuiv0YKzWw==} resolution: {integrity: sha512-e3TapAgYf9xjdLvKQCkQTnbTKd4a6jwlpQSJJFokHGaX2IVjoEqkIIhiQfqsi0cdwlOD+tQGuOd5AJkc5RngBw==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'} engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true hasBin: true
@ -452,8 +452,8 @@ packages:
resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==}
engines: {node: '>=18'} engines: {node: '>=18'}
vite@5.4.1: vite@5.4.2:
resolution: {integrity: sha512-1oE6yuNXssjrZdblI9AfBbHCC41nnyoVoEZxQnID6yvQZAFBzxxkqoFLtHUMkYunL8hwOLEjgTuxpkRxvba3kA==} resolution: {integrity: sha512-dDrQTRHp5C1fTFzcSaMxjk6vdpKvT+2/mIdE07Gw2ykehT49O0z/VHS3zZ8iV/Gh8BJJKHWOe5RjaNrW5xf/GA==}
engines: {node: ^18.0.0 || >=20.0.0} engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
@ -568,52 +568,52 @@ snapshots:
'@popperjs/core@2.11.8': {} '@popperjs/core@2.11.8': {}
'@rollup/rollup-android-arm-eabi@4.20.0': '@rollup/rollup-android-arm-eabi@4.21.2':
optional: true optional: true
'@rollup/rollup-android-arm64@4.20.0': '@rollup/rollup-android-arm64@4.21.2':
optional: true optional: true
'@rollup/rollup-darwin-arm64@4.20.0': '@rollup/rollup-darwin-arm64@4.21.2':
optional: true optional: true
'@rollup/rollup-darwin-x64@4.20.0': '@rollup/rollup-darwin-x64@4.21.2':
optional: true optional: true
'@rollup/rollup-linux-arm-gnueabihf@4.20.0': '@rollup/rollup-linux-arm-gnueabihf@4.21.2':
optional: true optional: true
'@rollup/rollup-linux-arm-musleabihf@4.20.0': '@rollup/rollup-linux-arm-musleabihf@4.21.2':
optional: true optional: true
'@rollup/rollup-linux-arm64-gnu@4.20.0': '@rollup/rollup-linux-arm64-gnu@4.21.2':
optional: true optional: true
'@rollup/rollup-linux-arm64-musl@4.20.0': '@rollup/rollup-linux-arm64-musl@4.21.2':
optional: true optional: true
'@rollup/rollup-linux-powerpc64le-gnu@4.20.0': '@rollup/rollup-linux-powerpc64le-gnu@4.21.2':
optional: true optional: true
'@rollup/rollup-linux-riscv64-gnu@4.20.0': '@rollup/rollup-linux-riscv64-gnu@4.21.2':
optional: true optional: true
'@rollup/rollup-linux-s390x-gnu@4.20.0': '@rollup/rollup-linux-s390x-gnu@4.21.2':
optional: true optional: true
'@rollup/rollup-linux-x64-gnu@4.20.0': '@rollup/rollup-linux-x64-gnu@4.21.2':
optional: true optional: true
'@rollup/rollup-linux-x64-musl@4.20.0': '@rollup/rollup-linux-x64-musl@4.21.2':
optional: true optional: true
'@rollup/rollup-win32-arm64-msvc@4.20.0': '@rollup/rollup-win32-arm64-msvc@4.21.2':
optional: true optional: true
'@rollup/rollup-win32-ia32-msvc@4.20.0': '@rollup/rollup-win32-ia32-msvc@4.21.2':
optional: true optional: true
'@rollup/rollup-win32-x64-msvc@4.20.0': '@rollup/rollup-win32-x64-msvc@4.21.2':
optional: true optional: true
'@sindresorhus/merge-streams@2.3.0': {} '@sindresorhus/merge-streams@2.3.0': {}
@ -687,7 +687,7 @@ snapshots:
'@nodelib/fs.walk': 1.2.8 '@nodelib/fs.walk': 1.2.8
glob-parent: 5.1.2 glob-parent: 5.1.2
merge2: 1.4.1 merge2: 1.4.1
micromatch: 4.0.7 micromatch: 4.0.8
fastq@1.17.1: fastq@1.17.1:
dependencies: dependencies:
@ -731,7 +731,7 @@ snapshots:
merge2@1.4.1: {} merge2@1.4.1: {}
micromatch@4.0.7: micromatch@4.0.8:
dependencies: dependencies:
braces: 3.0.3 braces: 3.0.3
picomatch: 2.3.1 picomatch: 2.3.1
@ -742,14 +742,14 @@ snapshots:
path-type@5.0.0: {} path-type@5.0.0: {}
picocolors@1.0.1: {} picocolors@1.1.0: {}
picomatch@2.3.1: {} picomatch@2.3.1: {}
postcss@8.4.41: postcss@8.4.44:
dependencies: dependencies:
nanoid: 3.3.7 nanoid: 3.3.7
picocolors: 1.0.1 picocolors: 1.1.0
source-map-js: 1.2.0 source-map-js: 1.2.0
prettier@3.3.3: {} prettier@3.3.3: {}
@ -762,26 +762,26 @@ snapshots:
reusify@1.0.4: {} reusify@1.0.4: {}
rollup@4.20.0: rollup@4.21.2:
dependencies: dependencies:
'@types/estree': 1.0.5 '@types/estree': 1.0.5
optionalDependencies: optionalDependencies:
'@rollup/rollup-android-arm-eabi': 4.20.0 '@rollup/rollup-android-arm-eabi': 4.21.2
'@rollup/rollup-android-arm64': 4.20.0 '@rollup/rollup-android-arm64': 4.21.2
'@rollup/rollup-darwin-arm64': 4.20.0 '@rollup/rollup-darwin-arm64': 4.21.2
'@rollup/rollup-darwin-x64': 4.20.0 '@rollup/rollup-darwin-x64': 4.21.2
'@rollup/rollup-linux-arm-gnueabihf': 4.20.0 '@rollup/rollup-linux-arm-gnueabihf': 4.21.2
'@rollup/rollup-linux-arm-musleabihf': 4.20.0 '@rollup/rollup-linux-arm-musleabihf': 4.21.2
'@rollup/rollup-linux-arm64-gnu': 4.20.0 '@rollup/rollup-linux-arm64-gnu': 4.21.2
'@rollup/rollup-linux-arm64-musl': 4.20.0 '@rollup/rollup-linux-arm64-musl': 4.21.2
'@rollup/rollup-linux-powerpc64le-gnu': 4.20.0 '@rollup/rollup-linux-powerpc64le-gnu': 4.21.2
'@rollup/rollup-linux-riscv64-gnu': 4.20.0 '@rollup/rollup-linux-riscv64-gnu': 4.21.2
'@rollup/rollup-linux-s390x-gnu': 4.20.0 '@rollup/rollup-linux-s390x-gnu': 4.21.2
'@rollup/rollup-linux-x64-gnu': 4.20.0 '@rollup/rollup-linux-x64-gnu': 4.21.2
'@rollup/rollup-linux-x64-musl': 4.20.0 '@rollup/rollup-linux-x64-musl': 4.21.2
'@rollup/rollup-win32-arm64-msvc': 4.20.0 '@rollup/rollup-win32-arm64-msvc': 4.21.2
'@rollup/rollup-win32-ia32-msvc': 4.20.0 '@rollup/rollup-win32-ia32-msvc': 4.21.2
'@rollup/rollup-win32-x64-msvc': 4.20.0 '@rollup/rollup-win32-x64-msvc': 4.21.2
fsevents: 2.3.3 fsevents: 2.3.3
run-parallel@1.2.0: run-parallel@1.2.0:
@ -808,11 +808,11 @@ snapshots:
unicorn-magic@0.1.0: {} unicorn-magic@0.1.0: {}
vite@5.4.1(sass@1.77.8): vite@5.4.2(sass@1.77.8):
dependencies: dependencies:
esbuild: 0.21.5 esbuild: 0.21.5
postcss: 8.4.41 postcss: 8.4.44
rollup: 4.20.0 rollup: 4.21.2
optionalDependencies: optionalDependencies:
fsevents: 2.3.3 fsevents: 2.3.3
sass: 1.77.8 sass: 1.77.8

View File

@ -15,7 +15,7 @@ dependencies = [
"django-stubs-ext~=5.0", "django-stubs-ext~=5.0",
"markdownify~=0.13", "markdownify~=0.13",
"mdformat~=0.7", "mdformat~=0.7",
"mdformat-tables~=0.4", "mdformat-tables~=1.0",
"django-autocomplete-light~=3.11", "django-autocomplete-light~=3.11",
"weasyprint~=62.3", "weasyprint~=62.3",
"requests~=2.32", "requests~=2.32",
@ -39,7 +39,7 @@ dependencies = [
"django-configurations[database,email]~=2.5", "django-configurations[database,email]~=2.5",
"django-vite~=3.0", "django-vite~=3.0",
"django-template-partials~=24.4", "django-template-partials~=24.4",
"google-api-python-client~=2.142", "google-api-python-client~=2.143",
"google-auth-oauthlib~=1.2", "google-auth-oauthlib~=1.2",
"django-model-utils~=4.5", "django-model-utils~=4.5",
"psycopg[binary,pool]~=3.2", "psycopg[binary,pool]~=3.2",
@ -51,7 +51,7 @@ requires-python = ">=3.11"
[project.optional-dependencies] [project.optional-dependencies]
server = [ server = [
"uvicorn[standard]~=0.30", "uvicorn[standard]~=0.30",
"setuptools~=73.0", "setuptools~=74.1",
] ]
[project.entry-points."djangoq.errorreporters"] [project.entry-points."djangoq.errorreporters"]
@ -145,18 +145,18 @@ include_packages = ["openapi-client-udm"]
[tool.pdm.dev-dependencies] [tool.pdm.dev-dependencies]
lint = [ lint = [
"djlint~=1.34", "djlint~=1.35",
"ruff~=0.6", "ruff~=0.6",
] ]
typing = [ typing = [
"mypy~=1.10", "mypy~=1.10",
"django-stubs~=5.0", "django-stubs~=5.0",
"setuptools~=73.0", "setuptools~=74.1",
"types-bleach~=6.1", "types-bleach~=6.1",
"types-requests~=2.32", "types-requests~=2.32",
"types-urllib3~=1.26", "types-urllib3~=1.26",
"djangorestframework-stubs[compatible-mypy]~=3.15", "djangorestframework-stubs[compatible-mypy]~=3.15",
"types-Markdown~=3.6", "types-Markdown~=3.7",
"types-Pygments~=2.18", "types-Pygments~=2.18",
"types-psycopg2~=2.9", "types-psycopg2~=2.9",
"types-lxml~=2024.8", "types-lxml~=2024.8",
@ -168,7 +168,7 @@ debug = [
] ]
dev = [ dev = [
"django-extensions~=3.2", "django-extensions~=3.2",
"ipython~=8.26", "ipython~=8.27",
"hypothesis[django]~=6.111", "hypothesis[django]~=6.111",
"tblib~=3.0", "tblib~=3.0",
] ]