frappe/env/lib/python3.12/site-packages/pyyoutube/models/memberships_level.py

50 lines
1.3 KiB
Python

"""
These are membership level related models.
"""
from dataclasses import dataclass, field
from typing import List, Optional
from .base import BaseModel
from .common import BaseResource, BaseApiResponse
@dataclass
class MembershipLevelSnippetLevelDetails(BaseModel):
displayName: Optional[str] = field(default=None)
@dataclass
class MembershipsLevelSnippet(BaseModel):
"""
A class representing the membership level snippet.
Refer: https://developers.google.com/youtube/v3/docs/membershipsLevels#snippet
"""
creatorChannelId: Optional[str] = field(default=None)
levelDetails: Optional[MembershipLevelSnippetLevelDetails] = field(
default=None, repr=False
)
@dataclass
class MembershipsLevel(BaseResource):
"""
A class representing the membership level.
Refer: https://developers.google.com/youtube/v3/docs/membershipsLevels
"""
snippet: Optional[MembershipsLevelSnippet] = field(default=None, repr=False)
@dataclass
class MembershipsLevelListResponse(BaseApiResponse):
"""
A class representing the memberships level's retrieve response info.
Refer: https://developers.google.com/youtube/v3/docs/membershipsLevels/list#response
"""
items: Optional[List[MembershipsLevel]] = field(default=None, repr=False)