Coverage for polar/organization_access_token/schemas.py: 100%
25 statements
« prev ^ index » next coverage.py v7.10.6, created at 2025-12-05 17:15 +0000
« prev ^ index » next coverage.py v7.10.6, created at 2025-12-05 17:15 +0000
1from datetime import datetime, timedelta 1a
2from enum import StrEnum 1a
4from pydantic import UUID4 1a
6from polar.auth.scope import RESERVED_SCOPES, Scope 1a
7from polar.kit.schemas import Schema, TimestampedSchema 1a
8from polar.organization.schemas import OrganizationID 1a
10AvailableScope = StrEnum( # type: ignore 1a
11 "AvailableScope", {s: s.value for s in Scope if s not in RESERVED_SCOPES}
12)
15class OrganizationAccessTokenCreate(Schema): 1a
16 organization_id: UUID4 1a
17 comment: str 1a
18 expires_in: timedelta | None = None 1a
19 scopes: list[AvailableScope] # pyright: ignore 1a
22class OrganizationAccessTokenUpdate(Schema): 1a
23 comment: str | None = None 1a
24 scopes: list[AvailableScope] | None = None # pyright: ignore 1a
27class OrganizationAccessToken(TimestampedSchema): 1a
28 id: UUID4 1a
29 scopes: list[Scope] 1a
30 expires_at: datetime | None 1a
31 comment: str 1a
32 last_used_at: datetime | None 1a
33 organization_id: OrganizationID 1a
36class OrganizationAccessTokenCreateResponse(Schema): 1a
37 organization_access_token: OrganizationAccessToken 1a
38 token: str 1a