# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: eolymp/course/class_service.proto
# Protobuf Python Version: 6.31.1
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import runtime_version as _runtime_version
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
_runtime_version.ValidateProtobufRuntimeVersion(
    _runtime_version.Domain.PUBLIC,
    6,
    31,
    1,
    '',
    'eolymp/course/class_service.proto'
)
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from eolymp.annotations import http_pb2 as eolymp_dot_annotations_dot_http__pb2
from eolymp.annotations import ratelimit_pb2 as eolymp_dot_annotations_dot_ratelimit__pb2
from eolymp.annotations import scope_pb2 as eolymp_dot_annotations_dot_scope__pb2
from eolymp.course import assignment_pb2 as eolymp_dot_course_dot_assignment__pb2
from eolymp.course import class_pb2 as eolymp_dot_course_dot_class__pb2
from eolymp.wellknown import direction_pb2 as eolymp_dot_wellknown_dot_direction__pb2
from eolymp.wellknown import expression_pb2 as eolymp_dot_wellknown_dot_expression__pb2
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2


DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!eolymp/course/class_service.proto\x12\reolymp.course\x1a\x1d\x65olymp/annotations/http.proto\x1a\"eolymp/annotations/ratelimit.proto\x1a\x1e\x65olymp/annotations/scope.proto\x1a\x1e\x65olymp/course/assignment.proto\x1a\x19\x65olymp/course/class.proto\x1a eolymp/wellknown/direction.proto\x1a!eolymp/wellknown/expression.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"7\n\x10\x43reateClassInput\x12#\n\x05\x63lass\x18\x01 \x01(\x0b\x32\x14.eolymp.course.Class\"%\n\x11\x43reateClassOutput\x12\x10\n\x08\x63lass_id\x18\x02 \x01(\t\"\xaf\x01\n\x10UpdateClassInput\x12\x34\n\x05patch\x18\x01 \x03(\x0e\x32%.eolymp.course.UpdateClassInput.Patch\x12\x10\n\x08group_id\x18\x02 \x01(\t\x12#\n\x05\x63lass\x18\x03 \x01(\x0b\x32\x14.eolymp.course.Class\".\n\x05Patch\x12\x07\n\x03\x41LL\x10\x00\x12\x0c\n\x08INACTIVE\x10\x01\x12\x0e\n\nASSIGN_ALL\x10\x02\"\x13\n\x11UpdateClassOutput\"$\n\x10\x44\x65leteClassInput\x12\x10\n\x08group_id\x18\x01 \x01(\t\"\x13\n\x11\x44\x65leteClassOutput\"&\n\x12\x44\x65scribeClassInput\x12\x10\n\x08group_id\x18\x01 \x01(\t\":\n\x13\x44\x65scribeClassOutput\x12#\n\x05\x63lass\x18\x01 \x01(\x0b\x32\x14.eolymp.course.Class\"\x92\x03\n\x10ListClassesInput\x12\x0e\n\x06offset\x18\n \x01(\x05\x12\x0c\n\x04size\x18\x0b \x01(\x05\x12\x0e\n\x06search\x18\x14 \x01(\t\x12\x37\n\x07\x66ilters\x18( \x01(\x0b\x32&.eolymp.course.ListClassesInput.Filter\x12\x36\n\x04sort\x18\x32 \x01(\x0e\x32(.eolymp.course.ListClassesInput.Sortable\x12*\n\x05order\x18\x33 \x01(\x0e\x32\x1b.eolymp.wellknown.Direction\x1a\x99\x01\n\x06\x46ilter\x12*\n\x02id\x18\n \x03(\x0b\x32\x1e.eolymp.wellknown.ExpressionID\x12\x30\n\x08group_id\x18\x0b \x03(\x0b\x32\x1e.eolymp.wellknown.ExpressionID\x12\x31\n\tmember_id\x18\x0c \x03(\x0b\x32\x1e.eolymp.wellknown.ExpressionID\"\x17\n\x08Sortable\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\"G\n\x11ListClassesOutput\x12\r\n\x05total\x18\x01 \x01(\x05\x12#\n\x05items\x18\x02 \x03(\x0b\x32\x14.eolymp.course.Class\"\x86\x02\n\x19ListClassAssignmentsInput\x12\x10\n\x08group_id\x18\x01 \x01(\t\x12\x0e\n\x06offset\x18\n \x01(\x05\x12\x0c\n\x04size\x18\x0b \x01(\x05\x12\x0e\n\x06search\x18\x14 \x01(\t\x12@\n\x07\x66ilters\x18( \x01(\x0b\x32/.eolymp.course.ListClassAssignmentsInput.Filter\x1ag\n\x06\x46ilter\x12*\n\x02id\x18\n \x03(\x0b\x32\x1e.eolymp.wellknown.ExpressionID\x12\x31\n\tmodule_id\x18\x0b \x03(\x0b\x32\x1e.eolymp.wellknown.ExpressionID\"U\n\x1aListClassAssignmentsOutput\x12\r\n\x05total\x18\x01 \x01(\x05\x12(\n\x05items\x18\x02 \x03(\x0b\x32\x19.eolymp.course.Assignment\"\xca\x01\n\x1aUpdateClassAssignmentInput\x12\x10\n\x08group_id\x18\x01 \x01(\t\x12\x11\n\tmodule_id\x18\x02 \x01(\t\x12/\n\x0bstart_after\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x33\n\x0f\x63omplete_before\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08\x64uration\x18\r \x01(\r\x12\x0f\n\x07upsolve\x18\x1e \x01(\x08\"\x1d\n\x1bUpdateClassAssignmentOutput\"A\n\x1a\x44\x65leteClassAssignmentInput\x12\x10\n\x08group_id\x18\x01 \x01(\t\x12\x11\n\tmodule_id\x18\x02 \x01(\t\"\x1d\n\x1b\x44\x65leteClassAssignmentOutput2\xc4\n\n\x0c\x43lassService\x12\x8c\x01\n\x0b\x43reateClass\x12\x1f.eolymp.course.CreateClassInput\x1a .eolymp.course.CreateClassOutput\":\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0@\xf8\xe2\n\x14\x82\xe3\n\x17\x8a\xe3\n\x13\x63ourse:course:write\x82\xd3\xe4\x93\x02\n\"\x08/classes\x12\x97\x01\n\x0bUpdateClass\x12\x1f.eolymp.course.UpdateClassInput\x1a .eolymp.course.UpdateClassOutput\"E\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0@\xf8\xe2\n\x14\x82\xe3\n\x17\x8a\xe3\n\x13\x63ourse:course:write\x82\xd3\xe4\x93\x02\x15\"\x13/classes/{group_id}\x12\x97\x01\n\x0b\x44\x65leteClass\x12\x1f.eolymp.course.DeleteClassInput\x1a .eolymp.course.DeleteClassOutput\"E\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\x80?\xf8\xe2\n\x05\x82\xe3\n\x17\x8a\xe3\n\x13\x63ourse:course:write\x82\xd3\xe4\x93\x02\x15*\x13/classes/{group_id}\x12\x9c\x01\n\rDescribeClass\x12!.eolymp.course.DescribeClassInput\x1a\".eolymp.course.DescribeClassOutput\"D\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0\x41\xf8\xe2\nd\x82\xe3\n\x16\x8a\xe3\n\x12\x63ourse:course:read\x82\xd3\xe4\x93\x02\x15\x12\x13/classes/{group_id}\x12\x8b\x01\n\x0bListClasses\x12\x1f.eolymp.course.ListClassesInput\x1a .eolymp.course.ListClassesOutput\"9\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0\x41\xf8\xe2\nd\x82\xe3\n\x16\x8a\xe3\n\x12\x63ourse:course:read\x82\xd3\xe4\x93\x02\n\x12\x08/classes\x12\xbd\x01\n\x14ListClassAssignments\x12(.eolymp.course.ListClassAssignmentsInput\x1a).eolymp.course.ListClassAssignmentsOutput\"P\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0\x41\xf8\xe2\nd\x82\xe3\n\x16\x8a\xe3\n\x12\x63ourse:course:read\x82\xd3\xe4\x93\x02!\x12\x1f/classes/{group_id}/assignments\x12\xc0\x01\n\x15UpdateClassAssignment\x12).eolymp.course.UpdateClassAssignmentInput\x1a*.eolymp.course.UpdateClassAssignmentOutput\"P\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0\x41\xf8\xe2\nd\x82\xe3\n\x16\x8a\xe3\n\x12\x63ourse:course:read\x82\xd3\xe4\x93\x02!\"\x1f/classes/{group_id}/assignments\x12\xc0\x01\n\x15\x44\x65leteClassAssignment\x12).eolymp.course.DeleteClassAssignmentInput\x1a*.eolymp.course.DeleteClassAssignmentOutput\"P\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0\x41\xf8\xe2\nd\x82\xe3\n\x16\x8a\xe3\n\x12\x63ourse:course:read\x82\xd3\xe4\x93\x02!*\x1f/classes/{group_id}/assignmentsB/Z-github.com/eolymp/go-sdk/eolymp/course;courseb\x06proto3')

_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'eolymp.course.class_service_pb2', _globals)
if not _descriptor._USE_C_DESCRIPTORS:
  _globals['DESCRIPTOR']._loaded_options = None
  _globals['DESCRIPTOR']._serialized_options = b'Z-github.com/eolymp/go-sdk/eolymp/course;course'
  _globals['_CLASSSERVICE'].methods_by_name['CreateClass']._loaded_options = None
  _globals['_CLASSSERVICE'].methods_by_name['CreateClass']._serialized_options = b'\352\342\n\013\365\342\n\000\000\240@\370\342\n\024\202\343\n\027\212\343\n\023course:course:write\202\323\344\223\002\n\"\010/classes'
  _globals['_CLASSSERVICE'].methods_by_name['UpdateClass']._loaded_options = None
  _globals['_CLASSSERVICE'].methods_by_name['UpdateClass']._serialized_options = b'\352\342\n\013\365\342\n\000\000\240@\370\342\n\024\202\343\n\027\212\343\n\023course:course:write\202\323\344\223\002\025\"\023/classes/{group_id}'
  _globals['_CLASSSERVICE'].methods_by_name['DeleteClass']._loaded_options = None
  _globals['_CLASSSERVICE'].methods_by_name['DeleteClass']._serialized_options = b'\352\342\n\013\365\342\n\000\000\200?\370\342\n\005\202\343\n\027\212\343\n\023course:course:write\202\323\344\223\002\025*\023/classes/{group_id}'
  _globals['_CLASSSERVICE'].methods_by_name['DescribeClass']._loaded_options = None
  _globals['_CLASSSERVICE'].methods_by_name['DescribeClass']._serialized_options = b'\352\342\n\013\365\342\n\000\000\240A\370\342\nd\202\343\n\026\212\343\n\022course:course:read\202\323\344\223\002\025\022\023/classes/{group_id}'
  _globals['_CLASSSERVICE'].methods_by_name['ListClasses']._loaded_options = None
  _globals['_CLASSSERVICE'].methods_by_name['ListClasses']._serialized_options = b'\352\342\n\013\365\342\n\000\000\240A\370\342\nd\202\343\n\026\212\343\n\022course:course:read\202\323\344\223\002\n\022\010/classes'
  _globals['_CLASSSERVICE'].methods_by_name['ListClassAssignments']._loaded_options = None
  _globals['_CLASSSERVICE'].methods_by_name['ListClassAssignments']._serialized_options = b'\352\342\n\013\365\342\n\000\000\240A\370\342\nd\202\343\n\026\212\343\n\022course:course:read\202\323\344\223\002!\022\037/classes/{group_id}/assignments'
  _globals['_CLASSSERVICE'].methods_by_name['UpdateClassAssignment']._loaded_options = None
  _globals['_CLASSSERVICE'].methods_by_name['UpdateClassAssignment']._serialized_options = b'\352\342\n\013\365\342\n\000\000\240A\370\342\nd\202\343\n\026\212\343\n\022course:course:read\202\323\344\223\002!\"\037/classes/{group_id}/assignments'
  _globals['_CLASSSERVICE'].methods_by_name['DeleteClassAssignment']._loaded_options = None
  _globals['_CLASSSERVICE'].methods_by_name['DeleteClassAssignment']._serialized_options = b'\352\342\n\013\365\342\n\000\000\240A\370\342\nd\202\343\n\026\212\343\n\022course:course:read\202\323\344\223\002!*\037/classes/{group_id}/assignments'
  _globals['_CREATECLASSINPUT']._serialized_start=312
  _globals['_CREATECLASSINPUT']._serialized_end=367
  _globals['_CREATECLASSOUTPUT']._serialized_start=369
  _globals['_CREATECLASSOUTPUT']._serialized_end=406
  _globals['_UPDATECLASSINPUT']._serialized_start=409
  _globals['_UPDATECLASSINPUT']._serialized_end=584
  _globals['_UPDATECLASSINPUT_PATCH']._serialized_start=538
  _globals['_UPDATECLASSINPUT_PATCH']._serialized_end=584
  _globals['_UPDATECLASSOUTPUT']._serialized_start=586
  _globals['_UPDATECLASSOUTPUT']._serialized_end=605
  _globals['_DELETECLASSINPUT']._serialized_start=607
  _globals['_DELETECLASSINPUT']._serialized_end=643
  _globals['_DELETECLASSOUTPUT']._serialized_start=645
  _globals['_DELETECLASSOUTPUT']._serialized_end=664
  _globals['_DESCRIBECLASSINPUT']._serialized_start=666
  _globals['_DESCRIBECLASSINPUT']._serialized_end=704
  _globals['_DESCRIBECLASSOUTPUT']._serialized_start=706
  _globals['_DESCRIBECLASSOUTPUT']._serialized_end=764
  _globals['_LISTCLASSESINPUT']._serialized_start=767
  _globals['_LISTCLASSESINPUT']._serialized_end=1169
  _globals['_LISTCLASSESINPUT_FILTER']._serialized_start=991
  _globals['_LISTCLASSESINPUT_FILTER']._serialized_end=1144
  _globals['_LISTCLASSESINPUT_SORTABLE']._serialized_start=1146
  _globals['_LISTCLASSESINPUT_SORTABLE']._serialized_end=1169
  _globals['_LISTCLASSESOUTPUT']._serialized_start=1171
  _globals['_LISTCLASSESOUTPUT']._serialized_end=1242
  _globals['_LISTCLASSASSIGNMENTSINPUT']._serialized_start=1245
  _globals['_LISTCLASSASSIGNMENTSINPUT']._serialized_end=1507
  _globals['_LISTCLASSASSIGNMENTSINPUT_FILTER']._serialized_start=1404
  _globals['_LISTCLASSASSIGNMENTSINPUT_FILTER']._serialized_end=1507
  _globals['_LISTCLASSASSIGNMENTSOUTPUT']._serialized_start=1509
  _globals['_LISTCLASSASSIGNMENTSOUTPUT']._serialized_end=1594
  _globals['_UPDATECLASSASSIGNMENTINPUT']._serialized_start=1597
  _globals['_UPDATECLASSASSIGNMENTINPUT']._serialized_end=1799
  _globals['_UPDATECLASSASSIGNMENTOUTPUT']._serialized_start=1801
  _globals['_UPDATECLASSASSIGNMENTOUTPUT']._serialized_end=1830
  _globals['_DELETECLASSASSIGNMENTINPUT']._serialized_start=1832
  _globals['_DELETECLASSASSIGNMENTINPUT']._serialized_end=1897
  _globals['_DELETECLASSASSIGNMENTOUTPUT']._serialized_start=1899
  _globals['_DELETECLASSASSIGNMENTOUTPUT']._serialized_end=1928
  _globals['_CLASSSERVICE']._serialized_start=1931
  _globals['_CLASSSERVICE']._serialized_end=3279
# @@protoc_insertion_point(module_scope)
