diff --git a/app/components/rector/JobProps.vue b/app/components/rector/JobProps.vue index 103ca10af..c00942e98 100644 --- a/app/components/rector/JobProps.vue +++ b/app/components/rector/JobProps.vue @@ -139,6 +139,7 @@ async function setJobProps(values: Schema): Promise { if (values.logoUrl && values.logoUrl[0]) { jobProps.value.logoUrl = { data: new Uint8Array(await values.logoUrl[0].arrayBuffer()) }; } + // TODO past absence days option try { const { response } = await getGRPCRectorClient().setJobProps({ diff --git a/gen/go/proto/resources/users/job_props.go b/gen/go/proto/resources/users/job_props.go index 194d7159b..f09fac7ca 100644 --- a/gen/go/proto/resources/users/job_props.go +++ b/gen/go/proto/resources/users/job_props.go @@ -101,6 +101,12 @@ func (x *JobProps) Default(job string) { if x.DiscordSyncSettings.QualificationsRoleFormat == "" { x.DiscordSyncSettings.QualificationsRoleFormat = DefaultQualificationsRoleFormat } + + // Job Settings + if x.Settings == nil { + x.Settings = &JobSettings{} + } + x.Settings.Default() } // Scan implements driver.Valuer for protobuf QuickButtons. @@ -174,27 +180,6 @@ func (x *CitizenLabel) Equal(a *CitizenLabel) bool { return x.Name == a.Name } -// Scan implements driver.Valuer for protobuf JobSettings. -func (x *JobSettings) Scan(value any) error { - switch t := value.(type) { - case string: - return protojson.Unmarshal([]byte(t), x) - case []byte: - return protojson.Unmarshal(t, x) - } - return nil -} - -// Value marshals the value into driver.Valuer. -func (x *JobSettings) Value() (driver.Value, error) { - if x == nil { - return nil, nil - } - - out, err := protoutils.Marshal(x) - return string(out), err -} - // Scan implements driver.Valuer for protobuf DiscordSyncChanges. func (x *DiscordSyncChanges) Scan(value any) error { switch t := value.(type) { diff --git a/gen/go/proto/resources/users/job_settings.go b/gen/go/proto/resources/users/job_settings.go new file mode 100644 index 000000000..4c299bd4a --- /dev/null +++ b/gen/go/proto/resources/users/job_settings.go @@ -0,0 +1,39 @@ +package users + +import ( + "database/sql/driver" + + "github.com/fivenet-app/fivenet/pkg/utils/protoutils" + "google.golang.org/protobuf/encoding/protojson" +) + +const ( + DefaultJobAbsencePastDays = 7 +) + +func (x *JobSettings) Default() { + if x.AbsencePastDays <= 0 { + x.AbsencePastDays = DefaultJobAbsencePastDays + } +} + +// Scan implements driver.Valuer for protobuf JobSettings. +func (x *JobSettings) Scan(value any) error { + switch t := value.(type) { + case string: + return protojson.Unmarshal([]byte(t), x) + case []byte: + return protojson.Unmarshal(t, x) + } + return nil +} + +// Value marshals the value into driver.Valuer. +func (x *JobSettings) Value() (driver.Value, error) { + if x == nil { + return nil, nil + } + + out, err := protoutils.Marshal(x) + return string(out), err +} diff --git a/gen/go/proto/resources/users/job_settings.pb.go b/gen/go/proto/resources/users/job_settings.pb.go index 500d5e618..1dc661aa3 100644 --- a/gen/go/proto/resources/users/job_settings.pb.go +++ b/gen/go/proto/resources/users/job_settings.pb.go @@ -569,9 +569,10 @@ func (x *GroupSyncSettings) GetIgnoredRoleIds() []string { } type JobSettings struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + AbsencePastDays int32 `protobuf:"varint,1,opt,name=absence_past_days,json=absencePastDays,proto3" json:"absence_past_days,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *JobSettings) Reset() { @@ -604,6 +605,13 @@ func (*JobSettings) Descriptor() ([]byte, []int) { return file_resources_users_job_settings_proto_rawDescGZIP(), []int{8} } +func (x *JobSettings) GetAbsencePastDays() int32 { + if x != nil { + return x.AbsencePastDays + } + return 0 +} + var File_resources_users_job_settings_proto protoreflect.FileDescriptor var file_resources_users_job_settings_proto_rawDesc = []byte{ @@ -712,23 +720,26 @@ var file_resources_users_job_settings_proto_rawDesc = []byte{ 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x92, 0x01, 0x08, 0x10, 0x19, 0x22, 0x04, 0x72, 0x02, 0x18, 0x18, 0x52, 0x0e, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x52, 0x6f, - 0x6c, 0x65, 0x49, 0x64, 0x73, 0x22, 0x0d, 0x0a, 0x0b, 0x4a, 0x6f, 0x62, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x2a, 0xa3, 0x01, 0x0a, 0x1a, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, - 0x6f, 0x53, 0x79, 0x6e, 0x63, 0x55, 0x6e, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, - 0x6f, 0x64, 0x65, 0x12, 0x2e, 0x0a, 0x2a, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x46, 0x4f, - 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x55, 0x4e, 0x45, 0x4d, 0x50, 0x4c, 0x4f, 0x59, 0x45, 0x44, - 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x2c, 0x0a, 0x28, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x46, 0x4f, - 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x55, 0x4e, 0x45, 0x4d, 0x50, 0x4c, 0x4f, 0x59, 0x45, 0x44, - 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x47, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x10, - 0x01, 0x12, 0x27, 0x0a, 0x23, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x53, - 0x59, 0x4e, 0x43, 0x5f, 0x55, 0x4e, 0x45, 0x4d, 0x50, 0x4c, 0x4f, 0x59, 0x45, 0x44, 0x5f, 0x4d, - 0x4f, 0x44, 0x45, 0x5f, 0x4b, 0x49, 0x43, 0x4b, 0x10, 0x02, 0x42, 0x43, 0x5a, 0x41, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x69, 0x76, 0x65, 0x6e, 0x65, 0x74, - 0x2d, 0x61, 0x70, 0x70, 0x2f, 0x66, 0x69, 0x76, 0x65, 0x6e, 0x65, 0x74, 0x2f, 0x67, 0x65, 0x6e, - 0x2f, 0x67, 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x73, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x3b, 0x75, 0x73, 0x65, 0x72, 0x73, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6c, 0x65, 0x49, 0x64, 0x73, 0x22, 0x42, 0x0a, 0x0b, 0x4a, 0x6f, 0x62, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x12, 0x33, 0x0a, 0x11, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x5f, + 0x70, 0x61, 0x73, 0x74, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, + 0x07, 0xfa, 0x42, 0x04, 0x1a, 0x02, 0x28, 0x00, 0x52, 0x0f, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x63, + 0x65, 0x50, 0x61, 0x73, 0x74, 0x44, 0x61, 0x79, 0x73, 0x2a, 0xa3, 0x01, 0x0a, 0x1a, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x79, 0x6e, 0x63, 0x55, 0x6e, 0x65, 0x6d, 0x70, 0x6c, + 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x2e, 0x0a, 0x2a, 0x55, 0x53, 0x45, 0x52, + 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x55, 0x4e, 0x45, 0x4d, 0x50, + 0x4c, 0x4f, 0x59, 0x45, 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x2c, 0x0a, 0x28, 0x55, 0x53, 0x45, 0x52, + 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x55, 0x4e, 0x45, 0x4d, 0x50, + 0x4c, 0x4f, 0x59, 0x45, 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x47, 0x49, 0x56, 0x45, 0x5f, + 0x52, 0x4f, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x27, 0x0a, 0x23, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x49, + 0x4e, 0x46, 0x4f, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x55, 0x4e, 0x45, 0x4d, 0x50, 0x4c, 0x4f, + 0x59, 0x45, 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4b, 0x49, 0x43, 0x4b, 0x10, 0x02, 0x42, + 0x43, 0x5a, 0x41, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x69, + 0x76, 0x65, 0x6e, 0x65, 0x74, 0x2d, 0x61, 0x70, 0x70, 0x2f, 0x66, 0x69, 0x76, 0x65, 0x6e, 0x65, + 0x74, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x3b, 0x75, + 0x73, 0x65, 0x72, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/gen/go/proto/resources/users/job_settings.pb.validate.go b/gen/go/proto/resources/users/job_settings.pb.validate.go index d8866eeec..c892018e7 100644 --- a/gen/go/proto/resources/users/job_settings.pb.validate.go +++ b/gen/go/proto/resources/users/job_settings.pb.validate.go @@ -1227,6 +1227,17 @@ func (m *JobSettings) validate(all bool) error { var errors []error + if m.GetAbsencePastDays() < 0 { + err := JobSettingsValidationError{ + field: "AbsencePastDays", + reason: "value must be greater than or equal to 0", + } + if !all { + return err + } + errors = append(errors, err) + } + if len(errors) > 0 { return JobSettingsMultiError(errors) } diff --git a/gen/grpc-api.md b/gen/grpc-api.md index 97ba0342f..b9d6bd7cf 100644 --- a/gen/grpc-api.md +++ b/gen/grpc-api.md @@ -11,22 +11,12 @@ - [OAuth2Account](#resources-accounts-OAuth2Account) - [OAuth2Provider](#resources-accounts-OAuth2Provider) -- [resources/calendar/access.proto](#resources_calendar_access-proto) - - [CalendarAccess](#resources-calendar-CalendarAccess) - - [CalendarJobAccess](#resources-calendar-CalendarJobAccess) - - [CalendarUserAccess](#resources-calendar-CalendarUserAccess) - - - [AccessLevel](#resources-calendar-AccessLevel) - -- [resources/calendar/calendar.proto](#resources_calendar_calendar-proto) - - [Calendar](#resources-calendar-Calendar) - - [CalendarEntry](#resources-calendar-CalendarEntry) - - [CalendarEntryRSVP](#resources-calendar-CalendarEntryRSVP) - - [CalendarEntryRecurring](#resources-calendar-CalendarEntryRecurring) - - [CalendarShort](#resources-calendar-CalendarShort) - - [CalendarSub](#resources-calendar-CalendarSub) +- [resources/centrum/settings.proto](#resources_centrum_settings-proto) + - [PredefinedStatus](#resources-centrum-PredefinedStatus) + - [Settings](#resources-centrum-Settings) + - [Timings](#resources-centrum-Timings) - - [RsvpResponses](#resources-calendar-RsvpResponses) + - [CentrumMode](#resources-centrum-CentrumMode) - [resources/centrum/access.proto](#resources_centrum_access-proto) - [UnitAccess](#resources-centrum-UnitAccess) @@ -53,13 +43,6 @@ - [Disponents](#resources-centrum-Disponents) - [UserUnitMapping](#resources-centrum-UserUnitMapping) -- [resources/centrum/settings.proto](#resources_centrum_settings-proto) - - [PredefinedStatus](#resources-centrum-PredefinedStatus) - - [Settings](#resources-centrum-Settings) - - [Timings](#resources-centrum-Timings) - - - [CentrumMode](#resources-centrum-CentrumMode) - - [resources/centrum/units.proto](#resources_centrum_units-proto) - [Unit](#resources-centrum-Unit) - [UnitAssignment](#resources-centrum-UnitAssignment) @@ -97,6 +80,9 @@ - [CronjobState](#resources-common-cron-CronjobState) +- [resources/common/uuid.proto](#resources_common_uuid-proto) + - [UUID](#resources-common-UUID) + - [resources/common/content/content.proto](#resources_common_content_content-proto) - [Content](#resources-common-content-Content) - [JSONNode](#resources-common-content-JSONNode) @@ -111,8 +97,12 @@ - [TranslateItem](#resources-common-TranslateItem) - [TranslateItem.ParametersEntry](#resources-common-TranslateItem-ParametersEntry) -- [resources/common/uuid.proto](#resources_common_uuid-proto) - - [UUID](#resources-common-UUID) +- [resources/documents/workflow.proto](#resources_documents_workflow-proto) + - [AutoCloseSettings](#resources-documents-AutoCloseSettings) + - [Reminder](#resources-documents-Reminder) + - [ReminderSettings](#resources-documents-ReminderSettings) + - [Workflow](#resources-documents-Workflow) + - [WorkflowCronData](#resources-documents-WorkflowCronData) - [resources/documents/access.proto](#resources_documents_access-proto) - [DocumentAccess](#resources-documents-DocumentAccess) @@ -163,17 +153,14 @@ - [TemplateShort](#resources-documents-TemplateShort) - [TemplateUserAccess](#resources-documents-TemplateUserAccess) -- [resources/documents/workflow.proto](#resources_documents_workflow-proto) - - [AutoCloseSettings](#resources-documents-AutoCloseSettings) - - [Reminder](#resources-documents-Reminder) - - [ReminderSettings](#resources-documents-ReminderSettings) - - [Workflow](#resources-documents-Workflow) - - [WorkflowCronData](#resources-documents-WorkflowCronData) - - [resources/filestore/file.proto](#resources_filestore_file-proto) - [File](#resources-filestore-File) - [FileInfo](#resources-filestore-FileInfo) +- [resources/jobs/colleagues.proto](#resources_jobs_colleagues-proto) + - [Colleague](#resources-jobs-Colleague) + - [JobsUserProps](#resources-jobs-JobsUserProps) + - [resources/jobs/activity.proto](#resources_jobs_activity-proto) - [ColleagueAbsenceDate](#resources-jobs-ColleagueAbsenceDate) - [ColleagueGradeChange](#resources-jobs-ColleagueGradeChange) @@ -184,10 +171,6 @@ - [JobsUserActivityType](#resources-jobs-JobsUserActivityType) -- [resources/jobs/colleagues.proto](#resources_jobs_colleagues-proto) - - [Colleague](#resources-jobs-Colleague) - - [JobsUserProps](#resources-jobs-JobsUserProps) - - [resources/jobs/conduct.proto](#resources_jobs_conduct-proto) - [ConductEntry](#resources-jobs-ConductEntry) @@ -210,6 +193,9 @@ - [Law](#resources-laws-Law) - [LawBook](#resources-laws-LawBook) +- [resources/livemap/tracker.proto](#resources_livemap_tracker-proto) + - [UsersUpdateEvent](#resources-livemap-UsersUpdateEvent) + - [resources/livemap/livemap.proto](#resources_livemap_livemap-proto) - [CircleMarker](#resources-livemap-CircleMarker) - [Coords](#resources-livemap-Coords) @@ -221,9 +207,6 @@ - [MarkerType](#resources-livemap-MarkerType) -- [resources/livemap/tracker.proto](#resources_livemap_tracker-proto) - - [UsersUpdateEvent](#resources-livemap-UsersUpdateEvent) - - [resources/notifications/events.proto](#resources_notifications_events-proto) - [JobEvent](#resources-notifications-JobEvent) - [JobGradeEvent](#resources-notifications-JobGradeEvent) @@ -290,11 +273,6 @@ - [RequestStatus](#resources-qualifications-RequestStatus) - [ResultStatus](#resources-qualifications-ResultStatus) -- [resources/rector/audit.proto](#resources_rector_audit-proto) - - [AuditEntry](#resources-rector-AuditEntry) - - - [EventType](#resources-rector-EventType) - - [resources/rector/config.proto](#resources_rector_config-proto) - [AppConfig](#resources-rector-AppConfig) - [Auth](#resources-rector-Auth) @@ -310,29 +288,33 @@ - [DiscordBotPresenceType](#resources-rector-DiscordBotPresenceType) -- [resources/timestamp/timestamp.proto](#resources_timestamp_timestamp-proto) - - [Timestamp](#resources-timestamp-Timestamp) +- [resources/rector/audit.proto](#resources_rector_audit-proto) + - [AuditEntry](#resources-rector-AuditEntry) -- [resources/users/activity.proto](#resources_users_activity-proto) - - [UserActivity](#resources-users-UserActivity) - - [UserActivityData](#resources-users-UserActivityData) - - [UserDocumentRelation](#resources-users-UserDocumentRelation) - - [UserFineChange](#resources-users-UserFineChange) - - [UserJailChange](#resources-users-UserJailChange) - - [UserJobChange](#resources-users-UserJobChange) - - [UserLabelsChange](#resources-users-UserLabelsChange) - - [UserLicenseChange](#resources-users-UserLicenseChange) - - [UserMugshotChange](#resources-users-UserMugshotChange) - - [UserNameChange](#resources-users-UserNameChange) - - [UserTrafficInfractionPointsChange](#resources-users-UserTrafficInfractionPointsChange) - - [UserWantedChange](#resources-users-UserWantedChange) + - [EventType](#resources-rector-EventType) - - [UserActivityType](#resources-users-UserActivityType) +- [resources/timestamp/timestamp.proto](#resources_timestamp_timestamp-proto) + - [Timestamp](#resources-timestamp-Timestamp) - [resources/users/job_props.proto](#resources_users_job_props-proto) - [JobProps](#resources-users-JobProps) - [QuickButtons](#resources-users-QuickButtons) +- [resources/users/jobs.proto](#resources_users_jobs-proto) + - [Job](#resources-users-Job) + - [JobGrade](#resources-users-JobGrade) + +- [resources/users/users.proto](#resources_users_users-proto) + - [User](#resources-users-User) + - [UserShort](#resources-users-UserShort) + +- [resources/users/props.proto](#resources_users_props-proto) + - [UserProps](#resources-users-UserProps) + +- [resources/users/licenses.proto](#resources_users_licenses-proto) + - [License](#resources-users-License) + - [UserLicenses](#resources-users-UserLicenses) + - [resources/users/job_settings.proto](#resources_users_job_settings-proto) - [DiscordSyncChange](#resources-users-DiscordSyncChange) - [DiscordSyncChanges](#resources-users-DiscordSyncChanges) @@ -346,53 +328,73 @@ - [UserInfoSyncUnemployedMode](#resources-users-UserInfoSyncUnemployedMode) -- [resources/users/jobs.proto](#resources_users_jobs-proto) - - [Job](#resources-users-Job) - - [JobGrade](#resources-users-JobGrade) +- [resources/users/activity.proto](#resources_users_activity-proto) + - [UserActivity](#resources-users-UserActivity) + - [UserActivityData](#resources-users-UserActivityData) + - [UserDocumentRelation](#resources-users-UserDocumentRelation) + - [UserFineChange](#resources-users-UserFineChange) + - [UserJailChange](#resources-users-UserJailChange) + - [UserJobChange](#resources-users-UserJobChange) + - [UserLabelsChange](#resources-users-UserLabelsChange) + - [UserLicenseChange](#resources-users-UserLicenseChange) + - [UserMugshotChange](#resources-users-UserMugshotChange) + - [UserNameChange](#resources-users-UserNameChange) + - [UserTrafficInfractionPointsChange](#resources-users-UserTrafficInfractionPointsChange) + - [UserWantedChange](#resources-users-UserWantedChange) + + - [UserActivityType](#resources-users-UserActivityType) - [resources/users/labels.proto](#resources_users_labels-proto) - [CitizenLabel](#resources-users-CitizenLabel) - [CitizenLabels](#resources-users-CitizenLabels) -- [resources/users/licenses.proto](#resources_users_licenses-proto) - - [License](#resources-users-License) - - [UserLicenses](#resources-users-UserLicenses) +- [resources/vehicles/vehicles.proto](#resources_vehicles_vehicles-proto) + - [Vehicle](#resources-vehicles-Vehicle) -- [resources/users/props.proto](#resources_users_props-proto) - - [UserProps](#resources-users-UserProps) +- [resources/calendar/access.proto](#resources_calendar_access-proto) + - [CalendarAccess](#resources-calendar-CalendarAccess) + - [CalendarJobAccess](#resources-calendar-CalendarJobAccess) + - [CalendarUserAccess](#resources-calendar-CalendarUserAccess) -- [resources/users/users.proto](#resources_users_users-proto) - - [User](#resources-users-User) - - [UserShort](#resources-users-UserShort) + - [AccessLevel](#resources-calendar-AccessLevel) -- [resources/vehicles/vehicles.proto](#resources_vehicles_vehicles-proto) - - [Vehicle](#resources-vehicles-Vehicle) +- [resources/calendar/calendar.proto](#resources_calendar_calendar-proto) + - [Calendar](#resources-calendar-Calendar) + - [CalendarEntry](#resources-calendar-CalendarEntry) + - [CalendarEntryRSVP](#resources-calendar-CalendarEntryRSVP) + - [CalendarEntryRecurring](#resources-calendar-CalendarEntryRecurring) + - [CalendarShort](#resources-calendar-CalendarShort) + - [CalendarSub](#resources-calendar-CalendarSub) + + - [RsvpResponses](#resources-calendar-RsvpResponses) - [resources/stats/stats.proto](#resources_stats_stats-proto) - [Stat](#resources-stats-Stat) -- [resources/wiki/access.proto](#resources_wiki_access-proto) - - [PageAccess](#resources-wiki-PageAccess) - - [PageJobAccess](#resources-wiki-PageJobAccess) - - [PageUserAccess](#resources-wiki-PageUserAccess) +- [resources/internet/ads.proto](#resources_internet_ads-proto) + - [Ad](#resources-internet-Ad) - - [AccessLevel](#resources-wiki-AccessLevel) + - [AdType](#resources-internet-AdType) -- [resources/wiki/activity.proto](#resources_wiki_activity-proto) - - [PageAccessJobsDiff](#resources-wiki-PageAccessJobsDiff) - - [PageAccessUpdated](#resources-wiki-PageAccessUpdated) - - [PageAccessUsersDiff](#resources-wiki-PageAccessUsersDiff) - - [PageActivity](#resources-wiki-PageActivity) - - [PageActivityData](#resources-wiki-PageActivityData) - - [PageUpdated](#resources-wiki-PageUpdated) +- [resources/internet/domain.proto](#resources_internet_domain-proto) + - [Domain](#resources-internet-Domain) + - [TLD](#resources-internet-TLD) - - [PageActivityType](#resources-wiki-PageActivityType) +- [resources/internet/page.proto](#resources_internet_page-proto) + - [Page](#resources-internet-Page) + - [PageData](#resources-internet-PageData) -- [resources/wiki/page.proto](#resources_wiki_page-proto) - - [Page](#resources-wiki-Page) - - [PageMeta](#resources-wiki-PageMeta) - - [PageRootInfo](#resources-wiki-PageRootInfo) - - [PageShort](#resources-wiki-PageShort) + - [PageLayoutType](#resources-internet-PageLayoutType) + +- [resources/internet/search.proto](#resources_internet_search-proto) + - [SearchResult](#resources-internet-SearchResult) + +- [resources/internet/access.proto](#resources_internet_access-proto) + - [DomainAccess](#resources-internet-DomainAccess) + - [DomainJobAccess](#resources-internet-DomainJobAccess) + - [DomainUserAccess](#resources-internet-DomainUserAccess) + + - [AccessLevel](#resources-internet-AccessLevel) - [resources/mailer/access.proto](#resources_mailer_access-proto) - [Access](#resources-mailer-Access) @@ -424,30 +426,35 @@ - [ThreadRecipientEmail](#resources-mailer-ThreadRecipientEmail) - [ThreadState](#resources-mailer-ThreadState) -- [resources/internet/ads.proto](#resources_internet_ads-proto) - - [Ad](#resources-internet-Ad) - - - [AdType](#resources-internet-AdType) - -- [resources/internet/page.proto](#resources_internet_page-proto) - - [Page](#resources-internet-Page) - - [PageData](#resources-internet-PageData) +- [resources/wiki/access.proto](#resources_wiki_access-proto) + - [PageAccess](#resources-wiki-PageAccess) + - [PageJobAccess](#resources-wiki-PageJobAccess) + - [PageUserAccess](#resources-wiki-PageUserAccess) - - [PageLayoutType](#resources-internet-PageLayoutType) + - [AccessLevel](#resources-wiki-AccessLevel) -- [resources/internet/search.proto](#resources_internet_search-proto) - - [SearchResult](#resources-internet-SearchResult) +- [resources/wiki/activity.proto](#resources_wiki_activity-proto) + - [PageAccessJobsDiff](#resources-wiki-PageAccessJobsDiff) + - [PageAccessUpdated](#resources-wiki-PageAccessUpdated) + - [PageAccessUsersDiff](#resources-wiki-PageAccessUsersDiff) + - [PageActivity](#resources-wiki-PageActivity) + - [PageActivityData](#resources-wiki-PageActivityData) + - [PageUpdated](#resources-wiki-PageUpdated) -- [resources/internet/access.proto](#resources_internet_access-proto) - - [DomainAccess](#resources-internet-DomainAccess) - - [DomainJobAccess](#resources-internet-DomainJobAccess) - - [DomainUserAccess](#resources-internet-DomainUserAccess) + - [PageActivityType](#resources-wiki-PageActivityType) - - [AccessLevel](#resources-internet-AccessLevel) +- [resources/wiki/page.proto](#resources_wiki_page-proto) + - [Page](#resources-wiki-Page) + - [PageMeta](#resources-wiki-PageMeta) + - [PageRootInfo](#resources-wiki-PageRootInfo) + - [PageShort](#resources-wiki-PageShort) -- [resources/internet/domain.proto](#resources_internet_domain-proto) - - [Domain](#resources-internet-Domain) - - [TLD](#resources-internet-TLD) +- [resources/sync/activity.proto](#resources_sync_activity-proto) + - [JobsUserProps](#resources-sync-JobsUserProps) + - [TimeclockUpdate](#resources-sync-TimeclockUpdate) + - [UserOAuth2Conn](#resources-sync-UserOAuth2Conn) + - [UserProps](#resources-sync-UserProps) + - [UserUpdate](#resources-sync-UserUpdate) - [resources/sync/data.proto](#resources_sync_data-proto) - [DataJobs](#resources-sync-DataJobs) @@ -460,13 +467,6 @@ - [DeleteVehicles](#resources-sync-DeleteVehicles) - [UserLocation](#resources-sync-UserLocation) -- [resources/sync/activity.proto](#resources_sync_activity-proto) - - [JobsUserProps](#resources-sync-JobsUserProps) - - [TimeclockUpdate](#resources-sync-TimeclockUpdate) - - [UserOAuth2Conn](#resources-sync-UserOAuth2Conn) - - [UserProps](#resources-sync-UserProps) - - [UserUpdate](#resources-sync-UserUpdate) - - [services/auth/auth.proto](#services_auth_auth-proto) - [ChangePasswordRequest](#services-auth-ChangePasswordRequest) - [ChangePasswordResponse](#services-auth-ChangePasswordResponse) @@ -493,38 +493,6 @@ - [AuthService](#services-auth-AuthService) -- [services/calendar/calendar.proto](#services_calendar_calendar-proto) - - [CreateOrUpdateCalendarEntryRequest](#services-calendar-CreateOrUpdateCalendarEntryRequest) - - [CreateOrUpdateCalendarEntryResponse](#services-calendar-CreateOrUpdateCalendarEntryResponse) - - [CreateOrUpdateCalendarRequest](#services-calendar-CreateOrUpdateCalendarRequest) - - [CreateOrUpdateCalendarResponse](#services-calendar-CreateOrUpdateCalendarResponse) - - [DeleteCalendarEntryRequest](#services-calendar-DeleteCalendarEntryRequest) - - [DeleteCalendarEntryResponse](#services-calendar-DeleteCalendarEntryResponse) - - [DeleteCalendarRequest](#services-calendar-DeleteCalendarRequest) - - [DeleteCalendarResponse](#services-calendar-DeleteCalendarResponse) - - [GetCalendarEntryRequest](#services-calendar-GetCalendarEntryRequest) - - [GetCalendarEntryResponse](#services-calendar-GetCalendarEntryResponse) - - [GetCalendarRequest](#services-calendar-GetCalendarRequest) - - [GetCalendarResponse](#services-calendar-GetCalendarResponse) - - [GetUpcomingEntriesRequest](#services-calendar-GetUpcomingEntriesRequest) - - [GetUpcomingEntriesResponse](#services-calendar-GetUpcomingEntriesResponse) - - [ListCalendarEntriesRequest](#services-calendar-ListCalendarEntriesRequest) - - [ListCalendarEntriesResponse](#services-calendar-ListCalendarEntriesResponse) - - [ListCalendarEntryRSVPRequest](#services-calendar-ListCalendarEntryRSVPRequest) - - [ListCalendarEntryRSVPResponse](#services-calendar-ListCalendarEntryRSVPResponse) - - [ListCalendarsRequest](#services-calendar-ListCalendarsRequest) - - [ListCalendarsResponse](#services-calendar-ListCalendarsResponse) - - [ListSubscriptionsRequest](#services-calendar-ListSubscriptionsRequest) - - [ListSubscriptionsResponse](#services-calendar-ListSubscriptionsResponse) - - [RSVPCalendarEntryRequest](#services-calendar-RSVPCalendarEntryRequest) - - [RSVPCalendarEntryResponse](#services-calendar-RSVPCalendarEntryResponse) - - [ShareCalendarEntryRequest](#services-calendar-ShareCalendarEntryRequest) - - [ShareCalendarEntryResponse](#services-calendar-ShareCalendarEntryResponse) - - [SubscribeToCalendarRequest](#services-calendar-SubscribeToCalendarRequest) - - [SubscribeToCalendarResponse](#services-calendar-SubscribeToCalendarResponse) - - - [CalendarService](#services-calendar-CalendarService) - - [services/centrum/centrum.proto](#services_centrum_centrum-proto) - [AssignDispatchRequest](#services-centrum-AssignDispatchRequest) - [AssignDispatchResponse](#services-centrum-AssignDispatchResponse) @@ -853,6 +821,38 @@ - [RectorService](#services-rector-RectorService) +- [services/calendar/calendar.proto](#services_calendar_calendar-proto) + - [CreateOrUpdateCalendarEntryRequest](#services-calendar-CreateOrUpdateCalendarEntryRequest) + - [CreateOrUpdateCalendarEntryResponse](#services-calendar-CreateOrUpdateCalendarEntryResponse) + - [CreateOrUpdateCalendarRequest](#services-calendar-CreateOrUpdateCalendarRequest) + - [CreateOrUpdateCalendarResponse](#services-calendar-CreateOrUpdateCalendarResponse) + - [DeleteCalendarEntryRequest](#services-calendar-DeleteCalendarEntryRequest) + - [DeleteCalendarEntryResponse](#services-calendar-DeleteCalendarEntryResponse) + - [DeleteCalendarRequest](#services-calendar-DeleteCalendarRequest) + - [DeleteCalendarResponse](#services-calendar-DeleteCalendarResponse) + - [GetCalendarEntryRequest](#services-calendar-GetCalendarEntryRequest) + - [GetCalendarEntryResponse](#services-calendar-GetCalendarEntryResponse) + - [GetCalendarRequest](#services-calendar-GetCalendarRequest) + - [GetCalendarResponse](#services-calendar-GetCalendarResponse) + - [GetUpcomingEntriesRequest](#services-calendar-GetUpcomingEntriesRequest) + - [GetUpcomingEntriesResponse](#services-calendar-GetUpcomingEntriesResponse) + - [ListCalendarEntriesRequest](#services-calendar-ListCalendarEntriesRequest) + - [ListCalendarEntriesResponse](#services-calendar-ListCalendarEntriesResponse) + - [ListCalendarEntryRSVPRequest](#services-calendar-ListCalendarEntryRSVPRequest) + - [ListCalendarEntryRSVPResponse](#services-calendar-ListCalendarEntryRSVPResponse) + - [ListCalendarsRequest](#services-calendar-ListCalendarsRequest) + - [ListCalendarsResponse](#services-calendar-ListCalendarsResponse) + - [ListSubscriptionsRequest](#services-calendar-ListSubscriptionsRequest) + - [ListSubscriptionsResponse](#services-calendar-ListSubscriptionsResponse) + - [RSVPCalendarEntryRequest](#services-calendar-RSVPCalendarEntryRequest) + - [RSVPCalendarEntryResponse](#services-calendar-RSVPCalendarEntryResponse) + - [ShareCalendarEntryRequest](#services-calendar-ShareCalendarEntryRequest) + - [ShareCalendarEntryResponse](#services-calendar-ShareCalendarEntryResponse) + - [SubscribeToCalendarRequest](#services-calendar-SubscribeToCalendarRequest) + - [SubscribeToCalendarResponse](#services-calendar-SubscribeToCalendarResponse) + + - [CalendarService](#services-calendar-CalendarService) + - [services/stats/stats.proto](#services_stats_stats-proto) - [GetStatsRequest](#services-stats-GetStatsRequest) - [GetStatsResponse](#services-stats-GetStatsResponse) @@ -860,21 +860,35 @@ - [StatsService](#services-stats-StatsService) -- [services/wiki/wiki.proto](#services_wiki_wiki-proto) - - [CreatePageRequest](#services-wiki-CreatePageRequest) - - [CreatePageResponse](#services-wiki-CreatePageResponse) - - [DeletePageRequest](#services-wiki-DeletePageRequest) - - [DeletePageResponse](#services-wiki-DeletePageResponse) - - [GetPageRequest](#services-wiki-GetPageRequest) - - [GetPageResponse](#services-wiki-GetPageResponse) - - [ListPageActivityRequest](#services-wiki-ListPageActivityRequest) - - [ListPageActivityResponse](#services-wiki-ListPageActivityResponse) - - [ListPagesRequest](#services-wiki-ListPagesRequest) - - [ListPagesResponse](#services-wiki-ListPagesResponse) - - [UpdatePageRequest](#services-wiki-UpdatePageRequest) - - [UpdatePageResponse](#services-wiki-UpdatePageResponse) +- [services/internet/ads.proto](#services_internet_ads-proto) + - [GetAdsRequest](#services-internet-GetAdsRequest) + - [GetAdsResponse](#services-internet-GetAdsResponse) - - [WikiService](#services-wiki-WikiService) + - [AdsService](#services-internet-AdsService) + +- [services/internet/internet.proto](#services_internet_internet-proto) + - [GetPageRequest](#services-internet-GetPageRequest) + - [GetPageResponse](#services-internet-GetPageResponse) + - [SearchRequest](#services-internet-SearchRequest) + - [SearchResponse](#services-internet-SearchResponse) + + - [InternetService](#services-internet-InternetService) + +- [services/internet/domain.proto](#services_internet_domain-proto) + - [CheckDomainAvailabilityRequest](#services-internet-CheckDomainAvailabilityRequest) + - [CheckDomainAvailabilityResponse](#services-internet-CheckDomainAvailabilityResponse) + - [ListDomainsRequest](#services-internet-ListDomainsRequest) + - [ListDomainsResponse](#services-internet-ListDomainsResponse) + - [ListTLDsRequest](#services-internet-ListTLDsRequest) + - [ListTLDsResponse](#services-internet-ListTLDsResponse) + - [RegisterDomainRequest](#services-internet-RegisterDomainRequest) + - [RegisterDomainResponse](#services-internet-RegisterDomainResponse) + - [TransferDomainRequest](#services-internet-TransferDomainRequest) + - [TransferDomainResponse](#services-internet-TransferDomainResponse) + - [UpdateDomainRequest](#services-internet-UpdateDomainRequest) + - [UpdateDomainResponse](#services-internet-UpdateDomainResponse) + + - [DomainService](#services-internet-DomainService) - [services/mailer/mailer.proto](#services_mailer_mailer-proto) - [CreateOrUpdateEmailRequest](#services-mailer-CreateOrUpdateEmailRequest) @@ -922,35 +936,21 @@ - [MailerService](#services-mailer-MailerService) -- [services/internet/ads.proto](#services_internet_ads-proto) - - [GetAdsRequest](#services-internet-GetAdsRequest) - - [GetAdsResponse](#services-internet-GetAdsResponse) - - - [AdsService](#services-internet-AdsService) - -- [services/internet/domain.proto](#services_internet_domain-proto) - - [CheckDomainAvailabilityRequest](#services-internet-CheckDomainAvailabilityRequest) - - [CheckDomainAvailabilityResponse](#services-internet-CheckDomainAvailabilityResponse) - - [ListDomainsRequest](#services-internet-ListDomainsRequest) - - [ListDomainsResponse](#services-internet-ListDomainsResponse) - - [ListTLDsRequest](#services-internet-ListTLDsRequest) - - [ListTLDsResponse](#services-internet-ListTLDsResponse) - - [RegisterDomainRequest](#services-internet-RegisterDomainRequest) - - [RegisterDomainResponse](#services-internet-RegisterDomainResponse) - - [TransferDomainRequest](#services-internet-TransferDomainRequest) - - [TransferDomainResponse](#services-internet-TransferDomainResponse) - - [UpdateDomainRequest](#services-internet-UpdateDomainRequest) - - [UpdateDomainResponse](#services-internet-UpdateDomainResponse) - - - [DomainService](#services-internet-DomainService) - -- [services/internet/internet.proto](#services_internet_internet-proto) - - [GetPageRequest](#services-internet-GetPageRequest) - - [GetPageResponse](#services-internet-GetPageResponse) - - [SearchRequest](#services-internet-SearchRequest) - - [SearchResponse](#services-internet-SearchResponse) +- [services/wiki/wiki.proto](#services_wiki_wiki-proto) + - [CreatePageRequest](#services-wiki-CreatePageRequest) + - [CreatePageResponse](#services-wiki-CreatePageResponse) + - [DeletePageRequest](#services-wiki-DeletePageRequest) + - [DeletePageResponse](#services-wiki-DeletePageResponse) + - [GetPageRequest](#services-wiki-GetPageRequest) + - [GetPageResponse](#services-wiki-GetPageResponse) + - [ListPageActivityRequest](#services-wiki-ListPageActivityRequest) + - [ListPageActivityResponse](#services-wiki-ListPageActivityResponse) + - [ListPagesRequest](#services-wiki-ListPagesRequest) + - [ListPagesResponse](#services-wiki-ListPagesResponse) + - [UpdatePageRequest](#services-wiki-UpdatePageRequest) + - [UpdatePageResponse](#services-wiki-UpdatePageResponse) - - [InternetService](#services-internet-InternetService) + - [WikiService](#services-wiki-WikiService) - [services/sync/sync.proto](#services_sync_sync-proto) - [AddActivityRequest](#services-sync-AddActivityRequest) @@ -1081,65 +1081,60 @@ - +

Top

-## resources/calendar/access.proto +## resources/centrum/settings.proto - + -### CalendarAccess +### PredefinedStatus | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| jobs | [CalendarJobAccess](#resources-calendar-CalendarJobAccess) | repeated | @gotags: alias:"job_access" | -| users | [CalendarUserAccess](#resources-calendar-CalendarUserAccess) | repeated | @gotags: alias:"user_access" | +| unit_status | [string](#string) | repeated | @sanitize: method=StripTags | +| dispatch_status | [string](#string) | repeated | @sanitize: method=StripTags | - + -### CalendarJobAccess +### Settings | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | | -| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| target_id | [uint64](#uint64) | | @gotags: alias:"calendar_id" | | job | [string](#string) | | | -| job_label | [string](#string) | optional | | -| minimum_grade | [int32](#int32) | | | -| job_grade_label | [string](#string) | optional | | -| access | [AccessLevel](#resources-calendar-AccessLevel) | | | +| enabled | [bool](#bool) | | | +| mode | [CentrumMode](#resources-centrum-CentrumMode) | | | +| fallback_mode | [CentrumMode](#resources-centrum-CentrumMode) | | | +| predefined_status | [PredefinedStatus](#resources-centrum-PredefinedStatus) | optional | | +| timings | [Timings](#resources-centrum-Timings) | | | - + -### CalendarUserAccess +### Timings | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | | -| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| target_id | [uint64](#uint64) | | @gotags: alias:"calendar_id" | -| user_id | [int32](#int32) | | | -| user | [resources.users.UserShort](#resources-users-UserShort) | optional | | -| access | [AccessLevel](#resources-calendar-AccessLevel) | | | +| dispatch_max_wait | [int64](#int64) | | | +| require_unit | [bool](#bool) | | | +| require_unit_reminder_seconds | [int64](#int64) | | | @@ -1148,19 +1143,18 @@ - + -### AccessLevel +### CentrumMode | Name | Number | Description | | ---- | ------ | ----------- | -| ACCESS_LEVEL_UNSPECIFIED | 0 | | -| ACCESS_LEVEL_BLOCKED | 1 | | -| ACCESS_LEVEL_VIEW | 2 | | -| ACCESS_LEVEL_SHARE | 3 | | -| ACCESS_LEVEL_EDIT | 4 | | -| ACCESS_LEVEL_MANAGE | 5 | | +| CENTRUM_MODE_UNSPECIFIED | 0 | | +| CENTRUM_MODE_MANUAL | 1 | | +| CENTRUM_MODE_CENTRAL_COMMAND | 2 | | +| CENTRUM_MODE_AUTO_ROUND_ROBIN | 3 | | +| CENTRUM_MODE_SIMPLIFIED | 4 | | @@ -1171,252 +1165,81 @@ - +

Top

-## resources/calendar/calendar.proto +## resources/centrum/access.proto - + -### Calendar +### UnitAccess | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | -| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| deleted_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| job | [string](#string) | optional | | -| name | [string](#string) | | @sanitize: method=StripTags | -| description | [string](#string) | optional | @sanitize: method=StripTags | -| public | [bool](#bool) | | | -| closed | [bool](#bool) | | | -| color | [string](#string) | | @sanitize: method=StripTags | -| creator_id | [int32](#int32) | optional | | -| creator | [resources.users.UserShort](#resources-users-UserShort) | optional | @gotags: alias:"creator" | -| creator_job | [string](#string) | | | -| subscription | [CalendarSub](#resources-calendar-CalendarSub) | optional | | -| access | [CalendarAccess](#resources-calendar-CalendarAccess) | | | +| jobs | [UnitJobAccess](#resources-centrum-UnitJobAccess) | repeated | @gotags: alias:"job_access" | +| qualifications | [UnitQualificationAccess](#resources-centrum-UnitQualificationAccess) | repeated | @gotags: alias:"qualification_access" | - + -### CalendarEntry +### UnitJobAccess | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | +| id | [uint64](#uint64) | | | | created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| deleted_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| calendar_id | [uint64](#uint64) | | | -| calendar | [Calendar](#resources-calendar-Calendar) | optional | | -| job | [string](#string) | optional | | -| start_time | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | -| end_time | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| title | [string](#string) | | @sanitize: method=StripTags | -| content | [resources.common.content.Content](#resources-common-content-Content) | | | -| closed | [bool](#bool) | | | -| rsvp_open | [bool](#bool) | optional | | -| creator_id | [int32](#int32) | optional | | -| creator | [resources.users.UserShort](#resources-users-UserShort) | optional | @gotags: alias:"creator" | -| creator_job | [string](#string) | | | -| recurring | [CalendarEntryRecurring](#resources-calendar-CalendarEntryRecurring) | optional | | -| rsvp | [CalendarEntryRSVP](#resources-calendar-CalendarEntryRSVP) | optional | | +| target_id | [uint64](#uint64) | | @gotags: alias:"calendar_id" | +| job | [string](#string) | | | +| job_label | [string](#string) | optional | | +| minimum_grade | [int32](#int32) | | | +| job_grade_label | [string](#string) | optional | | +| access | [UnitAccessLevel](#resources-centrum-UnitAccessLevel) | | | - + -### CalendarEntryRSVP +### UnitQualificationAccess | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| entry_id | [uint64](#uint64) | | | +| id | [uint64](#uint64) | | | | created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| user_id | [int32](#int32) | | | -| user | [resources.users.UserShort](#resources-users-UserShort) | optional | | -| response | [RsvpResponses](#resources-calendar-RsvpResponses) | | | +| target_id | [uint64](#uint64) | | @gotags: alias:"thread_id" | +| qualification_id | [uint64](#uint64) | | | +| qualification | [resources.qualifications.QualificationShort](#resources-qualifications-QualificationShort) | optional | | +| access | [UnitAccessLevel](#resources-centrum-UnitAccessLevel) | | | - + -### CalendarEntryRecurring +### UnitUserAccess -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| every | [string](#string) | | | -| count | [int32](#int32) | | | -| until | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | - - - - - -### CalendarShort - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | -| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| name | [string](#string) | | @sanitize: method=StripTags | -| description | [string](#string) | optional | @sanitize: method=StripTags | -| public | [bool](#bool) | | | -| closed | [bool](#bool) | | | -| color | [string](#string) | | @sanitize: method=StripTags | -| subscription | [CalendarSub](#resources-calendar-CalendarSub) | optional | | - - - - - - - - -### CalendarSub - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| calendar_id | [uint64](#uint64) | | | -| user_id | [int32](#int32) | | | -| user | [resources.users.UserShort](#resources-users-UserShort) | optional | | -| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| confirmed | [bool](#bool) | | | -| muted | [bool](#bool) | | | - - - - - - - - - - -### RsvpResponses - - -| Name | Number | Description | -| ---- | ------ | ----------- | -| RSVP_RESPONSES_UNSPECIFIED | 0 | | -| RSVP_RESPONSES_HIDDEN | 1 | | -| RSVP_RESPONSES_INVITED | 2 | | -| RSVP_RESPONSES_NO | 3 | | -| RSVP_RESPONSES_MAYBE | 4 | | -| RSVP_RESPONSES_YES | 5 | | - - - - - - - - - - - -

Top

- -## resources/centrum/access.proto - - - - - -### UnitAccess - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| jobs | [UnitJobAccess](#resources-centrum-UnitJobAccess) | repeated | @gotags: alias:"job_access" | -| qualifications | [UnitQualificationAccess](#resources-centrum-UnitQualificationAccess) | repeated | @gotags: alias:"qualification_access" | - - - - - - - - -### UnitJobAccess - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | | -| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| target_id | [uint64](#uint64) | | @gotags: alias:"calendar_id" | -| job | [string](#string) | | | -| job_label | [string](#string) | optional | | -| minimum_grade | [int32](#int32) | | | -| job_grade_label | [string](#string) | optional | | -| access | [UnitAccessLevel](#resources-centrum-UnitAccessLevel) | | | - - - - - - - - -### UnitQualificationAccess - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | | -| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| target_id | [uint64](#uint64) | | @gotags: alias:"thread_id" | -| qualification_id | [uint64](#uint64) | | | -| qualification | [resources.qualifications.QualificationShort](#resources-qualifications-QualificationShort) | optional | | -| access | [UnitAccessLevel](#resources-centrum-UnitAccessLevel) | | | - - - - - - - - -### UnitUserAccess - - - - - - - + @@ -1696,90 +1519,6 @@ - -

Top

- -## resources/centrum/settings.proto - - - - - -### PredefinedStatus - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| unit_status | [string](#string) | repeated | @sanitize: method=StripTags | -| dispatch_status | [string](#string) | repeated | @sanitize: method=StripTags | - - - - - - - - -### Settings - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| job | [string](#string) | | | -| enabled | [bool](#bool) | | | -| mode | [CentrumMode](#resources-centrum-CentrumMode) | | | -| fallback_mode | [CentrumMode](#resources-centrum-CentrumMode) | | | -| predefined_status | [PredefinedStatus](#resources-centrum-PredefinedStatus) | optional | | -| timings | [Timings](#resources-centrum-Timings) | | | - - - - - - - - -### Timings - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| dispatch_max_wait | [int64](#int64) | | | -| require_unit | [bool](#bool) | | | -| require_unit_reminder_seconds | [int64](#int64) | | | - - - - - - - - - - -### CentrumMode - - -| Name | Number | Description | -| ---- | ------ | ----------- | -| CENTRUM_MODE_UNSPECIFIED | 0 | | -| CENTRUM_MODE_MANUAL | 1 | | -| CENTRUM_MODE_CENTRAL_COMMAND | 2 | | -| CENTRUM_MODE_AUTO_ROUND_ROBIN | 3 | | -| CENTRUM_MODE_SIMPLIFIED | 4 | | - - - - - - - - - -

Top

@@ -2303,44 +2042,75 @@ - +

Top

-## resources/common/content/content.proto +## resources/common/uuid.proto - + -### Content +### UUID | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| version | [string](#string) | optional | | -| content | [JSONNode](#resources-common-content-JSONNode) | optional | | -| raw_content | [string](#string) | optional | @sanitize | - +| uuid | [string](#string) | | | - + -### JSONNode + + + -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| type | [string](#string) | | @sanitize: method=StripTags | -| id | [string](#string) | | @sanitize: method=StripTags | -| tag | [string](#string) | | @sanitize: method=StripTags | -| attrs | [JSONNode.AttrsEntry](#resources-common-content-JSONNode-AttrsEntry) | repeated | @sanitize: method=StripTags | -| text | [string](#string) | | @sanitize: method=StripTags | -| content | [JSONNode](#resources-common-content-JSONNode) | repeated | | + + + +

Top

+ +## resources/common/content/content.proto + + + + + +### Content + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| version | [string](#string) | optional | | +| content | [JSONNode](#resources-common-content-JSONNode) | optional | | +| raw_content | [string](#string) | optional | @sanitize | + + + + + + + + +### JSONNode + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| type | [string](#string) | | @sanitize: method=StripTags | +| id | [string](#string) | | @sanitize: method=StripTags | +| tag | [string](#string) | | @sanitize: method=StripTags | +| attrs | [JSONNode.AttrsEntry](#resources-common-content-JSONNode-AttrsEntry) | repeated | @sanitize: method=StripTags | +| text | [string](#string) | | @sanitize: method=StripTags | +| content | [JSONNode](#resources-common-content-JSONNode) | repeated | | @@ -2465,22 +2235,87 @@ - +

Top

-## resources/common/uuid.proto +## resources/documents/workflow.proto - + -### UUID +### AutoCloseSettings | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| uuid | [string](#string) | | | +| duration | [google.protobuf.Duration](#google-protobuf-Duration) | | | +| message | [string](#string) | | | + + + + + + + + +### Reminder + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| duration | [google.protobuf.Duration](#google-protobuf-Duration) | | | +| message | [string](#string) | | | + + + + + + + + +### ReminderSettings + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| reminders | [Reminder](#resources-documents-Reminder) | repeated | | + + + + + + + + +### Workflow + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| reminder | [bool](#bool) | | | +| reminder_settings | [ReminderSettings](#resources-documents-ReminderSettings) | | | +| auto_close | [bool](#bool) | | | +| auto_close_settings | [AutoCloseSettings](#resources-documents-AutoCloseSettings) | | | + + + + + + + + +### WorkflowCronData + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| last_doc_id | [uint64](#uint64) | | | @@ -3267,87 +3102,44 @@ Dummy - DO NOT USE! - +

Top

-## resources/documents/workflow.proto - - - - - -### AutoCloseSettings - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| duration | [google.protobuf.Duration](#google-protobuf-Duration) | | | -| message | [string](#string) | | | - - - - - - - - -### Reminder - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| duration | [google.protobuf.Duration](#google-protobuf-Duration) | | | -| message | [string](#string) | | | - - - - - - - - -### ReminderSettings - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| reminders | [Reminder](#resources-documents-Reminder) | repeated | | - - - +## resources/filestore/file.proto - + -### Workflow +### File | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| reminder | [bool](#bool) | | | -| reminder_settings | [ReminderSettings](#resources-documents-ReminderSettings) | | | -| auto_close | [bool](#bool) | | | -| auto_close_settings | [AutoCloseSettings](#resources-documents-AutoCloseSettings) | | | +| url | [string](#string) | optional | | +| data | [bytes](#bytes) | | | +| delete | [bool](#bool) | optional | | +| content_type | [string](#string) | optional | | +| extension | [string](#string) | optional | | - + -### WorkflowCronData +### FileInfo | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| last_doc_id | [uint64](#uint64) | | | +| name | [string](#string) | | | +| last_modified | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| size | [int64](#int64) | | | +| content_type | [string](#string) | | | @@ -3363,44 +3155,56 @@ Dummy - DO NOT USE! - +

Top

-## resources/filestore/file.proto +## resources/jobs/colleagues.proto - + -### File +### Colleague | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| url | [string](#string) | optional | | -| data | [bytes](#bytes) | | | -| delete | [bool](#bool) | optional | | -| content_type | [string](#string) | optional | | -| extension | [string](#string) | optional | | +| user_id | [int32](#int32) | | @gotags: alias:"id" | +| identifier | [string](#string) | optional | | +| job | [string](#string) | | | +| job_label | [string](#string) | optional | | +| job_grade | [int32](#int32) | | | +| job_grade_label | [string](#string) | optional | | +| firstname | [string](#string) | | | +| lastname | [string](#string) | | | +| dateofbirth | [string](#string) | | | +| phone_number | [string](#string) | optional | | +| avatar | [resources.filestore.File](#resources-filestore-File) | optional | | +| props | [JobsUserProps](#resources-jobs-JobsUserProps) | | @gotags: alias:"jobs_user_props" | +| email | [string](#string) | optional | @sanitize: method=StripTags | - + -### FileInfo +### JobsUserProps | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| name | [string](#string) | | | -| last_modified | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| size | [int64](#int64) | | | -| content_type | [string](#string) | | | +| user_id | [int32](#int32) | | | +| job | [string](#string) | | | +| absence_begin | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| absence_end | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| note | [string](#string) | optional | @sanitize: method=StripTags | +| labels | [Labels](#resources-jobs-Labels) | optional | | +| name_prefix | [string](#string) | optional | | +| name_suffix | [string](#string) | optional | | @@ -3557,89 +3361,24 @@ Dummy - DO NOT USE! - +

Top

-## resources/jobs/colleagues.proto +## resources/jobs/conduct.proto - + -### Colleague +### ConductEntry | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| user_id | [int32](#int32) | | @gotags: alias:"id" | -| identifier | [string](#string) | optional | | -| job | [string](#string) | | | -| job_label | [string](#string) | optional | | -| job_grade | [int32](#int32) | | | -| job_grade_label | [string](#string) | optional | | -| firstname | [string](#string) | | | -| lastname | [string](#string) | | | -| dateofbirth | [string](#string) | | | -| phone_number | [string](#string) | optional | | -| avatar | [resources.filestore.File](#resources-filestore-File) | optional | | -| props | [JobsUserProps](#resources-jobs-JobsUserProps) | | @gotags: alias:"jobs_user_props" | -| email | [string](#string) | optional | @sanitize: method=StripTags | - - - - - - - - -### JobsUserProps - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| user_id | [int32](#int32) | | | -| job | [string](#string) | | | -| absence_begin | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| absence_end | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| note | [string](#string) | optional | @sanitize: method=StripTags | -| labels | [Labels](#resources-jobs-Labels) | optional | | -| name_prefix | [string](#string) | optional | | -| name_suffix | [string](#string) | optional | | - - - - - - - - - - - - - - - - -

Top

- -## resources/jobs/conduct.proto - - - - - -### ConductEntry - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | -| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | | job | [string](#string) | | | | type | [ConductType](#resources-jobs-ConductType) | | | | message | [string](#string) | | @sanitize | @@ -3898,6 +3637,38 @@ Dummy - DO NOT USE! + + + + + + + + + + + +

Top

+ +## resources/livemap/tracker.proto + + + + + +### UsersUpdateEvent + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| added | [UserMarker](#resources-livemap-UserMarker) | repeated | | +| removed | [UserMarker](#resources-livemap-UserMarker) | repeated | | + + + + + @@ -4067,38 +3838,6 @@ Dummy - DO NOT USE! - -

Top

- -## resources/livemap/tracker.proto - - - - - -### UsersUpdateEvent - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| added | [UserMarker](#resources-livemap-UserMarker) | repeated | | -| removed | [UserMarker](#resources-livemap-UserMarker) | repeated | | - - - - - - - - - - - - - - -

Top

@@ -5100,64 +4839,6 @@ Dummy - DO NOT USE! - -

Top

- -## resources/rector/audit.proto - - - - - -### AuditEntry - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | @gotags: alias:"id" | -| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | -| user_id | [uint64](#uint64) | | @gotags: alias:"user_id" | -| user | [resources.users.UserShort](#resources-users-UserShort) | optional | | -| user_job | [string](#string) | | @gotags: alias:"user_job" | -| target_user_id | [int32](#int32) | optional | @gotags: alias:"target_user_id" | -| target_user | [resources.users.UserShort](#resources-users-UserShort) | optional | | -| target_user_job | [string](#string) | | @gotags: alias:"target_user_job" | -| service | [string](#string) | | @gotags: alias:"service" | -| method | [string](#string) | | @gotags: alias:"method" | -| state | [EventType](#resources-rector-EventType) | | @gotags: alias:"state" | -| data | [string](#string) | optional | @gotags: alias:"data" | - - - - - - - - - - -### EventType - - -| Name | Number | Description | -| ---- | ------ | ----------- | -| EVENT_TYPE_UNSPECIFIED | 0 | | -| EVENT_TYPE_ERRORED | 1 | | -| EVENT_TYPE_VIEWED | 2 | | -| EVENT_TYPE_CREATED | 3 | | -| EVENT_TYPE_UPDATED | 4 | | -| EVENT_TYPE_DELETED | 5 | | - - - - - - - - - -

Top

@@ -5376,22 +5057,33 @@ Dummy - DO NOT USE! - +

Top

-## resources/timestamp/timestamp.proto +## resources/rector/audit.proto - + + +### AuditEntry -### Timestamp -Timestamp for storage messages. We've defined a new local type wrapper of google.protobuf.Timestamp so we can implement sql.Scanner and sql.Valuer interfaces. See: https://golang.org/pkg/database/sql/#Scanner https://golang.org/pkg/database/sql/driver/#Valuer | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| timestamp | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | | +| id | [uint64](#uint64) | | @gotags: alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| user_id | [uint64](#uint64) | | @gotags: alias:"user_id" | +| user | [resources.users.UserShort](#resources-users-UserShort) | optional | | +| user_job | [string](#string) | | @gotags: alias:"user_job" | +| target_user_id | [int32](#int32) | optional | @gotags: alias:"target_user_id" | +| target_user | [resources.users.UserShort](#resources-users-UserShort) | optional | | +| target_user_job | [string](#string) | | @gotags: alias:"target_user_job" | +| service | [string](#string) | | @gotags: alias:"service" | +| method | [string](#string) | | @gotags: alias:"method" | +| state | [EventType](#resources-rector-EventType) | | @gotags: alias:"state" | +| data | [string](#string) | optional | @gotags: alias:"data" | @@ -5399,6 +5091,22 @@ Timestamp for storage messages. We've defined a new local type wrapper of google + + + +### EventType + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| EVENT_TYPE_UNSPECIFIED | 0 | | +| EVENT_TYPE_ERRORED | 1 | | +| EVENT_TYPE_VIEWED | 2 | | +| EVENT_TYPE_CREATED | 3 | | +| EVENT_TYPE_UPDATED | 4 | | +| EVENT_TYPE_DELETED | 5 | | + + @@ -5407,223 +5115,248 @@ Timestamp for storage messages. We've defined a new local type wrapper of google - +

Top

-## resources/users/activity.proto - +## resources/timestamp/timestamp.proto - -### UserActivity + +### Timestamp +Timestamp for storage messages. We've defined a new local type wrapper of google.protobuf.Timestamp so we can implement sql.Scanner and sql.Valuer interfaces. See: https://golang.org/pkg/database/sql/#Scanner https://golang.org/pkg/database/sql/driver/#Valuer | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | @gotags: alias:"fivenet_user_activity.id" | -| type | [UserActivityType](#resources-users-UserActivityType) | | @gotags: alias:"fivenet_user_activity.type" | -| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | @gotags: alias:"fivenet_user_activity.created_at" | -| source_user_id | [int32](#int32) | optional | @gotags: alias:"source_user_id" | -| source_user | [UserShort](#resources-users-UserShort) | optional | @gotags: alias:"source_user" | -| target_user_id | [int32](#int32) | | @gotags: alias:"target_user_id" | -| target_user | [UserShort](#resources-users-UserShort) | | @gotags: alias:"target_user" | -| key | [string](#string) | | @sanitize +| timestamp | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | | -@gotags: alias:"fivenet_user_activity.key" | -| reason | [string](#string) | | @sanitize -@gotags: alias:"fivenet_user_activity.reason" | -| data | [UserActivityData](#resources-users-UserActivityData) | optional | @gotags: alias:"fivenet_user_activity.data" | -| old_value | [string](#string) | | @gotags: alias:"fivenet_user_activity.old_value" | -| new_value | [string](#string) | | @gotags: alias:"fivenet_user_activity.new_value" | + + + - + -### UserActivityData - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name_change | [UserNameChange](#resources-users-UserNameChange) | | | -| licenses_change | [UserLicenseChange](#resources-users-UserLicenseChange) | | | -| wanted_change | [UserWantedChange](#resources-users-UserWantedChange) | | User Props | -| traffic_infraction_points_change | [UserTrafficInfractionPointsChange](#resources-users-UserTrafficInfractionPointsChange) | | | -| mugshot_change | [UserMugshotChange](#resources-users-UserMugshotChange) | | | -| labels_change | [UserLabelsChange](#resources-users-UserLabelsChange) | | | -| job_change | [UserJobChange](#resources-users-UserJobChange) | | | -| document_relation | [UserDocumentRelation](#resources-users-UserDocumentRelation) | | Docstore related | -| jail_change | [UserJailChange](#resources-users-UserJailChange) | | "Plugin" activities | -| fine_change | [UserFineChange](#resources-users-UserFineChange) | | | + +

Top

+## resources/users/job_props.proto - + -### UserDocumentRelation +### JobProps | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| added | [bool](#bool) | | | -| document_id | [uint64](#uint64) | | | -| relation | [int32](#int32) | | resources.documents.DocRelation enum | +| job | [string](#string) | | | +| job_label | [string](#string) | optional | | +| theme | [string](#string) | | | +| livemap_marker_color | [string](#string) | | | +| quick_buttons | [QuickButtons](#resources-users-QuickButtons) | | | +| radio_frequency | [string](#string) | optional | | +| discord_guild_id | [string](#string) | optional | | +| discord_last_sync | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| discord_sync_settings | [DiscordSyncSettings](#resources-users-DiscordSyncSettings) | | | +| discord_sync_changes | [DiscordSyncChanges](#resources-users-DiscordSyncChanges) | optional | | +| motd | [string](#string) | optional | | +| logo_url | [resources.filestore.File](#resources-filestore-File) | optional | | +| settings | [JobSettings](#resources-users-JobSettings) | | | - + -### UserFineChange +### QuickButtons | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| removed | [bool](#bool) | | | -| amount | [int64](#int64) | | | - +| penalty_calculator | [bool](#bool) | | | +| body_checkup | [bool](#bool) | | | +| math_calculator | [bool](#bool) | | | - + -### UserJailChange + + + -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| seconds | [int32](#int32) | | | -| admin | [bool](#bool) | | | -| location | [string](#string) | optional | | + +

Top

+## resources/users/jobs.proto - + -### UserJobChange +### Job | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| job | [string](#string) | optional | | -| job_label | [string](#string) | optional | | -| grade | [int32](#int32) | optional | | -| grade_label | [string](#string) | optional | | +| name | [string](#string) | | @gotags: sql:"primary_key" alias:"name" | +| label | [string](#string) | | | +| grades | [JobGrade](#resources-users-JobGrade) | repeated | | - + -### UserLabelsChange +### JobGrade | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| added | [CitizenLabel](#resources-users-CitizenLabel) | repeated | | -| removed | [CitizenLabel](#resources-users-CitizenLabel) | repeated | | - +| job_name | [string](#string) | optional | | +| grade | [int32](#int32) | | | +| label | [string](#string) | | | - + -### UserLicenseChange + + + -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| added | [bool](#bool) | | | -| licenses | [License](#resources-users-License) | repeated | | + +

Top

+## resources/users/users.proto - + -### UserMugshotChange +### User | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| new | [string](#string) | optional | | +| user_id | [int32](#int32) | | @gotags: alias:"id" | +| identifier | [string](#string) | optional | | +| job | [string](#string) | | | +| job_label | [string](#string) | optional | | +| job_grade | [int32](#int32) | | | +| job_grade_label | [string](#string) | optional | | +| firstname | [string](#string) | | | +| lastname | [string](#string) | | | +| dateofbirth | [string](#string) | | | +| sex | [string](#string) | optional | | +| height | [string](#string) | optional | | +| phone_number | [string](#string) | optional | | +| visum | [int32](#int32) | optional | | +| playtime | [int32](#int32) | optional | | +| props | [UserProps](#resources-users-UserProps) | | @gotags: alias:"fivenet_user_props" | +| licenses | [License](#resources-users-License) | repeated | @gotags: alias:"user_licenses" | +| avatar | [resources.filestore.File](#resources-filestore-File) | optional | | +| group | [string](#string) | optional | | - + -### UserNameChange +### UserShort | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| old | [string](#string) | | | -| new | [string](#string) | | | - +| user_id | [int32](#int32) | | @gotags: alias:"id" | +| identifier | [string](#string) | optional | | +| job | [string](#string) | | | +| job_label | [string](#string) | optional | | +| job_grade | [int32](#int32) | | | +| job_grade_label | [string](#string) | optional | | +| firstname | [string](#string) | | | +| lastname | [string](#string) | | | +| dateofbirth | [string](#string) | | | +| phone_number | [string](#string) | optional | | +| avatar | [resources.filestore.File](#resources-filestore-File) | optional | | - + -### UserTrafficInfractionPointsChange + + + -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| old | [uint32](#uint32) | | | -| new | [uint32](#uint32) | | | + +

Top

+## resources/users/props.proto - + -### UserWantedChange +### UserProps | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| wanted | [bool](#bool) | | | +| user_id | [int32](#int32) | | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| wanted | [bool](#bool) | optional | | +| job_name | [string](#string) | optional | @gotags: alias:"job" | +| job | [Job](#resources-users-Job) | optional | | +| job_grade_number | [int32](#int32) | optional | @gotags: alias:"job_grade" | +| job_grade | [JobGrade](#resources-users-JobGrade) | optional | | +| traffic_infraction_points | [uint32](#uint32) | optional | | +| open_fines | [int64](#int64) | optional | | +| blood_type | [string](#string) | optional | | +| mug_shot | [resources.filestore.File](#resources-filestore-File) | optional | | +| labels | [CitizenLabels](#resources-users-CitizenLabels) | optional | | +| email | [string](#string) | optional | @sanitize: method=StripTags | @@ -5631,27 +5364,6 @@ Timestamp for storage messages. We've defined a new local type wrapper of google - - - -### UserActivityType - - -| Name | Number | Description | -| ---- | ------ | ----------- | -| USER_ACTIVITY_TYPE_UNSPECIFIED | 0 | | -| USER_ACTIVITY_TYPE_NAME | 4 | | -| USER_ACTIVITY_TYPE_LICENSES | 5 | | -| USER_ACTIVITY_TYPE_WANTED | 6 | | -| USER_ACTIVITY_TYPE_TRAFFIC_INFRACTION_POINTS | 7 | | -| USER_ACTIVITY_TYPE_MUGSHOT | 8 | | -| USER_ACTIVITY_TYPE_LABELS | 9 | | -| USER_ACTIVITY_TYPE_JOB | 10 | | -| USER_ACTIVITY_TYPE_DOCUMENT | 11 | | -| USER_ACTIVITY_TYPE_JAIL | 12 | | -| USER_ACTIVITY_TYPE_FINE | 13 | | - - @@ -5660,51 +5372,39 @@ Timestamp for storage messages. We've defined a new local type wrapper of google - +

Top

-## resources/users/job_props.proto +## resources/users/licenses.proto - + -### JobProps +### License | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| job | [string](#string) | | | -| job_label | [string](#string) | optional | | -| theme | [string](#string) | | | -| livemap_marker_color | [string](#string) | | | -| quick_buttons | [QuickButtons](#resources-users-QuickButtons) | | | -| radio_frequency | [string](#string) | optional | | -| discord_guild_id | [string](#string) | optional | | -| discord_last_sync | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| discord_sync_settings | [DiscordSyncSettings](#resources-users-DiscordSyncSettings) | | | -| discord_sync_changes | [DiscordSyncChanges](#resources-users-DiscordSyncChanges) | optional | | -| motd | [string](#string) | optional | | -| logo_url | [resources.filestore.File](#resources-filestore-File) | optional | | -| settings | [JobSettings](#resources-users-JobSettings) | | | +| type | [string](#string) | | | +| label | [string](#string) | | | - + -### QuickButtons +### UserLicenses | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| penalty_calculator | [bool](#bool) | | | -| body_checkup | [bool](#bool) | | | -| math_calculator | [bool](#bool) | | | +| user_id | [int32](#int32) | | | +| licenses | [License](#resources-users-License) | repeated | | @@ -5819,6 +5519,11 @@ Timestamp for storage messages. We've defined a new local type wrapper of google +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| absence_past_days | [int32](#int32) | | | + + @@ -5897,254 +5602,223 @@ Timestamp for storage messages. We've defined a new local type wrapper of google - +

Top

-## resources/users/jobs.proto +## resources/users/activity.proto - + -### Job +### UserActivity | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| name | [string](#string) | | @gotags: sql:"primary_key" alias:"name" | -| label | [string](#string) | | | -| grades | [JobGrade](#resources-users-JobGrade) | repeated | | - - - - - +| id | [uint64](#uint64) | | @gotags: alias:"fivenet_user_activity.id" | +| type | [UserActivityType](#resources-users-UserActivityType) | | @gotags: alias:"fivenet_user_activity.type" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | @gotags: alias:"fivenet_user_activity.created_at" | +| source_user_id | [int32](#int32) | optional | @gotags: alias:"source_user_id" | +| source_user | [UserShort](#resources-users-UserShort) | optional | @gotags: alias:"source_user" | +| target_user_id | [int32](#int32) | | @gotags: alias:"target_user_id" | +| target_user | [UserShort](#resources-users-UserShort) | | @gotags: alias:"target_user" | +| key | [string](#string) | | @sanitize - +@gotags: alias:"fivenet_user_activity.key" | +| reason | [string](#string) | | @sanitize -### JobGrade +@gotags: alias:"fivenet_user_activity.reason" | +| data | [UserActivityData](#resources-users-UserActivityData) | optional | @gotags: alias:"fivenet_user_activity.data" | +| old_value | [string](#string) | | @gotags: alias:"fivenet_user_activity.old_value" | +| new_value | [string](#string) | | @gotags: alias:"fivenet_user_activity.new_value" | -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| job_name | [string](#string) | optional | | -| grade | [int32](#int32) | | | -| label | [string](#string) | | | + +### UserActivityData - - - - - - +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| name_change | [UserNameChange](#resources-users-UserNameChange) | | | +| licenses_change | [UserLicenseChange](#resources-users-UserLicenseChange) | | | +| wanted_change | [UserWantedChange](#resources-users-UserWantedChange) | | User Props | +| traffic_infraction_points_change | [UserTrafficInfractionPointsChange](#resources-users-UserTrafficInfractionPointsChange) | | | +| mugshot_change | [UserMugshotChange](#resources-users-UserMugshotChange) | | | +| labels_change | [UserLabelsChange](#resources-users-UserLabelsChange) | | | +| job_change | [UserJobChange](#resources-users-UserJobChange) | | | +| document_relation | [UserDocumentRelation](#resources-users-UserDocumentRelation) | | Docstore related | +| jail_change | [UserJailChange](#resources-users-UserJailChange) | | "Plugin" activities | +| fine_change | [UserFineChange](#resources-users-UserFineChange) | | | - -

Top

-## resources/users/labels.proto - + -### CitizenLabel +### UserDocumentRelation | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | -| job | [string](#string) | optional | | -| name | [string](#string) | | | -| color | [string](#string) | | @sanitize: method=StripTags | +| added | [bool](#bool) | | | +| document_id | [uint64](#uint64) | | | +| relation | [int32](#int32) | | resources.documents.DocRelation enum | - + -### CitizenLabels +### UserFineChange | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| list | [CitizenLabel](#resources-users-CitizenLabel) | repeated | | +| removed | [bool](#bool) | | | +| amount | [int64](#int64) | | | - - + - +### UserJailChange - +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| seconds | [int32](#int32) | | | +| admin | [bool](#bool) | | | +| location | [string](#string) | optional | | - -

Top

-## resources/users/licenses.proto - -### License + + +### UserJobChange | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| type | [string](#string) | | | -| label | [string](#string) | | | +| job | [string](#string) | optional | | +| job_label | [string](#string) | optional | | +| grade | [int32](#int32) | optional | | +| grade_label | [string](#string) | optional | | - + -### UserLicenses +### UserLabelsChange | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| user_id | [int32](#int32) | | | -| licenses | [License](#resources-users-License) | repeated | | +| added | [CitizenLabel](#resources-users-CitizenLabel) | repeated | | +| removed | [CitizenLabel](#resources-users-CitizenLabel) | repeated | | - - + - +### UserLicenseChange - +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| added | [bool](#bool) | | | +| licenses | [License](#resources-users-License) | repeated | | - -

Top

-## resources/users/props.proto - -### UserProps + + +### UserMugshotChange | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| user_id | [int32](#int32) | | | -| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| wanted | [bool](#bool) | optional | | -| job_name | [string](#string) | optional | @gotags: alias:"job" | -| job | [Job](#resources-users-Job) | optional | | -| job_grade_number | [int32](#int32) | optional | @gotags: alias:"job_grade" | -| job_grade | [JobGrade](#resources-users-JobGrade) | optional | | -| traffic_infraction_points | [uint32](#uint32) | optional | | -| open_fines | [int64](#int64) | optional | | -| blood_type | [string](#string) | optional | | -| mug_shot | [resources.filestore.File](#resources-filestore-File) | optional | | -| labels | [CitizenLabels](#resources-users-CitizenLabels) | optional | | -| email | [string](#string) | optional | @sanitize: method=StripTags | +| new | [string](#string) | optional | | - - + - +### UserNameChange - +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| old | [string](#string) | | | +| new | [string](#string) | | | - -

Top

-## resources/users/users.proto - -### User + + +### UserTrafficInfractionPointsChange | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| user_id | [int32](#int32) | | @gotags: alias:"id" | -| identifier | [string](#string) | optional | | -| job | [string](#string) | | | -| job_label | [string](#string) | optional | | -| job_grade | [int32](#int32) | | | -| job_grade_label | [string](#string) | optional | | -| firstname | [string](#string) | | | -| lastname | [string](#string) | | | -| dateofbirth | [string](#string) | | | -| sex | [string](#string) | optional | | -| height | [string](#string) | optional | | -| phone_number | [string](#string) | optional | | -| visum | [int32](#int32) | optional | | -| playtime | [int32](#int32) | optional | | -| props | [UserProps](#resources-users-UserProps) | | @gotags: alias:"fivenet_user_props" | -| licenses | [License](#resources-users-License) | repeated | @gotags: alias:"user_licenses" | -| avatar | [resources.filestore.File](#resources-filestore-File) | optional | | -| group | [string](#string) | optional | | +| old | [uint32](#uint32) | | | +| new | [uint32](#uint32) | | | - + -### UserShort +### UserWantedChange | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| user_id | [int32](#int32) | | @gotags: alias:"id" | -| identifier | [string](#string) | optional | | -| job | [string](#string) | | | -| job_label | [string](#string) | optional | | -| job_grade | [int32](#int32) | | | -| job_grade_label | [string](#string) | optional | | -| firstname | [string](#string) | | | -| lastname | [string](#string) | | | -| dateofbirth | [string](#string) | | | -| phone_number | [string](#string) | optional | | -| avatar | [resources.filestore.File](#resources-filestore-File) | optional | | +| wanted | [bool](#bool) | | | @@ -6152,6 +5826,27 @@ Timestamp for storage messages. We've defined a new local type wrapper of google + + + +### UserActivityType + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| USER_ACTIVITY_TYPE_UNSPECIFIED | 0 | | +| USER_ACTIVITY_TYPE_NAME | 4 | | +| USER_ACTIVITY_TYPE_LICENSES | 5 | | +| USER_ACTIVITY_TYPE_WANTED | 6 | | +| USER_ACTIVITY_TYPE_TRAFFIC_INFRACTION_POINTS | 7 | | +| USER_ACTIVITY_TYPE_MUGSHOT | 8 | | +| USER_ACTIVITY_TYPE_LABELS | 9 | | +| USER_ACTIVITY_TYPE_JOB | 10 | | +| USER_ACTIVITY_TYPE_DOCUMENT | 11 | | +| USER_ACTIVITY_TYPE_JAIL | 12 | | +| USER_ACTIVITY_TYPE_FINE | 13 | | + + @@ -6160,26 +5855,40 @@ Timestamp for storage messages. We've defined a new local type wrapper of google - +

Top

-## resources/vehicles/vehicles.proto +## resources/users/labels.proto - + -### Vehicle +### CitizenLabel | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| plate | [string](#string) | | | -| model | [string](#string) | optional | | -| type | [string](#string) | | | -| owner_id | [int32](#int32) | optional | | -| owner | [resources.users.UserShort](#resources-users-UserShort) | | | +| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | +| job | [string](#string) | optional | | +| name | [string](#string) | | | +| color | [string](#string) | | @sanitize: method=StripTags | + + + + + + + + +### CitizenLabels + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| list | [CitizenLabel](#resources-users-CitizenLabel) | repeated | | @@ -6195,22 +5904,26 @@ Timestamp for storage messages. We've defined a new local type wrapper of google - +

Top

-## resources/stats/stats.proto +## resources/vehicles/vehicles.proto - + -### Stat +### Vehicle | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| value | [int32](#int32) | optional | | +| plate | [string](#string) | | | +| model | [string](#string) | optional | | +| type | [string](#string) | | | +| owner_id | [int32](#int32) | optional | | +| owner | [resources.users.UserShort](#resources-users-UserShort) | | | @@ -6226,32 +5939,32 @@ Timestamp for storage messages. We've defined a new local type wrapper of google - +

Top

-## resources/wiki/access.proto +## resources/calendar/access.proto - + -### PageAccess +### CalendarAccess | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| jobs | [PageJobAccess](#resources-wiki-PageJobAccess) | repeated | @gotags: alias:"job_access" | -| users | [PageUserAccess](#resources-wiki-PageUserAccess) | repeated | @gotags: alias:"user_access" | +| jobs | [CalendarJobAccess](#resources-calendar-CalendarJobAccess) | repeated | @gotags: alias:"job_access" | +| users | [CalendarUserAccess](#resources-calendar-CalendarUserAccess) | repeated | @gotags: alias:"user_access" | - + -### PageJobAccess +### CalendarJobAccess @@ -6259,21 +5972,21 @@ Timestamp for storage messages. We've defined a new local type wrapper of google | ----- | ---- | ----- | ----------- | | id | [uint64](#uint64) | | | | created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| target_id | [uint64](#uint64) | | @gotags: alias:"page_id" | +| target_id | [uint64](#uint64) | | @gotags: alias:"calendar_id" | | job | [string](#string) | | | | job_label | [string](#string) | optional | | | minimum_grade | [int32](#int32) | | | | job_grade_label | [string](#string) | optional | | -| access | [AccessLevel](#resources-wiki-AccessLevel) | | | +| access | [AccessLevel](#resources-calendar-AccessLevel) | | | - + -### PageUserAccess +### CalendarUserAccess @@ -6281,10 +5994,10 @@ Timestamp for storage messages. We've defined a new local type wrapper of google | ----- | ---- | ----- | ----------- | | id | [uint64](#uint64) | | | | created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| target_id | [uint64](#uint64) | | @gotags: alias:"page_id" | +| target_id | [uint64](#uint64) | | @gotags: alias:"calendar_id" | | user_id | [int32](#int32) | | | | user | [resources.users.UserShort](#resources-users-UserShort) | optional | | -| access | [AccessLevel](#resources-wiki-AccessLevel) | | | +| access | [AccessLevel](#resources-calendar-AccessLevel) | | | @@ -6293,7 +6006,7 @@ Timestamp for storage messages. We've defined a new local type wrapper of google - + ### AccessLevel @@ -6303,9 +6016,9 @@ Timestamp for storage messages. We've defined a new local type wrapper of google | ACCESS_LEVEL_UNSPECIFIED | 0 | | | ACCESS_LEVEL_BLOCKED | 1 | | | ACCESS_LEVEL_VIEW | 2 | | -| ACCESS_LEVEL_ACCESS | 3 | | +| ACCESS_LEVEL_SHARE | 3 | | | ACCESS_LEVEL_EDIT | 4 | | -| ACCESS_LEVEL_OWNER | 5 | | +| ACCESS_LEVEL_MANAGE | 5 | | @@ -6316,114 +6029,146 @@ Timestamp for storage messages. We've defined a new local type wrapper of google - +

Top

-## resources/wiki/activity.proto +## resources/calendar/calendar.proto - + -### PageAccessJobsDiff +### Calendar | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| to_create | [PageJobAccess](#resources-wiki-PageJobAccess) | repeated | | -| to_update | [PageJobAccess](#resources-wiki-PageJobAccess) | repeated | | -| to_delete | [PageJobAccess](#resources-wiki-PageJobAccess) | repeated | | +| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| deleted_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| job | [string](#string) | optional | | +| name | [string](#string) | | @sanitize: method=StripTags | +| description | [string](#string) | optional | @sanitize: method=StripTags | +| public | [bool](#bool) | | | +| closed | [bool](#bool) | | | +| color | [string](#string) | | @sanitize: method=StripTags | +| creator_id | [int32](#int32) | optional | | +| creator | [resources.users.UserShort](#resources-users-UserShort) | optional | @gotags: alias:"creator" | +| creator_job | [string](#string) | | | +| subscription | [CalendarSub](#resources-calendar-CalendarSub) | optional | | +| access | [CalendarAccess](#resources-calendar-CalendarAccess) | | | - + -### PageAccessUpdated +### CalendarEntry | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| jobs | [PageAccessJobsDiff](#resources-wiki-PageAccessJobsDiff) | | | -| users | [PageAccessUsersDiff](#resources-wiki-PageAccessUsersDiff) | | | +| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| deleted_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| calendar_id | [uint64](#uint64) | | | +| calendar | [Calendar](#resources-calendar-Calendar) | optional | | +| job | [string](#string) | optional | | +| start_time | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| end_time | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| title | [string](#string) | | @sanitize: method=StripTags | +| content | [resources.common.content.Content](#resources-common-content-Content) | | | +| closed | [bool](#bool) | | | +| rsvp_open | [bool](#bool) | optional | | +| creator_id | [int32](#int32) | optional | | +| creator | [resources.users.UserShort](#resources-users-UserShort) | optional | @gotags: alias:"creator" | +| creator_job | [string](#string) | | | +| recurring | [CalendarEntryRecurring](#resources-calendar-CalendarEntryRecurring) | optional | | +| rsvp | [CalendarEntryRSVP](#resources-calendar-CalendarEntryRSVP) | optional | | - + -### PageAccessUsersDiff +### CalendarEntryRSVP | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| to_create | [PageUserAccess](#resources-wiki-PageUserAccess) | repeated | | -| to_update | [PageUserAccess](#resources-wiki-PageUserAccess) | repeated | | -| to_delete | [PageUserAccess](#resources-wiki-PageUserAccess) | repeated | | +| entry_id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| user_id | [int32](#int32) | | | +| user | [resources.users.UserShort](#resources-users-UserShort) | optional | | +| response | [RsvpResponses](#resources-calendar-RsvpResponses) | | | - + -### PageActivity +### CalendarEntryRecurring | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | | -| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | -| page_id | [uint64](#uint64) | | | -| activity_type | [PageActivityType](#resources-wiki-PageActivityType) | | | -| creator_id | [int32](#int32) | optional | | -| creator | [resources.users.UserShort](#resources-users-UserShort) | optional | @gotags: alias:"creator" | -| creator_job | [string](#string) | | | -| creator_job_label | [string](#string) | optional | | -| reason | [string](#string) | optional | | -| data | [PageActivityData](#resources-wiki-PageActivityData) | | | +| every | [string](#string) | | | +| count | [int32](#int32) | | | +| until | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | - + -### PageActivityData +### CalendarShort | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| updated | [PageUpdated](#resources-wiki-PageUpdated) | | | -| access_updated | [PageAccessUpdated](#resources-wiki-PageAccessUpdated) | | | +| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| name | [string](#string) | | @sanitize: method=StripTags | +| description | [string](#string) | optional | @sanitize: method=StripTags | +| public | [bool](#bool) | | | +| closed | [bool](#bool) | | | +| color | [string](#string) | | @sanitize: method=StripTags | +| subscription | [CalendarSub](#resources-calendar-CalendarSub) | optional | | - + -### PageUpdated +### CalendarSub | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| title_diff | [string](#string) | optional | | -| description_diff | [string](#string) | optional | | -| content_diff | [string](#string) | optional | | +| calendar_id | [uint64](#uint64) | | | +| user_id | [int32](#int32) | | | +| user | [resources.users.UserShort](#resources-users-UserShort) | optional | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| confirmed | [bool](#bool) | | | +| muted | [bool](#bool) | | | @@ -6432,19 +6177,19 @@ Timestamp for storage messages. We've defined a new local type wrapper of google - + -### PageActivityType +### RsvpResponses | Name | Number | Description | | ---- | ------ | ----------- | -| PAGE_ACTIVITY_TYPE_UNSPECIFIED | 0 | | -| PAGE_ACTIVITY_TYPE_CREATED | 1 | Base | -| PAGE_ACTIVITY_TYPE_UPDATED | 2 | | -| PAGE_ACTIVITY_TYPE_ACCESS_UPDATED | 3 | | -| PAGE_ACTIVITY_TYPE_OWNER_CHANGED | 4 | | -| PAGE_ACTIVITY_TYPE_DELETED | 5 | | +| RSVP_RESPONSES_UNSPECIFIED | 0 | | +| RSVP_RESPONSES_HIDDEN | 1 | | +| RSVP_RESPONSES_INVITED | 2 | | +| RSVP_RESPONSES_NO | 3 | | +| RSVP_RESPONSES_MAYBE | 4 | | +| RSVP_RESPONSES_YES | 5 | | @@ -6455,99 +6200,88 @@ Timestamp for storage messages. We've defined a new local type wrapper of google - +

Top

-## resources/wiki/page.proto +## resources/stats/stats.proto - + -### Page +### Stat | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | -| job | [string](#string) | | @sanitize: method=StripTags | -| job_label | [string](#string) | optional | | -| parent_id | [uint64](#uint64) | optional | | -| meta | [PageMeta](#resources-wiki-PageMeta) | | | -| content | [resources.common.content.Content](#resources-common-content-Content) | | | -| access | [PageAccess](#resources-wiki-PageAccess) | | | - +| value | [int32](#int32) | optional | | - + -### PageMeta + + + -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | -| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| deleted_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| slug | [string](#string) | optional | @sanitize: method=StripTags | -| title | [string](#string) | | @sanitize | -| description | [string](#string) | | @sanitize: method=StripTags | -| creator_id | [int32](#int32) | optional | | -| creator | [resources.users.UserShort](#resources-users-UserShort) | optional | @gotags: alias:"creator" | -| content_type | [resources.common.content.ContentType](#resources-common-content-ContentType) | | | -| tags | [string](#string) | repeated | @sanitize: method=StripTags | -| toc | [bool](#bool) | optional | | -| public | [bool](#bool) | | | + +

Top

+## resources/internet/ads.proto - + -### PageRootInfo +### Ad | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| logo | [resources.filestore.File](#resources-filestore-File) | optional | | - - - - +| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| deleted_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| disabled | [bool](#bool) | | | +| ad_type | [AdType](#resources-internet-AdType) | | | +| starts_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| ends_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| title | [string](#string) | | @sanitize: method=StripTags | +| description | [string](#string) | | @sanitize: method=StripTags | +| image | [resources.filestore.File](#resources-filestore-File) | optional | | +| approver_id | [int32](#int32) | optional | | +| approver_job | [string](#string) | optional | | +| creator_id | [int32](#int32) | optional | | +| creator_job | [string](#string) | optional | | - -### PageShort + -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | -| job | [string](#string) | | | -| job_label | [string](#string) | optional | | -| parent_id | [uint64](#uint64) | optional | | -| deleted_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| slug | [string](#string) | optional | @sanitize: method=StripTags | -| title | [string](#string) | | | -| description | [string](#string) | | | -| children | [PageShort](#resources-wiki-PageShort) | repeated | | -| root_info | [PageRootInfo](#resources-wiki-PageRootInfo) | optional | | + +### AdType +| Name | Number | Description | +| ---- | ------ | ----------- | +| AD_TYPE_UNSPECIFIED | 0 | | +| AD_TYPE_SPONSORED | 1 | | +| AD_TYPE_SEARCH_RESULT | 2 | | +| AD_TYPE_CONTENT_MAIN | 3 | | +| AD_TYPE_CONTENT_ASIDE | 4 | | - @@ -6557,55 +6291,303 @@ Timestamp for storage messages. We've defined a new local type wrapper of google - +

Top

-## resources/mailer/access.proto +## resources/internet/domain.proto - + -### Access +### Domain | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| jobs | [JobAccess](#resources-mailer-JobAccess) | repeated | @gotags: alias:"job_access" | -| users | [UserAccess](#resources-mailer-UserAccess) | repeated | @gotags: alias:"user_access" | -| qualifications | [QualificationAccess](#resources-mailer-QualificationAccess) | repeated | @gotags: alias:"qualification_access" | +| id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| deleted_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| tld_id | [uint64](#uint64) | | | +| tld | [TLD](#resources-internet-TLD) | optional | | +| active | [bool](#bool) | | | +| name | [string](#string) | | | +| creator_job | [string](#string) | optional | | +| creator_id | [int32](#int32) | optional | | - + -### JobAccess +### TLD | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | -| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| target_id | [uint64](#uint64) | | @gotags: alias:"email_id" | -| job | [string](#string) | | | -| job_label | [string](#string) | optional | | -| minimum_grade | [int32](#int32) | | | -| job_grade_label | [string](#string) | optional | | -| access | [AccessLevel](#resources-mailer-AccessLevel) | | | +| id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| deleted_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| name | [string](#string) | | | +| internal | [bool](#bool) | | | +| creator_id | [int32](#int32) | optional | | + - + -### QualificationAccess + + + + + + + +

Top

+ +## resources/internet/page.proto + + + + + +### Page + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| deleted_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| domain_id | [uint64](#uint64) | | | +| path | [string](#string) | | @sanitize: method=StripTags | +| title | [string](#string) | | @sanitize: method=StripTags | +| description | [string](#string) | | @sanitize: method=StripTags | +| data | [PageData](#resources-internet-PageData) | | | +| creator_job | [string](#string) | optional | | +| creator_id | [int32](#int32) | optional | | + + + + + + + + +### PageData +TODO + + + + + + + + + + +### PageLayoutType + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| PAGE_LAYOUT_TYPE_UNSPECIFIED | 0 | | +| PAGE_LAYOUT_TYPE_BASIC_PAGE | 1 | | +| PAGE_LAYOUT_TYPE_LANDING_PAGE | 2 | | + + + + + + + + + + + +

Top

+ +## resources/internet/search.proto + + + + + +### SearchResult + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| title | [string](#string) | | | +| description | [string](#string) | | | +| url | [string](#string) | | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/internet/access.proto + + + + + +### DomainAccess + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| jobs | [DomainJobAccess](#resources-internet-DomainJobAccess) | repeated | @gotags: alias:"job_access" | +| users | [DomainUserAccess](#resources-internet-DomainUserAccess) | repeated | @gotags: alias:"user_access" | + + + + + + + + +### DomainJobAccess + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| target_id | [uint64](#uint64) | | @gotags: alias:"page_id" | +| job | [string](#string) | | | +| job_label | [string](#string) | optional | | +| minimum_grade | [int32](#int32) | | | +| job_grade_label | [string](#string) | optional | | +| access | [AccessLevel](#resources-internet-AccessLevel) | | | + + + + + + + + +### DomainUserAccess + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| target_id | [uint64](#uint64) | | @gotags: alias:"page_id" | +| user_id | [int32](#int32) | | | +| user | [resources.users.UserShort](#resources-users-UserShort) | optional | | +| access | [AccessLevel](#resources-internet-AccessLevel) | | | + + + + + + + + + + +### AccessLevel + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| ACCESS_LEVEL_UNSPECIFIED | 0 | | +| ACCESS_LEVEL_BLOCKED | 1 | | +| ACCESS_LEVEL_VIEW | 2 | | +| ACCESS_LEVEL_EDIT | 3 | | +| ACCESS_LEVEL_OWNER | 4 | | + + + + + + + + + + + +

Top

+ +## resources/mailer/access.proto + + + + + +### Access + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| jobs | [JobAccess](#resources-mailer-JobAccess) | repeated | @gotags: alias:"job_access" | +| users | [UserAccess](#resources-mailer-UserAccess) | repeated | @gotags: alias:"user_access" | +| qualifications | [QualificationAccess](#resources-mailer-QualificationAccess) | repeated | @gotags: alias:"qualification_access" | + + + + + + + + +### JobAccess + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| target_id | [uint64](#uint64) | | @gotags: alias:"email_id" | +| job | [string](#string) | | | +| job_label | [string](#string) | optional | | +| minimum_grade | [int32](#int32) | | | +| job_grade_label | [string](#string) | optional | | +| access | [AccessLevel](#resources-mailer-AccessLevel) | | | + + + + + + + + +### QualificationAccess @@ -6970,36 +6952,65 @@ Timestamp for storage messages. We've defined a new local type wrapper of google - +

Top

-## resources/internet/ads.proto +## resources/wiki/access.proto - + -### Ad +### PageAccess | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | -| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | -| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| deleted_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| disabled | [bool](#bool) | | | -| ad_type | [AdType](#resources-internet-AdType) | | | -| starts_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| ends_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| title | [string](#string) | | @sanitize: method=StripTags | -| description | [string](#string) | | @sanitize: method=StripTags | -| image | [resources.filestore.File](#resources-filestore-File) | optional | | -| approver_id | [int32](#int32) | optional | | -| approver_job | [string](#string) | optional | | -| creator_id | [int32](#int32) | optional | | -| creator_job | [string](#string) | optional | | +| jobs | [PageJobAccess](#resources-wiki-PageJobAccess) | repeated | @gotags: alias:"job_access" | +| users | [PageUserAccess](#resources-wiki-PageUserAccess) | repeated | @gotags: alias:"user_access" | + + + + + + + + +### PageJobAccess + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| target_id | [uint64](#uint64) | | @gotags: alias:"page_id" | +| job | [string](#string) | | | +| job_label | [string](#string) | optional | | +| minimum_grade | [int32](#int32) | | | +| job_grade_label | [string](#string) | optional | | +| access | [AccessLevel](#resources-wiki-AccessLevel) | | | + + + + + + + + +### PageUserAccess + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| target_id | [uint64](#uint64) | | @gotags: alias:"page_id" | +| user_id | [int32](#int32) | | | +| user | [resources.users.UserShort](#resources-users-UserShort) | optional | | +| access | [AccessLevel](#resources-wiki-AccessLevel) | | | @@ -7008,18 +7019,19 @@ Timestamp for storage messages. We've defined a new local type wrapper of google - + -### AdType +### AccessLevel | Name | Number | Description | | ---- | ------ | ----------- | -| AD_TYPE_UNSPECIFIED | 0 | | -| AD_TYPE_SPONSORED | 1 | | -| AD_TYPE_SEARCH_RESULT | 2 | | -| AD_TYPE_CONTENT_MAIN | 3 | | -| AD_TYPE_CONTENT_ASIDE | 4 | | +| ACCESS_LEVEL_UNSPECIFIED | 0 | | +| ACCESS_LEVEL_BLOCKED | 1 | | +| ACCESS_LEVEL_VIEW | 2 | | +| ACCESS_LEVEL_ACCESS | 3 | | +| ACCESS_LEVEL_EDIT | 4 | | +| ACCESS_LEVEL_OWNER | 5 | | @@ -7030,16 +7042,66 @@ Timestamp for storage messages. We've defined a new local type wrapper of google - +

Top

-## resources/internet/page.proto +## resources/wiki/activity.proto - + + +### PageAccessJobsDiff + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| to_create | [PageJobAccess](#resources-wiki-PageJobAccess) | repeated | | +| to_update | [PageJobAccess](#resources-wiki-PageJobAccess) | repeated | | +| to_delete | [PageJobAccess](#resources-wiki-PageJobAccess) | repeated | | + + + + + + + + +### PageAccessUpdated + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| jobs | [PageAccessJobsDiff](#resources-wiki-PageAccessJobsDiff) | | | +| users | [PageAccessUsersDiff](#resources-wiki-PageAccessUsersDiff) | | | + + + + + + + + +### PageAccessUsersDiff + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| to_create | [PageUserAccess](#resources-wiki-PageUserAccess) | repeated | | +| to_update | [PageUserAccess](#resources-wiki-PageUserAccess) | repeated | | +| to_delete | [PageUserAccess](#resources-wiki-PageUserAccess) | repeated | | + + -### Page + + + + + +### PageActivity @@ -7047,25 +7109,47 @@ Timestamp for storage messages. We've defined a new local type wrapper of google | ----- | ---- | ----- | ----------- | | id | [uint64](#uint64) | | | | created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | -| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| deleted_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| domain_id | [uint64](#uint64) | | | -| path | [string](#string) | | @sanitize: method=StripTags | -| title | [string](#string) | | @sanitize: method=StripTags | -| description | [string](#string) | | @sanitize: method=StripTags | -| data | [PageData](#resources-internet-PageData) | | | -| creator_job | [string](#string) | optional | | +| page_id | [uint64](#uint64) | | | +| activity_type | [PageActivityType](#resources-wiki-PageActivityType) | | | | creator_id | [int32](#int32) | optional | | +| creator | [resources.users.UserShort](#resources-users-UserShort) | optional | @gotags: alias:"creator" | +| creator_job | [string](#string) | | | +| creator_job_label | [string](#string) | optional | | +| reason | [string](#string) | optional | | +| data | [PageActivityData](#resources-wiki-PageActivityData) | | | - + + +### PageActivityData + -### PageData -TODO + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| updated | [PageUpdated](#resources-wiki-PageUpdated) | | | +| access_updated | [PageAccessUpdated](#resources-wiki-PageAccessUpdated) | | | + + + + + + + + +### PageUpdated + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| title_diff | [string](#string) | optional | | +| description_diff | [string](#string) | optional | | +| content_diff | [string](#string) | optional | | @@ -7074,45 +7158,116 @@ TODO - + -### PageLayoutType +### PageActivityType | Name | Number | Description | | ---- | ------ | ----------- | -| PAGE_LAYOUT_TYPE_UNSPECIFIED | 0 | | -| PAGE_LAYOUT_TYPE_BASIC_PAGE | 1 | | -| PAGE_LAYOUT_TYPE_LANDING_PAGE | 2 | | +| PAGE_ACTIVITY_TYPE_UNSPECIFIED | 0 | | +| PAGE_ACTIVITY_TYPE_CREATED | 1 | Base | +| PAGE_ACTIVITY_TYPE_UPDATED | 2 | | +| PAGE_ACTIVITY_TYPE_ACCESS_UPDATED | 3 | | +| PAGE_ACTIVITY_TYPE_OWNER_CHANGED | 4 | | +| PAGE_ACTIVITY_TYPE_DELETED | 5 | | + + + + + + + + + + + +

Top

+ +## resources/wiki/page.proto + + + + + +### Page + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | +| job | [string](#string) | | @sanitize: method=StripTags | +| job_label | [string](#string) | optional | | +| parent_id | [uint64](#uint64) | optional | | +| meta | [PageMeta](#resources-wiki-PageMeta) | | | +| content | [resources.common.content.Content](#resources-common-content-Content) | | | +| access | [PageAccess](#resources-wiki-PageAccess) | | | + + + + + + + + +### PageMeta + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| deleted_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| slug | [string](#string) | optional | @sanitize: method=StripTags | +| title | [string](#string) | | @sanitize | +| description | [string](#string) | | @sanitize: method=StripTags | +| creator_id | [int32](#int32) | optional | | +| creator | [resources.users.UserShort](#resources-users-UserShort) | optional | @gotags: alias:"creator" | +| content_type | [resources.common.content.ContentType](#resources-common-content-ContentType) | | | +| tags | [string](#string) | repeated | @sanitize: method=StripTags | +| toc | [bool](#bool) | optional | | +| public | [bool](#bool) | | | + + + + - + + +### PageRootInfo - - +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| logo | [resources.filestore.File](#resources-filestore-File) | optional | | - -

Top

-## resources/internet/search.proto - + -### SearchResult +### PageShort | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | | +| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | +| job | [string](#string) | | | +| job_label | [string](#string) | optional | | +| parent_id | [uint64](#uint64) | optional | | +| deleted_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| slug | [string](#string) | optional | @sanitize: method=StripTags | | title | [string](#string) | | | | description | [string](#string) | | | -| url | [string](#string) | | | +| children | [PageShort](#resources-wiki-PageShort) | repeated | | +| root_info | [PageRootInfo](#resources-wiki-PageRootInfo) | optional | | @@ -7128,141 +7283,94 @@ TODO - +

Top

-## resources/internet/access.proto +## resources/sync/activity.proto - + -### DomainAccess +### JobsUserProps | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| jobs | [DomainJobAccess](#resources-internet-DomainJobAccess) | repeated | @gotags: alias:"job_access" | -| users | [DomainUserAccess](#resources-internet-DomainUserAccess) | repeated | @gotags: alias:"user_access" | +| reason | [string](#string) | optional | | +| props | [resources.jobs.JobsUserProps](#resources-jobs-JobsUserProps) | | | - + -### DomainJobAccess +### TimeclockUpdate | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | | -| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| target_id | [uint64](#uint64) | | @gotags: alias:"page_id" | | job | [string](#string) | | | -| job_label | [string](#string) | optional | | -| minimum_grade | [int32](#int32) | | | -| job_grade_label | [string](#string) | optional | | -| access | [AccessLevel](#resources-internet-AccessLevel) | | | - +| user_id | [int32](#int32) | | | +| start | [bool](#bool) | | | - -### DomainUserAccess + +### UserOAuth2Conn +Connect an identifier/license to the provider with the specified external id (e.g., auto discord social connect on server join) | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | | -| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| target_id | [uint64](#uint64) | | @gotags: alias:"page_id" | -| user_id | [int32](#int32) | | | -| user | [resources.users.UserShort](#resources-users-UserShort) | optional | | -| access | [AccessLevel](#resources-internet-AccessLevel) | | | - - - - - - - - - - -### AccessLevel - - -| Name | Number | Description | -| ---- | ------ | ----------- | -| ACCESS_LEVEL_UNSPECIFIED | 0 | | -| ACCESS_LEVEL_BLOCKED | 1 | | -| ACCESS_LEVEL_VIEW | 2 | | -| ACCESS_LEVEL_EDIT | 3 | | -| ACCESS_LEVEL_OWNER | 4 | | - - - - - - - - +| provider_name | [string](#string) | | | +| identifier | [string](#string) | | | +| external_id | [string](#string) | | | +| username | [string](#string) | | | - -

Top

-## resources/internet/domain.proto - + -### Domain +### UserProps | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | | -| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | -| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| deleted_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| tld_id | [uint64](#uint64) | | | -| tld | [TLD](#resources-internet-TLD) | optional | | -| active | [bool](#bool) | | | -| name | [string](#string) | | | -| creator_job | [string](#string) | optional | | -| creator_id | [int32](#int32) | optional | | +| reason | [string](#string) | optional | | +| props | [resources.users.UserProps](#resources-users-UserProps) | | | - + -### TLD +### UserUpdate | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | | -| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | -| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| deleted_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| name | [string](#string) | | | -| internal | [bool](#bool) | | | -| creator_id | [int32](#int32) | optional | | +| user_id | [int32](#int32) | | | +| group | [string](#string) | optional | | +| job | [string](#string) | optional | Char details | +| job_grade | [int32](#int32) | optional | | +| firstname | [string](#string) | optional | | +| lastname | [string](#string) | optional | | @@ -7424,109 +7532,6 @@ TODO - - - - - - - - - - - -

Top

- -## resources/sync/activity.proto - - - - - -### JobsUserProps - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| reason | [string](#string) | optional | | -| props | [resources.jobs.JobsUserProps](#resources-jobs-JobsUserProps) | | | - - - - - - - - -### TimeclockUpdate - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| job | [string](#string) | | | -| user_id | [int32](#int32) | | | -| start | [bool](#bool) | | | - - - - - - - - -### UserOAuth2Conn -Connect an identifier/license to the provider with the specified external id (e.g., auto discord social connect on server join) - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| provider_name | [string](#string) | | | -| identifier | [string](#string) | | | -| external_id | [string](#string) | | | -| username | [string](#string) | | | - - - - - - - - -### UserProps - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| reason | [string](#string) | optional | | -| props | [resources.users.UserProps](#resources-users-UserProps) | | | - - - - - - - - -### UserUpdate - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| user_id | [int32](#int32) | | | -| group | [string](#string) | optional | | -| job | [string](#string) | optional | Char details | -| job_grade | [int32](#int32) | optional | | -| firstname | [string](#string) | optional | | -| lastname | [string](#string) | optional | | - - - - - @@ -7884,532 +7889,476 @@ Connect an identifier/license to the provider with the specified external id (e. | CreateAccount | [CreateAccountRequest](#services-auth-CreateAccountRequest) | [CreateAccountResponse](#services-auth-CreateAccountResponse) | | | ChangeUsername | [ChangeUsernameRequest](#services-auth-ChangeUsernameRequest) | [ChangeUsernameResponse](#services-auth-ChangeUsernameResponse) | | | ChangePassword | [ChangePasswordRequest](#services-auth-ChangePasswordRequest) | [ChangePasswordResponse](#services-auth-ChangePasswordResponse) | | -| ForgotPassword | [ForgotPasswordRequest](#services-auth-ForgotPasswordRequest) | [ForgotPasswordResponse](#services-auth-ForgotPasswordResponse) | | -| GetCharacters | [GetCharactersRequest](#services-auth-GetCharactersRequest) | [GetCharactersResponse](#services-auth-GetCharactersResponse) | | -| ChooseCharacter | [ChooseCharacterRequest](#services-auth-ChooseCharacterRequest) | [ChooseCharacterResponse](#services-auth-ChooseCharacterResponse) | @perm | -| GetAccountInfo | [GetAccountInfoRequest](#services-auth-GetAccountInfoRequest) | [GetAccountInfoResponse](#services-auth-GetAccountInfoResponse) | | -| DeleteOAuth2Connection | [DeleteOAuth2ConnectionRequest](#services-auth-DeleteOAuth2ConnectionRequest) | [DeleteOAuth2ConnectionResponse](#services-auth-DeleteOAuth2ConnectionResponse) | | -| SetSuperUserMode | [SetSuperUserModeRequest](#services-auth-SetSuperUserModeRequest) | [SetSuperUserModeResponse](#services-auth-SetSuperUserModeResponse) | | - - - - - - -

Top

- -## services/calendar/calendar.proto - - - - - -### CreateOrUpdateCalendarEntryRequest - +| ForgotPassword | [ForgotPasswordRequest](#services-auth-ForgotPasswordRequest) | [ForgotPasswordResponse](#services-auth-ForgotPasswordResponse) | | +| GetCharacters | [GetCharactersRequest](#services-auth-GetCharactersRequest) | [GetCharactersResponse](#services-auth-GetCharactersResponse) | | +| ChooseCharacter | [ChooseCharacterRequest](#services-auth-ChooseCharacterRequest) | [ChooseCharacterResponse](#services-auth-ChooseCharacterResponse) | @perm | +| GetAccountInfo | [GetAccountInfoRequest](#services-auth-GetAccountInfoRequest) | [GetAccountInfoResponse](#services-auth-GetAccountInfoResponse) | | +| DeleteOAuth2Connection | [DeleteOAuth2ConnectionRequest](#services-auth-DeleteOAuth2ConnectionRequest) | [DeleteOAuth2ConnectionResponse](#services-auth-DeleteOAuth2ConnectionResponse) | | +| SetSuperUserMode | [SetSuperUserModeRequest](#services-auth-SetSuperUserModeRequest) | [SetSuperUserModeResponse](#services-auth-SetSuperUserModeResponse) | | + -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| entry | [resources.calendar.CalendarEntry](#resources-calendar-CalendarEntry) | | | -| user_ids | [int32](#int32) | repeated | | + +

Top

+## services/centrum/centrum.proto - + -### CreateOrUpdateCalendarEntryResponse +### AssignDispatchRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| entry | [resources.calendar.CalendarEntry](#resources-calendar-CalendarEntry) | | | - - +| dispatch_id | [uint64](#uint64) | | | +| to_add | [uint64](#uint64) | repeated | | +| to_remove | [uint64](#uint64) | repeated | | +| forced | [bool](#bool) | optional | | - -### CreateOrUpdateCalendarRequest + +### AssignDispatchResponse -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| calendar | [resources.calendar.Calendar](#resources-calendar-Calendar) | | | - + -### CreateOrUpdateCalendarResponse +### AssignUnitRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| calendar | [resources.calendar.Calendar](#resources-calendar-Calendar) | | | +| unit_id | [uint64](#uint64) | | | +| to_add | [int32](#int32) | repeated | | +| to_remove | [int32](#int32) | repeated | | - + -### DeleteCalendarEntryRequest +### AssignUnitResponse -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| entry_id | [uint64](#uint64) | | | + +### CreateDispatchRequest - -### DeleteCalendarEntryResponse +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| dispatch | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | | | - + -### DeleteCalendarRequest +### CreateDispatchResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| calendar_id | [uint64](#uint64) | | | +| dispatch | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | | | - + -### DeleteCalendarResponse +### CreateOrUpdateUnitRequest +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| unit | [resources.centrum.Unit](#resources-centrum-Unit) | | | - -### GetCalendarEntryRequest + + + +### CreateOrUpdateUnitResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| entry_id | [uint64](#uint64) | | | +| unit | [resources.centrum.Unit](#resources-centrum-Unit) | | | - + -### GetCalendarEntryResponse +### DeleteDispatchRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| entry | [resources.calendar.CalendarEntry](#resources-calendar-CalendarEntry) | | | - - +| id | [uint64](#uint64) | | | - -### GetCalendarRequest + +### DeleteDispatchResponse -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| calendar_id | [uint64](#uint64) | | | - + -### GetCalendarResponse +### DeleteUnitRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| calendar | [resources.calendar.Calendar](#resources-calendar-Calendar) | | | - - +| unit_id | [uint64](#uint64) | | | - -### GetUpcomingEntriesRequest + +### DeleteUnitResponse -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| seconds | [int32](#int32) | | | - + -### GetUpcomingEntriesResponse +### GetDispatchRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| entries | [resources.calendar.CalendarEntry](#resources-calendar-CalendarEntry) | repeated | | +| id | [uint64](#uint64) | | | - + -### ListCalendarEntriesRequest +### GetDispatchResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| year | [int32](#int32) | | | -| month | [int32](#int32) | | | -| calendar_ids | [uint64](#uint64) | repeated | | -| show_hidden | [bool](#bool) | optional | | -| after | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | - - +| dispatch | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | | | - -### ListCalendarEntriesResponse + +### GetSettingsRequest -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| entries | [resources.calendar.CalendarEntry](#resources-calendar-CalendarEntry) | repeated | | - + -### ListCalendarEntryRSVPRequest +### GetSettingsResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | -| entry_id | [uint64](#uint64) | | | +| settings | [resources.centrum.Settings](#resources-centrum-Settings) | | | - + -### ListCalendarEntryRSVPResponse +### JoinUnitRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | -| entries | [resources.calendar.CalendarEntryRSVP](#resources-calendar-CalendarEntryRSVP) | repeated | | +| unit_id | [uint64](#uint64) | optional | | - + -### ListCalendarsRequest +### JoinUnitResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | -| only_public | [bool](#bool) | | | -| min_access_level | [resources.calendar.AccessLevel](#resources-calendar-AccessLevel) | optional | | -| after | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| unit | [resources.centrum.Unit](#resources-centrum-Unit) | | | - + -### ListCalendarsResponse +### LatestState | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | -| calendars | [resources.calendar.Calendar](#resources-calendar-Calendar) | repeated | | +| server_time | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| settings | [resources.centrum.Settings](#resources-centrum-Settings) | | | +| disponents | [resources.jobs.Colleague](#resources-jobs-Colleague) | repeated | | +| own_unit_id | [uint64](#uint64) | optional | | +| units | [resources.centrum.Unit](#resources-centrum-Unit) | repeated | Send the current units and dispatches | +| dispatches | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | repeated | | - + -### ListSubscriptionsRequest +### ListDispatchActivityRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| id | [uint64](#uint64) | | | - + -### ListSubscriptionsResponse +### ListDispatchActivityResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | -| subs | [resources.calendar.CalendarSub](#resources-calendar-CalendarSub) | repeated | | +| activity | [resources.centrum.DispatchStatus](#resources-centrum-DispatchStatus) | repeated | | - + -### RSVPCalendarEntryRequest +### ListDispatchesRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| entry | [resources.calendar.CalendarEntryRSVP](#resources-calendar-CalendarEntryRSVP) | | | -| subscribe | [bool](#bool) | | | -| remove | [bool](#bool) | optional | | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| status | [resources.centrum.StatusDispatch](#resources-centrum-StatusDispatch) | repeated | | +| not_status | [resources.centrum.StatusDispatch](#resources-centrum-StatusDispatch) | repeated | | +| ids | [uint64](#uint64) | repeated | | +| postal | [string](#string) | optional | | - + -### RSVPCalendarEntryResponse +### ListDispatchesResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| entry | [resources.calendar.CalendarEntryRSVP](#resources-calendar-CalendarEntryRSVP) | optional | | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| dispatches | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | repeated | | - + -### ShareCalendarEntryRequest +### ListUnitActivityRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| entry_id | [uint64](#uint64) | | | -| user_ids | [int32](#int32) | repeated | | - - - - - - - - -### ShareCalendarEntryResponse - +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| id | [uint64](#uint64) | | | - + -### SubscribeToCalendarRequest +### ListUnitActivityResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| sub | [resources.calendar.CalendarSub](#resources-calendar-CalendarSub) | | | -| delete | [bool](#bool) | | | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| activity | [resources.centrum.UnitStatus](#resources-centrum-UnitStatus) | repeated | | - + -### SubscribeToCalendarResponse +### ListUnitsRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| sub | [resources.calendar.CalendarSub](#resources-calendar-CalendarSub) | | | - - - - +| status | [resources.centrum.StatusUnit](#resources-centrum-StatusUnit) | repeated | | - - - - -### CalendarService + +### ListUnitsResponse -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| ListCalendars | [ListCalendarsRequest](#services-calendar-ListCalendarsRequest) | [ListCalendarsResponse](#services-calendar-ListCalendarsResponse) | @perm: Name=Any | -| GetCalendar | [GetCalendarRequest](#services-calendar-GetCalendarRequest) | [GetCalendarResponse](#services-calendar-GetCalendarResponse) | @perm: Name=Any | -| CreateOrUpdateCalendar | [CreateOrUpdateCalendarRequest](#services-calendar-CreateOrUpdateCalendarRequest) | [CreateOrUpdateCalendarResponse](#services-calendar-CreateOrUpdateCalendarResponse) | @perm: Attrs=Fields/StringList:[]string{"Job", "Public"} | -| DeleteCalendar | [DeleteCalendarRequest](#services-calendar-DeleteCalendarRequest) | [DeleteCalendarResponse](#services-calendar-DeleteCalendarResponse) | @perm | -| ListCalendarEntries | [ListCalendarEntriesRequest](#services-calendar-ListCalendarEntriesRequest) | [ListCalendarEntriesResponse](#services-calendar-ListCalendarEntriesResponse) | @perm: Name=Any | -| GetUpcomingEntries | [GetUpcomingEntriesRequest](#services-calendar-GetUpcomingEntriesRequest) | [GetUpcomingEntriesResponse](#services-calendar-GetUpcomingEntriesResponse) | @perm: Name=Any | -| GetCalendarEntry | [GetCalendarEntryRequest](#services-calendar-GetCalendarEntryRequest) | [GetCalendarEntryResponse](#services-calendar-GetCalendarEntryResponse) | @perm: Name=Any | -| CreateOrUpdateCalendarEntry | [CreateOrUpdateCalendarEntryRequest](#services-calendar-CreateOrUpdateCalendarEntryRequest) | [CreateOrUpdateCalendarEntryResponse](#services-calendar-CreateOrUpdateCalendarEntryResponse) | @perm | -| DeleteCalendarEntry | [DeleteCalendarEntryRequest](#services-calendar-DeleteCalendarEntryRequest) | [DeleteCalendarEntryResponse](#services-calendar-DeleteCalendarEntryResponse) | @perm | -| ShareCalendarEntry | [ShareCalendarEntryRequest](#services-calendar-ShareCalendarEntryRequest) | [ShareCalendarEntryResponse](#services-calendar-ShareCalendarEntryResponse) | @perm: Name=CreateOrUpdateCalendarEntry | -| ListCalendarEntryRSVP | [ListCalendarEntryRSVPRequest](#services-calendar-ListCalendarEntryRSVPRequest) | [ListCalendarEntryRSVPResponse](#services-calendar-ListCalendarEntryRSVPResponse) | @perm: Name=Any | -| RSVPCalendarEntry | [RSVPCalendarEntryRequest](#services-calendar-RSVPCalendarEntryRequest) | [RSVPCalendarEntryResponse](#services-calendar-RSVPCalendarEntryResponse) | @perm: Name=Any | -| ListSubscriptions | [ListSubscriptionsRequest](#services-calendar-ListSubscriptionsRequest) | [ListSubscriptionsResponse](#services-calendar-ListSubscriptionsResponse) | @perm: Name=Any | -| SubscribeToCalendar | [SubscribeToCalendarRequest](#services-calendar-SubscribeToCalendarRequest) | [SubscribeToCalendarResponse](#services-calendar-SubscribeToCalendarResponse) | @perm: Name=Any | - +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| units | [resources.centrum.Unit](#resources-centrum-Unit) | repeated | | - -

Top

-## services/centrum/centrum.proto - + -### AssignDispatchRequest +### StreamRequest -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| dispatch_id | [uint64](#uint64) | | | -| to_add | [uint64](#uint64) | repeated | | -| to_remove | [uint64](#uint64) | repeated | | -| forced | [bool](#bool) | optional | | + +### StreamResponse - -### AssignDispatchResponse +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| latest_state | [LatestState](#services-centrum-LatestState) | | | +| settings | [resources.centrum.Settings](#resources-centrum-Settings) | | | +| disponents | [resources.centrum.Disponents](#resources-centrum-Disponents) | | | +| unit_created | [resources.centrum.Unit](#resources-centrum-Unit) | | | +| unit_deleted | [resources.centrum.Unit](#resources-centrum-Unit) | | | +| unit_updated | [resources.centrum.Unit](#resources-centrum-Unit) | | | +| unit_status | [resources.centrum.UnitStatus](#resources-centrum-UnitStatus) | | | +| dispatch_created | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | | | +| dispatch_deleted | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | | | +| dispatch_updated | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | | | +| dispatch_status | [resources.centrum.DispatchStatus](#resources-centrum-DispatchStatus) | | | - + -### AssignUnitRequest +### TakeControlRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| unit_id | [uint64](#uint64) | | | -| to_add | [int32](#int32) | repeated | | -| to_remove | [int32](#int32) | repeated | | +| signon | [bool](#bool) | | | - + -### AssignUnitResponse +### TakeControlResponse @@ -8417,84 +8366,79 @@ Connect an identifier/license to the provider with the specified external id (e. - + -### CreateDispatchRequest +### TakeDispatchRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| dispatch | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | | | - - +| dispatch_ids | [uint64](#uint64) | repeated | | +| resp | [resources.centrum.TakeDispatchResp](#resources-centrum-TakeDispatchResp) | | | +| reason | [string](#string) | optional | @sanitize | - -### CreateDispatchResponse + +### TakeDispatchResponse -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| dispatch | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | | | - + -### CreateOrUpdateUnitRequest +### UpdateDispatchRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| unit | [resources.centrum.Unit](#resources-centrum-Unit) | | | - - +| dispatch | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | | | - -### CreateOrUpdateUnitResponse + +### UpdateDispatchResponse -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| unit | [resources.centrum.Unit](#resources-centrum-Unit) | | | - + -### DeleteDispatchRequest +### UpdateDispatchStatusRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | | +| dispatch_id | [uint64](#uint64) | | | +| status | [resources.centrum.StatusDispatch](#resources-centrum-StatusDispatch) | | | +| reason | [string](#string) | optional | @sanitize | +| code | [string](#string) | optional | @sanitize | - + -### DeleteDispatchResponse +### UpdateDispatchStatusResponse @@ -8502,398 +8446,462 @@ Connect an identifier/license to the provider with the specified external id (e. - + -### DeleteUnitRequest +### UpdateSettingsRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| unit_id | [uint64](#uint64) | | | +| settings | [resources.centrum.Settings](#resources-centrum-Settings) | | | - + -### DeleteUnitResponse +### UpdateSettingsResponse +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| settings | [resources.centrum.Settings](#resources-centrum-Settings) | | | - -### GetDispatchRequest + + + +### UpdateUnitStatusRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | | +| unit_id | [uint64](#uint64) | | | +| status | [resources.centrum.StatusUnit](#resources-centrum-StatusUnit) | | | +| reason | [string](#string) | optional | @sanitize | +| code | [string](#string) | optional | @sanitize | - + -### GetDispatchResponse +### UpdateUnitStatusResponse -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| dispatch | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | | | + + + - -### GetSettingsRequest + + +### CentrumService +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| UpdateSettings | [UpdateSettingsRequest](#services-centrum-UpdateSettingsRequest) | [UpdateSettingsResponse](#services-centrum-UpdateSettingsResponse) | @perm | +| CreateDispatch | [CreateDispatchRequest](#services-centrum-CreateDispatchRequest) | [CreateDispatchResponse](#services-centrum-CreateDispatchResponse) | @perm | +| UpdateDispatch | [UpdateDispatchRequest](#services-centrum-UpdateDispatchRequest) | [UpdateDispatchResponse](#services-centrum-UpdateDispatchResponse) | @perm | +| DeleteDispatch | [DeleteDispatchRequest](#services-centrum-DeleteDispatchRequest) | [DeleteDispatchResponse](#services-centrum-DeleteDispatchResponse) | @perm | +| TakeControl | [TakeControlRequest](#services-centrum-TakeControlRequest) | [TakeControlResponse](#services-centrum-TakeControlResponse) | @perm | +| AssignDispatch | [AssignDispatchRequest](#services-centrum-AssignDispatchRequest) | [AssignDispatchResponse](#services-centrum-AssignDispatchResponse) | @perm: Name=TakeControl | +| AssignUnit | [AssignUnitRequest](#services-centrum-AssignUnitRequest) | [AssignUnitResponse](#services-centrum-AssignUnitResponse) | @perm: Name=TakeControl | +| Stream | [StreamRequest](#services-centrum-StreamRequest) | [StreamResponse](#services-centrum-StreamResponse) stream | @perm | +| GetSettings | [GetSettingsRequest](#services-centrum-GetSettingsRequest) | [GetSettingsResponse](#services-centrum-GetSettingsResponse) | @perm: Name=Stream | +| JoinUnit | [JoinUnitRequest](#services-centrum-JoinUnitRequest) | [JoinUnitResponse](#services-centrum-JoinUnitResponse) | @perm: Name=Stream | +| ListUnits | [ListUnitsRequest](#services-centrum-ListUnitsRequest) | [ListUnitsResponse](#services-centrum-ListUnitsResponse) | @perm: Name=Stream | +| ListUnitActivity | [ListUnitActivityRequest](#services-centrum-ListUnitActivityRequest) | [ListUnitActivityResponse](#services-centrum-ListUnitActivityResponse) | @perm: Name=Stream | +| GetDispatch | [GetDispatchRequest](#services-centrum-GetDispatchRequest) | [GetDispatchResponse](#services-centrum-GetDispatchResponse) | @perm: Name=Stream | +| ListDispatches | [ListDispatchesRequest](#services-centrum-ListDispatchesRequest) | [ListDispatchesResponse](#services-centrum-ListDispatchesResponse) | @perm: Name=Stream | +| ListDispatchActivity | [ListDispatchActivityRequest](#services-centrum-ListDispatchActivityRequest) | [ListDispatchActivityResponse](#services-centrum-ListDispatchActivityResponse) | @perm: Name=Stream | +| CreateOrUpdateUnit | [CreateOrUpdateUnitRequest](#services-centrum-CreateOrUpdateUnitRequest) | [CreateOrUpdateUnitResponse](#services-centrum-CreateOrUpdateUnitResponse) | @perm | +| DeleteUnit | [DeleteUnitRequest](#services-centrum-DeleteUnitRequest) | [DeleteUnitResponse](#services-centrum-DeleteUnitResponse) | @perm | +| TakeDispatch | [TakeDispatchRequest](#services-centrum-TakeDispatchRequest) | [TakeDispatchResponse](#services-centrum-TakeDispatchResponse) | @perm | +| UpdateUnitStatus | [UpdateUnitStatusRequest](#services-centrum-UpdateUnitStatusRequest) | [UpdateUnitStatusResponse](#services-centrum-UpdateUnitStatusResponse) | @perm: Name=TakeDispatch | +| UpdateDispatchStatus | [UpdateDispatchStatusRequest](#services-centrum-UpdateDispatchStatusRequest) | [UpdateDispatchStatusResponse](#services-centrum-UpdateDispatchStatusResponse) | @perm: Name=TakeDispatch | + + + +

Top

+## services/citizenstore/citizenstore.proto - -### GetSettingsResponse + + + +### GetUserRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| settings | [resources.centrum.Settings](#resources-centrum-Settings) | | | +| user_id | [int32](#int32) | | | +| info_only | [bool](#bool) | optional | | - + -### JoinUnitRequest +### GetUserResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| unit_id | [uint64](#uint64) | optional | | +| user | [resources.users.User](#resources-users-User) | | | - + -### JoinUnitResponse +### ListCitizensRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| unit | [resources.centrum.Unit](#resources-centrum-Unit) | | | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| sort | [resources.common.database.Sort](#resources-common-database-Sort) | optional | | +| search | [string](#string) | | Search params | +| wanted | [bool](#bool) | optional | | +| phone_number | [string](#string) | optional | | +| traffic_infraction_points | [uint32](#uint32) | optional | | +| dateofbirth | [string](#string) | optional | | +| open_fines | [uint64](#uint64) | optional | | - + -### LatestState +### ListCitizensResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| server_time | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | -| settings | [resources.centrum.Settings](#resources-centrum-Settings) | | | -| disponents | [resources.jobs.Colleague](#resources-jobs-Colleague) | repeated | | -| own_unit_id | [uint64](#uint64) | optional | | -| units | [resources.centrum.Unit](#resources-centrum-Unit) | repeated | Send the current units and dispatches | -| dispatches | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | repeated | | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| users | [resources.users.User](#resources-users-User) | repeated | | - + -### ListDispatchActivityRequest +### ListUserActivityRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | -| id | [uint64](#uint64) | | | +| sort | [resources.common.database.Sort](#resources-common-database-Sort) | optional | | +| user_id | [int32](#int32) | | Search params | +| types | [resources.users.UserActivityType](#resources-users-UserActivityType) | repeated | | - + -### ListDispatchActivityResponse +### ListUserActivityResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | -| activity | [resources.centrum.DispatchStatus](#resources-centrum-DispatchStatus) | repeated | | +| activity | [resources.users.UserActivity](#resources-users-UserActivity) | repeated | | - + -### ListDispatchesRequest +### ManageCitizenLabelsRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | -| status | [resources.centrum.StatusDispatch](#resources-centrum-StatusDispatch) | repeated | | -| not_status | [resources.centrum.StatusDispatch](#resources-centrum-StatusDispatch) | repeated | | -| ids | [uint64](#uint64) | repeated | | -| postal | [string](#string) | optional | | +| labels | [resources.users.CitizenLabel](#resources-users-CitizenLabel) | repeated | | - + -### ListDispatchesResponse +### ManageCitizenLabelsResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | -| dispatches | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | repeated | | +| labels | [resources.users.CitizenLabel](#resources-users-CitizenLabel) | repeated | | - + -### ListUnitActivityRequest +### SetProfilePictureRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | -| id | [uint64](#uint64) | | | +| avatar | [resources.filestore.File](#resources-filestore-File) | | | - + -### ListUnitActivityResponse +### SetProfilePictureResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | -| activity | [resources.centrum.UnitStatus](#resources-centrum-UnitStatus) | repeated | | +| avatar | [resources.filestore.File](#resources-filestore-File) | | | + + + + + + + + +### SetUserPropsRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| props | [resources.users.UserProps](#resources-users-UserProps) | | | +| reason | [string](#string) | | @sanitize | - + -### ListUnitsRequest +### SetUserPropsResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| status | [resources.centrum.StatusUnit](#resources-centrum-StatusUnit) | repeated | | - - - - +| props | [resources.users.UserProps](#resources-users-UserProps) | | | - -### ListUnitsResponse + -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| units | [resources.centrum.Unit](#resources-centrum-Unit) | repeated | | + + + +### CitizenStoreService - +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| ListCitizens | [ListCitizensRequest](#services-citizenstore-ListCitizensRequest) | [ListCitizensResponse](#services-citizenstore-ListCitizensResponse) | @perm: Attrs=Fields/StringList:[]string{"PhoneNumber", "Licenses", "UserProps.Wanted", "UserProps.Job", "UserProps.TrafficInfractionPoints", "UserProps.OpenFines", "UserProps.BloodType", "UserProps.MugShot", "UserProps.Labels", "UserProps.Email"} | +| GetUser | [GetUserRequest](#services-citizenstore-GetUserRequest) | [GetUserResponse](#services-citizenstore-GetUserResponse) | @perm: Attrs=Jobs/JobGradeList | +| ListUserActivity | [ListUserActivityRequest](#services-citizenstore-ListUserActivityRequest) | [ListUserActivityResponse](#services-citizenstore-ListUserActivityResponse) | @perm: Attrs=Fields/StringList:[]string{"SourceUser", "Own"} | +| SetUserProps | [SetUserPropsRequest](#services-citizenstore-SetUserPropsRequest) | [SetUserPropsResponse](#services-citizenstore-SetUserPropsResponse) | @perm: Attrs=Fields/StringList:[]string{"Wanted", "Job", "TrafficInfractionPoints", "MugShot", "Labels"} | +| SetProfilePicture | [SetProfilePictureRequest](#services-citizenstore-SetProfilePictureRequest) | [SetProfilePictureResponse](#services-citizenstore-SetProfilePictureResponse) | @perm: Name=Any | +| ManageCitizenLabels | [ManageCitizenLabelsRequest](#services-citizenstore-ManageCitizenLabelsRequest) | [ManageCitizenLabelsResponse](#services-citizenstore-ManageCitizenLabelsResponse) | @perm | -### StreamRequest + + +

Top

+## services/completor/completor.proto - + -### StreamResponse +### CompleteCitizenLabelsRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| latest_state | [LatestState](#services-centrum-LatestState) | | | -| settings | [resources.centrum.Settings](#resources-centrum-Settings) | | | -| disponents | [resources.centrum.Disponents](#resources-centrum-Disponents) | | | -| unit_created | [resources.centrum.Unit](#resources-centrum-Unit) | | | -| unit_deleted | [resources.centrum.Unit](#resources-centrum-Unit) | | | -| unit_updated | [resources.centrum.Unit](#resources-centrum-Unit) | | | -| unit_status | [resources.centrum.UnitStatus](#resources-centrum-UnitStatus) | | | -| dispatch_created | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | | | -| dispatch_deleted | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | | | -| dispatch_updated | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | | | -| dispatch_status | [resources.centrum.DispatchStatus](#resources-centrum-DispatchStatus) | | | +| search | [string](#string) | | | - + -### TakeControlRequest +### CompleteCitizenLabelsResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| signon | [bool](#bool) | | | +| labels | [resources.users.CitizenLabel](#resources-users-CitizenLabel) | repeated | | - + -### TakeControlResponse +### CompleteCitizensRequest +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| search | [string](#string) | | | +| current_job | [bool](#bool) | optional | | +| on_duty | [bool](#bool) | optional | | +| user_id | [int32](#int32) | optional | | + + - + -### TakeDispatchRequest +### CompleteCitizensRespoonse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| dispatch_ids | [uint64](#uint64) | repeated | | -| resp | [resources.centrum.TakeDispatchResp](#resources-centrum-TakeDispatchResp) | | | -| reason | [string](#string) | optional | @sanitize | +| users | [resources.users.UserShort](#resources-users-UserShort) | repeated | @gotags: alias:"user" | - + -### TakeDispatchResponse +### CompleteDocumentCategoriesRequest +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| search | [string](#string) | | | - -### UpdateDispatchRequest + + + +### CompleteDocumentCategoriesResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| dispatch | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | | | +| categories | [resources.documents.Category](#resources-documents-Category) | repeated | | - + + +### CompleteJobsRequest -### UpdateDispatchResponse +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| search | [string](#string) | optional | | +| exact_match | [bool](#bool) | optional | | +| current_job | [bool](#bool) | optional | | - -### UpdateDispatchStatusRequest + + +### CompleteJobsResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| dispatch_id | [uint64](#uint64) | | | -| status | [resources.centrum.StatusDispatch](#resources-centrum-StatusDispatch) | | | -| reason | [string](#string) | optional | @sanitize | -| code | [string](#string) | optional | @sanitize | +| jobs | [resources.users.Job](#resources-users-Job) | repeated | | - + -### UpdateDispatchStatusResponse +### ListLawBooksRequest @@ -8901,59 +8909,81 @@ Connect an identifier/license to the provider with the specified external id (e. - + -### UpdateSettingsRequest +### ListLawBooksResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| settings | [resources.centrum.Settings](#resources-centrum-Settings) | | | +| books | [resources.laws.LawBook](#resources-laws-LawBook) | repeated | | + - + -### UpdateSettingsResponse + + -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| settings | [resources.centrum.Settings](#resources-centrum-Settings) | | | +### CompletorService +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| CompleteCitizens | [CompleteCitizensRequest](#services-completor-CompleteCitizensRequest) | [CompleteCitizensRespoonse](#services-completor-CompleteCitizensRespoonse) | @perm | +| CompleteJobs | [CompleteJobsRequest](#services-completor-CompleteJobsRequest) | [CompleteJobsResponse](#services-completor-CompleteJobsResponse) | @perm: Name=Any | +| CompleteDocumentCategories | [CompleteDocumentCategoriesRequest](#services-completor-CompleteDocumentCategoriesRequest) | [CompleteDocumentCategoriesResponse](#services-completor-CompleteDocumentCategoriesResponse) | @perm: Attrs=Jobs/JobList | +| ListLawBooks | [ListLawBooksRequest](#services-completor-ListLawBooksRequest) | [ListLawBooksResponse](#services-completor-ListLawBooksResponse) | @perm: Name=Any | +| CompleteCitizenLabels | [CompleteCitizenLabelsRequest](#services-completor-CompleteCitizenLabelsRequest) | [CompleteCitizenLabelsResponse](#services-completor-CompleteCitizenLabelsResponse) | @perm: Attrs=Jobs/JobList | + - + +

Top

-### UpdateUnitStatusRequest +## services/dmv/vehicles.proto + + + + + +### ListVehiclesRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| unit_id | [uint64](#uint64) | | | -| status | [resources.centrum.StatusUnit](#resources-centrum-StatusUnit) | | | -| reason | [string](#string) | optional | @sanitize | -| code | [string](#string) | optional | @sanitize | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| sort | [resources.common.database.Sort](#resources-common-database-Sort) | optional | | +| license_plate | [string](#string) | optional | Search params | +| model | [string](#string) | optional | | +| user_id | [int32](#int32) | optional | | - + + +### ListVehiclesResponse -### UpdateUnitStatusResponse +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| vehicles | [resources.vehicles.Vehicle](#resources-vehicles-Vehicle) | repeated | | + @@ -8965,398 +8995,366 @@ Connect an identifier/license to the provider with the specified external id (e. - + -### CentrumService +### DMVService | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| -| UpdateSettings | [UpdateSettingsRequest](#services-centrum-UpdateSettingsRequest) | [UpdateSettingsResponse](#services-centrum-UpdateSettingsResponse) | @perm | -| CreateDispatch | [CreateDispatchRequest](#services-centrum-CreateDispatchRequest) | [CreateDispatchResponse](#services-centrum-CreateDispatchResponse) | @perm | -| UpdateDispatch | [UpdateDispatchRequest](#services-centrum-UpdateDispatchRequest) | [UpdateDispatchResponse](#services-centrum-UpdateDispatchResponse) | @perm | -| DeleteDispatch | [DeleteDispatchRequest](#services-centrum-DeleteDispatchRequest) | [DeleteDispatchResponse](#services-centrum-DeleteDispatchResponse) | @perm | -| TakeControl | [TakeControlRequest](#services-centrum-TakeControlRequest) | [TakeControlResponse](#services-centrum-TakeControlResponse) | @perm | -| AssignDispatch | [AssignDispatchRequest](#services-centrum-AssignDispatchRequest) | [AssignDispatchResponse](#services-centrum-AssignDispatchResponse) | @perm: Name=TakeControl | -| AssignUnit | [AssignUnitRequest](#services-centrum-AssignUnitRequest) | [AssignUnitResponse](#services-centrum-AssignUnitResponse) | @perm: Name=TakeControl | -| Stream | [StreamRequest](#services-centrum-StreamRequest) | [StreamResponse](#services-centrum-StreamResponse) stream | @perm | -| GetSettings | [GetSettingsRequest](#services-centrum-GetSettingsRequest) | [GetSettingsResponse](#services-centrum-GetSettingsResponse) | @perm: Name=Stream | -| JoinUnit | [JoinUnitRequest](#services-centrum-JoinUnitRequest) | [JoinUnitResponse](#services-centrum-JoinUnitResponse) | @perm: Name=Stream | -| ListUnits | [ListUnitsRequest](#services-centrum-ListUnitsRequest) | [ListUnitsResponse](#services-centrum-ListUnitsResponse) | @perm: Name=Stream | -| ListUnitActivity | [ListUnitActivityRequest](#services-centrum-ListUnitActivityRequest) | [ListUnitActivityResponse](#services-centrum-ListUnitActivityResponse) | @perm: Name=Stream | -| GetDispatch | [GetDispatchRequest](#services-centrum-GetDispatchRequest) | [GetDispatchResponse](#services-centrum-GetDispatchResponse) | @perm: Name=Stream | -| ListDispatches | [ListDispatchesRequest](#services-centrum-ListDispatchesRequest) | [ListDispatchesResponse](#services-centrum-ListDispatchesResponse) | @perm: Name=Stream | -| ListDispatchActivity | [ListDispatchActivityRequest](#services-centrum-ListDispatchActivityRequest) | [ListDispatchActivityResponse](#services-centrum-ListDispatchActivityResponse) | @perm: Name=Stream | -| CreateOrUpdateUnit | [CreateOrUpdateUnitRequest](#services-centrum-CreateOrUpdateUnitRequest) | [CreateOrUpdateUnitResponse](#services-centrum-CreateOrUpdateUnitResponse) | @perm | -| DeleteUnit | [DeleteUnitRequest](#services-centrum-DeleteUnitRequest) | [DeleteUnitResponse](#services-centrum-DeleteUnitResponse) | @perm | -| TakeDispatch | [TakeDispatchRequest](#services-centrum-TakeDispatchRequest) | [TakeDispatchResponse](#services-centrum-TakeDispatchResponse) | @perm | -| UpdateUnitStatus | [UpdateUnitStatusRequest](#services-centrum-UpdateUnitStatusRequest) | [UpdateUnitStatusResponse](#services-centrum-UpdateUnitStatusResponse) | @perm: Name=TakeDispatch | -| UpdateDispatchStatus | [UpdateDispatchStatusRequest](#services-centrum-UpdateDispatchStatusRequest) | [UpdateDispatchStatusResponse](#services-centrum-UpdateDispatchStatusResponse) | @perm: Name=TakeDispatch | +| ListVehicles | [ListVehiclesRequest](#services-dmv-ListVehiclesRequest) | [ListVehiclesResponse](#services-dmv-ListVehiclesResponse) | @perm | - +

Top

-## services/citizenstore/citizenstore.proto +## services/docstore/docstore.proto - + -### GetUserRequest +### AddDocumentReferenceRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| user_id | [int32](#int32) | | | -| info_only | [bool](#bool) | optional | | +| reference | [resources.documents.DocumentReference](#resources-documents-DocumentReference) | | | - + -### GetUserResponse +### AddDocumentReferenceResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| user | [resources.users.User](#resources-users-User) | | | +| id | [uint64](#uint64) | | | - + -### ListCitizensRequest +### AddDocumentRelationRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | -| sort | [resources.common.database.Sort](#resources-common-database-Sort) | optional | | -| search | [string](#string) | | Search params | -| wanted | [bool](#bool) | optional | | -| phone_number | [string](#string) | optional | | -| traffic_infraction_points | [uint32](#uint32) | optional | | -| dateofbirth | [string](#string) | optional | | -| open_fines | [uint64](#uint64) | optional | | +| relation | [resources.documents.DocumentRelation](#resources-documents-DocumentRelation) | | | - + -### ListCitizensResponse +### AddDocumentRelationResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | -| users | [resources.users.User](#resources-users-User) | repeated | | +| id | [uint64](#uint64) | | | + + + + + + + + +### ChangeDocumentOwnerRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| document_id | [uint64](#uint64) | | | +| new_user_id | [int32](#int32) | optional | | + + + + + + + + +### ChangeDocumentOwnerResponse - -### ListUserActivityRequest + + +### CreateCategoryRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | -| sort | [resources.common.database.Sort](#resources-common-database-Sort) | optional | | -| user_id | [int32](#int32) | | Search params | -| types | [resources.users.UserActivityType](#resources-users-UserActivityType) | repeated | | +| category | [resources.documents.Category](#resources-documents-Category) | | | - + -### ListUserActivityResponse +### CreateCategoryResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | -| activity | [resources.users.UserActivity](#resources-users-UserActivity) | repeated | | +| id | [uint64](#uint64) | | | - + -### ManageCitizenLabelsRequest +### CreateDocumentReqRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| labels | [resources.users.CitizenLabel](#resources-users-CitizenLabel) | repeated | | +| document_id | [uint64](#uint64) | | | +| request_type | [resources.documents.DocActivityType](#resources-documents-DocActivityType) | | | +| reason | [string](#string) | optional | @sanitize | +| data | [resources.documents.DocActivityData](#resources-documents-DocActivityData) | optional | | - + -### ManageCitizenLabelsResponse +### CreateDocumentReqResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| labels | [resources.users.CitizenLabel](#resources-users-CitizenLabel) | repeated | | +| request | [resources.documents.DocRequest](#resources-documents-DocRequest) | | | - + -### SetProfilePictureRequest +### CreateDocumentRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| avatar | [resources.filestore.File](#resources-filestore-File) | | | +| category_id | [uint64](#uint64) | optional | @gotags: alias:"category_id" | +| title | [string](#string) | | @sanitize: method=StripTags + +@gotags: alias:"title" | +| content | [resources.common.content.Content](#resources-common-content-Content) | | @sanitize | +| content_type | [resources.common.content.ContentType](#resources-common-content-ContentType) | | @gotags: alias:"content_type" | +| data | [string](#string) | optional | @gotags: alias:"data" | +| state | [string](#string) | | @sanitize + +@gotags: alias:"state" | +| closed | [bool](#bool) | | @gotags: alias:"closed" | +| public | [bool](#bool) | | @gotags: alias:"public" | +| access | [resources.documents.DocumentAccess](#resources-documents-DocumentAccess) | optional | | +| template_id | [uint64](#uint64) | optional | | - + -### SetProfilePictureResponse +### CreateDocumentResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| avatar | [resources.filestore.File](#resources-filestore-File) | | | +| document_id | [uint64](#uint64) | | @gotags: alias:"id" | - + -### SetUserPropsRequest +### CreateTemplateRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| props | [resources.users.UserProps](#resources-users-UserProps) | | | -| reason | [string](#string) | | @sanitize | +| template | [resources.documents.Template](#resources-documents-Template) | | | - + -### SetUserPropsResponse +### CreateTemplateResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| props | [resources.users.UserProps](#resources-users-UserProps) | | | - - - - - - - - +| id | [uint64](#uint64) | | | - - -### CitizenStoreService -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| ListCitizens | [ListCitizensRequest](#services-citizenstore-ListCitizensRequest) | [ListCitizensResponse](#services-citizenstore-ListCitizensResponse) | @perm: Attrs=Fields/StringList:[]string{"PhoneNumber", "Licenses", "UserProps.Wanted", "UserProps.Job", "UserProps.TrafficInfractionPoints", "UserProps.OpenFines", "UserProps.BloodType", "UserProps.MugShot", "UserProps.Labels", "UserProps.Email"} | -| GetUser | [GetUserRequest](#services-citizenstore-GetUserRequest) | [GetUserResponse](#services-citizenstore-GetUserResponse) | @perm: Attrs=Jobs/JobGradeList | -| ListUserActivity | [ListUserActivityRequest](#services-citizenstore-ListUserActivityRequest) | [ListUserActivityResponse](#services-citizenstore-ListUserActivityResponse) | @perm: Attrs=Fields/StringList:[]string{"SourceUser", "Own"} | -| SetUserProps | [SetUserPropsRequest](#services-citizenstore-SetUserPropsRequest) | [SetUserPropsResponse](#services-citizenstore-SetUserPropsResponse) | @perm: Attrs=Fields/StringList:[]string{"Wanted", "Job", "TrafficInfractionPoints", "MugShot", "Labels"} | -| SetProfilePicture | [SetProfilePictureRequest](#services-citizenstore-SetProfilePictureRequest) | [SetProfilePictureResponse](#services-citizenstore-SetProfilePictureResponse) | @perm: Name=Any | -| ManageCitizenLabels | [ManageCitizenLabelsRequest](#services-citizenstore-ManageCitizenLabelsRequest) | [ManageCitizenLabelsResponse](#services-citizenstore-ManageCitizenLabelsResponse) | @perm | + - +### DeleteCategoryRequest - -

Top

+| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| ids | [uint64](#uint64) | repeated | | -## services/completor/completor.proto - -### CompleteCitizenLabelsRequest + +### DeleteCategoryResponse -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| search | [string](#string) | | | - + -### CompleteCitizenLabelsResponse +### DeleteCommentRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| labels | [resources.users.CitizenLabel](#resources-users-CitizenLabel) | repeated | | - - +| comment_id | [uint64](#uint64) | | | - -### CompleteCitizensRequest + +### DeleteCommentResponse -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| search | [string](#string) | | | -| current_job | [bool](#bool) | optional | | -| on_duty | [bool](#bool) | optional | | -| user_id | [int32](#int32) | optional | | - + -### CompleteCitizensRespoonse +### DeleteDocumentReqRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| users | [resources.users.UserShort](#resources-users-UserShort) | repeated | @gotags: alias:"user" | - - +| request_id | [uint64](#uint64) | | | - -### CompleteDocumentCategoriesRequest + +### DeleteDocumentReqResponse -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| search | [string](#string) | | | - + -### CompleteDocumentCategoriesResponse +### DeleteDocumentRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| categories | [resources.documents.Category](#resources-documents-Category) | repeated | | - - +| document_id | [uint64](#uint64) | | @gotags: alias:"id" | - -### CompleteJobsRequest + +### DeleteDocumentResponse -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| search | [string](#string) | optional | | -| exact_match | [bool](#bool) | optional | | -| current_job | [bool](#bool) | optional | | - + -### CompleteJobsResponse +### DeleteTemplateRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| jobs | [resources.users.Job](#resources-users-Job) | repeated | | +| id | [uint64](#uint64) | | | - + -### ListLawBooksRequest +### DeleteTemplateResponse @@ -9364,402 +9362,386 @@ Connect an identifier/license to the provider with the specified external id (e. - + -### ListLawBooksResponse +### EditCommentRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| books | [resources.laws.LawBook](#resources-laws-LawBook) | repeated | | - - - - +| comment | [resources.documents.Comment](#resources-documents-Comment) | | | - - - - -### CompletorService + +### EditCommentResponse -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| CompleteCitizens | [CompleteCitizensRequest](#services-completor-CompleteCitizensRequest) | [CompleteCitizensRespoonse](#services-completor-CompleteCitizensRespoonse) | @perm | -| CompleteJobs | [CompleteJobsRequest](#services-completor-CompleteJobsRequest) | [CompleteJobsResponse](#services-completor-CompleteJobsResponse) | @perm: Name=Any | -| CompleteDocumentCategories | [CompleteDocumentCategoriesRequest](#services-completor-CompleteDocumentCategoriesRequest) | [CompleteDocumentCategoriesResponse](#services-completor-CompleteDocumentCategoriesResponse) | @perm: Attrs=Jobs/JobList | -| ListLawBooks | [ListLawBooksRequest](#services-completor-ListLawBooksRequest) | [ListLawBooksResponse](#services-completor-ListLawBooksResponse) | @perm: Name=Any | -| CompleteCitizenLabels | [CompleteCitizenLabelsRequest](#services-completor-CompleteCitizenLabelsRequest) | [CompleteCitizenLabelsResponse](#services-completor-CompleteCitizenLabelsResponse) | @perm: Attrs=Jobs/JobList | - +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| comment | [resources.documents.Comment](#resources-documents-Comment) | | | - -

Top

-## services/dmv/vehicles.proto - + -### ListVehiclesRequest +### GetCommentsRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | -| sort | [resources.common.database.Sort](#resources-common-database-Sort) | optional | | -| license_plate | [string](#string) | optional | Search params | -| model | [string](#string) | optional | | -| user_id | [int32](#int32) | optional | | +| document_id | [uint64](#uint64) | | | - + -### ListVehiclesResponse +### GetCommentsResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | -| vehicles | [resources.vehicles.Vehicle](#resources-vehicles-Vehicle) | repeated | | - - - - +| comments | [resources.documents.Comment](#resources-documents-Comment) | repeated | | - - - - -### DMVService + +### GetDocumentAccessRequest -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| ListVehicles | [ListVehiclesRequest](#services-dmv-ListVehiclesRequest) | [ListVehiclesResponse](#services-dmv-ListVehiclesResponse) | @perm | - +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| document_id | [uint64](#uint64) | | | - -

Top

-## services/docstore/docstore.proto - + -### AddDocumentReferenceRequest +### GetDocumentAccessResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| reference | [resources.documents.DocumentReference](#resources-documents-DocumentReference) | | | +| access | [resources.documents.DocumentAccess](#resources-documents-DocumentAccess) | | | - + -### AddDocumentReferenceResponse +### GetDocumentReferencesRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | | +| document_id | [uint64](#uint64) | | | - + -### AddDocumentRelationRequest +### GetDocumentReferencesResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| relation | [resources.documents.DocumentRelation](#resources-documents-DocumentRelation) | | | +| references | [resources.documents.DocumentReference](#resources-documents-DocumentReference) | repeated | @gotags: alias:"reference" | - + -### AddDocumentRelationResponse +### GetDocumentRelationsRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | | +| document_id | [uint64](#uint64) | | | - + -### ChangeDocumentOwnerRequest +### GetDocumentRelationsResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| document_id | [uint64](#uint64) | | | -| new_user_id | [int32](#int32) | optional | | +| relations | [resources.documents.DocumentRelation](#resources-documents-DocumentRelation) | repeated | @gotags: alias:"relation" | - + -### ChangeDocumentOwnerResponse +### GetDocumentRequest +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| document_id | [uint64](#uint64) | | | +| info_only | [bool](#bool) | optional | | - -### CreateCategoryRequest + + + +### GetDocumentResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| category | [resources.documents.Category](#resources-documents-Category) | | | +| document | [resources.documents.Document](#resources-documents-Document) | | | +| access | [resources.documents.DocumentAccess](#resources-documents-DocumentAccess) | | | - + -### CreateCategoryResponse +### GetTemplateRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | | +| template_id | [uint64](#uint64) | | | +| data | [resources.documents.TemplateData](#resources-documents-TemplateData) | optional | | +| render | [bool](#bool) | optional | | - + -### CreateDocumentReqRequest +### GetTemplateResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| document_id | [uint64](#uint64) | | | -| request_type | [resources.documents.DocActivityType](#resources-documents-DocActivityType) | | | -| reason | [string](#string) | optional | @sanitize | -| data | [resources.documents.DocActivityData](#resources-documents-DocActivityData) | optional | | - - +| template | [resources.documents.Template](#resources-documents-Template) | | | +| rendered | [bool](#bool) | | | - -### CreateDocumentReqResponse + +### ListCategoriesRequest -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| request | [resources.documents.DocRequest](#resources-documents-DocRequest) | | | - + -### CreateDocumentRequest +### ListCategoriesResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| category_id | [uint64](#uint64) | optional | @gotags: alias:"category_id" | -| title | [string](#string) | | @sanitize: method=StripTags - -@gotags: alias:"title" | -| content | [resources.common.content.Content](#resources-common-content-Content) | | @sanitize | -| content_type | [resources.common.content.ContentType](#resources-common-content-ContentType) | | @gotags: alias:"content_type" | -| data | [string](#string) | optional | @gotags: alias:"data" | -| state | [string](#string) | | @sanitize - -@gotags: alias:"state" | -| closed | [bool](#bool) | | @gotags: alias:"closed" | -| public | [bool](#bool) | | @gotags: alias:"public" | -| access | [resources.documents.DocumentAccess](#resources-documents-DocumentAccess) | optional | | -| template_id | [uint64](#uint64) | optional | | +| categories | [resources.documents.Category](#resources-documents-Category) | repeated | | - + -### CreateDocumentResponse +### ListDocumentActivityRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| document_id | [uint64](#uint64) | | @gotags: alias:"id" | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| document_id | [uint64](#uint64) | | | +| activity_types | [resources.documents.DocActivityType](#resources-documents-DocActivityType) | repeated | Search params | - + -### CreateTemplateRequest +### ListDocumentActivityResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| template | [resources.documents.Template](#resources-documents-Template) | | | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| activity | [resources.documents.DocActivity](#resources-documents-DocActivity) | repeated | | - + -### CreateTemplateResponse +### ListDocumentPinsRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | - + -### DeleteCategoryRequest +### ListDocumentPinsResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| ids | [uint64](#uint64) | repeated | | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| documents | [resources.documents.DocumentShort](#resources-documents-DocumentShort) | repeated | | - + + +### ListDocumentReqsRequest + -### DeleteCategoryResponse +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| document_id | [uint64](#uint64) | | | - + -### DeleteCommentRequest +### ListDocumentReqsResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| comment_id | [uint64](#uint64) | | | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| requests | [resources.documents.DocRequest](#resources-documents-DocRequest) | repeated | | - + + +### ListDocumentsRequest -### DeleteCommentResponse +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| sort | [resources.common.database.Sort](#resources-common-database-Sort) | optional | | +| search | [string](#string) | optional | Search params | +| category_ids | [uint64](#uint64) | repeated | | +| creator_ids | [int32](#int32) | repeated | | +| from | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| to | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| closed | [bool](#bool) | optional | | +| document_ids | [uint64](#uint64) | repeated | | + - + -### DeleteDocumentReqRequest +### ListDocumentsResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| request_id | [uint64](#uint64) | | | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| documents | [resources.documents.DocumentShort](#resources-documents-DocumentShort) | repeated | | - + -### DeleteDocumentReqResponse +### ListTemplatesRequest @@ -9767,59 +9749,73 @@ Connect an identifier/license to the provider with the specified external id (e. - + -### DeleteDocumentRequest +### ListTemplatesResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| document_id | [uint64](#uint64) | | @gotags: alias:"id" | +| templates | [resources.documents.TemplateShort](#resources-documents-TemplateShort) | repeated | | - + -### DeleteDocumentResponse +### ListUserDocumentsRequest +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| user_id | [int32](#int32) | | | +| relations | [resources.documents.DocRelation](#resources-documents-DocRelation) | repeated | | +| closed | [bool](#bool) | optional | | - -### DeleteTemplateRequest + + + +### ListUserDocumentsResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| relations | [resources.documents.DocumentRelation](#resources-documents-DocumentRelation) | repeated | | - + -### DeleteTemplateResponse +### PostCommentRequest +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| comment | [resources.documents.Comment](#resources-documents-Comment) | | | - -### EditCommentRequest + + + +### PostCommentResponse @@ -9832,76 +9828,65 @@ Connect an identifier/license to the provider with the specified external id (e. - + -### EditCommentResponse +### RemoveDocumentReferenceRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| comment | [resources.documents.Comment](#resources-documents-Comment) | | | - - +| id | [uint64](#uint64) | | | - -### GetCommentsRequest + +### RemoveDocumentReferenceResponse -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | -| document_id | [uint64](#uint64) | | | - + -### GetCommentsResponse +### RemoveDocumentRelationRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | -| comments | [resources.documents.Comment](#resources-documents-Comment) | repeated | | - - +| id | [uint64](#uint64) | | | - -### GetDocumentAccessRequest + +### RemoveDocumentRelationResponse -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| document_id | [uint64](#uint64) | | | - + -### GetDocumentAccessResponse +### SetDocumentAccessRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | +| document_id | [uint64](#uint64) | | | | access | [resources.documents.DocumentAccess](#resources-documents-DocumentAccess) | | | @@ -9909,294 +9894,342 @@ Connect an identifier/license to the provider with the specified external id (e. - + + +### SetDocumentAccessResponse + -### GetDocumentReferencesRequest + + + + + + + +### SetDocumentReminderRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | document_id | [uint64](#uint64) | | | +| reminder_time | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| message | [string](#string) | optional | @sanitize: method=StripTags | - - -### GetDocumentReferencesResponse - + +### SetDocumentReminderResponse -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| references | [resources.documents.DocumentReference](#resources-documents-DocumentReference) | repeated | @gotags: alias:"reference" | - + -### GetDocumentRelationsRequest +### ToggleDocumentPinRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | document_id | [uint64](#uint64) | | | +| state | [bool](#bool) | | | - + -### GetDocumentRelationsResponse +### ToggleDocumentPinResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| relations | [resources.documents.DocumentRelation](#resources-documents-DocumentRelation) | repeated | @gotags: alias:"relation" | +| state | [bool](#bool) | | | - + -### GetDocumentRequest +### ToggleDocumentRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | document_id | [uint64](#uint64) | | | -| info_only | [bool](#bool) | optional | | - - +| closed | [bool](#bool) | | | - -### GetDocumentResponse + +### ToggleDocumentResponse -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| document | [resources.documents.Document](#resources-documents-Document) | | | -| access | [resources.documents.DocumentAccess](#resources-documents-DocumentAccess) | | | - + -### GetTemplateRequest +### UpdateCategoryRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| template_id | [uint64](#uint64) | | | -| data | [resources.documents.TemplateData](#resources-documents-TemplateData) | optional | | -| render | [bool](#bool) | optional | | +| category | [resources.documents.Category](#resources-documents-Category) | | | - + -### GetTemplateResponse +### UpdateCategoryResponse -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| template | [resources.documents.Template](#resources-documents-Template) | | | -| rendered | [bool](#bool) | | | + +### UpdateDocumentReqRequest - -### ListCategoriesRequest +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| document_id | [uint64](#uint64) | | | +| request_id | [uint64](#uint64) | | | +| reason | [string](#string) | optional | @sanitize | +| data | [resources.documents.DocActivityData](#resources-documents-DocActivityData) | optional | | +| accepted | [bool](#bool) | | | - + -### ListCategoriesResponse +### UpdateDocumentReqResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| categories | [resources.documents.Category](#resources-documents-Category) | repeated | | +| request | [resources.documents.DocRequest](#resources-documents-DocRequest) | | | - + -### ListDocumentActivityRequest +### UpdateDocumentRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | -| document_id | [uint64](#uint64) | | | -| activity_types | [resources.documents.DocActivityType](#resources-documents-DocActivityType) | repeated | Search params | +| document_id | [uint64](#uint64) | | @gotags: alias:"id" | +| category_id | [uint64](#uint64) | optional | @gotags: alias:"category_id" | +| title | [string](#string) | | @sanitize: method=StripTags + +@gotags: alias:"title" | +| content | [resources.common.content.Content](#resources-common-content-Content) | | @sanitize | +| content_type | [resources.common.content.ContentType](#resources-common-content-ContentType) | | @gotags: alias:"content_type" | +| data | [string](#string) | optional | @gotags: alias:"data" | +| state | [string](#string) | | @sanitize + +@gotags: alias:"state" | +| closed | [bool](#bool) | | @gotags: alias:"closed" | +| public | [bool](#bool) | | @gotags: alias:"public" | +| access | [resources.documents.DocumentAccess](#resources-documents-DocumentAccess) | optional | | - + -### ListDocumentActivityResponse +### UpdateDocumentResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | -| activity | [resources.documents.DocActivity](#resources-documents-DocActivity) | repeated | | +| document_id | [uint64](#uint64) | | @gotags: alias:"id" | - + -### ListDocumentPinsRequest +### UpdateTemplateRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| template | [resources.documents.Template](#resources-documents-Template) | | | - + -### ListDocumentPinsResponse +### UpdateTemplateResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | -| documents | [resources.documents.DocumentShort](#resources-documents-DocumentShort) | repeated | | +| template | [resources.documents.Template](#resources-documents-Template) | | | + - + -### ListDocumentReqsRequest + + -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | -| document_id | [uint64](#uint64) | | | +### DocStoreService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| ListTemplates | [ListTemplatesRequest](#services-docstore-ListTemplatesRequest) | [ListTemplatesResponse](#services-docstore-ListTemplatesResponse) | @perm | +| GetTemplate | [GetTemplateRequest](#services-docstore-GetTemplateRequest) | [GetTemplateResponse](#services-docstore-GetTemplateResponse) | @perm: Name=ListTemplates | +| CreateTemplate | [CreateTemplateRequest](#services-docstore-CreateTemplateRequest) | [CreateTemplateResponse](#services-docstore-CreateTemplateResponse) | @perm | +| UpdateTemplate | [UpdateTemplateRequest](#services-docstore-UpdateTemplateRequest) | [UpdateTemplateResponse](#services-docstore-UpdateTemplateResponse) | @perm: Name=CreateTemplate | +| DeleteTemplate | [DeleteTemplateRequest](#services-docstore-DeleteTemplateRequest) | [DeleteTemplateResponse](#services-docstore-DeleteTemplateResponse) | @perm | +| ListDocuments | [ListDocumentsRequest](#services-docstore-ListDocumentsRequest) | [ListDocumentsResponse](#services-docstore-ListDocumentsResponse) | @perm | +| GetDocument | [GetDocumentRequest](#services-docstore-GetDocumentRequest) | [GetDocumentResponse](#services-docstore-GetDocumentResponse) | @perm: Name=ListDocuments | +| CreateDocument | [CreateDocumentRequest](#services-docstore-CreateDocumentRequest) | [CreateDocumentResponse](#services-docstore-CreateDocumentResponse) | @perm | +| UpdateDocument | [UpdateDocumentRequest](#services-docstore-UpdateDocumentRequest) | [UpdateDocumentResponse](#services-docstore-UpdateDocumentResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | +| DeleteDocument | [DeleteDocumentRequest](#services-docstore-DeleteDocumentRequest) | [DeleteDocumentResponse](#services-docstore-DeleteDocumentResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | +| ToggleDocument | [ToggleDocumentRequest](#services-docstore-ToggleDocumentRequest) | [ToggleDocumentResponse](#services-docstore-ToggleDocumentResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | +| ChangeDocumentOwner | [ChangeDocumentOwnerRequest](#services-docstore-ChangeDocumentOwnerRequest) | [ChangeDocumentOwnerResponse](#services-docstore-ChangeDocumentOwnerResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | +| GetDocumentReferences | [GetDocumentReferencesRequest](#services-docstore-GetDocumentReferencesRequest) | [GetDocumentReferencesResponse](#services-docstore-GetDocumentReferencesResponse) | @perm: Name=ListDocuments | +| GetDocumentRelations | [GetDocumentRelationsRequest](#services-docstore-GetDocumentRelationsRequest) | [GetDocumentRelationsResponse](#services-docstore-GetDocumentRelationsResponse) | @perm: Name=ListDocuments | +| AddDocumentReference | [AddDocumentReferenceRequest](#services-docstore-AddDocumentReferenceRequest) | [AddDocumentReferenceResponse](#services-docstore-AddDocumentReferenceResponse) | @perm | +| RemoveDocumentReference | [RemoveDocumentReferenceRequest](#services-docstore-RemoveDocumentReferenceRequest) | [RemoveDocumentReferenceResponse](#services-docstore-RemoveDocumentReferenceResponse) | @perm: Name=AddDocumentReference | +| AddDocumentRelation | [AddDocumentRelationRequest](#services-docstore-AddDocumentRelationRequest) | [AddDocumentRelationResponse](#services-docstore-AddDocumentRelationResponse) | @perm | +| RemoveDocumentRelation | [RemoveDocumentRelationRequest](#services-docstore-RemoveDocumentRelationRequest) | [RemoveDocumentRelationResponse](#services-docstore-RemoveDocumentRelationResponse) | @perm: Name=AddDocumentRelation | +| GetComments | [GetCommentsRequest](#services-docstore-GetCommentsRequest) | [GetCommentsResponse](#services-docstore-GetCommentsResponse) | @perm: Name=ListDocuments | +| PostComment | [PostCommentRequest](#services-docstore-PostCommentRequest) | [PostCommentResponse](#services-docstore-PostCommentResponse) | @perm | +| EditComment | [EditCommentRequest](#services-docstore-EditCommentRequest) | [EditCommentResponse](#services-docstore-EditCommentResponse) | @perm: Name=PostComment | +| DeleteComment | [DeleteCommentRequest](#services-docstore-DeleteCommentRequest) | [DeleteCommentResponse](#services-docstore-DeleteCommentResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | +| GetDocumentAccess | [GetDocumentAccessRequest](#services-docstore-GetDocumentAccessRequest) | [GetDocumentAccessResponse](#services-docstore-GetDocumentAccessResponse) | @perm: Name=ListDocuments | +| SetDocumentAccess | [SetDocumentAccessRequest](#services-docstore-SetDocumentAccessRequest) | [SetDocumentAccessResponse](#services-docstore-SetDocumentAccessResponse) | @perm: Name=CreateDocument | +| ListDocumentActivity | [ListDocumentActivityRequest](#services-docstore-ListDocumentActivityRequest) | [ListDocumentActivityResponse](#services-docstore-ListDocumentActivityResponse) | @perm | +| ListDocumentReqs | [ListDocumentReqsRequest](#services-docstore-ListDocumentReqsRequest) | [ListDocumentReqsResponse](#services-docstore-ListDocumentReqsResponse) | @perm | +| CreateDocumentReq | [CreateDocumentReqRequest](#services-docstore-CreateDocumentReqRequest) | [CreateDocumentReqResponse](#services-docstore-CreateDocumentReqResponse) | @perm: Attrs=Types/StringList:[]string{"Access", "Closure", "Update", "Deletion", "OwnerChange"} | +| UpdateDocumentReq | [UpdateDocumentReqRequest](#services-docstore-UpdateDocumentReqRequest) | [UpdateDocumentReqResponse](#services-docstore-UpdateDocumentReqResponse) | @perm: Name=CreateDocumentReq | +| DeleteDocumentReq | [DeleteDocumentReqRequest](#services-docstore-DeleteDocumentReqRequest) | [DeleteDocumentReqResponse](#services-docstore-DeleteDocumentReqResponse) | @perm | +| ListUserDocuments | [ListUserDocumentsRequest](#services-docstore-ListUserDocumentsRequest) | [ListUserDocumentsResponse](#services-docstore-ListUserDocumentsResponse) | @perm | +| ListCategories | [ListCategoriesRequest](#services-docstore-ListCategoriesRequest) | [ListCategoriesResponse](#services-docstore-ListCategoriesResponse) | @perm | +| CreateCategory | [CreateCategoryRequest](#services-docstore-CreateCategoryRequest) | [CreateCategoryResponse](#services-docstore-CreateCategoryResponse) | @perm | +| UpdateCategory | [UpdateCategoryRequest](#services-docstore-UpdateCategoryRequest) | [UpdateCategoryResponse](#services-docstore-UpdateCategoryResponse) | @perm: Name=CreateCategory | +| DeleteCategory | [DeleteCategoryRequest](#services-docstore-DeleteCategoryRequest) | [DeleteCategoryResponse](#services-docstore-DeleteCategoryResponse) | @perm | +| ListDocumentPins | [ListDocumentPinsRequest](#services-docstore-ListDocumentPinsRequest) | [ListDocumentPinsResponse](#services-docstore-ListDocumentPinsResponse) | @perm: Name=ListDocuments | +| ToggleDocumentPin | [ToggleDocumentPinRequest](#services-docstore-ToggleDocumentPinRequest) | [ToggleDocumentPinResponse](#services-docstore-ToggleDocumentPinResponse) | @perm | +| SetDocumentReminder | [SetDocumentReminderRequest](#services-docstore-SetDocumentReminderRequest) | [SetDocumentReminderResponse](#services-docstore-SetDocumentReminderResponse) | @perm | + + + +

Top

+ +## services/jobs/conduct.proto - + -### ListDocumentReqsResponse +### CreateConductEntryRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | -| requests | [resources.documents.DocRequest](#resources-documents-DocRequest) | repeated | | +| entry | [resources.jobs.ConductEntry](#resources-jobs-ConductEntry) | | | - + -### ListDocumentsRequest +### CreateConductEntryResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | -| sort | [resources.common.database.Sort](#resources-common-database-Sort) | optional | | -| search | [string](#string) | optional | Search params | -| category_ids | [uint64](#uint64) | repeated | | -| creator_ids | [int32](#int32) | repeated | | -| from | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| to | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| closed | [bool](#bool) | optional | | -| document_ids | [uint64](#uint64) | repeated | | +| entry | [resources.jobs.ConductEntry](#resources-jobs-ConductEntry) | | | - + -### ListDocumentsResponse +### DeleteConductEntryRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | -| documents | [resources.documents.DocumentShort](#resources-documents-DocumentShort) | repeated | | +| id | [uint64](#uint64) | | | - + -### ListTemplatesRequest +### DeleteConductEntryResponse @@ -10204,154 +10237,195 @@ Connect an identifier/license to the provider with the specified external id (e. - + -### ListTemplatesResponse +### ListConductEntriesRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| templates | [resources.documents.TemplateShort](#resources-documents-TemplateShort) | repeated | | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| sort | [resources.common.database.Sort](#resources-common-database-Sort) | optional | | +| types | [resources.jobs.ConductType](#resources-jobs-ConductType) | repeated | Search params | +| show_expired | [bool](#bool) | optional | | +| user_ids | [int32](#int32) | repeated | | +| ids | [uint64](#uint64) | repeated | | - + -### ListUserDocumentsRequest +### ListConductEntriesResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | -| user_id | [int32](#int32) | | | -| relations | [resources.documents.DocRelation](#resources-documents-DocRelation) | repeated | | -| closed | [bool](#bool) | optional | | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| entries | [resources.jobs.ConductEntry](#resources-jobs-ConductEntry) | repeated | | - + -### ListUserDocumentsResponse +### UpdateConductEntryRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | -| relations | [resources.documents.DocumentRelation](#resources-documents-DocumentRelation) | repeated | | +| entry | [resources.jobs.ConductEntry](#resources-jobs-ConductEntry) | | | - + -### PostCommentRequest +### UpdateConductEntryResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| comment | [resources.documents.Comment](#resources-documents-Comment) | | | +| entry | [resources.jobs.ConductEntry](#resources-jobs-ConductEntry) | | | + - + + + + + + + +### JobsConductService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| ListConductEntries | [ListConductEntriesRequest](#services-jobs-ListConductEntriesRequest) | [ListConductEntriesResponse](#services-jobs-ListConductEntriesResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "All"} | +| CreateConductEntry | [CreateConductEntryRequest](#services-jobs-CreateConductEntryRequest) | [CreateConductEntryResponse](#services-jobs-CreateConductEntryResponse) | @perm | +| UpdateConductEntry | [UpdateConductEntryRequest](#services-jobs-UpdateConductEntryRequest) | [UpdateConductEntryResponse](#services-jobs-UpdateConductEntryResponse) | @perm | +| DeleteConductEntry | [DeleteConductEntryRequest](#services-jobs-DeleteConductEntryRequest) | [DeleteConductEntryResponse](#services-jobs-DeleteConductEntryResponse) | @perm | + + + + + + +

Top

+ +## services/jobs/jobs.proto -### PostCommentResponse + + + + +### GetColleagueLabelsRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| comment | [resources.documents.Comment](#resources-documents-Comment) | | | +| search | [string](#string) | optional | | - + -### RemoveDocumentReferenceRequest +### GetColleagueLabelsResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | | +| labels | [resources.jobs.Label](#resources-jobs-Label) | repeated | | + + + +### GetColleagueLabelsStatsRequest - -### RemoveDocumentReferenceResponse +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| label_ids | [uint64](#uint64) | repeated | | - + -### RemoveDocumentRelationRequest +### GetColleagueLabelsStatsResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | | +| count | [resources.jobs.LabelCount](#resources-jobs-LabelCount) | repeated | | - + -### RemoveDocumentRelationResponse +### GetColleagueRequest +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| user_id | [int32](#int32) | | | +| info_only | [bool](#bool) | optional | | - -### SetDocumentAccessRequest + + + +### GetColleagueResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| document_id | [uint64](#uint64) | | | -| access | [resources.documents.DocumentAccess](#resources-documents-DocumentAccess) | | | +| colleague | [resources.jobs.Colleague](#resources-jobs-Colleague) | | | - + -### SetDocumentAccessResponse +### GetMOTDRequest @@ -10359,26 +10433,24 @@ Connect an identifier/license to the provider with the specified external id (e. - + -### SetDocumentReminderRequest +### GetMOTDResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| document_id | [uint64](#uint64) | | | -| reminder_time | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| message | [string](#string) | optional | @sanitize: method=StripTags | +| motd | [string](#string) | | | - + -### SetDocumentReminderResponse +### GetSelfRequest @@ -10386,189 +10458,178 @@ Connect an identifier/license to the provider with the specified external id (e. - + -### ToggleDocumentPinRequest +### GetSelfResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| document_id | [uint64](#uint64) | | | -| state | [bool](#bool) | | | +| colleague | [resources.jobs.Colleague](#resources-jobs-Colleague) | | | - + -### ToggleDocumentPinResponse +### ListColleagueActivityRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| state | [bool](#bool) | | | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| sort | [resources.common.database.Sort](#resources-common-database-Sort) | optional | | +| user_ids | [int32](#int32) | repeated | Search params | +| activity_types | [resources.jobs.JobsUserActivityType](#resources-jobs-JobsUserActivityType) | repeated | | - + -### ToggleDocumentRequest +### ListColleagueActivityResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| document_id | [uint64](#uint64) | | | -| closed | [bool](#bool) | | | - - - - - - - - -### ToggleDocumentResponse - +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| activity | [resources.jobs.JobsUserActivity](#resources-jobs-JobsUserActivity) | repeated | | - + -### UpdateCategoryRequest +### ListColleaguesRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| category | [resources.documents.Category](#resources-documents-Category) | | | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| sort | [resources.common.database.Sort](#resources-common-database-Sort) | optional | | +| search | [string](#string) | | Search params | +| user_id | [int32](#int32) | optional | | +| absent | [bool](#bool) | optional | | +| label_ids | [uint64](#uint64) | repeated | | +| name_prefix | [string](#string) | optional | | +| name_suffix | [string](#string) | optional | | - + -### UpdateCategoryResponse +### ListColleaguesResponse +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| colleagues | [resources.jobs.Colleague](#resources-jobs-Colleague) | repeated | | - -### UpdateDocumentReqRequest + + + +### ManageColleagueLabelsRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| document_id | [uint64](#uint64) | | | -| request_id | [uint64](#uint64) | | | -| reason | [string](#string) | optional | @sanitize | -| data | [resources.documents.DocActivityData](#resources-documents-DocActivityData) | optional | | -| accepted | [bool](#bool) | | | +| labels | [resources.jobs.Label](#resources-jobs-Label) | repeated | | - + -### UpdateDocumentReqResponse +### ManageColleagueLabelsResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| request | [resources.documents.DocRequest](#resources-documents-DocRequest) | | | +| labels | [resources.jobs.Label](#resources-jobs-Label) | repeated | | - + -### UpdateDocumentRequest +### SetJobsUserPropsRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| document_id | [uint64](#uint64) | | @gotags: alias:"id" | -| category_id | [uint64](#uint64) | optional | @gotags: alias:"category_id" | -| title | [string](#string) | | @sanitize: method=StripTags - -@gotags: alias:"title" | -| content | [resources.common.content.Content](#resources-common-content-Content) | | @sanitize | -| content_type | [resources.common.content.ContentType](#resources-common-content-ContentType) | | @gotags: alias:"content_type" | -| data | [string](#string) | optional | @gotags: alias:"data" | -| state | [string](#string) | | @sanitize - -@gotags: alias:"state" | -| closed | [bool](#bool) | | @gotags: alias:"closed" | -| public | [bool](#bool) | | @gotags: alias:"public" | -| access | [resources.documents.DocumentAccess](#resources-documents-DocumentAccess) | optional | | +| props | [resources.jobs.JobsUserProps](#resources-jobs-JobsUserProps) | | | +| reason | [string](#string) | | @sanitize | - + -### UpdateDocumentResponse +### SetJobsUserPropsResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| document_id | [uint64](#uint64) | | @gotags: alias:"id" | +| props | [resources.jobs.JobsUserProps](#resources-jobs-JobsUserProps) | | | - + -### UpdateTemplateRequest +### SetMOTDRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| template | [resources.documents.Template](#resources-documents-Template) | | | +| motd | [string](#string) | | @sanitize: method=StripTags | - + -### UpdateTemplateResponse +### SetMOTDResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| template | [resources.documents.Template](#resources-documents-Template) | | | +| motd | [string](#string) | | | @@ -10581,177 +10642,185 @@ Connect an identifier/license to the provider with the specified external id (e. - + -### DocStoreService +### JobsService | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| -| ListTemplates | [ListTemplatesRequest](#services-docstore-ListTemplatesRequest) | [ListTemplatesResponse](#services-docstore-ListTemplatesResponse) | @perm | -| GetTemplate | [GetTemplateRequest](#services-docstore-GetTemplateRequest) | [GetTemplateResponse](#services-docstore-GetTemplateResponse) | @perm: Name=ListTemplates | -| CreateTemplate | [CreateTemplateRequest](#services-docstore-CreateTemplateRequest) | [CreateTemplateResponse](#services-docstore-CreateTemplateResponse) | @perm | -| UpdateTemplate | [UpdateTemplateRequest](#services-docstore-UpdateTemplateRequest) | [UpdateTemplateResponse](#services-docstore-UpdateTemplateResponse) | @perm: Name=CreateTemplate | -| DeleteTemplate | [DeleteTemplateRequest](#services-docstore-DeleteTemplateRequest) | [DeleteTemplateResponse](#services-docstore-DeleteTemplateResponse) | @perm | -| ListDocuments | [ListDocumentsRequest](#services-docstore-ListDocumentsRequest) | [ListDocumentsResponse](#services-docstore-ListDocumentsResponse) | @perm | -| GetDocument | [GetDocumentRequest](#services-docstore-GetDocumentRequest) | [GetDocumentResponse](#services-docstore-GetDocumentResponse) | @perm: Name=ListDocuments | -| CreateDocument | [CreateDocumentRequest](#services-docstore-CreateDocumentRequest) | [CreateDocumentResponse](#services-docstore-CreateDocumentResponse) | @perm | -| UpdateDocument | [UpdateDocumentRequest](#services-docstore-UpdateDocumentRequest) | [UpdateDocumentResponse](#services-docstore-UpdateDocumentResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | -| DeleteDocument | [DeleteDocumentRequest](#services-docstore-DeleteDocumentRequest) | [DeleteDocumentResponse](#services-docstore-DeleteDocumentResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | -| ToggleDocument | [ToggleDocumentRequest](#services-docstore-ToggleDocumentRequest) | [ToggleDocumentResponse](#services-docstore-ToggleDocumentResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | -| ChangeDocumentOwner | [ChangeDocumentOwnerRequest](#services-docstore-ChangeDocumentOwnerRequest) | [ChangeDocumentOwnerResponse](#services-docstore-ChangeDocumentOwnerResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | -| GetDocumentReferences | [GetDocumentReferencesRequest](#services-docstore-GetDocumentReferencesRequest) | [GetDocumentReferencesResponse](#services-docstore-GetDocumentReferencesResponse) | @perm: Name=ListDocuments | -| GetDocumentRelations | [GetDocumentRelationsRequest](#services-docstore-GetDocumentRelationsRequest) | [GetDocumentRelationsResponse](#services-docstore-GetDocumentRelationsResponse) | @perm: Name=ListDocuments | -| AddDocumentReference | [AddDocumentReferenceRequest](#services-docstore-AddDocumentReferenceRequest) | [AddDocumentReferenceResponse](#services-docstore-AddDocumentReferenceResponse) | @perm | -| RemoveDocumentReference | [RemoveDocumentReferenceRequest](#services-docstore-RemoveDocumentReferenceRequest) | [RemoveDocumentReferenceResponse](#services-docstore-RemoveDocumentReferenceResponse) | @perm: Name=AddDocumentReference | -| AddDocumentRelation | [AddDocumentRelationRequest](#services-docstore-AddDocumentRelationRequest) | [AddDocumentRelationResponse](#services-docstore-AddDocumentRelationResponse) | @perm | -| RemoveDocumentRelation | [RemoveDocumentRelationRequest](#services-docstore-RemoveDocumentRelationRequest) | [RemoveDocumentRelationResponse](#services-docstore-RemoveDocumentRelationResponse) | @perm: Name=AddDocumentRelation | -| GetComments | [GetCommentsRequest](#services-docstore-GetCommentsRequest) | [GetCommentsResponse](#services-docstore-GetCommentsResponse) | @perm: Name=ListDocuments | -| PostComment | [PostCommentRequest](#services-docstore-PostCommentRequest) | [PostCommentResponse](#services-docstore-PostCommentResponse) | @perm | -| EditComment | [EditCommentRequest](#services-docstore-EditCommentRequest) | [EditCommentResponse](#services-docstore-EditCommentResponse) | @perm: Name=PostComment | -| DeleteComment | [DeleteCommentRequest](#services-docstore-DeleteCommentRequest) | [DeleteCommentResponse](#services-docstore-DeleteCommentResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | -| GetDocumentAccess | [GetDocumentAccessRequest](#services-docstore-GetDocumentAccessRequest) | [GetDocumentAccessResponse](#services-docstore-GetDocumentAccessResponse) | @perm: Name=ListDocuments | -| SetDocumentAccess | [SetDocumentAccessRequest](#services-docstore-SetDocumentAccessRequest) | [SetDocumentAccessResponse](#services-docstore-SetDocumentAccessResponse) | @perm: Name=CreateDocument | -| ListDocumentActivity | [ListDocumentActivityRequest](#services-docstore-ListDocumentActivityRequest) | [ListDocumentActivityResponse](#services-docstore-ListDocumentActivityResponse) | @perm | -| ListDocumentReqs | [ListDocumentReqsRequest](#services-docstore-ListDocumentReqsRequest) | [ListDocumentReqsResponse](#services-docstore-ListDocumentReqsResponse) | @perm | -| CreateDocumentReq | [CreateDocumentReqRequest](#services-docstore-CreateDocumentReqRequest) | [CreateDocumentReqResponse](#services-docstore-CreateDocumentReqResponse) | @perm: Attrs=Types/StringList:[]string{"Access", "Closure", "Update", "Deletion", "OwnerChange"} | -| UpdateDocumentReq | [UpdateDocumentReqRequest](#services-docstore-UpdateDocumentReqRequest) | [UpdateDocumentReqResponse](#services-docstore-UpdateDocumentReqResponse) | @perm: Name=CreateDocumentReq | -| DeleteDocumentReq | [DeleteDocumentReqRequest](#services-docstore-DeleteDocumentReqRequest) | [DeleteDocumentReqResponse](#services-docstore-DeleteDocumentReqResponse) | @perm | -| ListUserDocuments | [ListUserDocumentsRequest](#services-docstore-ListUserDocumentsRequest) | [ListUserDocumentsResponse](#services-docstore-ListUserDocumentsResponse) | @perm | -| ListCategories | [ListCategoriesRequest](#services-docstore-ListCategoriesRequest) | [ListCategoriesResponse](#services-docstore-ListCategoriesResponse) | @perm | -| CreateCategory | [CreateCategoryRequest](#services-docstore-CreateCategoryRequest) | [CreateCategoryResponse](#services-docstore-CreateCategoryResponse) | @perm | -| UpdateCategory | [UpdateCategoryRequest](#services-docstore-UpdateCategoryRequest) | [UpdateCategoryResponse](#services-docstore-UpdateCategoryResponse) | @perm: Name=CreateCategory | -| DeleteCategory | [DeleteCategoryRequest](#services-docstore-DeleteCategoryRequest) | [DeleteCategoryResponse](#services-docstore-DeleteCategoryResponse) | @perm | -| ListDocumentPins | [ListDocumentPinsRequest](#services-docstore-ListDocumentPinsRequest) | [ListDocumentPinsResponse](#services-docstore-ListDocumentPinsResponse) | @perm: Name=ListDocuments | -| ToggleDocumentPin | [ToggleDocumentPinRequest](#services-docstore-ToggleDocumentPinRequest) | [ToggleDocumentPinResponse](#services-docstore-ToggleDocumentPinResponse) | @perm | -| SetDocumentReminder | [SetDocumentReminderRequest](#services-docstore-SetDocumentReminderRequest) | [SetDocumentReminderResponse](#services-docstore-SetDocumentReminderResponse) | @perm | +| ListColleagues | [ListColleaguesRequest](#services-jobs-ListColleaguesRequest) | [ListColleaguesResponse](#services-jobs-ListColleaguesResponse) | @perm | +| GetSelf | [GetSelfRequest](#services-jobs-GetSelfRequest) | [GetSelfResponse](#services-jobs-GetSelfResponse) | @perm: Name=ListColleagues | +| GetColleague | [GetColleagueRequest](#services-jobs-GetColleagueRequest) | [GetColleagueResponse](#services-jobs-GetColleagueResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"}|Types/StringList:[]string{"Note", "Labels"} | +| ListColleagueActivity | [ListColleagueActivityRequest](#services-jobs-ListColleagueActivityRequest) | [ListColleagueActivityResponse](#services-jobs-ListColleagueActivityResponse) | @perm: Attrs=Types/StringList:[]string{"HIRED", "FIRED", "PROMOTED", "DEMOTED", "ABSENCE_DATE", "NOTE", "LABELS", "NAME"} | +| SetJobsUserProps | [SetJobsUserPropsRequest](#services-jobs-SetJobsUserPropsRequest) | [SetJobsUserPropsResponse](#services-jobs-SetJobsUserPropsResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"}|Types/StringList:[]string{"AbsenceDate", "Note", "Labels", "Name"} | +| GetColleagueLabels | [GetColleagueLabelsRequest](#services-jobs-GetColleagueLabelsRequest) | [GetColleagueLabelsResponse](#services-jobs-GetColleagueLabelsResponse) | @perm: Name=GetColleague | +| ManageColleagueLabels | [ManageColleagueLabelsRequest](#services-jobs-ManageColleagueLabelsRequest) | [ManageColleagueLabelsResponse](#services-jobs-ManageColleagueLabelsResponse) | @perm | +| GetColleagueLabelsStats | [GetColleagueLabelsStatsRequest](#services-jobs-GetColleagueLabelsStatsRequest) | [GetColleagueLabelsStatsResponse](#services-jobs-GetColleagueLabelsStatsResponse) | @perm: Name=GetColleague | +| GetMOTD | [GetMOTDRequest](#services-jobs-GetMOTDRequest) | [GetMOTDResponse](#services-jobs-GetMOTDResponse) | @perm: Name=Any | +| SetMOTD | [SetMOTDRequest](#services-jobs-SetMOTDRequest) | [SetMOTDResponse](#services-jobs-SetMOTDResponse) | @perm | - +

Top

-## services/jobs/conduct.proto +## services/jobs/timeclock.proto - + -### CreateConductEntryRequest +### GetTimeclockStatsRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| entry | [resources.jobs.ConductEntry](#resources-jobs-ConductEntry) | | | +| user_id | [int32](#int32) | optional | | - + -### CreateConductEntryResponse +### GetTimeclockStatsResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| entry | [resources.jobs.ConductEntry](#resources-jobs-ConductEntry) | | | +| stats | [resources.jobs.TimeclockStats](#resources-jobs-TimeclockStats) | | | +| weekly | [resources.jobs.TimeclockWeeklyStats](#resources-jobs-TimeclockWeeklyStats) | repeated | | - + -### DeleteConductEntryRequest +### ListInactiveEmployeesRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| sort | [resources.common.database.Sort](#resources-common-database-Sort) | optional | | +| days | [int32](#int32) | | Search params | - + + +### ListInactiveEmployeesResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| colleagues | [resources.jobs.Colleague](#resources-jobs-Colleague) | repeated | | + + + + -### DeleteConductEntryResponse + + +### ListTimeclockRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| sort | [resources.common.database.Sort](#resources-common-database-Sort) | optional | | +| user_mode | [resources.jobs.TimeclockUserMode](#resources-jobs-TimeclockUserMode) | | Search params | +| mode | [resources.jobs.TimeclockMode](#resources-jobs-TimeclockMode) | | | +| date | [resources.common.database.DateRange](#resources-common-database-DateRange) | optional | | +| per_day | [bool](#bool) | | | +| user_ids | [int32](#int32) | repeated | | - + -### ListConductEntriesRequest +### ListTimeclockResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | -| sort | [resources.common.database.Sort](#resources-common-database-Sort) | optional | | -| types | [resources.jobs.ConductType](#resources-jobs-ConductType) | repeated | Search params | -| show_expired | [bool](#bool) | optional | | -| user_ids | [int32](#int32) | repeated | | -| ids | [uint64](#uint64) | repeated | | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| stats | [resources.jobs.TimeclockStats](#resources-jobs-TimeclockStats) | | | +| stats_weekly | [resources.jobs.TimeclockWeeklyStats](#resources-jobs-TimeclockWeeklyStats) | repeated | | +| daily | [TimeclockDay](#services-jobs-TimeclockDay) | | | +| weekly | [TimeclockWeekly](#services-jobs-TimeclockWeekly) | | | +| range | [TimeclockRange](#services-jobs-TimeclockRange) | | | - + -### ListConductEntriesResponse +### TimeclockDay | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | -| entries | [resources.jobs.ConductEntry](#resources-jobs-ConductEntry) | repeated | | +| date | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| entries | [resources.jobs.TimeclockEntry](#resources-jobs-TimeclockEntry) | repeated | | +| sum | [int64](#int64) | | | - + -### UpdateConductEntryRequest +### TimeclockRange | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| entry | [resources.jobs.ConductEntry](#resources-jobs-ConductEntry) | | | +| date | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | @gotags: sql:"primary_key" | +| entries | [resources.jobs.TimeclockEntry](#resources-jobs-TimeclockEntry) | repeated | | +| sum | [int64](#int64) | | | - + -### UpdateConductEntryResponse +### TimeclockWeekly | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| entry | [resources.jobs.ConductEntry](#resources-jobs-ConductEntry) | | | +| date | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | @gotags: sql:"primary_key" | +| entries | [resources.jobs.TimeclockEntry](#resources-jobs-TimeclockEntry) | repeated | | +| sum | [int64](#int64) | | | @@ -10764,123 +10833,117 @@ Connect an identifier/license to the provider with the specified external id (e. - + -### JobsConductService +### JobsTimeclockService | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| -| ListConductEntries | [ListConductEntriesRequest](#services-jobs-ListConductEntriesRequest) | [ListConductEntriesResponse](#services-jobs-ListConductEntriesResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "All"} | -| CreateConductEntry | [CreateConductEntryRequest](#services-jobs-CreateConductEntryRequest) | [CreateConductEntryResponse](#services-jobs-CreateConductEntryResponse) | @perm | -| UpdateConductEntry | [UpdateConductEntryRequest](#services-jobs-UpdateConductEntryRequest) | [UpdateConductEntryResponse](#services-jobs-UpdateConductEntryResponse) | @perm | -| DeleteConductEntry | [DeleteConductEntryRequest](#services-jobs-DeleteConductEntryRequest) | [DeleteConductEntryResponse](#services-jobs-DeleteConductEntryResponse) | @perm | +| ListTimeclock | [ListTimeclockRequest](#services-jobs-ListTimeclockRequest) | [ListTimeclockResponse](#services-jobs-ListTimeclockResponse) | @perm: Attrs=Access/StringList:[]string{"All"} | +| GetTimeclockStats | [GetTimeclockStatsRequest](#services-jobs-GetTimeclockStatsRequest) | [GetTimeclockStatsResponse](#services-jobs-GetTimeclockStatsResponse) | @perm: Name=ListTimeclock | +| ListInactiveEmployees | [ListInactiveEmployeesRequest](#services-jobs-ListInactiveEmployeesRequest) | [ListInactiveEmployeesResponse](#services-jobs-ListInactiveEmployeesResponse) | @perm | - +

Top

-## services/jobs/jobs.proto +## services/livemapper/livemap.proto - + -### GetColleagueLabelsRequest +### CreateOrUpdateMarkerRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| search | [string](#string) | optional | | +| marker | [resources.livemap.MarkerMarker](#resources-livemap-MarkerMarker) | | | - + -### GetColleagueLabelsResponse +### CreateOrUpdateMarkerResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| labels | [resources.jobs.Label](#resources-jobs-Label) | repeated | | +| marker | [resources.livemap.MarkerMarker](#resources-livemap-MarkerMarker) | | | - + -### GetColleagueLabelsStatsRequest +### DeleteMarkerRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| label_ids | [uint64](#uint64) | repeated | | - - +| id | [uint64](#uint64) | | | - -### GetColleagueLabelsStatsResponse + +### DeleteMarkerResponse -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| count | [resources.jobs.LabelCount](#resources-jobs-LabelCount) | repeated | | - + -### GetColleagueRequest +### JobsList | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| user_id | [int32](#int32) | | | -| info_only | [bool](#bool) | optional | | +| users | [resources.users.Job](#resources-users-Job) | repeated | | +| markers | [resources.users.Job](#resources-users-Job) | repeated | | - + -### GetColleagueResponse +### MarkerMarkersUpdates | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| colleague | [resources.jobs.Colleague](#resources-jobs-Colleague) | | | +| markers | [resources.livemap.MarkerMarker](#resources-livemap-MarkerMarker) | repeated | | - + -### GetMOTDRequest +### StreamRequest @@ -10888,676 +10951,701 @@ Connect an identifier/license to the provider with the specified external id (e. - + -### GetMOTDResponse +### StreamResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| motd | [string](#string) | | | +| jobs | [JobsList](#services-livemapper-JobsList) | | | +| markers | [MarkerMarkersUpdates](#services-livemapper-MarkerMarkersUpdates) | | | +| users | [UserMarkersUpdates](#services-livemapper-UserMarkersUpdates) | | | +| user_on_duty | [bool](#bool) | optional | | - + -### GetSelfRequest +### UserMarkersUpdates +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| users | [resources.livemap.UserMarker](#resources-livemap-UserMarker) | repeated | | +| part | [int32](#int32) | | | - -### GetSelfResponse + + + -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| colleague | [resources.jobs.Colleague](#resources-jobs-Colleague) | | | + + +### LivemapperService +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| Stream | [StreamRequest](#services-livemapper-StreamRequest) | [StreamResponse](#services-livemapper-StreamResponse) stream | @perm: Attrs=Markers/JobList|Players/JobGradeList | +| CreateOrUpdateMarker | [CreateOrUpdateMarkerRequest](#services-livemapper-CreateOrUpdateMarkerRequest) | [CreateOrUpdateMarkerResponse](#services-livemapper-CreateOrUpdateMarkerResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | +| DeleteMarker | [DeleteMarkerRequest](#services-livemapper-DeleteMarkerRequest) | [DeleteMarkerResponse](#services-livemapper-DeleteMarkerResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | + - -### ListColleagueActivityRequest + +

Top

+ +## services/notificator/notificator.proto + + + + + +### GetNotificationsRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | -| sort | [resources.common.database.Sort](#resources-common-database-Sort) | optional | | -| user_ids | [int32](#int32) | repeated | Search params | -| activity_types | [resources.jobs.JobsUserActivityType](#resources-jobs-JobsUserActivityType) | repeated | | +| include_read | [bool](#bool) | optional | | +| categories | [resources.notifications.NotificationCategory](#resources-notifications-NotificationCategory) | repeated | | - + -### ListColleagueActivityResponse +### GetNotificationsResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | -| activity | [resources.jobs.JobsUserActivity](#resources-jobs-JobsUserActivity) | repeated | | +| notifications | [resources.notifications.Notification](#resources-notifications-Notification) | repeated | | - + -### ListColleaguesRequest +### MarkNotificationsRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | -| sort | [resources.common.database.Sort](#resources-common-database-Sort) | optional | | -| search | [string](#string) | | Search params | -| user_id | [int32](#int32) | optional | | -| absent | [bool](#bool) | optional | | -| label_ids | [uint64](#uint64) | repeated | | -| name_prefix | [string](#string) | optional | | -| name_suffix | [string](#string) | optional | | +| unread | [bool](#bool) | | | +| ids | [uint64](#uint64) | repeated | | +| all | [bool](#bool) | optional | | - + -### ListColleaguesResponse +### MarkNotificationsResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | -| colleagues | [resources.jobs.Colleague](#resources-jobs-Colleague) | repeated | | +| updated | [uint64](#uint64) | | | - + + +### StreamRequest -### ManageColleagueLabelsRequest + + + + + + + + +### StreamResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| labels | [resources.jobs.Label](#resources-jobs-Label) | repeated | | +| notification_count | [int32](#int32) | | | +| restart | [bool](#bool) | optional | | +| user_event | [resources.notifications.UserEvent](#resources-notifications-UserEvent) | | | +| job_event | [resources.notifications.JobEvent](#resources-notifications-JobEvent) | | | +| job_grade_event | [resources.notifications.JobGradeEvent](#resources-notifications-JobGradeEvent) | | | +| system_event | [resources.notifications.SystemEvent](#resources-notifications-SystemEvent) | | | +| mailer_event | [resources.mailer.MailerEvent](#resources-mailer-MailerEvent) | | | + - + -### ManageColleagueLabelsResponse + + + + + +### NotificatorService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| GetNotifications | [GetNotificationsRequest](#services-notificator-GetNotificationsRequest) | [GetNotificationsResponse](#services-notificator-GetNotificationsResponse) | @perm: Name=Any | +| MarkNotifications | [MarkNotificationsRequest](#services-notificator-MarkNotificationsRequest) | [MarkNotificationsResponse](#services-notificator-MarkNotificationsResponse) | @perm: Name=Any | +| Stream | [StreamRequest](#services-notificator-StreamRequest) | [StreamResponse](#services-notificator-StreamResponse) stream | @perm: Name=Any | + + + + + + +

Top

+ +## services/qualifications/qualifications.proto + + + + + +### CreateOrUpdateQualificationRequestRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| labels | [resources.jobs.Label](#resources-jobs-Label) | repeated | | +| request | [resources.qualifications.QualificationRequest](#resources-qualifications-QualificationRequest) | | | - + -### SetJobsUserPropsRequest +### CreateOrUpdateQualificationRequestResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| props | [resources.jobs.JobsUserProps](#resources-jobs-JobsUserProps) | | | -| reason | [string](#string) | | @sanitize | +| request | [resources.qualifications.QualificationRequest](#resources-qualifications-QualificationRequest) | | | - + -### SetJobsUserPropsResponse +### CreateOrUpdateQualificationResultRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| props | [resources.jobs.JobsUserProps](#resources-jobs-JobsUserProps) | | | +| result | [resources.qualifications.QualificationResult](#resources-qualifications-QualificationResult) | | | - + -### SetMOTDRequest +### CreateOrUpdateQualificationResultResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| motd | [string](#string) | | @sanitize: method=StripTags | +| result | [resources.qualifications.QualificationResult](#resources-qualifications-QualificationResult) | | | - + -### SetMOTDResponse +### CreateQualificationRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| motd | [string](#string) | | | +| qualification | [resources.qualifications.Qualification](#resources-qualifications-Qualification) | | | - - + - +### CreateQualificationResponse - -### JobsService +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| qualification_id | [uint64](#uint64) | | | -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| ListColleagues | [ListColleaguesRequest](#services-jobs-ListColleaguesRequest) | [ListColleaguesResponse](#services-jobs-ListColleaguesResponse) | @perm | -| GetSelf | [GetSelfRequest](#services-jobs-GetSelfRequest) | [GetSelfResponse](#services-jobs-GetSelfResponse) | @perm: Name=ListColleagues | -| GetColleague | [GetColleagueRequest](#services-jobs-GetColleagueRequest) | [GetColleagueResponse](#services-jobs-GetColleagueResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"}|Types/StringList:[]string{"Note", "Labels"} | -| ListColleagueActivity | [ListColleagueActivityRequest](#services-jobs-ListColleagueActivityRequest) | [ListColleagueActivityResponse](#services-jobs-ListColleagueActivityResponse) | @perm: Attrs=Types/StringList:[]string{"HIRED", "FIRED", "PROMOTED", "DEMOTED", "ABSENCE_DATE", "NOTE", "LABELS", "NAME"} | -| SetJobsUserProps | [SetJobsUserPropsRequest](#services-jobs-SetJobsUserPropsRequest) | [SetJobsUserPropsResponse](#services-jobs-SetJobsUserPropsResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"}|Types/StringList:[]string{"AbsenceDate", "Note", "Labels", "Name"} | -| GetColleagueLabels | [GetColleagueLabelsRequest](#services-jobs-GetColleagueLabelsRequest) | [GetColleagueLabelsResponse](#services-jobs-GetColleagueLabelsResponse) | @perm: Name=GetColleague | -| ManageColleagueLabels | [ManageColleagueLabelsRequest](#services-jobs-ManageColleagueLabelsRequest) | [ManageColleagueLabelsResponse](#services-jobs-ManageColleagueLabelsResponse) | @perm | -| GetColleagueLabelsStats | [GetColleagueLabelsStatsRequest](#services-jobs-GetColleagueLabelsStatsRequest) | [GetColleagueLabelsStatsResponse](#services-jobs-GetColleagueLabelsStatsResponse) | @perm: Name=GetColleague | -| GetMOTD | [GetMOTDRequest](#services-jobs-GetMOTDRequest) | [GetMOTDResponse](#services-jobs-GetMOTDResponse) | @perm: Name=Any | -| SetMOTD | [SetMOTDRequest](#services-jobs-SetMOTDRequest) | [SetMOTDResponse](#services-jobs-SetMOTDResponse) | @perm | - - -

Top

+ -## services/jobs/timeclock.proto +### DeleteQualificationReqRequest - +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| qualification_id | [uint64](#uint64) | | | +| user_id | [int32](#int32) | | | -### GetTimeclockStatsRequest -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| user_id | [int32](#int32) | optional | | + +### DeleteQualificationReqResponse - -### GetTimeclockStatsResponse -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| stats | [resources.jobs.TimeclockStats](#resources-jobs-TimeclockStats) | | | -| weekly | [resources.jobs.TimeclockWeeklyStats](#resources-jobs-TimeclockWeeklyStats) | repeated | | + +### DeleteQualificationRequest +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| qualification_id | [uint64](#uint64) | | | - -### ListInactiveEmployeesRequest -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | -| sort | [resources.common.database.Sort](#resources-common-database-Sort) | optional | | -| days | [int32](#int32) | | Search params | + +### DeleteQualificationResponse - -### ListInactiveEmployeesResponse + +### DeleteQualificationResultRequest -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | -| colleagues | [resources.jobs.Colleague](#resources-jobs-Colleague) | repeated | | +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| result_id | [uint64](#uint64) | | | - -### ListTimeclockRequest + +### DeleteQualificationResultResponse -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | -| sort | [resources.common.database.Sort](#resources-common-database-Sort) | optional | | -| user_mode | [resources.jobs.TimeclockUserMode](#resources-jobs-TimeclockUserMode) | | Search params | -| mode | [resources.jobs.TimeclockMode](#resources-jobs-TimeclockMode) | | | -| date | [resources.common.database.DateRange](#resources-common-database-DateRange) | optional | | -| per_day | [bool](#bool) | | | -| user_ids | [int32](#int32) | repeated | | - + -### ListTimeclockResponse +### GetExamInfoRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | -| stats | [resources.jobs.TimeclockStats](#resources-jobs-TimeclockStats) | | | -| stats_weekly | [resources.jobs.TimeclockWeeklyStats](#resources-jobs-TimeclockWeeklyStats) | repeated | | -| daily | [TimeclockDay](#services-jobs-TimeclockDay) | | | -| weekly | [TimeclockWeekly](#services-jobs-TimeclockWeekly) | | | -| range | [TimeclockRange](#services-jobs-TimeclockRange) | | | +| qualification_id | [uint64](#uint64) | | | - + -### TimeclockDay +### GetExamInfoResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| date | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | -| entries | [resources.jobs.TimeclockEntry](#resources-jobs-TimeclockEntry) | repeated | | -| sum | [int64](#int64) | | | +| qualification | [resources.qualifications.QualificationShort](#resources-qualifications-QualificationShort) | | | +| question_count | [int32](#int32) | | | +| exam_user | [resources.qualifications.ExamUser](#resources-qualifications-ExamUser) | optional | | - + -### TimeclockRange +### GetQualificationAccessRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| date | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | @gotags: sql:"primary_key" | -| entries | [resources.jobs.TimeclockEntry](#resources-jobs-TimeclockEntry) | repeated | | -| sum | [int64](#int64) | | | +| qualification_id | [uint64](#uint64) | | | - + -### TimeclockWeekly +### GetQualificationAccessResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| date | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | @gotags: sql:"primary_key" | -| entries | [resources.jobs.TimeclockEntry](#resources-jobs-TimeclockEntry) | repeated | | -| sum | [int64](#int64) | | | - - - - +| access | [resources.qualifications.QualificationAccess](#resources-qualifications-QualificationAccess) | | | - - - - -### JobsTimeclockService + +### GetQualificationRequest -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| ListTimeclock | [ListTimeclockRequest](#services-jobs-ListTimeclockRequest) | [ListTimeclockResponse](#services-jobs-ListTimeclockResponse) | @perm: Attrs=Access/StringList:[]string{"All"} | -| GetTimeclockStats | [GetTimeclockStatsRequest](#services-jobs-GetTimeclockStatsRequest) | [GetTimeclockStatsResponse](#services-jobs-GetTimeclockStatsResponse) | @perm: Name=ListTimeclock | -| ListInactiveEmployees | [ListInactiveEmployeesRequest](#services-jobs-ListInactiveEmployeesRequest) | [ListInactiveEmployeesResponse](#services-jobs-ListInactiveEmployeesResponse) | @perm | - +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| qualification_id | [uint64](#uint64) | | | +| with_exam | [bool](#bool) | optional | | - -

Top

-## services/livemapper/livemap.proto - + -### CreateOrUpdateMarkerRequest +### GetQualificationResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| marker | [resources.livemap.MarkerMarker](#resources-livemap-MarkerMarker) | | | +| qualification | [resources.qualifications.Qualification](#resources-qualifications-Qualification) | | | - + -### CreateOrUpdateMarkerResponse +### GetUserExamRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| marker | [resources.livemap.MarkerMarker](#resources-livemap-MarkerMarker) | | | +| qualification_id | [uint64](#uint64) | | | +| user_id | [int32](#int32) | | | - + -### DeleteMarkerRequest +### GetUserExamResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | | +| exam | [resources.qualifications.ExamQuestions](#resources-qualifications-ExamQuestions) | | | +| exam_user | [resources.qualifications.ExamUser](#resources-qualifications-ExamUser) | | | +| responses | [resources.qualifications.ExamResponses](#resources-qualifications-ExamResponses) | | | - + + +### ListQualificationRequestsRequest -### DeleteMarkerResponse +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| sort | [resources.common.database.Sort](#resources-common-database-Sort) | optional | | +| qualification_id | [uint64](#uint64) | optional | Search params | +| status | [resources.qualifications.RequestStatus](#resources-qualifications-RequestStatus) | repeated | | +| user_id | [int32](#int32) | optional | | - -### JobsList + + +### ListQualificationRequestsResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| users | [resources.users.Job](#resources-users-Job) | repeated | | -| markers | [resources.users.Job](#resources-users-Job) | repeated | | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| requests | [resources.qualifications.QualificationRequest](#resources-qualifications-QualificationRequest) | repeated | | - + -### MarkerMarkersUpdates +### ListQualificationsRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| markers | [resources.livemap.MarkerMarker](#resources-livemap-MarkerMarker) | repeated | | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| sort | [resources.common.database.Sort](#resources-common-database-Sort) | optional | | +| search | [string](#string) | optional | Search params | +| job | [string](#string) | optional | | - + -### StreamRequest +### ListQualificationsResponse +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| qualifications | [resources.qualifications.Qualification](#resources-qualifications-Qualification) | repeated | | - -### StreamResponse + + + +### ListQualificationsResultsRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| jobs | [JobsList](#services-livemapper-JobsList) | | | -| markers | [MarkerMarkersUpdates](#services-livemapper-MarkerMarkersUpdates) | | | -| users | [UserMarkersUpdates](#services-livemapper-UserMarkersUpdates) | | | -| user_on_duty | [bool](#bool) | optional | | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| sort | [resources.common.database.Sort](#resources-common-database-Sort) | optional | | +| qualification_id | [uint64](#uint64) | optional | Search params | +| status | [resources.qualifications.ResultStatus](#resources-qualifications-ResultStatus) | repeated | | +| user_id | [int32](#int32) | optional | | - + -### UserMarkersUpdates +### ListQualificationsResultsResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| users | [resources.livemap.UserMarker](#resources-livemap-UserMarker) | repeated | | -| part | [int32](#int32) | | | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| results | [resources.qualifications.QualificationResult](#resources-qualifications-QualificationResult) | repeated | | - - + - +### SetQualificationAccessRequest - -### LivemapperService +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| qualification_id | [uint64](#uint64) | | | +| access | [resources.qualifications.QualificationAccess](#resources-qualifications-QualificationAccess) | | | + + -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| Stream | [StreamRequest](#services-livemapper-StreamRequest) | [StreamResponse](#services-livemapper-StreamResponse) stream | @perm: Attrs=Markers/JobList|Players/JobGradeList | -| CreateOrUpdateMarker | [CreateOrUpdateMarkerRequest](#services-livemapper-CreateOrUpdateMarkerRequest) | [CreateOrUpdateMarkerResponse](#services-livemapper-CreateOrUpdateMarkerResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | -| DeleteMarker | [DeleteMarkerRequest](#services-livemapper-DeleteMarkerRequest) | [DeleteMarkerResponse](#services-livemapper-DeleteMarkerResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | - + +### SetQualificationAccessResponse - -

Top

-## services/notificator/notificator.proto - -### GetNotificationsRequest + + + +### SubmitExamRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | -| include_read | [bool](#bool) | optional | | -| categories | [resources.notifications.NotificationCategory](#resources-notifications-NotificationCategory) | repeated | | +| qualification_id | [uint64](#uint64) | | | +| responses | [resources.qualifications.ExamResponses](#resources-qualifications-ExamResponses) | | | - + -### GetNotificationsResponse +### SubmitExamResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | -| notifications | [resources.notifications.Notification](#resources-notifications-Notification) | repeated | | +| duration | [google.protobuf.Duration](#google-protobuf-Duration) | | | - + -### MarkNotificationsRequest +### TakeExamRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| unread | [bool](#bool) | | | -| ids | [uint64](#uint64) | repeated | | -| all | [bool](#bool) | optional | | +| qualification_id | [uint64](#uint64) | | | +| cancel | [bool](#bool) | optional | | - + -### MarkNotificationsResponse +### TakeExamResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| updated | [uint64](#uint64) | | | +| exam | [resources.qualifications.ExamQuestions](#resources-qualifications-ExamQuestions) | | | +| exam_user | [resources.qualifications.ExamUser](#resources-qualifications-ExamUser) | | | - + -### StreamRequest +### UpdateQualificationRequest +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| qualification | [resources.qualifications.Qualification](#resources-qualifications-Qualification) | | | - -### StreamResponse + + + +### UpdateQualificationResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| notification_count | [int32](#int32) | | | -| restart | [bool](#bool) | optional | | -| user_event | [resources.notifications.UserEvent](#resources-notifications-UserEvent) | | | -| job_event | [resources.notifications.JobEvent](#resources-notifications-JobEvent) | | | -| job_grade_event | [resources.notifications.JobGradeEvent](#resources-notifications-JobGradeEvent) | | | -| system_event | [resources.notifications.SystemEvent](#resources-notifications-SystemEvent) | | | -| mailer_event | [resources.mailer.MailerEvent](#resources-mailer-MailerEvent) | | | +| qualification_id | [uint64](#uint64) | | | @@ -11570,683 +11658,675 @@ Connect an identifier/license to the provider with the specified external id (e. - + -### NotificatorService +### QualificationsService | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| -| GetNotifications | [GetNotificationsRequest](#services-notificator-GetNotificationsRequest) | [GetNotificationsResponse](#services-notificator-GetNotificationsResponse) | @perm: Name=Any | -| MarkNotifications | [MarkNotificationsRequest](#services-notificator-MarkNotificationsRequest) | [MarkNotificationsResponse](#services-notificator-MarkNotificationsResponse) | @perm: Name=Any | -| Stream | [StreamRequest](#services-notificator-StreamRequest) | [StreamResponse](#services-notificator-StreamResponse) stream | @perm: Name=Any | +| ListQualifications | [ListQualificationsRequest](#services-qualifications-ListQualificationsRequest) | [ListQualificationsResponse](#services-qualifications-ListQualificationsResponse) | @perm | +| GetQualification | [GetQualificationRequest](#services-qualifications-GetQualificationRequest) | [GetQualificationResponse](#services-qualifications-GetQualificationResponse) | @perm: Name=ListQualifications | +| CreateQualification | [CreateQualificationRequest](#services-qualifications-CreateQualificationRequest) | [CreateQualificationResponse](#services-qualifications-CreateQualificationResponse) | @perm | +| UpdateQualification | [UpdateQualificationRequest](#services-qualifications-UpdateQualificationRequest) | [UpdateQualificationResponse](#services-qualifications-UpdateQualificationResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | +| DeleteQualification | [DeleteQualificationRequest](#services-qualifications-DeleteQualificationRequest) | [DeleteQualificationResponse](#services-qualifications-DeleteQualificationResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | +| ListQualificationRequests | [ListQualificationRequestsRequest](#services-qualifications-ListQualificationRequestsRequest) | [ListQualificationRequestsResponse](#services-qualifications-ListQualificationRequestsResponse) | @perm: Name=ListQualifications | +| CreateOrUpdateQualificationRequest | [CreateOrUpdateQualificationRequestRequest](#services-qualifications-CreateOrUpdateQualificationRequestRequest) | [CreateOrUpdateQualificationRequestResponse](#services-qualifications-CreateOrUpdateQualificationRequestResponse) | @perm: Name=ListQualifications | +| DeleteQualificationReq | [DeleteQualificationReqRequest](#services-qualifications-DeleteQualificationReqRequest) | [DeleteQualificationReqResponse](#services-qualifications-DeleteQualificationReqResponse) | @perm | +| ListQualificationsResults | [ListQualificationsResultsRequest](#services-qualifications-ListQualificationsResultsRequest) | [ListQualificationsResultsResponse](#services-qualifications-ListQualificationsResultsResponse) | @perm: Name=ListQualifications | +| CreateOrUpdateQualificationResult | [CreateOrUpdateQualificationResultRequest](#services-qualifications-CreateOrUpdateQualificationResultRequest) | [CreateOrUpdateQualificationResultResponse](#services-qualifications-CreateOrUpdateQualificationResultResponse) | @perm | +| DeleteQualificationResult | [DeleteQualificationResultRequest](#services-qualifications-DeleteQualificationResultRequest) | [DeleteQualificationResultResponse](#services-qualifications-DeleteQualificationResultResponse) | @perm | +| GetExamInfo | [GetExamInfoRequest](#services-qualifications-GetExamInfoRequest) | [GetExamInfoResponse](#services-qualifications-GetExamInfoResponse) | @perm: Name=ListQualifications | +| TakeExam | [TakeExamRequest](#services-qualifications-TakeExamRequest) | [TakeExamResponse](#services-qualifications-TakeExamResponse) | @perm: Name=ListQualifications | +| SubmitExam | [SubmitExamRequest](#services-qualifications-SubmitExamRequest) | [SubmitExamResponse](#services-qualifications-SubmitExamResponse) | @perm: Name=ListQualifications | +| GetUserExam | [GetUserExamRequest](#services-qualifications-GetUserExamRequest) | [GetUserExamResponse](#services-qualifications-GetUserExamResponse) | @perm: Name=CreateOrUpdateQualificationResult | - +

Top

-## services/qualifications/qualifications.proto - - +## services/rector/config.proto - -### CreateOrUpdateQualificationRequestRequest + +### GetAppConfigRequest -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| request | [resources.qualifications.QualificationRequest](#resources-qualifications-QualificationRequest) | | | - + -### CreateOrUpdateQualificationRequestResponse +### GetAppConfigResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| request | [resources.qualifications.QualificationRequest](#resources-qualifications-QualificationRequest) | | | +| config | [resources.rector.AppConfig](#resources-rector-AppConfig) | | | - + -### CreateOrUpdateQualificationResultRequest +### UpdateAppConfigRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| result | [resources.qualifications.QualificationResult](#resources-qualifications-QualificationResult) | | | +| config | [resources.rector.AppConfig](#resources-rector-AppConfig) | | | - + -### CreateOrUpdateQualificationResultResponse +### UpdateAppConfigResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| result | [resources.qualifications.QualificationResult](#resources-qualifications-QualificationResult) | | | +| config | [resources.rector.AppConfig](#resources-rector-AppConfig) | | | + - + + + -### CreateQualificationRequest + +### RectorConfigService -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| qualification | [resources.qualifications.Qualification](#resources-qualifications-Qualification) | | | +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| GetAppConfig | [GetAppConfigRequest](#services-rector-GetAppConfigRequest) | [GetAppConfigResponse](#services-rector-GetAppConfigResponse) | @perm: Name=SuperUser | +| UpdateAppConfig | [UpdateAppConfigRequest](#services-rector-UpdateAppConfigRequest) | [UpdateAppConfigResponse](#services-rector-UpdateAppConfigResponse) | @perm: Name=SuperUser | + + + +

Top

+## services/rector/filestore.proto - -### CreateQualificationResponse + + + +### DeleteFileRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| qualification_id | [uint64](#uint64) | | | +| path | [string](#string) | | | - + -### DeleteQualificationReqRequest +### DeleteFileResponse -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| qualification_id | [uint64](#uint64) | | | -| user_id | [int32](#int32) | | | + +### ListFilesRequest - -### DeleteQualificationReqResponse +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| path | [string](#string) | optional | | - + -### DeleteQualificationRequest +### ListFilesResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| qualification_id | [uint64](#uint64) | | | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| files | [resources.filestore.FileInfo](#resources-filestore-FileInfo) | repeated | | - + -### DeleteQualificationResponse +### UploadFileRequest +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| prefix | [string](#string) | | | +| name | [string](#string) | | | +| file | [resources.filestore.File](#resources-filestore-File) | | | - -### DeleteQualificationResultRequest + + + +### UploadFileResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| result_id | [uint64](#uint64) | | | +| file | [resources.filestore.FileInfo](#resources-filestore-FileInfo) | | | + - + -### DeleteQualificationResultResponse + + + + + +### RectorFilestoreService +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| ListFiles | [ListFilesRequest](#services-rector-ListFilesRequest) | [ListFilesResponse](#services-rector-ListFilesResponse) | @perm: Name=SuperUser | +| UploadFile | [UploadFileRequest](#services-rector-UploadFileRequest) | [UploadFileResponse](#services-rector-UploadFileResponse) | @perm: Name=SuperUser | +| DeleteFile | [DeleteFileRequest](#services-rector-DeleteFileRequest) | [DeleteFileResponse](#services-rector-DeleteFileResponse) | @perm: Name=SuperUser | + + + + +

Top

+## services/rector/laws.proto - -### GetExamInfoRequest + + +### CreateOrUpdateLawBookRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| qualification_id | [uint64](#uint64) | | | +| lawBook | [resources.laws.LawBook](#resources-laws-LawBook) | | | - + -### GetExamInfoResponse +### CreateOrUpdateLawBookResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| qualification | [resources.qualifications.QualificationShort](#resources-qualifications-QualificationShort) | | | -| question_count | [int32](#int32) | | | -| exam_user | [resources.qualifications.ExamUser](#resources-qualifications-ExamUser) | optional | | +| lawBook | [resources.laws.LawBook](#resources-laws-LawBook) | | | - + -### GetQualificationAccessRequest +### CreateOrUpdateLawRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| qualification_id | [uint64](#uint64) | | | +| law | [resources.laws.Law](#resources-laws-Law) | | | - + -### GetQualificationAccessResponse +### CreateOrUpdateLawResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| access | [resources.qualifications.QualificationAccess](#resources-qualifications-QualificationAccess) | | | +| law | [resources.laws.Law](#resources-laws-Law) | | | - + -### GetQualificationRequest +### DeleteLawBookRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| qualification_id | [uint64](#uint64) | | | -| with_exam | [bool](#bool) | optional | | - - +| id | [uint64](#uint64) | | | - -### GetQualificationResponse + +### DeleteLawBookResponse -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| qualification | [resources.qualifications.Qualification](#resources-qualifications-Qualification) | | | - + -### GetUserExamRequest +### DeleteLawRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| qualification_id | [uint64](#uint64) | | | -| user_id | [int32](#int32) | | | +| id | [uint64](#uint64) | | | + + + +### DeleteLawResponse - -### GetUserExamResponse -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| exam | [resources.qualifications.ExamQuestions](#resources-qualifications-ExamQuestions) | | | -| exam_user | [resources.qualifications.ExamUser](#resources-qualifications-ExamUser) | | | -| responses | [resources.qualifications.ExamResponses](#resources-qualifications-ExamResponses) | | | + + + + - +### RectorLawsService -### ListQualificationRequestsRequest +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| CreateOrUpdateLawBook | [CreateOrUpdateLawBookRequest](#services-rector-CreateOrUpdateLawBookRequest) | [CreateOrUpdateLawBookResponse](#services-rector-CreateOrUpdateLawBookResponse) | @perm: Name=SuperUser | +| DeleteLawBook | [DeleteLawBookRequest](#services-rector-DeleteLawBookRequest) | [DeleteLawBookResponse](#services-rector-DeleteLawBookResponse) | @perm: Name=SuperUser | +| CreateOrUpdateLaw | [CreateOrUpdateLawRequest](#services-rector-CreateOrUpdateLawRequest) | [CreateOrUpdateLawResponse](#services-rector-CreateOrUpdateLawResponse) | @perm: Name=SuperUser | +| DeleteLaw | [DeleteLawRequest](#services-rector-DeleteLawRequest) | [DeleteLawResponse](#services-rector-DeleteLawResponse) | @perm: Name=SuperUser | + -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | -| sort | [resources.common.database.Sort](#resources-common-database-Sort) | optional | | -| qualification_id | [uint64](#uint64) | optional | Search params | -| status | [resources.qualifications.RequestStatus](#resources-qualifications-RequestStatus) | repeated | | -| user_id | [int32](#int32) | optional | | + +

Top

+## services/rector/rector.proto - + -### ListQualificationRequestsResponse +### AttrsUpdate | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | -| requests | [resources.qualifications.QualificationRequest](#resources-qualifications-QualificationRequest) | repeated | | +| to_update | [resources.permissions.RoleAttribute](#resources-permissions-RoleAttribute) | repeated | | +| to_remove | [resources.permissions.RoleAttribute](#resources-permissions-RoleAttribute) | repeated | | - + -### ListQualificationsRequest +### CreateRoleRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | -| sort | [resources.common.database.Sort](#resources-common-database-Sort) | optional | | -| search | [string](#string) | optional | Search params | -| job | [string](#string) | optional | | +| job | [string](#string) | | | +| grade | [int32](#int32) | | | - + -### ListQualificationsResponse +### CreateRoleResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | -| qualifications | [resources.qualifications.Qualification](#resources-qualifications-Qualification) | repeated | | +| role | [resources.permissions.Role](#resources-permissions-Role) | | | - + -### ListQualificationsResultsRequest +### DeleteFactionRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | -| sort | [resources.common.database.Sort](#resources-common-database-Sort) | optional | | -| qualification_id | [uint64](#uint64) | optional | Search params | -| status | [resources.qualifications.ResultStatus](#resources-qualifications-ResultStatus) | repeated | | -| user_id | [int32](#int32) | optional | | - - +| role_id | [uint64](#uint64) | | | - -### ListQualificationsResultsResponse + +### DeleteFactionResponse -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | -| results | [resources.qualifications.QualificationResult](#resources-qualifications-QualificationResult) | repeated | | - + -### SetQualificationAccessRequest +### DeleteRoleRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| qualification_id | [uint64](#uint64) | | | -| access | [resources.qualifications.QualificationAccess](#resources-qualifications-QualificationAccess) | | | - - +| id | [uint64](#uint64) | | | - -### SetQualificationAccessResponse + +### DeleteRoleResponse - -### SubmitExamRequest + +### GetJobPropsRequest -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| qualification_id | [uint64](#uint64) | | | -| responses | [resources.qualifications.ExamResponses](#resources-qualifications-ExamResponses) | | | - + -### SubmitExamResponse +### GetJobPropsResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| duration | [google.protobuf.Duration](#google-protobuf-Duration) | | | +| job_props | [resources.users.JobProps](#resources-users-JobProps) | | | - + -### TakeExamRequest +### GetPermissionsRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| qualification_id | [uint64](#uint64) | | | -| cancel | [bool](#bool) | optional | | +| role_id | [uint64](#uint64) | | | +| filtered | [bool](#bool) | optional | | - + -### TakeExamResponse +### GetPermissionsResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| exam | [resources.qualifications.ExamQuestions](#resources-qualifications-ExamQuestions) | | | -| exam_user | [resources.qualifications.ExamUser](#resources-qualifications-ExamUser) | | | +| permissions | [resources.permissions.Permission](#resources-permissions-Permission) | repeated | | +| attributes | [resources.permissions.RoleAttribute](#resources-permissions-RoleAttribute) | repeated | | - + -### UpdateQualificationRequest +### GetRoleRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| qualification | [resources.qualifications.Qualification](#resources-qualifications-Qualification) | | | +| id | [uint64](#uint64) | | | +| filtered | [bool](#bool) | optional | | - + -### UpdateQualificationResponse +### GetRoleResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| qualification_id | [uint64](#uint64) | | | - - +| role | [resources.permissions.Role](#resources-permissions-Role) | | | - - - + - +### GetRolesRequest -### QualificationsService -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| ListQualifications | [ListQualificationsRequest](#services-qualifications-ListQualificationsRequest) | [ListQualificationsResponse](#services-qualifications-ListQualificationsResponse) | @perm | -| GetQualification | [GetQualificationRequest](#services-qualifications-GetQualificationRequest) | [GetQualificationResponse](#services-qualifications-GetQualificationResponse) | @perm: Name=ListQualifications | -| CreateQualification | [CreateQualificationRequest](#services-qualifications-CreateQualificationRequest) | [CreateQualificationResponse](#services-qualifications-CreateQualificationResponse) | @perm | -| UpdateQualification | [UpdateQualificationRequest](#services-qualifications-UpdateQualificationRequest) | [UpdateQualificationResponse](#services-qualifications-UpdateQualificationResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | -| DeleteQualification | [DeleteQualificationRequest](#services-qualifications-DeleteQualificationRequest) | [DeleteQualificationResponse](#services-qualifications-DeleteQualificationResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | -| ListQualificationRequests | [ListQualificationRequestsRequest](#services-qualifications-ListQualificationRequestsRequest) | [ListQualificationRequestsResponse](#services-qualifications-ListQualificationRequestsResponse) | @perm: Name=ListQualifications | -| CreateOrUpdateQualificationRequest | [CreateOrUpdateQualificationRequestRequest](#services-qualifications-CreateOrUpdateQualificationRequestRequest) | [CreateOrUpdateQualificationRequestResponse](#services-qualifications-CreateOrUpdateQualificationRequestResponse) | @perm: Name=ListQualifications | -| DeleteQualificationReq | [DeleteQualificationReqRequest](#services-qualifications-DeleteQualificationReqRequest) | [DeleteQualificationReqResponse](#services-qualifications-DeleteQualificationReqResponse) | @perm | -| ListQualificationsResults | [ListQualificationsResultsRequest](#services-qualifications-ListQualificationsResultsRequest) | [ListQualificationsResultsResponse](#services-qualifications-ListQualificationsResultsResponse) | @perm: Name=ListQualifications | -| CreateOrUpdateQualificationResult | [CreateOrUpdateQualificationResultRequest](#services-qualifications-CreateOrUpdateQualificationResultRequest) | [CreateOrUpdateQualificationResultResponse](#services-qualifications-CreateOrUpdateQualificationResultResponse) | @perm | -| DeleteQualificationResult | [DeleteQualificationResultRequest](#services-qualifications-DeleteQualificationResultRequest) | [DeleteQualificationResultResponse](#services-qualifications-DeleteQualificationResultResponse) | @perm | -| GetExamInfo | [GetExamInfoRequest](#services-qualifications-GetExamInfoRequest) | [GetExamInfoResponse](#services-qualifications-GetExamInfoResponse) | @perm: Name=ListQualifications | -| TakeExam | [TakeExamRequest](#services-qualifications-TakeExamRequest) | [TakeExamResponse](#services-qualifications-TakeExamResponse) | @perm: Name=ListQualifications | -| SubmitExam | [SubmitExamRequest](#services-qualifications-SubmitExamRequest) | [SubmitExamResponse](#services-qualifications-SubmitExamResponse) | @perm: Name=ListQualifications | -| GetUserExam | [GetUserExamRequest](#services-qualifications-GetUserExamRequest) | [GetUserExamResponse](#services-qualifications-GetUserExamResponse) | @perm: Name=CreateOrUpdateQualificationResult | +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| lowest_rank | [bool](#bool) | optional | | - - -

Top

-## services/rector/config.proto + +### GetRolesResponse - -### GetAppConfigRequest +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| roles | [resources.permissions.Role](#resources-permissions-Role) | repeated | | - + -### GetAppConfigResponse +### PermItem | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| config | [resources.rector.AppConfig](#resources-rector-AppConfig) | | | +| id | [uint64](#uint64) | | | +| val | [bool](#bool) | | | - + -### UpdateAppConfigRequest +### PermsUpdate | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| config | [resources.rector.AppConfig](#resources-rector-AppConfig) | | | +| to_update | [PermItem](#services-rector-PermItem) | repeated | | +| to_remove | [uint64](#uint64) | repeated | | - + -### UpdateAppConfigResponse +### SetJobPropsRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| config | [resources.rector.AppConfig](#resources-rector-AppConfig) | | | - - - - +| job_props | [resources.users.JobProps](#resources-users-JobProps) | | | - - - - -### RectorConfigService + +### SetJobPropsResponse -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| GetAppConfig | [GetAppConfigRequest](#services-rector-GetAppConfigRequest) | [GetAppConfigResponse](#services-rector-GetAppConfigResponse) | @perm: Name=SuperUser | -| UpdateAppConfig | [UpdateAppConfigRequest](#services-rector-UpdateAppConfigRequest) | [UpdateAppConfigResponse](#services-rector-UpdateAppConfigResponse) | @perm: Name=SuperUser | - +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| job_props | [resources.users.JobProps](#resources-users-JobProps) | | | - -

Top

-## services/rector/filestore.proto - + -### DeleteFileRequest +### UpdateRoleLimitsRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| path | [string](#string) | | | +| role_id | [uint64](#uint64) | | | +| perms | [PermsUpdate](#services-rector-PermsUpdate) | optional | | +| attrs | [AttrsUpdate](#services-rector-AttrsUpdate) | optional | | - + -### DeleteFileResponse +### UpdateRoleLimitsResponse @@ -12254,64 +12334,65 @@ Connect an identifier/license to the provider with the specified external id (e. - + -### ListFilesRequest +### UpdateRolePermsRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | -| path | [string](#string) | optional | | - - +| id | [uint64](#uint64) | | | +| perms | [PermsUpdate](#services-rector-PermsUpdate) | optional | | +| attrs | [AttrsUpdate](#services-rector-AttrsUpdate) | optional | | - -### ListFilesResponse + +### UpdateRolePermsResponse -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | -| files | [resources.filestore.FileInfo](#resources-filestore-FileInfo) | repeated | | - + -### UploadFileRequest +### ViewAuditLogRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| prefix | [string](#string) | | | -| name | [string](#string) | | | -| file | [resources.filestore.File](#resources-filestore-File) | | | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| sort | [resources.common.database.Sort](#resources-common-database-Sort) | optional | | +| user_ids | [int32](#int32) | repeated | Search params | +| from | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| to | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| services | [string](#string) | repeated | @sanitize: method=StripTags | +| methods | [string](#string) | repeated | @sanitize: method=StripTags | +| search | [string](#string) | optional | | - + -### UploadFileResponse +### ViewAuditLogResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| file | [resources.filestore.FileInfo](#resources-filestore-FileInfo) | | | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| logs | [resources.rector.AuditEntry](#resources-rector-AuditEntry) | repeated | | @@ -12324,106 +12405,115 @@ Connect an identifier/license to the provider with the specified external id (e. - + -### RectorFilestoreService +### RectorService | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| -| ListFiles | [ListFilesRequest](#services-rector-ListFilesRequest) | [ListFilesResponse](#services-rector-ListFilesResponse) | @perm: Name=SuperUser | -| UploadFile | [UploadFileRequest](#services-rector-UploadFileRequest) | [UploadFileResponse](#services-rector-UploadFileResponse) | @perm: Name=SuperUser | -| DeleteFile | [DeleteFileRequest](#services-rector-DeleteFileRequest) | [DeleteFileResponse](#services-rector-DeleteFileResponse) | @perm: Name=SuperUser | +| GetJobProps | [GetJobPropsRequest](#services-rector-GetJobPropsRequest) | [GetJobPropsResponse](#services-rector-GetJobPropsResponse) | @perm | +| SetJobProps | [SetJobPropsRequest](#services-rector-SetJobPropsRequest) | [SetJobPropsResponse](#services-rector-SetJobPropsResponse) | @perm | +| GetRoles | [GetRolesRequest](#services-rector-GetRolesRequest) | [GetRolesResponse](#services-rector-GetRolesResponse) | @perm | +| GetRole | [GetRoleRequest](#services-rector-GetRoleRequest) | [GetRoleResponse](#services-rector-GetRoleResponse) | @perm: Name=GetRoles | +| CreateRole | [CreateRoleRequest](#services-rector-CreateRoleRequest) | [CreateRoleResponse](#services-rector-CreateRoleResponse) | @perm | +| DeleteRole | [DeleteRoleRequest](#services-rector-DeleteRoleRequest) | [DeleteRoleResponse](#services-rector-DeleteRoleResponse) | @perm | +| UpdateRolePerms | [UpdateRolePermsRequest](#services-rector-UpdateRolePermsRequest) | [UpdateRolePermsResponse](#services-rector-UpdateRolePermsResponse) | @perm | +| GetPermissions | [GetPermissionsRequest](#services-rector-GetPermissionsRequest) | [GetPermissionsResponse](#services-rector-GetPermissionsResponse) | @perm: Name=GetRoles | +| ViewAuditLog | [ViewAuditLogRequest](#services-rector-ViewAuditLogRequest) | [ViewAuditLogResponse](#services-rector-ViewAuditLogResponse) | @perm | +| UpdateRoleLimits | [UpdateRoleLimitsRequest](#services-rector-UpdateRoleLimitsRequest) | [UpdateRoleLimitsResponse](#services-rector-UpdateRoleLimitsResponse) | @perm: Name=SuperUser | +| DeleteFaction | [DeleteFactionRequest](#services-rector-DeleteFactionRequest) | [DeleteFactionResponse](#services-rector-DeleteFactionResponse) | @perm: Name=SuperUser | - +

Top

-## services/rector/laws.proto +## services/calendar/calendar.proto - + -### CreateOrUpdateLawBookRequest +### CreateOrUpdateCalendarEntryRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| lawBook | [resources.laws.LawBook](#resources-laws-LawBook) | | | +| entry | [resources.calendar.CalendarEntry](#resources-calendar-CalendarEntry) | | | +| user_ids | [int32](#int32) | repeated | | - + -### CreateOrUpdateLawBookResponse +### CreateOrUpdateCalendarEntryResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| lawBook | [resources.laws.LawBook](#resources-laws-LawBook) | | | +| entry | [resources.calendar.CalendarEntry](#resources-calendar-CalendarEntry) | | | - + -### CreateOrUpdateLawRequest +### CreateOrUpdateCalendarRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| law | [resources.laws.Law](#resources-laws-Law) | | | +| calendar | [resources.calendar.Calendar](#resources-calendar-Calendar) | | | - + -### CreateOrUpdateLawResponse +### CreateOrUpdateCalendarResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| law | [resources.laws.Law](#resources-laws-Law) | | | +| calendar | [resources.calendar.Calendar](#resources-calendar-Calendar) | | | - + -### DeleteLawBookRequest +### DeleteCalendarEntryRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | | +| entry_id | [uint64](#uint64) | | | - + -### DeleteLawBookResponse +### DeleteCalendarEntryResponse @@ -12431,423 +12521,472 @@ Connect an identifier/license to the provider with the specified external id (e. - + -### DeleteLawRequest +### DeleteCalendarRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | | +| calendar_id | [uint64](#uint64) | | | - + -### DeleteLawResponse +### DeleteCalendarResponse - - + - +### GetCalendarEntryRequest - -### RectorLawsService +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| entry_id | [uint64](#uint64) | | | -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| CreateOrUpdateLawBook | [CreateOrUpdateLawBookRequest](#services-rector-CreateOrUpdateLawBookRequest) | [CreateOrUpdateLawBookResponse](#services-rector-CreateOrUpdateLawBookResponse) | @perm: Name=SuperUser | -| DeleteLawBook | [DeleteLawBookRequest](#services-rector-DeleteLawBookRequest) | [DeleteLawBookResponse](#services-rector-DeleteLawBookResponse) | @perm: Name=SuperUser | -| CreateOrUpdateLaw | [CreateOrUpdateLawRequest](#services-rector-CreateOrUpdateLawRequest) | [CreateOrUpdateLawResponse](#services-rector-CreateOrUpdateLawResponse) | @perm: Name=SuperUser | -| DeleteLaw | [DeleteLawRequest](#services-rector-DeleteLawRequest) | [DeleteLawResponse](#services-rector-DeleteLawResponse) | @perm: Name=SuperUser | - - -

Top

+ -## services/rector/rector.proto +### GetCalendarEntryResponse - +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| entry | [resources.calendar.CalendarEntry](#resources-calendar-CalendarEntry) | | | -### AttrsUpdate + + + + + + + +### GetCalendarRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| to_update | [resources.permissions.RoleAttribute](#resources-permissions-RoleAttribute) | repeated | | -| to_remove | [resources.permissions.RoleAttribute](#resources-permissions-RoleAttribute) | repeated | | +| calendar_id | [uint64](#uint64) | | | - + -### CreateRoleRequest +### GetCalendarResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| job | [string](#string) | | | -| grade | [int32](#int32) | | | +| calendar | [resources.calendar.Calendar](#resources-calendar-Calendar) | | | - + -### CreateRoleResponse +### GetUpcomingEntriesRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| role | [resources.permissions.Role](#resources-permissions-Role) | | | +| seconds | [int32](#int32) | | | - + -### DeleteFactionRequest +### GetUpcomingEntriesResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| role_id | [uint64](#uint64) | | | +| entries | [resources.calendar.CalendarEntry](#resources-calendar-CalendarEntry) | repeated | | - + -### DeleteFactionResponse +### ListCalendarEntriesRequest +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| year | [int32](#int32) | | | +| month | [int32](#int32) | | | +| calendar_ids | [uint64](#uint64) | repeated | | +| show_hidden | [bool](#bool) | optional | | +| after | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | + + - + -### DeleteRoleRequest +### ListCalendarEntriesResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | | +| entries | [resources.calendar.CalendarEntry](#resources-calendar-CalendarEntry) | repeated | | - + + +### ListCalendarEntryRSVPRequest -### DeleteRoleResponse +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| entry_id | [uint64](#uint64) | | | - -### GetJobPropsRequest + + +### ListCalendarEntryRSVPResponse + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| entries | [resources.calendar.CalendarEntryRSVP](#resources-calendar-CalendarEntryRSVP) | repeated | | - -### GetJobPropsResponse + + +### ListCalendarsRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| job_props | [resources.users.JobProps](#resources-users-JobProps) | | | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| only_public | [bool](#bool) | | | +| min_access_level | [resources.calendar.AccessLevel](#resources-calendar-AccessLevel) | optional | | +| after | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | - + -### GetPermissionsRequest +### ListCalendarsResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| role_id | [uint64](#uint64) | | | -| filtered | [bool](#bool) | optional | | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| calendars | [resources.calendar.Calendar](#resources-calendar-Calendar) | repeated | | - + -### GetPermissionsResponse +### ListSubscriptionsRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| permissions | [resources.permissions.Permission](#resources-permissions-Permission) | repeated | | -| attributes | [resources.permissions.RoleAttribute](#resources-permissions-RoleAttribute) | repeated | | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | - + -### GetRoleRequest +### ListSubscriptionsResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | | -| filtered | [bool](#bool) | optional | | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| subs | [resources.calendar.CalendarSub](#resources-calendar-CalendarSub) | repeated | | - + -### GetRoleResponse +### RSVPCalendarEntryRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| role | [resources.permissions.Role](#resources-permissions-Role) | | | +| entry | [resources.calendar.CalendarEntryRSVP](#resources-calendar-CalendarEntryRSVP) | | | +| subscribe | [bool](#bool) | | | +| remove | [bool](#bool) | optional | | - + -### GetRolesRequest +### RSVPCalendarEntryResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| lowest_rank | [bool](#bool) | optional | | +| entry | [resources.calendar.CalendarEntryRSVP](#resources-calendar-CalendarEntryRSVP) | optional | | - + -### GetRolesResponse +### ShareCalendarEntryRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| roles | [resources.permissions.Role](#resources-permissions-Role) | repeated | | +| entry_id | [uint64](#uint64) | | | +| user_ids | [int32](#int32) | repeated | | - + -### PermItem +### ShareCalendarEntryResponse + + + + + + + + + +### SubscribeToCalendarRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | | -| val | [bool](#bool) | | | +| sub | [resources.calendar.CalendarSub](#resources-calendar-CalendarSub) | | | +| delete | [bool](#bool) | | | - + -### PermsUpdate +### SubscribeToCalendarResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| to_update | [PermItem](#services-rector-PermItem) | repeated | | -| to_remove | [uint64](#uint64) | repeated | | +| sub | [resources.calendar.CalendarSub](#resources-calendar-CalendarSub) | | | + + + + + - -### SetJobPropsRequest + +### CalendarService -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| job_props | [resources.users.JobProps](#resources-users-JobProps) | | | +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| ListCalendars | [ListCalendarsRequest](#services-calendar-ListCalendarsRequest) | [ListCalendarsResponse](#services-calendar-ListCalendarsResponse) | @perm: Name=Any | +| GetCalendar | [GetCalendarRequest](#services-calendar-GetCalendarRequest) | [GetCalendarResponse](#services-calendar-GetCalendarResponse) | @perm: Name=Any | +| CreateOrUpdateCalendar | [CreateOrUpdateCalendarRequest](#services-calendar-CreateOrUpdateCalendarRequest) | [CreateOrUpdateCalendarResponse](#services-calendar-CreateOrUpdateCalendarResponse) | @perm: Attrs=Fields/StringList:[]string{"Job", "Public"} | +| DeleteCalendar | [DeleteCalendarRequest](#services-calendar-DeleteCalendarRequest) | [DeleteCalendarResponse](#services-calendar-DeleteCalendarResponse) | @perm | +| ListCalendarEntries | [ListCalendarEntriesRequest](#services-calendar-ListCalendarEntriesRequest) | [ListCalendarEntriesResponse](#services-calendar-ListCalendarEntriesResponse) | @perm: Name=Any | +| GetUpcomingEntries | [GetUpcomingEntriesRequest](#services-calendar-GetUpcomingEntriesRequest) | [GetUpcomingEntriesResponse](#services-calendar-GetUpcomingEntriesResponse) | @perm: Name=Any | +| GetCalendarEntry | [GetCalendarEntryRequest](#services-calendar-GetCalendarEntryRequest) | [GetCalendarEntryResponse](#services-calendar-GetCalendarEntryResponse) | @perm: Name=Any | +| CreateOrUpdateCalendarEntry | [CreateOrUpdateCalendarEntryRequest](#services-calendar-CreateOrUpdateCalendarEntryRequest) | [CreateOrUpdateCalendarEntryResponse](#services-calendar-CreateOrUpdateCalendarEntryResponse) | @perm | +| DeleteCalendarEntry | [DeleteCalendarEntryRequest](#services-calendar-DeleteCalendarEntryRequest) | [DeleteCalendarEntryResponse](#services-calendar-DeleteCalendarEntryResponse) | @perm | +| ShareCalendarEntry | [ShareCalendarEntryRequest](#services-calendar-ShareCalendarEntryRequest) | [ShareCalendarEntryResponse](#services-calendar-ShareCalendarEntryResponse) | @perm: Name=CreateOrUpdateCalendarEntry | +| ListCalendarEntryRSVP | [ListCalendarEntryRSVPRequest](#services-calendar-ListCalendarEntryRSVPRequest) | [ListCalendarEntryRSVPResponse](#services-calendar-ListCalendarEntryRSVPResponse) | @perm: Name=Any | +| RSVPCalendarEntry | [RSVPCalendarEntryRequest](#services-calendar-RSVPCalendarEntryRequest) | [RSVPCalendarEntryResponse](#services-calendar-RSVPCalendarEntryResponse) | @perm: Name=Any | +| ListSubscriptions | [ListSubscriptionsRequest](#services-calendar-ListSubscriptionsRequest) | [ListSubscriptionsResponse](#services-calendar-ListSubscriptionsResponse) | @perm: Name=Any | +| SubscribeToCalendar | [SubscribeToCalendarRequest](#services-calendar-SubscribeToCalendarRequest) | [SubscribeToCalendarResponse](#services-calendar-SubscribeToCalendarResponse) | @perm: Name=Any | + + +

Top

+## services/stats/stats.proto - -### SetJobPropsResponse + +### GetStatsRequest -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| job_props | [resources.users.JobProps](#resources-users-JobProps) | | | - + -### UpdateRoleLimitsRequest +### GetStatsResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| role_id | [uint64](#uint64) | | | -| perms | [PermsUpdate](#services-rector-PermsUpdate) | optional | | -| attrs | [AttrsUpdate](#services-rector-AttrsUpdate) | optional | | - - +| stats | [GetStatsResponse.StatsEntry](#services-stats-GetStatsResponse-StatsEntry) | repeated | | - -### UpdateRoleLimitsResponse + +### GetStatsResponse.StatsEntry +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| key | [string](#string) | | | +| value | [resources.stats.Stat](#resources-stats-Stat) | | | - -### UpdateRolePermsRequest + -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | | -| perms | [PermsUpdate](#services-rector-PermsUpdate) | optional | | -| attrs | [AttrsUpdate](#services-rector-AttrsUpdate) | optional | | + + + +### StatsService - +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| GetStats | [GetStatsRequest](#services-stats-GetStatsRequest) | [GetStatsResponse](#services-stats-GetStatsResponse) | | -### UpdateRolePermsResponse + + +

Top

+## services/internet/ads.proto - + -### ViewAuditLogRequest +### GetAdsRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | -| sort | [resources.common.database.Sort](#resources-common-database-Sort) | optional | | -| user_ids | [int32](#int32) | repeated | Search params | -| from | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| to | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | -| services | [string](#string) | repeated | @sanitize: method=StripTags | -| methods | [string](#string) | repeated | @sanitize: method=StripTags | -| search | [string](#string) | optional | | +| ad_type | [resources.internet.AdType](#resources-internet-AdType) | | | +| count | [int32](#int32) | | | - + -### ViewAuditLogResponse +### GetAdsResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | -| logs | [resources.rector.AuditEntry](#resources-rector-AuditEntry) | repeated | | +| ads | [resources.internet.Ad](#resources-internet-Ad) | repeated | | @@ -12860,71 +12999,81 @@ Connect an identifier/license to the provider with the specified external id (e. - + -### RectorService +### AdsService | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| -| GetJobProps | [GetJobPropsRequest](#services-rector-GetJobPropsRequest) | [GetJobPropsResponse](#services-rector-GetJobPropsResponse) | @perm | -| SetJobProps | [SetJobPropsRequest](#services-rector-SetJobPropsRequest) | [SetJobPropsResponse](#services-rector-SetJobPropsResponse) | @perm | -| GetRoles | [GetRolesRequest](#services-rector-GetRolesRequest) | [GetRolesResponse](#services-rector-GetRolesResponse) | @perm | -| GetRole | [GetRoleRequest](#services-rector-GetRoleRequest) | [GetRoleResponse](#services-rector-GetRoleResponse) | @perm: Name=GetRoles | -| CreateRole | [CreateRoleRequest](#services-rector-CreateRoleRequest) | [CreateRoleResponse](#services-rector-CreateRoleResponse) | @perm | -| DeleteRole | [DeleteRoleRequest](#services-rector-DeleteRoleRequest) | [DeleteRoleResponse](#services-rector-DeleteRoleResponse) | @perm | -| UpdateRolePerms | [UpdateRolePermsRequest](#services-rector-UpdateRolePermsRequest) | [UpdateRolePermsResponse](#services-rector-UpdateRolePermsResponse) | @perm | -| GetPermissions | [GetPermissionsRequest](#services-rector-GetPermissionsRequest) | [GetPermissionsResponse](#services-rector-GetPermissionsResponse) | @perm: Name=GetRoles | -| ViewAuditLog | [ViewAuditLogRequest](#services-rector-ViewAuditLogRequest) | [ViewAuditLogResponse](#services-rector-ViewAuditLogResponse) | @perm | -| UpdateRoleLimits | [UpdateRoleLimitsRequest](#services-rector-UpdateRoleLimitsRequest) | [UpdateRoleLimitsResponse](#services-rector-UpdateRoleLimitsResponse) | @perm: Name=SuperUser | -| DeleteFaction | [DeleteFactionRequest](#services-rector-DeleteFactionRequest) | [DeleteFactionResponse](#services-rector-DeleteFactionResponse) | @perm: Name=SuperUser | +| GetAds | [GetAdsRequest](#services-internet-GetAdsRequest) | [GetAdsResponse](#services-internet-GetAdsResponse) | @perm: Name=Any | - +

Top

-## services/stats/stats.proto +## services/internet/internet.proto - + -### GetStatsRequest +### GetPageRequest +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| domain | [string](#string) | | | +| path | [string](#string) | | | - -### GetStatsResponse + + + +### GetPageResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| stats | [GetStatsResponse.StatsEntry](#services-stats-GetStatsResponse-StatsEntry) | repeated | | +| page | [resources.internet.Page](#resources-internet-Page) | optional | | - + -### GetStatsResponse.StatsEntry +### SearchRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| key | [string](#string) | | | -| value | [resources.stats.Stat](#resources-stats-Stat) | | | +| search | [string](#string) | | | + + + + + + + + +### SearchResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| results | [resources.internet.SearchResult](#resources-internet-SearchResult) | repeated | | @@ -12937,202 +13086,198 @@ Connect an identifier/license to the provider with the specified external id (e. - + -### StatsService +### InternetService | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| -| GetStats | [GetStatsRequest](#services-stats-GetStatsRequest) | [GetStatsResponse](#services-stats-GetStatsResponse) | | +| Search | [SearchRequest](#services-internet-SearchRequest) | [SearchResponse](#services-internet-SearchResponse) | @perm: Name=Any | +| GetPage | [GetPageRequest](#services-internet-GetPageRequest) | [GetPageResponse](#services-internet-GetPageResponse) | @perm: Name=Any | - +

Top

-## services/wiki/wiki.proto +## services/internet/domain.proto - + -### CreatePageRequest +### CheckDomainAvailabilityRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| page | [resources.wiki.Page](#resources-wiki-Page) | | | +| name | [string](#string) | | @sanitize: method=StripTags | - + -### CreatePageResponse +### CheckDomainAvailabilityResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| page | [resources.wiki.Page](#resources-wiki-Page) | | | +| available | [bool](#bool) | | | - + -### DeletePageRequest +### ListDomainsRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | - + -### DeletePageResponse +### ListDomainsResponse +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| domains | [resources.internet.Domain](#resources-internet-Domain) | repeated | | - -### GetPageRequest + + + +### ListTLDsRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| id | [uint64](#uint64) | | | +| internal | [bool](#bool) | optional | | - + -### GetPageResponse +### ListTLDsResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| page | [resources.wiki.Page](#resources-wiki-Page) | | | +| tlds | [resources.internet.TLD](#resources-internet-TLD) | repeated | | - + -### ListPageActivityRequest +### RegisterDomainRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | -| page_id | [uint64](#uint64) | | | +| name | [string](#string) | | @sanitize: method=StripTags | - + -### ListPageActivityResponse +### RegisterDomainResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | -| activity | [resources.wiki.PageActivity](#resources-wiki-PageActivity) | repeated | | +| domain | [resources.internet.Domain](#resources-internet-Domain) | | | - + -### ListPagesRequest +### TransferDomainRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | -| sort | [resources.common.database.Sort](#resources-common-database-Sort) | optional | | -| job | [string](#string) | optional | Search params | -| root_only | [bool](#bool) | optional | | -| search | [string](#string) | optional | | - - +| domain_id | [uint64](#uint64) | | | +| accept | [bool](#bool) | optional | | - -### ListPagesResponse + +### TransferDomainResponse -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | -| pages | [resources.wiki.PageShort](#resources-wiki-PageShort) | repeated | | - + -### UpdatePageRequest +### UpdateDomainRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| page | [resources.wiki.Page](#resources-wiki-Page) | | | +| domain | [resources.internet.Domain](#resources-internet-Domain) | | | - + -### UpdatePageResponse +### UpdateDomainResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| page | [resources.wiki.Page](#resources-wiki-Page) | | | +| domain | [resources.internet.Domain](#resources-internet-Domain) | | | @@ -13145,19 +13290,19 @@ Connect an identifier/license to the provider with the specified external id (e. - + -### WikiService +### DomainService | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| -| ListPages | [ListPagesRequest](#services-wiki-ListPagesRequest) | [ListPagesResponse](#services-wiki-ListPagesResponse) | @perm | -| GetPage | [GetPageRequest](#services-wiki-GetPageRequest) | [GetPageResponse](#services-wiki-GetPageResponse) | @perm: Name=ListPages | -| CreatePage | [CreatePageRequest](#services-wiki-CreatePageRequest) | [CreatePageResponse](#services-wiki-CreatePageResponse) | @perm: Attrs=Fields/StringList:[]string{"Public"} | -| UpdatePage | [UpdatePageRequest](#services-wiki-UpdatePageRequest) | [UpdatePageResponse](#services-wiki-UpdatePageResponse) | @perm | -| DeletePage | [DeletePageRequest](#services-wiki-DeletePageRequest) | [DeletePageResponse](#services-wiki-DeletePageResponse) | @perm | -| ListPageActivity | [ListPageActivityRequest](#services-wiki-ListPageActivityRequest) | [ListPageActivityResponse](#services-wiki-ListPageActivityResponse) | @perm | +| ListTLDs | [ListTLDsRequest](#services-internet-ListTLDsRequest) | [ListTLDsResponse](#services-internet-ListTLDsResponse) | @perm: Name=Any | +| CheckDomainAvailability | [CheckDomainAvailabilityRequest](#services-internet-CheckDomainAvailabilityRequest) | [CheckDomainAvailabilityResponse](#services-internet-CheckDomainAvailabilityResponse) | @perm: Name=Any | +| ListDomains | [ListDomainsRequest](#services-internet-ListDomainsRequest) | [ListDomainsResponse](#services-internet-ListDomainsResponse) | @perm: Name=Any | +| RegisterDomain | [RegisterDomainRequest](#services-internet-RegisterDomainRequest) | [RegisterDomainResponse](#services-internet-RegisterDomainResponse) | @perm: Name=Any | +| UpdateDomain | [UpdateDomainRequest](#services-internet-UpdateDomainRequest) | [UpdateDomainResponse](#services-internet-UpdateDomainResponse) | @perm: Name=Any | +| TransferDomain | [TransferDomainRequest](#services-internet-TransferDomainRequest) | [TransferDomainResponse](#services-internet-TransferDomainResponse) | @perm: Name=Any | @@ -13844,333 +13989,189 @@ Connect an identifier/license to the provider with the specified external id (e. - -

Top

- -## services/internet/ads.proto - - - - - -### GetAdsRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| ad_type | [resources.internet.AdType](#resources-internet-AdType) | | | -| count | [int32](#int32) | | | - - - - - - - - -### GetAdsResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| ads | [resources.internet.Ad](#resources-internet-Ad) | repeated | | - - - - - - - - - - - - - - -### AdsService - - -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| GetAds | [GetAdsRequest](#services-internet-GetAdsRequest) | [GetAdsResponse](#services-internet-GetAdsResponse) | @perm: Name=Any | - - - - - - +

Top

-## services/internet/domain.proto - - - - - -### CheckDomainAvailabilityRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | @sanitize: method=StripTags | - - - - - - - - -### CheckDomainAvailabilityResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| available | [bool](#bool) | | | - - - - - - - - -### ListDomainsRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | - - - +## services/wiki/wiki.proto - + -### ListDomainsResponse +### CreatePageRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | -| domains | [resources.internet.Domain](#resources-internet-Domain) | repeated | | +| page | [resources.wiki.Page](#resources-wiki-Page) | | | - + -### ListTLDsRequest +### CreatePageResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| internal | [bool](#bool) | optional | | +| page | [resources.wiki.Page](#resources-wiki-Page) | | | - + -### ListTLDsResponse +### DeletePageRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| tlds | [resources.internet.TLD](#resources-internet-TLD) | repeated | | - - +| id | [uint64](#uint64) | | | - -### RegisterDomainRequest + +### DeletePageResponse -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | @sanitize: method=StripTags | - + -### RegisterDomainResponse +### GetPageRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| domain | [resources.internet.Domain](#resources-internet-Domain) | | | +| id | [uint64](#uint64) | | | - + -### TransferDomainRequest +### GetPageResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| domain_id | [uint64](#uint64) | | | -| accept | [bool](#bool) | optional | | - - - - - - - - -### TransferDomainResponse - +| page | [resources.wiki.Page](#resources-wiki-Page) | | | - + -### UpdateDomainRequest +### ListPageActivityRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| domain | [resources.internet.Domain](#resources-internet-Domain) | | | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| page_id | [uint64](#uint64) | | | - + -### UpdateDomainResponse +### ListPageActivityResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| domain | [resources.internet.Domain](#resources-internet-Domain) | | | - - - - - - - - - - - - - - -### DomainService - - -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| ListTLDs | [ListTLDsRequest](#services-internet-ListTLDsRequest) | [ListTLDsResponse](#services-internet-ListTLDsResponse) | @perm: Name=Any | -| CheckDomainAvailability | [CheckDomainAvailabilityRequest](#services-internet-CheckDomainAvailabilityRequest) | [CheckDomainAvailabilityResponse](#services-internet-CheckDomainAvailabilityResponse) | @perm: Name=Any | -| ListDomains | [ListDomainsRequest](#services-internet-ListDomainsRequest) | [ListDomainsResponse](#services-internet-ListDomainsResponse) | @perm: Name=Any | -| RegisterDomain | [RegisterDomainRequest](#services-internet-RegisterDomainRequest) | [RegisterDomainResponse](#services-internet-RegisterDomainResponse) | @perm: Name=Any | -| UpdateDomain | [UpdateDomainRequest](#services-internet-UpdateDomainRequest) | [UpdateDomainResponse](#services-internet-UpdateDomainResponse) | @perm: Name=Any | -| TransferDomain | [TransferDomainRequest](#services-internet-TransferDomainRequest) | [TransferDomainResponse](#services-internet-TransferDomainResponse) | @perm: Name=Any | - - - +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| activity | [resources.wiki.PageActivity](#resources-wiki-PageActivity) | repeated | | - -

Top

-## services/internet/internet.proto - + -### GetPageRequest +### ListPagesRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| domain | [string](#string) | | | -| path | [string](#string) | | | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| sort | [resources.common.database.Sort](#resources-common-database-Sort) | optional | | +| job | [string](#string) | optional | Search params | +| root_only | [bool](#bool) | optional | | +| search | [string](#string) | optional | | - + -### GetPageResponse +### ListPagesResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| page | [resources.internet.Page](#resources-internet-Page) | optional | | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| pages | [resources.wiki.PageShort](#resources-wiki-PageShort) | repeated | | - + -### SearchRequest +### UpdatePageRequest | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| search | [string](#string) | | | +| page | [resources.wiki.Page](#resources-wiki-Page) | | | - + -### SearchResponse +### UpdatePageResponse | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| results | [resources.internet.SearchResult](#resources-internet-SearchResult) | repeated | | +| page | [resources.wiki.Page](#resources-wiki-Page) | | | @@ -14183,15 +14184,19 @@ Connect an identifier/license to the provider with the specified external id (e. - + -### InternetService +### WikiService | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| -| Search | [SearchRequest](#services-internet-SearchRequest) | [SearchResponse](#services-internet-SearchResponse) | @perm: Name=Any | -| GetPage | [GetPageRequest](#services-internet-GetPageRequest) | [GetPageResponse](#services-internet-GetPageResponse) | @perm: Name=Any | +| ListPages | [ListPagesRequest](#services-wiki-ListPagesRequest) | [ListPagesResponse](#services-wiki-ListPagesResponse) | @perm | +| GetPage | [GetPageRequest](#services-wiki-GetPageRequest) | [GetPageResponse](#services-wiki-GetPageResponse) | @perm: Name=ListPages | +| CreatePage | [CreatePageRequest](#services-wiki-CreatePageRequest) | [CreatePageResponse](#services-wiki-CreatePageResponse) | @perm: Attrs=Fields/StringList:[]string{"Public"} | +| UpdatePage | [UpdatePageRequest](#services-wiki-UpdatePageRequest) | [UpdatePageResponse](#services-wiki-UpdatePageResponse) | @perm | +| DeletePage | [DeletePageRequest](#services-wiki-DeletePageRequest) | [DeletePageResponse](#services-wiki-DeletePageResponse) | @perm | +| ListPageActivity | [ListPageActivityRequest](#services-wiki-ListPageActivityRequest) | [ListPageActivityResponse](#services-wiki-ListPageActivityResponse) | @perm | diff --git a/gen/ts/resources/users/job_settings.ts b/gen/ts/resources/users/job_settings.ts index 47ffd81dc..66d1ba4ec 100644 --- a/gen/ts/resources/users/job_settings.ts +++ b/gen/ts/resources/users/job_settings.ts @@ -161,6 +161,10 @@ export interface GroupSyncSettings { * @generated from protobuf message resources.users.JobSettings */ export interface JobSettings { + /** + * @generated from protobuf field: int32 absence_past_days = 1; + */ + absencePastDays: number; } /** * @generated from protobuf enum resources.users.UserInfoSyncUnemployedMode @@ -697,18 +701,40 @@ export const GroupSyncSettings = new GroupSyncSettings$Type(); // @generated message type with reflection information, may provide speed optimized methods class JobSettings$Type extends MessageType { constructor() { - super("resources.users.JobSettings", []); + super("resources.users.JobSettings", [ + { no: 1, name: "absence_past_days", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { int32: { gte: 0 } } } } + ]); } create(value?: PartialMessage): JobSettings { const message = globalThis.Object.create((this.messagePrototype!)); + message.absencePastDays = 0; if (value !== undefined) reflectionMergePartial(this, message, value); return message; } internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: JobSettings): JobSettings { - return target ?? this.create(); + let message = target ?? this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* int32 absence_past_days */ 1: + message.absencePastDays = reader.int32(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; } internalBinaryWrite(message: JobSettings, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { + /* int32 absence_past_days = 1; */ + if (message.absencePastDays !== 0) + writer.tag(1, WireType.Varint).int32(message.absencePastDays); let u = options.writeUnknownFields; if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); diff --git a/i18n/locales/de/de.json b/i18n/locales/de/de.json index 54b65d790..33693c7b1 100644 --- a/i18n/locales/de/de.json +++ b/i18n/locales/de/de.json @@ -2481,7 +2481,8 @@ "ErrPropsAbsenceDenied": "Sie haben keine Berechtigung die Abwesenheit des Kollegen einzutragen!", "ErrNotFoundOrNoPerms": "Kollege nicht gefunden!", "ErrPropsLabelsDenied": "Sie haben keine Berechtigung die Labels des Kollegen zusetzen!", - "ErrPropsNameDenied": "Sie haben keine Berechtigung den Namen des Kollegen zusetzen!" + "ErrPropsNameDenied": "Sie haben keine Berechtigung den Namen des Kollegen zusetzen!", + "ErrTimeclockOutOfRange": "In der Stempeluhr sind nur die letzten 6 Monate abrufbar!" }, "QualificationsService": { "ErrFailedQuery": "Fehler beim Laden der Qualifizierungsdaten!", diff --git a/i18n/locales/en/en.json b/i18n/locales/en/en.json index d6b5d36c0..45931201d 100644 --- a/i18n/locales/en/en.json +++ b/i18n/locales/en/en.json @@ -2481,7 +2481,8 @@ "ErrPropsAbsenceDenied": "You are not allowed to set your colleague's absence!", "ErrNotFoundOrNoPerms": "Colleague not found!", "ErrPropsLabelsDenied": "You are not allowed to set your colleague's labels!", - "ErrPropsNameDenied": "You are not allowed to set your colleague's name!" + "ErrPropsNameDenied": "You are not allowed to set your colleague's name!", + "ErrTimeclockOutOfRange": "Only the last 6 months are available to view in the timeclock!" }, "QualificationsService": { "ErrFailedQuery": "Failed to get qualifcation data!", diff --git a/proto/resources/users/job_settings.proto b/proto/resources/users/job_settings.proto index 09e25f90c..e26417088 100644 --- a/proto/resources/users/job_settings.proto +++ b/proto/resources/users/job_settings.proto @@ -72,4 +72,6 @@ message GroupSyncSettings { repeated string ignored_role_ids = 1 [(validate.rules).repeated = { items { string { max_len: 24 } }, max_items: 25 }]; } -message JobSettings {} +message JobSettings { + int32 absence_past_days = 1 [(validate.rules).int32.gte = 0]; +} diff --git a/services/jobs/errors/errors.go b/services/jobs/errors/errors.go index 6f266ed2b..e37225e5a 100644 --- a/services/jobs/errors/errors.go +++ b/services/jobs/errors/errors.go @@ -13,4 +13,6 @@ var ( ErrPropsNameDenied = common.I18nErr(codes.PermissionDenied, &common.TranslateItem{Key: "errors.JobsService.ErrPropsNameDenied"}, nil) ErrReasonRequired = common.I18nErr(codes.InvalidArgument, &common.TranslateItem{Key: "errors.JobsService.ErrReasonRequired"}, nil) ErrNotFoundOrNoPerms = common.I18nErr(codes.InvalidArgument, &common.TranslateItem{Key: "errors.JobsService.ErrNotFoundOrNoPerms"}, nil) + + ErrTimeclockOutOfRange = common.I18nErr(codes.InvalidArgument, &common.TranslateItem{Key: "errors.JobsService.ErrTimeclockOutOfRange"}, nil) ) diff --git a/services/jobs/timeclock.go b/services/jobs/timeclock.go index 4d0cf9f9f..ff12d559b 100644 --- a/services/jobs/timeclock.go +++ b/services/jobs/timeclock.go @@ -5,6 +5,7 @@ import ( "errors" "math" "slices" + "time" database "github.com/fivenet-app/fivenet/gen/go/proto/resources/common/database" jobs "github.com/fivenet-app/fivenet/gen/go/proto/resources/jobs" @@ -25,6 +26,8 @@ import ( "go.opentelemetry.io/otel/trace" ) +const TimeclockMaxDays = (365 / 2) * 24 * time.Hour // Half a year + var tTimeClock = table.FivenetJobsTimeclock.AS("timeclock_entry") func init() { @@ -107,7 +110,14 @@ func (s *Server) ListTimeclock(ctx context.Context, req *pbjobs.ListTimeclockReq } } - // TODO make sure the date start and end aren't more than 6 months apart from each other + // Make sure the provided dates are not "out of range" + now := time.Now() + if req.Date.Start != nil && now.Sub(req.Date.Start.AsTime()) >= TimeclockMaxDays { + return nil, errorsjobs.ErrTimeclockOutOfRange + } + if req.Date.End != nil && now.Sub(req.Date.End.AsTime()) >= TimeclockMaxDays { + return nil, errorsjobs.ErrTimeclockOutOfRange + } } var countStmt jet.SelectStatement