# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: eolymp/course/student_service.proto
"""Generated protocol buffer code."""
from google.protobuf.internal import builder as _builder
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import symbol_database as _symbol_database
# @@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 material_pb2 as eolymp_dot_course_dot_material__pb2
from eolymp.course import module_pb2 as eolymp_dot_course_dot_module__pb2
from eolymp.course import student_pb2 as eolymp_dot_course_dot_student__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/student_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\x1c\x65olymp/course/material.proto\x1a\x1a\x65olymp/course/module.proto\x1a\x1b\x65olymp/course/student.proto\x1a eolymp/wellknown/direction.proto\x1a!eolymp/wellknown/expression.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"=\n\x12\x43reateStudentInput\x12\'\n\x07student\x18\x01 \x01(\x0b\x32\x16.eolymp.course.Student\")\n\x13\x43reateStudentOutput\x12\x12\n\nstudent_id\x18\x02 \x01(\t\"\xb8\x01\n\x12UpdateStudentInput\x12\x36\n\x05patch\x18\x01 \x03(\x0e\x32\'.eolymp.course.UpdateStudentInput.Patch\x12\x11\n\tmember_id\x18\x02 \x01(\t\x12\'\n\x07student\x18\x03 \x01(\x0b\x32\x16.eolymp.course.Student\".\n\x05Patch\x12\x07\n\x03\x41LL\x10\x00\x12\x0c\n\x08INACTIVE\x10\x01\x12\x0e\n\nASSIGN_ALL\x10\x02\"\x15\n\x13UpdateStudentOutput\"\'\n\x12\x44\x65leteStudentInput\x12\x11\n\tmember_id\x18\x01 \x01(\t\"\x15\n\x13\x44\x65leteStudentOutput\"W\n\x14\x44\x65scribeStudentInput\x12\x11\n\tmember_id\x18\x01 \x01(\t\x12,\n\x05\x65xtra\x18\xe3\x08 \x03(\x0e\x32\x1c.eolymp.course.Student.Extra\"@\n\x15\x44\x65scribeStudentOutput\x12\'\n\x07student\x18\x01 \x01(\x0b\x32\x16.eolymp.course.Student\"\xd1\x03\n\x11ListStudentsInput\x12\r\n\x05\x61\x66ter\x18\x0c \x01(\t\x12\x0e\n\x06offset\x18\n \x01(\x05\x12\x0c\n\x04size\x18\x0b \x01(\x05\x12\x38\n\x07\x66ilters\x18( \x01(\x0b\x32\'.eolymp.course.ListStudentsInput.Filter\x12\x37\n\x04sort\x18\x32 \x01(\x0e\x32).eolymp.course.ListStudentsInput.Sortable\x12*\n\x05order\x18\x33 \x01(\x0e\x32\x1b.eolymp.wellknown.Direction\x12,\n\x05\x65xtra\x18\xe3\x08 \x03(\x0e\x32\x1c.eolymp.course.Student.Extra\x1a\xa8\x01\n\x06\x46ilter\x12\r\n\x05query\x18\x01 \x01(\t\x12*\n\x02id\x18\n \x03(\x0b\x32\x1e.eolymp.wellknown.ExpressionID\x12\x31\n\tmember_id\x18\x0b \x03(\x0b\x32\x1e.eolymp.wellknown.ExpressionID\x12\x30\n\x08group_id\x18\x0c \x03(\x0b\x32\x1e.eolymp.wellknown.ExpressionID\"\x17\n\x08Sortable\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\"~\n\x12ListStudentsOutput\x12\r\n\x05total\x18\x01 \x01(\x05\x12%\n\x05items\x18\x02 \x03(\x0b\x32\x16.eolymp.course.Student\x12\x18\n\x10next_page_cursor\x18\x03 \x01(\t\x12\x18\n\x10prev_page_cursor\x18\x04 \x01(\t\"T\n\x11WatchStudentInput\x12\x11\n\tmember_id\x18\x02 \x01(\t\x12,\n\x05\x65xtra\x18\xe3\x08 \x03(\x0e\x32\x1c.eolymp.course.Student.Extra\"=\n\x12WatchStudentOutput\x12\'\n\x07student\x18\x01 \x01(\x0b\x32\x16.eolymp.course.Student\"\x11\n\x0fJoinCourseInput\"\x12\n\x10JoinCourseOutput\"C\n\x13\x44\x65scribeViewerInput\x12,\n\x05\x65xtra\x18\xe3\x08 \x03(\x0e\x32\x1c.eolymp.course.Student.Extra\"?\n\x14\x44\x65scribeViewerOutput\x12\'\n\x07student\x18\x01 \x01(\x0b\x32\x16.eolymp.course.Student\"\x8a\x02\n\x1bListStudentAssignmentsInput\x12\x11\n\tmember_id\x18\x01 \x01(\t\x12\x0e\n\x06offset\x18\n \x01(\x05\x12\x0c\n\x04size\x18\x0b \x01(\x05\x12\x42\n\x07\x66ilters\x18( \x01(\x0b\x32\x31.eolymp.course.ListStudentAssignmentsInput.Filter\x1av\n\x06\x46ilter\x12\r\n\x05query\x18\x01 \x01(\t\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\"W\n\x1cListStudentAssignmentsOutput\x12\r\n\x05total\x18\x01 \x01(\x05\x12(\n\x05items\x18\x02 \x03(\x0b\x32\x19.eolymp.course.Assignment\"\xcd\x01\n\x1cUpdateStudentAssignmentInput\x12\x11\n\tmember_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\"\x1f\n\x1dUpdateStudentAssignmentOutput\"D\n\x1c\x44\x65leteStudentAssignmentInput\x12\x11\n\tmember_id\x18\x01 \x01(\t\x12\x11\n\tmodule_id\x18\x02 \x01(\t\"\x1f\n\x1d\x44\x65leteStudentAssignmentOutput\"+\n\x16ListStudentGradesInput\x12\x11\n\tmember_id\x18\x01 \x01(\t\"H\n\x17ListStudentGradesOutput\x12-\n\x05items\x18\x01 \x03(\x0b\x32\x1e.eolymp.course.Module.Progress\"=\n\x15ListModuleGradesInput\x12\x11\n\tmember_id\x18\x01 \x01(\t\x12\x11\n\tmodule_id\x18\x02 \x01(\t\"I\n\x16ListModuleGradesOutput\x12/\n\x05items\x18\x01 \x03(\x0b\x32 .eolymp.course.Material.Progress2\x8b\x11\n\x0eStudentService\x12\x93\x01\n\rCreateStudent\x12!.eolymp.course.CreateStudentInput\x1a\".eolymp.course.CreateStudentOutput\";\x82\xe3\n\x17\x8a\xe3\n\x13\x63ourse:course:write\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0@\xf8\xe2\n\x14\x82\xd3\xe4\x93\x02\x0b\"\t/students\x12\x9f\x01\n\rUpdateStudent\x12!.eolymp.course.UpdateStudentInput\x1a\".eolymp.course.UpdateStudentOutput\"G\x82\xe3\n\x17\x8a\xe3\n\x13\x63ourse:course:write\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0@\xf8\xe2\n\x14\x82\xd3\xe4\x93\x02\x17\"\x15/students/{member_id}\x12\x9f\x01\n\rDeleteStudent\x12!.eolymp.course.DeleteStudentInput\x1a\".eolymp.course.DeleteStudentOutput\"G\x82\xe3\n\x17\x8a\xe3\n\x13\x63ourse:course:write\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\x80?\xf8\xe2\n\x05\x82\xd3\xe4\x93\x02\x17*\x15/students/{member_id}\x12\xa4\x01\n\x0f\x44\x65scribeStudent\x12#.eolymp.course.DescribeStudentInput\x1a$.eolymp.course.DescribeStudentOutput\"F\x82\xe3\n\x16\x8a\xe3\n\x12\x63ourse:course:read\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0\x41\xf8\xe2\nd\x82\xd3\xe4\x93\x02\x17\x12\x15/students/{member_id}\x12\x8f\x01\n\x0cListStudents\x12 .eolymp.course.ListStudentsInput\x1a!.eolymp.course.ListStudentsOutput\":\x82\xe3\n\x16\x8a\xe3\n\x12\x63ourse:course:read\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0\x41\xf8\xe2\nd\x82\xd3\xe4\x93\x02\x0b\x12\t/students\x12q\n\x0cWatchStudent\x12 .eolymp.course.WatchStudentInput\x1a!.eolymp.course.WatchStudentOutput\"\x1a\x82\xe3\n\x16\x8a\xe3\n\x12\x63ourse:course:read0\x01\x12\x85\x01\n\nJoinCourse\x12\x1e.eolymp.course.JoinCourseInput\x1a\x1f.eolymp.course.JoinCourseOutput\"6\x82\xe3\n\x16\x8a\xe3\n\x12\x63ourse:course:read\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\x00@\xf8\xe2\n\n\x82\xd3\xe4\x93\x02\x07\"\x05/join\x12\x9b\x01\n\x0e\x44\x65scribeViewer\x12\".eolymp.course.DescribeViewerInput\x1a#.eolymp.course.DescribeViewerOutput\"@\x82\xe3\n\x16\x8a\xe3\n\x12\x63ourse:course:read\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0\x41\xf8\xe2\nd\x82\xd3\xe4\x93\x02\x11\x12\x0f/viewer/student\x12\xc5\x01\n\x16ListStudentAssignments\x12*.eolymp.course.ListStudentAssignmentsInput\x1a+.eolymp.course.ListStudentAssignmentsOutput\"R\x82\xe3\n\x16\x8a\xe3\n\x12\x63ourse:course:read\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0\x41\xf8\xe2\nd\x82\xd3\xe4\x93\x02#\x12!/students/{member_id}/assignments\x12\xc8\x01\n\x17UpdateStudentAssignment\x12+.eolymp.course.UpdateStudentAssignmentInput\x1a,.eolymp.course.UpdateStudentAssignmentOutput\"R\x82\xe3\n\x16\x8a\xe3\n\x12\x63ourse:course:read\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0\x41\xf8\xe2\nd\x82\xd3\xe4\x93\x02#\"!/students/{member_id}/assignments\x12\xc8\x01\n\x17\x44\x65leteStudentAssignment\x12+.eolymp.course.DeleteStudentAssignmentInput\x1a,.eolymp.course.DeleteStudentAssignmentOutput\"R\x82\xe3\n\x16\x8a\xe3\n\x12\x63ourse:course:read\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0\x41\xf8\xe2\nd\x82\xd3\xe4\x93\x02#*!/students/{member_id}/assignments\x12\xb1\x01\n\x11ListStudentGrades\x12%.eolymp.course.ListStudentGradesInput\x1a&.eolymp.course.ListStudentGradesOutput\"M\x82\xe3\n\x16\x8a\xe3\n\x12\x63ourse:course:read\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0\x41\xf8\xe2\nd\x82\xd3\xe4\x93\x02\x1e\x12\x1c/students/{member_id}/grades\x12\xba\x01\n\x10ListModuleGrades\x12$.eolymp.course.ListModuleGradesInput\x1a%.eolymp.course.ListModuleGradesOutput\"Y\x82\xe3\n\x16\x8a\xe3\n\x12\x63ourse:course:read\xea\xe2\n\x0b\xf5\xe2\n\x00\x00\xa0\x41\xf8\xe2\nd\x82\xd3\xe4\x93\x02*\x12(/students/{member_id}/grades/{module_id}B/Z-github.com/eolymp/go-sdk/eolymp/course;courseb\x06proto3')

_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'eolymp.course.student_service_pb2', globals())
if _descriptor._USE_C_DESCRIPTORS == False:

  DESCRIPTOR._options = None
  DESCRIPTOR._serialized_options = b'Z-github.com/eolymp/go-sdk/eolymp/course;course'
  _STUDENTSERVICE.methods_by_name['CreateStudent']._options = None
  _STUDENTSERVICE.methods_by_name['CreateStudent']._serialized_options = b'\202\343\n\027\212\343\n\023course:course:write\352\342\n\013\365\342\n\000\000\240@\370\342\n\024\202\323\344\223\002\013\"\t/students'
  _STUDENTSERVICE.methods_by_name['UpdateStudent']._options = None
  _STUDENTSERVICE.methods_by_name['UpdateStudent']._serialized_options = b'\202\343\n\027\212\343\n\023course:course:write\352\342\n\013\365\342\n\000\000\240@\370\342\n\024\202\323\344\223\002\027\"\025/students/{member_id}'
  _STUDENTSERVICE.methods_by_name['DeleteStudent']._options = None
  _STUDENTSERVICE.methods_by_name['DeleteStudent']._serialized_options = b'\202\343\n\027\212\343\n\023course:course:write\352\342\n\013\365\342\n\000\000\200?\370\342\n\005\202\323\344\223\002\027*\025/students/{member_id}'
  _STUDENTSERVICE.methods_by_name['DescribeStudent']._options = None
  _STUDENTSERVICE.methods_by_name['DescribeStudent']._serialized_options = b'\202\343\n\026\212\343\n\022course:course:read\352\342\n\013\365\342\n\000\000\240A\370\342\nd\202\323\344\223\002\027\022\025/students/{member_id}'
  _STUDENTSERVICE.methods_by_name['ListStudents']._options = None
  _STUDENTSERVICE.methods_by_name['ListStudents']._serialized_options = b'\202\343\n\026\212\343\n\022course:course:read\352\342\n\013\365\342\n\000\000\240A\370\342\nd\202\323\344\223\002\013\022\t/students'
  _STUDENTSERVICE.methods_by_name['WatchStudent']._options = None
  _STUDENTSERVICE.methods_by_name['WatchStudent']._serialized_options = b'\202\343\n\026\212\343\n\022course:course:read'
  _STUDENTSERVICE.methods_by_name['JoinCourse']._options = None
  _STUDENTSERVICE.methods_by_name['JoinCourse']._serialized_options = b'\202\343\n\026\212\343\n\022course:course:read\352\342\n\013\365\342\n\000\000\000@\370\342\n\n\202\323\344\223\002\007\"\005/join'
  _STUDENTSERVICE.methods_by_name['DescribeViewer']._options = None
  _STUDENTSERVICE.methods_by_name['DescribeViewer']._serialized_options = b'\202\343\n\026\212\343\n\022course:course:read\352\342\n\013\365\342\n\000\000\240A\370\342\nd\202\323\344\223\002\021\022\017/viewer/student'
  _STUDENTSERVICE.methods_by_name['ListStudentAssignments']._options = None
  _STUDENTSERVICE.methods_by_name['ListStudentAssignments']._serialized_options = b'\202\343\n\026\212\343\n\022course:course:read\352\342\n\013\365\342\n\000\000\240A\370\342\nd\202\323\344\223\002#\022!/students/{member_id}/assignments'
  _STUDENTSERVICE.methods_by_name['UpdateStudentAssignment']._options = None
  _STUDENTSERVICE.methods_by_name['UpdateStudentAssignment']._serialized_options = b'\202\343\n\026\212\343\n\022course:course:read\352\342\n\013\365\342\n\000\000\240A\370\342\nd\202\323\344\223\002#\"!/students/{member_id}/assignments'
  _STUDENTSERVICE.methods_by_name['DeleteStudentAssignment']._options = None
  _STUDENTSERVICE.methods_by_name['DeleteStudentAssignment']._serialized_options = b'\202\343\n\026\212\343\n\022course:course:read\352\342\n\013\365\342\n\000\000\240A\370\342\nd\202\323\344\223\002#*!/students/{member_id}/assignments'
  _STUDENTSERVICE.methods_by_name['ListStudentGrades']._options = None
  _STUDENTSERVICE.methods_by_name['ListStudentGrades']._serialized_options = b'\202\343\n\026\212\343\n\022course:course:read\352\342\n\013\365\342\n\000\000\240A\370\342\nd\202\323\344\223\002\036\022\034/students/{member_id}/grades'
  _STUDENTSERVICE.methods_by_name['ListModuleGrades']._options = None
  _STUDENTSERVICE.methods_by_name['ListModuleGrades']._serialized_options = b'\202\343\n\026\212\343\n\022course:course:read\352\342\n\013\365\342\n\000\000\240A\370\342\nd\202\323\344\223\002*\022(/students/{member_id}/grades/{module_id}'
  _CREATESTUDENTINPUT._serialized_start=374
  _CREATESTUDENTINPUT._serialized_end=435
  _CREATESTUDENTOUTPUT._serialized_start=437
  _CREATESTUDENTOUTPUT._serialized_end=478
  _UPDATESTUDENTINPUT._serialized_start=481
  _UPDATESTUDENTINPUT._serialized_end=665
  _UPDATESTUDENTINPUT_PATCH._serialized_start=619
  _UPDATESTUDENTINPUT_PATCH._serialized_end=665
  _UPDATESTUDENTOUTPUT._serialized_start=667
  _UPDATESTUDENTOUTPUT._serialized_end=688
  _DELETESTUDENTINPUT._serialized_start=690
  _DELETESTUDENTINPUT._serialized_end=729
  _DELETESTUDENTOUTPUT._serialized_start=731
  _DELETESTUDENTOUTPUT._serialized_end=752
  _DESCRIBESTUDENTINPUT._serialized_start=754
  _DESCRIBESTUDENTINPUT._serialized_end=841
  _DESCRIBESTUDENTOUTPUT._serialized_start=843
  _DESCRIBESTUDENTOUTPUT._serialized_end=907
  _LISTSTUDENTSINPUT._serialized_start=910
  _LISTSTUDENTSINPUT._serialized_end=1375
  _LISTSTUDENTSINPUT_FILTER._serialized_start=1182
  _LISTSTUDENTSINPUT_FILTER._serialized_end=1350
  _LISTSTUDENTSINPUT_SORTABLE._serialized_start=1352
  _LISTSTUDENTSINPUT_SORTABLE._serialized_end=1375
  _LISTSTUDENTSOUTPUT._serialized_start=1377
  _LISTSTUDENTSOUTPUT._serialized_end=1503
  _WATCHSTUDENTINPUT._serialized_start=1505
  _WATCHSTUDENTINPUT._serialized_end=1589
  _WATCHSTUDENTOUTPUT._serialized_start=1591
  _WATCHSTUDENTOUTPUT._serialized_end=1652
  _JOINCOURSEINPUT._serialized_start=1654
  _JOINCOURSEINPUT._serialized_end=1671
  _JOINCOURSEOUTPUT._serialized_start=1673
  _JOINCOURSEOUTPUT._serialized_end=1691
  _DESCRIBEVIEWERINPUT._serialized_start=1693
  _DESCRIBEVIEWERINPUT._serialized_end=1760
  _DESCRIBEVIEWEROUTPUT._serialized_start=1762
  _DESCRIBEVIEWEROUTPUT._serialized_end=1825
  _LISTSTUDENTASSIGNMENTSINPUT._serialized_start=1828
  _LISTSTUDENTASSIGNMENTSINPUT._serialized_end=2094
  _LISTSTUDENTASSIGNMENTSINPUT_FILTER._serialized_start=1976
  _LISTSTUDENTASSIGNMENTSINPUT_FILTER._serialized_end=2094
  _LISTSTUDENTASSIGNMENTSOUTPUT._serialized_start=2096
  _LISTSTUDENTASSIGNMENTSOUTPUT._serialized_end=2183
  _UPDATESTUDENTASSIGNMENTINPUT._serialized_start=2186
  _UPDATESTUDENTASSIGNMENTINPUT._serialized_end=2391
  _UPDATESTUDENTASSIGNMENTOUTPUT._serialized_start=2393
  _UPDATESTUDENTASSIGNMENTOUTPUT._serialized_end=2424
  _DELETESTUDENTASSIGNMENTINPUT._serialized_start=2426
  _DELETESTUDENTASSIGNMENTINPUT._serialized_end=2494
  _DELETESTUDENTASSIGNMENTOUTPUT._serialized_start=2496
  _DELETESTUDENTASSIGNMENTOUTPUT._serialized_end=2527
  _LISTSTUDENTGRADESINPUT._serialized_start=2529
  _LISTSTUDENTGRADESINPUT._serialized_end=2572
  _LISTSTUDENTGRADESOUTPUT._serialized_start=2574
  _LISTSTUDENTGRADESOUTPUT._serialized_end=2646
  _LISTMODULEGRADESINPUT._serialized_start=2648
  _LISTMODULEGRADESINPUT._serialized_end=2709
  _LISTMODULEGRADESOUTPUT._serialized_start=2711
  _LISTMODULEGRADESOUTPUT._serialized_end=2784
  _STUDENTSERVICE._serialized_start=2787
  _STUDENTSERVICE._serialized_end=4974
# @@protoc_insertion_point(module_scope)
