diff --git a/Database.md b/Database.md index 1344ac8..6814e2c 100644 --- a/Database.md +++ b/Database.md @@ -162,34 +162,159 @@ ReferenceExerciseSolution contains additional data for reference solution than n ## ReferenceSolutionEvaluation +- _referenceSolution_ -- solution to which this evaluation belongs to +- _hwGroup_ -- hardware group which was used during execution on worker +- _resultsUrl_ -- filserver address from which results of reference evaluation can be internally accessed +- _evaluation_ -- associated general evaluation + ## ReportedErrors +All errors which were reported to api from backend are sent to administrator of system and also stored in this table. + +- _type_ -- textual description of error type +- _recipients_ -- list of email addresses to which error was sent +- _subject_ -- subject as it was sent in email +- _sentAt_ -- datetime when email with error report was sent +- _description_ -- message as it was sent in email + ## Resource +- _id_ -- textual identification of resource +- _permissions_ -- permissions associated with this resource + ## Role +Roles serves for distinction of what user can do or cannot do. Thus every user has to have assigned some particular role from which decisions about access rights are made. + +- _id_ -- role textual identification +- _parentRole_ -- reference to parent role +- _childRoles_ -- array of roles which have this one as parent +- _permissions_ -- permissions which are connected to this role + ## RuntimeEnvironment +Stores information about supported environments which can be used for evaluation on workers. + +- _name_ -- human readable name of runtime environment +- _language_ -- language which can be used in this environment +- _extensions_ -- list of extensions in yaml format +- _platform_ -- textual description of platform +- _description_ -- some further description concerning this environment + ## Solution +- _user_ -- user to whom this solution belongs to +- _files_ -- exercise solution files which user uploaded and are associated with solution +- _solutionRuntimeConfig_ -- runtime configuration which was used during execution on worker +- _evaluated_ -- true if solution was evaluated and results were processed + + ## SolutionEvaluation +- _evaluatedAt_ -- datetime of evaluation creation +- _initFailed_ -- if true then one of the initiation tasks failed thus solution cannot be even compiled +- _score_ -- overall score of user solution +- _points_ -- points which were assigned to user for this solution +- _bonusPoints_ -- bonus points assigned by some of the supervisors +- _isValid_ -- can be used to ban user solution of exercise due to various reasons +- _evaluationFailed_ -- true if whole evaluation failed on worker +- _resultYml_ -- whole YAML file with evaluation results acquired indirectly from worker +- _testResults_ -- results of all tests associated with user solution + ## SolutionFile +Parent of this entity is `UploadedFile`, only added field is solution to which this file is associated. + +- _solution_ -- associated solution to which file belongs to + ## SolutionRuntimeConfig +- _name_ -- human readable identificator of runtime configuration +- _runtimeEnvironment_ -- corresponding runtime environment +- _jobConfigFilePath_ -- path to job configuration which is stored at api server +- _createdAt_ -- datetime of entity creation +- _createdFrom_ -- parent solution runtime configuration from which this one was created + ## Submission +- _submittedAt_ -- datetime of submission creation +- _note_ -- user can provide note to his/hers exercise solution +- _resultsUrl_ -- URL pointed to fileserver from which results of submission can be internally downloaded +- _assignment_ -- corresponding assignment to which submission belongs to +- _user_ -- user to whom submission belongs to +- _submittedBy_ -- user who submitted solution of exercise, can be supervisor for instance +- _solution_ -- corresponding solution +- _asynchronous_ -- exercise solution was submitted asynchronously, this happens when supervisor or superadmin submit solution for particular user +- _evaluation_ -- evaluation of this submission + ## SubmissionFailure +Logically queue of failed submissions which deserves further attention from administrator. Administrator can then resolve this issue and information about that will be stored too. + +- _type_ -- type of failure, can be for example _broker_reject_ or _evaluation_failure_ +- _description_ -- description of failure which was provided by backend +- _submission_ -- associated submission which failed +- _createdAt_ -- datetime of entity creation +- _resolvedAt_ -- datetime when failure was resolved +- _resolutionNote_ -- user can provide description when failure is resolved + ## TestResult +Represents result of one logical test from job configuration. + +- _testName_ -- name of test which was stated in job configuration +- _status_ -- overall status of test +- _solutionEvaluation_ -- evaluation to which test result belongs +- _score_ -- score which was assigned to test evaluation by judge +- _memoryExceeded_ -- true if memory limit was exceeded +- _usedMemoryRatio_ -- float number from 0.0 to 1.0 which represents percentage of user solution memory usage against memory limit from configuration +- _timeExceeded_ -- true if time limit was exceeded +- _usedTimeRatio_ -- float number from 0.0 to 1.0 which represents percentage of user solution time usage against time limit from configuration +- _exitCode_ -- exit code which whole test returns +- _message_ -- provided only on non-zero exit code +- _stats_ -- textual representation of whole information about evaluation of test which arrived from worker +- _judgeOutput_ -- output textual message from judge + ## UploadedFile +Entity which represents one file which was uploaded to api server. This entity uses _Single Table Inheritance_ and its children are `ExerciseFile` and `SolutionFile` entities. + +- _name_ -- original name of file uploaded to api +- _localFilePath_ -- destination where file is stored on api server +- _uploadedAt_ -- datetime of file upload +- _fileSize_ -- size of uploaded file in bytes +- _user_ -- user which uploaded particular file + ## User +Keeps information about all users which are registered in ReCodEx. + +- _degreesBeforeName_ -- degrees before name which user acquired +- _firstName_ -- first name +- _lastName_ -- surname +- _degreesAfterName_ -- degrees after name +- _email_ -- email address which is used for sending email notifications +- _avatarUrl_ -- url of profile picture +- _isVerified_ -- user verified his/hers email address (not used at the moment) +- _isAllowed_ -- if this field is set to false user cannot sign in to application +- _createdAt_ -- datetime of user registration +- _instance_ -- instance to which user belongs to +- _settings_ -- settings which are connected to this user +- _memberships_ -- array of groups in which is user assigned +- _exercises_ -- exercises which user created and is their author +- _role_ -- role of the user which is used to determine privileges + ## UserAction +Stores information about what routes on api user visited and some additional information about it. This datas should be collected only from logged users. + +- _user_ -- which user performed api request +- _loggedAt_ -- time when action was performed +- _action_ -- action which was requested on api +- _params_ -- GET or POST parameters given by user +- _code_ -- return code which was sent back by api +- _data_ -- if call ended up with an exception, description of thrown exception should be there + ## UserSettings User settings belong to some particular user and contains settings mostly for web application.