Archived
29 lines
676 B
Python
29 lines
676 B
Python
from __future__ import annotations
|
|
|
|
from typing import Annotated
|
|
|
|
from fastapi import Path
|
|
|
|
TOKEN_URLSAFE_PATTERN = r"^karl_[A-Za-z0-9_-]+$"
|
|
TOKEN_MIN_LENGTH = 37
|
|
TOKEN_MAX_LENGTH = 128
|
|
|
|
UpdateSlugPath = Annotated[
|
|
str,
|
|
Path(
|
|
min_length=TOKEN_MIN_LENGTH,
|
|
max_length=TOKEN_MAX_LENGTH,
|
|
pattern=TOKEN_URLSAFE_PATTERN,
|
|
description="Private update URL value. Must start with karl_.",
|
|
),
|
|
]
|
|
ManagementSlugPath = Annotated[
|
|
str,
|
|
Path(
|
|
min_length=TOKEN_MIN_LENGTH,
|
|
max_length=TOKEN_MAX_LENGTH,
|
|
pattern=TOKEN_URLSAFE_PATTERN,
|
|
description="Private dashboard URL value. Must start with karl_.",
|
|
),
|
|
]
|