コード例 #1
0
class PrivateMessageSerializer(Serializer):
    # These are essentially permissioned in the conversation, since messages
    # are never rendered outside of a conversation. No need to run the checks
    # again.
    id = Attribute()
    conv_id = Attribute()
    user = Attribute(nested=('id', 'username'))
    time = Attribute()
    contents = Attribute()
コード例 #2
0
class ForumPostSerializer(Serializer):
    id = Attribute()
    thread = Attribute(nested=('id', 'topic'))
    user = Attribute()
    contents = Attribute()
    time = Attribute()
    edited_time = Attribute()
    sticky = Attribute()
    editor = Attribute()
    deleted = Attribute(permission='forums_posts_modify_advanced',
                        self_access=False)
    edit_history = Attribute(permission='forums_posts_modify_advanced',
                             self_access=False)
コード例 #3
0
ファイル: serializers.py プロジェクト: sharebears/pulsar-core
class APIKeySerializer(Serializer):
    hash = Attribute(permission=ApikeyPermissions.VIEW_OTHERS)
    user_id = Attribute(permission=ApikeyPermissions.VIEW_OTHERS)
    last_used = Attribute(permission=ApikeyPermissions.VIEW_OTHERS)
    ip = Attribute(permission=ApikeyPermissions.VIEW_OTHERS)
    user_agent = Attribute(permission=ApikeyPermissions.VIEW_OTHERS)
    revoked = Attribute(permission=ApikeyPermissions.VIEW_OTHERS)
    permanent = Attribute(permission=ApikeyPermissions.VIEW_OTHERS)
    timeout = Attribute(permission=ApikeyPermissions.VIEW_OTHERS)
    permissions = Attribute(permission=ApikeyPermissions.VIEW_OTHERS)
コード例 #4
0
class ForumSerializer(Serializer):
    id = Attribute()
    name = Attribute()
    description = Attribute()
    category = Attribute(nested=('id', 'name'))
    position = Attribute()
    thread_count = Attribute()
    threads = Attribute(nested=False)
    deleted = Attribute(permission='forums_forums_modify')
    last_updated_thread = Attribute()
コード例 #5
0
class PrivateConversationSerializer(Serializer):
    id = Attribute(permission=MessagePermissions.VIEW_OTHERS)
    topic = Attribute(permission=MessagePermissions.VIEW_OTHERS)
    last_response_time = Attribute(permission=MessagePermissions.VIEW_OTHERS)
    read = Attribute(permission=MessagePermissions.VIEW_OTHERS)
    sticky = Attribute(permission=MessagePermissions.VIEW_OTHERS)
    messages = Attribute(nested=False,
                         permission=MessagePermissions.VIEW_OTHERS)
    messages_count = Attribute(permission=MessagePermissions.VIEW_OTHERS)
    members = Attribute(permission=MessagePermissions.VIEW_OTHERS)
コード例 #6
0
ファイル: serializers.py プロジェクト: sharebears/pulsar-wiki
class WikiRevisionSerializer(Serializer):
    revision_id = Attribute()
    language = Attribute()
    parent_article = Attribute(nested=False)
    title = Attribute()
    editor = Attribute(nested=('id', 'username'))
    time = Attribute()
    contents = Attribute()
コード例 #7
0
class ForumPollSerializer(Serializer):
    id = Attribute()
    thread = Attribute(nested=('id', 'topic'))
    question = Attribute()
    closed = Attribute()
    featured = Attribute()
    choices = Attribute()
コード例 #8
0
ファイル: serializers.py プロジェクト: sharebears/pulsar-core
class NotificationSerializer(Serializer):
    id = Attribute(permission=NotificationPermissions.VIEW_OTHERS)
    user_id = Attribute(permission=NotificationPermissions.VIEW_OTHERS)
    type = Attribute(permission=NotificationPermissions.VIEW_OTHERS)
    time = Attribute(permission=NotificationPermissions.VIEW_OTHERS)
    contents = Attribute(permission=NotificationPermissions.VIEW_OTHERS)
    read = Attribute(permission=NotificationPermissions.VIEW_OTHERS)
コード例 #9
0
class ForumCategorySerializer(Serializer):
    id = Attribute()
    name = Attribute()
    description = Attribute()
    position = Attribute()
    forums = Attribute(nested=False)
    deleted = Attribute(permission='forums_forums_modify')
コード例 #10
0
ファイル: serializers.py プロジェクト: sharebears/pulsar-wiki
class WikiArticleSerializer(Serializer):
    id = Attribute()
    title = Attribute()
    contents = Attribute()
    aliases = Attribute()
    latest_revision = Attribute()
    languages = Attribute()
コード例 #11
0
ファイル: serializers.py プロジェクト: sharebears/pulsar-core
class InviteSerializer(Serializer):
    code = Attribute(permission=InvitePermissions.VIEW_OTHERS)
    email = Attribute(permission=InvitePermissions.VIEW_OTHERS)
    time_sent = Attribute(permission=InvitePermissions.VIEW_OTHERS)
    expired = Attribute(permission=InvitePermissions.VIEW_OTHERS)
    invitee = Attribute(permission=InvitePermissions.VIEW_OTHERS)
    from_ip = Attribute(permission=InvitePermissions.VIEW_OTHERS,
                        self_access=False)
    inviter = Attribute(
        permission=InvitePermissions.VIEW_OTHERS,
        nested=False,
        self_access=False,
    )
コード例 #12
0
def modify_core():
    User.assign_attrs(
        __cache_key_forum_post_count__='users_{id}_forum_post_count',
        __cache_key_forum_thread_count__='users_{id}_forum_thread_count',
        forum_thread_count=forum_thread_count,
        forum_post_count=forum_post_count,
        forum_permissions=forum_permissions,
    )
    UserSerializer.assign_attrs(
        forum_permissions=Attribute(permission='users_moderate', nested=False))
    Permissions.permission_regexes['basic'] += [
        re.compile('forumaccess_forum_\d+$'),
        re.compile('forumaccess_thread_\d+$'),
    ]
    Config.BASIC_PERMISSIONS += [
        'forums_posts_create',
        'forums_threads_create',
    ]
コード例 #13
0
ファイル: serializers.py プロジェクト: sharebears/pulsar-core
class UserSerializer(Serializer):
    id = Attribute()
    username = Attribute()
    enabled = Attribute()
    user_class = Attribute()
    secondary_classes = Attribute()
    uploaded = Attribute()
    downloaded = Attribute()
    email = Attribute(permission=UserPermissions.MODERATE)
    locked = Attribute(permission=UserPermissions.MODERATE)
    invites = Attribute(permission=UserPermissions.MODERATE)
    inviter = Attribute(permission=UserPermissions.MODERATE,
                        self_access=False,
                        nested=False)
    api_keys = Attribute(permission=UserPermissions.MODERATE, nested=False)
    basic_permissions = Attribute(permission=UserPermissions.MODERATE,
                                  self_access=False,
                                  nested=False)
    permissions = Attribute(permission=UserPermissions.MODERATE_ADVANCED,
                            nested=False)
コード例 #14
0
class ForumPollChoiceSerializer(Serializer):
    id = Attribute()
    choice = Attribute()
    answers = Attribute()
コード例 #15
0
class ForumThreadSerializer(Serializer):
    id = Attribute()
    topic = Attribute()
    forum = Attribute(nested=('id', ))
    creator = Attribute(nested=('id', 'username'))
    locked = Attribute()
    sticky = Attribute()
    created_time = Attribute()
    poll = Attribute(nested=False)
    last_post = Attribute()
    last_viewed_post = Attribute()
    subscribed = Attribute()
    post_count = Attribute()
    posts = Attribute(nested=False)
    thread_notes = Attribute(permission='forums_threads_modify')
    deleted = Attribute(permission='forums_threads_modify_advanced')
コード例 #16
0
class ForumPostEditHistorySerializer(Serializer):
    id = Attribute(permission='forums_posts_modify_advanced')
    editor = Attribute(permission='forums_posts_modify_advanced')
    contents = Attribute(permission='forums_posts_modify_advanced')
    time = Attribute(permission='forums_posts_modify_advanced')
コード例 #17
0
class ForumThreadNoteSerializer(Serializer):
    id = Attribute(permission='forums_threads_modify')
    note = Attribute(permission='forums_threads_modify')
    user = Attribute(nested=('id', 'username'),
                     permission='forums_threads_modify')
    time = Attribute(permission='forums_threads_modify')
コード例 #18
0
ファイル: serializers.py プロジェクト: sharebears/pulsar-wiki
class WikiLanguageSerializer(Serializer):
    id = Attribute()
    language = Attribute()
コード例 #19
0
ファイル: serializers.py プロジェクト: sharebears/pulsar-wiki
class WikiTranslationSerializer(Serializer):
    parent_article = Attribute()
    language = Attribute()
    title = Attribute()
    contents = Attribute()
    latest_revision = Attribute()