HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux vmi1674223.contaboserver.net 5.4.0-182-generic #202-Ubuntu SMP Fri Apr 26 12:29:36 UTC 2024 x86_64
User: root (0)
PHP: 7.4.3-4ubuntu2.22
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/html/unitime/target/classes/OnlineSectioningLog.proto
/*
 * Licensed to The Apereo Foundation under one or more contributor license
 * agreements. See the NOTICE file distributed with this work for
 * additional information regarding copyright ownership.
 *
 * The Apereo Foundation licenses this file to you under the Apache License,
 * Version 2.0 (the "License"); you may not use this file except in
 * compliance with the License. You may obtain a copy of the License at:
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * When changed, compile using protoc:
 *    protoc JavaSource/OnlineSectioningLog.proto --java_out=JavaSource
 */

option java_package = "org.unitime.timetable.onlinesectioning";

message Entity {
	enum EntityType {
		CLAZZ = 0;
		COURSE = 1;
		LOCATION = 2;
		INSTRUCTOR = 3;
		STUDENT = 4;
		OFFERING = 5;
		RESERVATION = 6;
		INDIVIDUAL_RESERVATION = 7;
		GROUP_RESERVATION = 8;
		CURRICULUM_RESERVATION = 9;
		COURSE_RESERVATION = 10;
		MANAGER = 11;
		OTHER = 12;
	}
	optional int64 unique_id = 1;
	optional EntityType type = 2;
	optional string external_id = 3;
	optional string name = 4;
	repeated Property parameter = 5;
}

message Time {
	required int32 days = 1;
	required int32 start = 2;
	required int32 length = 3;
	optional string pattern = 4;
	optional Section.Preference preference = 5;
}

message Section {
	enum Preference {
		REQUIRED = 0;
		PREFERRED = 1;
		SELECTED = 2;
		ADD = 3;
		DROP = 4;
	}
	optional Entity clazz = 1;
	optional Time time = 2;
	repeated Entity instructor = 3;
	repeated Entity location = 4;
	optional Preference preference = 5;
	optional Entity course = 6;
	optional Entity reservation = 7;
	optional int64 time_stamp = 8;
	optional Entity subpart = 9;
}

message Request {
	optional int64 id = 1;
	required int32 priority = 2;
	optional bool alternative = 3 [default = false];
	
	repeated Time free_time = 4;
	repeated Entity course = 5;
	repeated Section section = 6;
	
	optional int64 time_stamp = 8;
	
	optional bool wait_list = 9 [default = false];
	optional bool critical = 10 [default = false];
	optional bool no_subs = 11 [default = false];
	optional int64 waitlisted_time_stamp = 12;
	optional bool important = 13 [default = false];
	optional bool vital = 14 [default = false];
}

message Enrollment {
	enum EnrollmentType {
		REQUESTED = 0;
		COMPUTED = 1;
		PREVIOUS = 2;
		STORED = 3;
		APPROVED = 4;
		REJECTED = 5;
		EXTERNAL = 6;
	}
	required EnrollmentType type = 1;
	repeated Section section = 2;
	optional double value = 3; 
}

message Action {
	enum ResultType {
		SUCCESS = 0;
		FAILURE = 1;
		TRUE = 2;
		FALSE = 3;
		NULL = 4;
	}
	required string operation = 1;
	required Entity session = 2;
	optional Entity student = 3;
	
	optional int64 start_time = 4;
	optional int64 end_time = 5;
	optional int64 cpu_time = 6;
	
	repeated Request request = 7;
	repeated Enrollment enrollment = 8;
	repeated Entity other = 9;
	
	repeated Message message = 10;
	optional ResultType result = 11;
	
	optional Entity user = 12;
	repeated Property option = 13;
	
	optional int64 api_get_time = 14;
	optional int64 api_post_time = 15;
	optional string api_exception = 16;
	
	repeated Request recommendation = 17;
}

message Message {
	enum Level {
		DEBUG = 0;
		INFO = 1;
		WARN = 2;
		ERROR = 3;
		FATAL = 4;
	}
	required Level level = 1;
	required string text = 2;
	optional string exception = 3;
	optional int64 time_stamp = 4;
}

message Property {
	required string key = 1;
	required string value = 2;
}

message Log {
	repeated Action action = 1;
	repeated Message message = 2;
}

message CourseRequestOption {
	enum OptionType {
		ORIGINAL_ENROLLMENT = 0;
		REQUEST_PREFERENCE = 1;
	}
	required OptionType type = 1;
	repeated Section section = 2;
	repeated Entity instructionalMethod = 3;
}

message ExportedLog {
	required string student = 1;
	repeated Action action = 2;
}