""" Options: Date: 2024-12-22 12:56:07 Version: 8.51 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://techstacks.io #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: GetOrganizationAdmin.* #ExcludeTypes: #DefaultImports: datetime,decimal,marshmallow.fields:*,servicestack:*,typing:*,dataclasses:dataclass/field,dataclasses_json:dataclass_json/LetterCase/Undefined/config,enum:Enum/IntEnum #DataClass: #DataClassJson: """ import datetime import decimal from marshmallow.fields import * from servicestack import * from typing import * from dataclasses import dataclass, field from dataclasses_json import dataclass_json, LetterCase, Undefined, config from enum import Enum, IntEnum class FlagType(str, Enum): VIOLATION = 'Violation' SPAM = 'Spam' ABUSIVE = 'Abusive' CONFIDENTIAL = 'Confidential' OFF_TOPIC = 'OffTopic' OTHER = 'Other' @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class OrganizationLabel: slug: Optional[str] = None organization_id: int = 0 description: Optional[str] = None color: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class OrganizationMember: id: int = 0 organization_id: int = 0 user_id: int = 0 user_name: Optional[str] = None is_owner: bool = False is_moderator: bool = False deny_all: bool = False deny_posts: bool = False deny_comments: bool = False notes: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class OrganizationMemberInvite: id: int = 0 organization_id: int = 0 user_id: int = 0 user_name: Optional[str] = None dismissed: Optional[datetime.datetime] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class PostReportInfo: id: int = 0 organization_id: int = 0 post_id: int = 0 user_id: int = 0 user_name: Optional[str] = None flag_type: Optional[FlagType] = None report_notes: Optional[str] = None created: datetime.datetime = datetime.datetime(1, 1, 1) acknowledged: Optional[datetime.datetime] = None acknowledged_by: Optional[str] = None dismissed: Optional[datetime.datetime] = None dismissed_by: Optional[str] = None title: Optional[str] = None report_count: int = 0 created_by: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class PostCommentReportInfo: id: int = 0 organization_id: int = 0 post_id: int = 0 post_comment_id: int = 0 user_id: int = 0 user_name: Optional[str] = None flag_type: Optional[FlagType] = None report_notes: Optional[str] = None created: datetime.datetime = datetime.datetime(1, 1, 1) acknowledged: Optional[datetime.datetime] = None acknowledged_by: Optional[str] = None dismissed: Optional[datetime.datetime] = None dismissed_by: Optional[str] = None content_html: Optional[str] = None report_count: int = 0 created_by: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class GetOrganizationAdminResponse: labels: Optional[List[OrganizationLabel]] = None members: Optional[List[OrganizationMember]] = None member_invites: Optional[List[OrganizationMemberInvite]] = None reported_posts: Optional[List[PostReportInfo]] = None reported_post_comments: Optional[List[PostCommentReportInfo]] = None response_status: Optional[ResponseStatus] = None # @Route("/orgs/{Id}/admin", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class GetOrganizationAdmin(IReturn[GetOrganizationAdminResponse], IGet): id: int = 0