T11: tags plugin + permissions plugin + entity links backend — 68 tests, 66.61% coverage

This commit is contained in:
leocrm-bot
2026-06-29 14:01:24 +02:00
parent 700b7a71ad
commit 5d1850768a
26 changed files with 2863 additions and 7 deletions
@@ -0,0 +1,41 @@
"""Pydantic schemas for the Permissions plugin."""
from __future__ import annotations
from datetime import datetime
from pydantic import BaseModel, Field
class PermissionGrantRequest(BaseModel):
user_id: str
group_id: str | None = None
access_level: str = Field("read", pattern="^(read|write)$")
class PermissionResponse(BaseModel):
id: str
file_id: str
user_id: str
group_id: str | None = None
access_level: str
class ShareLinkCreateRequest(BaseModel):
password: str | None = Field(None, min_length=4, max_length=100)
expires_at: datetime | None = None
access_level: str = Field("download", pattern="^(download|preview)$")
class ShareLinkResponse(BaseModel):
id: str
file_id: str
token: str
public_url: str
expires_at: datetime | None = None
access_level: str
has_password: bool
class ShareLinkVerifyRequest(BaseModel):
password: str | None = None