Add nanoid
This commit is contained in:
parent
aa13a556d6
commit
364119aaa2
3 changed files with 21 additions and 1 deletions
|
@ -2,6 +2,7 @@
|
|||
from datetime import datetime, timezone
|
||||
from typing import List
|
||||
|
||||
import nanoid
|
||||
from bson import ObjectId
|
||||
from umongo import Document, EmbeddedDocument, fields
|
||||
|
||||
|
@ -13,6 +14,11 @@ def get_now() -> datetime:
|
|||
return datetime.now(tz=timezone.utc)
|
||||
|
||||
|
||||
def get_id() -> str:
|
||||
"""Get nanoid."""
|
||||
return nanoid.generate(size=16)
|
||||
|
||||
|
||||
@JARVIS_INST.register
|
||||
class Action(EmbeddedDocument):
|
||||
"""Modlog embedded action document."""
|
||||
|
@ -36,6 +42,7 @@ class Modlog(Document):
|
|||
"""Modlog database object."""
|
||||
|
||||
user: int = fields.IntegerField(required=True)
|
||||
nanoid: str = fields.StringField(default=get_id)
|
||||
guild: int = fields.IntegerField(required=True)
|
||||
admin: int = fields.IntegerField(required=True)
|
||||
actions: List[Action] = fields.ListField(fields.EmbeddedField(Action), factory=list)
|
||||
|
|
14
poetry.lock
generated
14
poetry.lock
generated
|
@ -152,6 +152,14 @@ category = "main"
|
|||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
|
||||
[[package]]
|
||||
name = "nanoid"
|
||||
version = "2.0.0"
|
||||
description = "A tiny, secure, URL-friendly, unique string ID generator for Python"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
|
||||
[[package]]
|
||||
name = "orjson"
|
||||
version = "3.6.8"
|
||||
|
@ -319,7 +327,7 @@ multidict = ">=4.0"
|
|||
[metadata]
|
||||
lock-version = "1.1"
|
||||
python-versions = "^3.10"
|
||||
content-hash = "463b42f3391814d2fc11da3cc7d31cfeaec7e7e43cbfd9ceca031fdf5b7629ae"
|
||||
content-hash = "4581dae71400051e27a4fedf8d3f91303102ab0e25e4b4392fa047f865419f3a"
|
||||
|
||||
[metadata.files]
|
||||
aiohttp = [
|
||||
|
@ -562,6 +570,10 @@ multidict = [
|
|||
{file = "multidict-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:4bae31803d708f6f15fd98be6a6ac0b6958fcf68fda3c77a048a4f9073704aae"},
|
||||
{file = "multidict-6.0.2.tar.gz", hash = "sha256:5ff3bd75f38e4c43f1f470f2df7a4d430b821c4ce22be384e1459cb57d6bb013"},
|
||||
]
|
||||
nanoid = [
|
||||
{file = "nanoid-2.0.0-py3-none-any.whl", hash = "sha256:90aefa650e328cffb0893bbd4c236cfd44c48bc1f2d0b525ecc53c3187b653bb"},
|
||||
{file = "nanoid-2.0.0.tar.gz", hash = "sha256:5a80cad5e9c6e9ae3a41fa2fb34ae189f7cb420b2a5d8f82bd9d23466e4efa68"},
|
||||
]
|
||||
orjson = [
|
||||
{file = "orjson-3.6.8-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:3a287a650458de2211db03681b71c3e5cb2212b62f17a39df8ad99fc54855d0f"},
|
||||
{file = "orjson-3.6.8-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:5204e25c12cea58e524fc82f7c27ed0586f592f777b33075a92ab7b3eb3687c2"},
|
||||
|
|
|
@ -13,6 +13,7 @@ PyYAML = "^6.0"
|
|||
pytz = "^2022.1"
|
||||
aiohttp = "^3.8.1"
|
||||
rich = "^12.3.0"
|
||||
nanoid = "^2.0.0"
|
||||
|
||||
[tool.poetry.dev-dependencies]
|
||||
pytest = "^7.1"
|
||||
|
|
Loading…
Add table
Reference in a new issue