From 292f740d5ad413a41b5e2561a9251ac974da7d45 Mon Sep 17 00:00:00 2001 From: Bastian Rihm Date: Wed, 14 Feb 2024 14:32:52 +0100 Subject: [PATCH 1/3] Add motion restriction mode for `is_internal` (#847) --- internal/restrict/collection/motion.go | 36 + internal/restrict/collection/motion_test.go | 49 + internal/restrict/field_def.go | 4 +- meta | 2 +- pkg/datastore/dsfetch/fields_generated.go | 4 +- pkg/datastore/dskey/gen_collection_fields.go | 971 ++++++++++--------- 6 files changed, 577 insertions(+), 489 deletions(-) diff --git a/internal/restrict/collection/motion.go b/internal/restrict/collection/motion.go index ef1c702a..74845751 100644 --- a/internal/restrict/collection/motion.go +++ b/internal/restrict/collection/motion.go @@ -27,6 +27,8 @@ import ( // Mode C: The user can see the motion. // // Mode D: Never published to any user. +// +// Mode E: If the motion states is_internal is true the user needs the permission motion.can_manage_metadata otherwise same as Mode C type Motion struct{} // Name returns the collection name. @@ -55,6 +57,8 @@ func (m Motion) Modes(mode string) FieldRestricter { return m.see case "D": return never + case "E": + return m.modeE } return nil } @@ -297,3 +301,35 @@ func (m Motion) modeA(ctx context.Context, ds *dsfetch.Fetch, motionIDs ...int) return append(allowed, allowed2...), nil } + +func (m Motion) modeE(ctx context.Context, ds *dsfetch.Fetch, motionIDs ...int) ([]int, error) { + allowed, err := m.see(ctx, ds, motionIDs...) + if err != nil { + return nil, fmt.Errorf("see motion: %w", err) + } + + return eachMeeting(ctx, ds, m, allowed, func(meetingID int, ids []int) ([]int, error) { + perms, err := perm.FromContext(ctx, meetingID) + if err != nil { + return nil, fmt.Errorf("getting permissions: %w", err) + } + + if perms.Has(perm.MotionCanManageMetadata) { + return ids, nil + } + + return eachCondition(ids, func(motionID int) (bool, error) { + motionStateID, err := ds.Motion_StateID(motionID).Value(ctx) + if err != nil { + return false, fmt.Errorf("getting motionStateID: %w", err) + } + + isInternal, err := ds.MotionState_IsInternal(motionStateID).Value(ctx) + if err != nil { + return false, fmt.Errorf("getting motion state isInternal: %w", err) + } + + return !isInternal, nil + }) + }) +} diff --git a/internal/restrict/collection/motion_test.go b/internal/restrict/collection/motion_test.go index 75ed038a..fa46c3fe 100644 --- a/internal/restrict/collection/motion_test.go +++ b/internal/restrict/collection/motion_test.go @@ -519,3 +519,52 @@ func TestMotionModeD(t *testing.T) { `motion/1/id: 1`, ) } + +func TestMotionModeE(t *testing.T) { + f := collection.Motion{}.Modes("E") + + testCase( + "no permissions", + t, + f, + false, + `--- + motion/1: + meeting_id: 30 + state_id: 3 + + motion_state/3/is_internal: true + `, + withPerms(30, perm.MotionCanSee), + ) + + testCase( + "is_internal false", + t, + f, + true, + `--- + motion/1: + meeting_id: 30 + state_id: 3 + + motion_state/3/is_internal: false + `, + withPerms(30, perm.MotionCanSee), + ) + + testCase( + "motion.can_manage_metadata", + t, + f, + true, + `--- + motion/1: + meeting_id: 30 + state_id: 3 + + motion_state/3/is_internal: true + `, + withPerms(30, perm.MotionCanManageMetadata), + ) +} diff --git a/internal/restrict/field_def.go b/internal/restrict/field_def.go index 1946cfae..72492fe6 100644 --- a/internal/restrict/field_def.go +++ b/internal/restrict/field_def.go @@ -802,7 +802,6 @@ var restrictionModes = map[string]string{ "motion/reason": "C", "motion/recommendation_extension": "C", "motion/recommendation_extension_reference_ids": "C", - "motion/recommendation_id": "C", "motion/referenced_in_motion_recommendation_extension_ids": "C", "motion/referenced_in_motion_state_extension_ids": "C", "motion/sequential_number": "C", @@ -821,6 +820,7 @@ var restrictionModes = map[string]string{ "motion/title": "C", "motion/workflow_timestamp": "C", "motion/number_value": "D", + "motion/recommendation_id": "E", // motion_block "motion_block/agenda_item_id": "A", @@ -884,7 +884,7 @@ var restrictionModes = map[string]string{ "motion_state/css_class": "A", "motion_state/first_state_of_workflow_id": "A", "motion_state/id": "A", - "motion_state/is_internal_recommendation": "A", + "motion_state/is_internal": "A", "motion_state/meeting_id": "A", "motion_state/merge_amendment_into_final": "A", "motion_state/motion_ids": "A", diff --git a/meta b/meta index 734d089e..542530ef 160000 --- a/meta +++ b/meta @@ -1 +1 @@ -Subproject commit 734d089efae58d2dbc236089c2f50fdccb799d2a +Subproject commit 542530ef27c0039cd93e4d075988b4889481056a diff --git a/pkg/datastore/dsfetch/fields_generated.go b/pkg/datastore/dsfetch/fields_generated.go index ee8d8ee9..5a0e3d3c 100644 --- a/pkg/datastore/dsfetch/fields_generated.go +++ b/pkg/datastore/dsfetch/fields_generated.go @@ -4532,8 +4532,8 @@ func (r *Fetch) MotionState_ID(motionStateID int) *ValueInt { return &ValueInt{fetch: r, key: key} } -func (r *Fetch) MotionState_IsInternalRecommendation(motionStateID int) *ValueBool { - key, err := dskey.FromParts("motion_state", motionStateID, "is_internal_recommendation") +func (r *Fetch) MotionState_IsInternal(motionStateID int) *ValueBool { + key, err := dskey.FromParts("motion_state", motionStateID, "is_internal") if err != nil { return &ValueBool{err: err} } diff --git a/pkg/datastore/dskey/gen_collection_fields.go b/pkg/datastore/dskey/gen_collection_fields.go index bfd448cc..04476937 100644 --- a/pkg/datastore/dskey/gen_collection_fields.go +++ b/pkg/datastore/dskey/gen_collection_fields.go @@ -407,6 +407,7 @@ var collectionFields = [...]collectionField{ {"motion", "B"}, {"motion", "C"}, {"motion", "D"}, + {"motion", "E"}, {"motion", "agenda_item_id"}, {"motion", "all_derived_motion_ids"}, {"motion", "all_origin_ids"}, @@ -515,7 +516,7 @@ var collectionFields = [...]collectionField{ {"motion_state", "css_class"}, {"motion_state", "first_state_of_workflow_id"}, {"motion_state", "id"}, - {"motion_state", "is_internal_recommendation"}, + {"motion_state", "is_internal"}, {"motion_state", "meeting_id"}, {"motion_state", "merge_amendment_into_final"}, {"motion_state", "motion_ids"}, @@ -1702,972 +1703,974 @@ func collectionFieldToID(cf string) int { return 403 case "motion/D": return 404 - case "motion/agenda_item_id": + case "motion/E": return 405 - case "motion/all_derived_motion_ids": + case "motion/agenda_item_id": return 406 - case "motion/all_origin_ids": + case "motion/all_derived_motion_ids": return 407 - case "motion/amendment_ids": + case "motion/all_origin_ids": return 408 - case "motion/amendment_paragraphs": + case "motion/amendment_ids": return 409 - case "motion/attachment_ids": + case "motion/amendment_paragraphs": return 410 - case "motion/block_id": + case "motion/attachment_ids": return 411 - case "motion/category_id": + case "motion/block_id": return 412 - case "motion/category_weight": + case "motion/category_id": return 413 - case "motion/change_recommendation_ids": + case "motion/category_weight": return 414 - case "motion/comment_ids": + case "motion/change_recommendation_ids": return 415 - case "motion/created": + case "motion/comment_ids": return 416 - case "motion/derived_motion_ids": + case "motion/created": return 417 - case "motion/editor_id": + case "motion/derived_motion_ids": return 418 - case "motion/forwarded": + case "motion/editor_id": return 419 - case "motion/id": + case "motion/forwarded": return 420 - case "motion/last_modified": + case "motion/id": return 421 - case "motion/lead_motion_id": + case "motion/last_modified": return 422 - case "motion/list_of_speakers_id": + case "motion/lead_motion_id": return 423 - case "motion/meeting_id": + case "motion/list_of_speakers_id": return 424 - case "motion/modified_final_version": + case "motion/meeting_id": return 425 - case "motion/number": + case "motion/modified_final_version": return 426 - case "motion/number_value": + case "motion/number": return 427 - case "motion/option_ids": + case "motion/number_value": return 428 - case "motion/origin_id": + case "motion/option_ids": return 429 - case "motion/origin_meeting_id": + case "motion/origin_id": return 430 - case "motion/personal_note_ids": + case "motion/origin_meeting_id": return 431 - case "motion/poll_ids": + case "motion/personal_note_ids": return 432 - case "motion/projection_ids": + case "motion/poll_ids": return 433 - case "motion/reason": + case "motion/projection_ids": return 434 - case "motion/recommendation_extension": + case "motion/reason": return 435 - case "motion/recommendation_extension_reference_ids": + case "motion/recommendation_extension": return 436 - case "motion/recommendation_id": + case "motion/recommendation_extension_reference_ids": return 437 - case "motion/referenced_in_motion_recommendation_extension_ids": + case "motion/recommendation_id": return 438 - case "motion/referenced_in_motion_state_extension_ids": + case "motion/referenced_in_motion_recommendation_extension_ids": return 439 - case "motion/sequential_number": + case "motion/referenced_in_motion_state_extension_ids": return 440 - case "motion/sort_child_ids": + case "motion/sequential_number": return 441 - case "motion/sort_parent_id": + case "motion/sort_child_ids": return 442 - case "motion/sort_weight": + case "motion/sort_parent_id": return 443 - case "motion/start_line_number": + case "motion/sort_weight": return 444 - case "motion/state_extension": + case "motion/start_line_number": return 445 - case "motion/state_extension_reference_ids": + case "motion/state_extension": return 446 - case "motion/state_id": + case "motion/state_extension_reference_ids": return 447 - case "motion/statute_paragraph_id": + case "motion/state_id": return 448 - case "motion/submitter_ids": + case "motion/statute_paragraph_id": return 449 - case "motion/supporter_meeting_user_ids": + case "motion/submitter_ids": return 450 - case "motion/tag_ids": + case "motion/supporter_meeting_user_ids": return 451 - case "motion/text": + case "motion/tag_ids": return 452 - case "motion/title": + case "motion/text": return 453 - case "motion/workflow_timestamp": + case "motion/title": return 454 - case "motion/working_group_speaker_id": + case "motion/workflow_timestamp": return 455 - case "motion_block/A": + case "motion/working_group_speaker_id": return 456 - case "motion_block/agenda_item_id": + case "motion_block/A": return 457 - case "motion_block/id": + case "motion_block/agenda_item_id": return 458 - case "motion_block/internal": + case "motion_block/id": return 459 - case "motion_block/list_of_speakers_id": + case "motion_block/internal": return 460 - case "motion_block/meeting_id": + case "motion_block/list_of_speakers_id": return 461 - case "motion_block/motion_ids": + case "motion_block/meeting_id": return 462 - case "motion_block/projection_ids": + case "motion_block/motion_ids": return 463 - case "motion_block/sequential_number": + case "motion_block/projection_ids": return 464 - case "motion_block/title": + case "motion_block/sequential_number": return 465 - case "motion_category/A": + case "motion_block/title": return 466 - case "motion_category/child_ids": + case "motion_category/A": return 467 - case "motion_category/id": + case "motion_category/child_ids": return 468 - case "motion_category/level": + case "motion_category/id": return 469 - case "motion_category/meeting_id": + case "motion_category/level": return 470 - case "motion_category/motion_ids": + case "motion_category/meeting_id": return 471 - case "motion_category/name": + case "motion_category/motion_ids": return 472 - case "motion_category/parent_id": + case "motion_category/name": return 473 - case "motion_category/prefix": + case "motion_category/parent_id": return 474 - case "motion_category/sequential_number": + case "motion_category/prefix": return 475 - case "motion_category/weight": + case "motion_category/sequential_number": return 476 - case "motion_change_recommendation/A": + case "motion_category/weight": return 477 - case "motion_change_recommendation/creation_time": + case "motion_change_recommendation/A": return 478 - case "motion_change_recommendation/id": + case "motion_change_recommendation/creation_time": return 479 - case "motion_change_recommendation/internal": + case "motion_change_recommendation/id": return 480 - case "motion_change_recommendation/line_from": + case "motion_change_recommendation/internal": return 481 - case "motion_change_recommendation/line_to": + case "motion_change_recommendation/line_from": return 482 - case "motion_change_recommendation/meeting_id": + case "motion_change_recommendation/line_to": return 483 - case "motion_change_recommendation/motion_id": + case "motion_change_recommendation/meeting_id": return 484 - case "motion_change_recommendation/other_description": + case "motion_change_recommendation/motion_id": return 485 - case "motion_change_recommendation/rejected": + case "motion_change_recommendation/other_description": return 486 - case "motion_change_recommendation/text": + case "motion_change_recommendation/rejected": return 487 - case "motion_change_recommendation/type": + case "motion_change_recommendation/text": return 488 - case "motion_comment/A": + case "motion_change_recommendation/type": return 489 - case "motion_comment/comment": + case "motion_comment/A": return 490 - case "motion_comment/id": + case "motion_comment/comment": return 491 - case "motion_comment/meeting_id": + case "motion_comment/id": return 492 - case "motion_comment/motion_id": + case "motion_comment/meeting_id": return 493 - case "motion_comment/section_id": + case "motion_comment/motion_id": return 494 - case "motion_comment_section/A": + case "motion_comment/section_id": return 495 - case "motion_comment_section/comment_ids": + case "motion_comment_section/A": return 496 - case "motion_comment_section/id": + case "motion_comment_section/comment_ids": return 497 - case "motion_comment_section/meeting_id": + case "motion_comment_section/id": return 498 - case "motion_comment_section/name": + case "motion_comment_section/meeting_id": return 499 - case "motion_comment_section/read_group_ids": + case "motion_comment_section/name": return 500 - case "motion_comment_section/sequential_number": + case "motion_comment_section/read_group_ids": return 501 - case "motion_comment_section/submitter_can_write": + case "motion_comment_section/sequential_number": return 502 - case "motion_comment_section/weight": + case "motion_comment_section/submitter_can_write": return 503 - case "motion_comment_section/write_group_ids": + case "motion_comment_section/weight": return 504 - case "motion_state/A": + case "motion_comment_section/write_group_ids": return 505 - case "motion_state/allow_create_poll": + case "motion_state/A": return 506 - case "motion_state/allow_motion_forwarding": + case "motion_state/allow_create_poll": return 507 - case "motion_state/allow_submitter_edit": + case "motion_state/allow_motion_forwarding": return 508 - case "motion_state/allow_support": + case "motion_state/allow_submitter_edit": return 509 - case "motion_state/css_class": + case "motion_state/allow_support": return 510 - case "motion_state/first_state_of_workflow_id": + case "motion_state/css_class": return 511 - case "motion_state/id": + case "motion_state/first_state_of_workflow_id": return 512 - case "motion_state/is_internal_recommendation": + case "motion_state/id": return 513 - case "motion_state/meeting_id": + case "motion_state/is_internal": return 514 - case "motion_state/merge_amendment_into_final": + case "motion_state/meeting_id": return 515 - case "motion_state/motion_ids": + case "motion_state/merge_amendment_into_final": return 516 - case "motion_state/motion_recommendation_ids": + case "motion_state/motion_ids": return 517 - case "motion_state/name": + case "motion_state/motion_recommendation_ids": return 518 - case "motion_state/next_state_ids": + case "motion_state/name": return 519 - case "motion_state/previous_state_ids": + case "motion_state/next_state_ids": return 520 - case "motion_state/recommendation_label": + case "motion_state/previous_state_ids": return 521 - case "motion_state/restrictions": + case "motion_state/recommendation_label": return 522 - case "motion_state/set_number": + case "motion_state/restrictions": return 523 - case "motion_state/set_workflow_timestamp": + case "motion_state/set_number": return 524 - case "motion_state/show_recommendation_extension_field": + case "motion_state/set_workflow_timestamp": return 525 - case "motion_state/show_state_extension_field": + case "motion_state/show_recommendation_extension_field": return 526 - case "motion_state/submitter_withdraw_back_ids": + case "motion_state/show_state_extension_field": return 527 - case "motion_state/submitter_withdraw_state_id": + case "motion_state/submitter_withdraw_back_ids": return 528 - case "motion_state/weight": + case "motion_state/submitter_withdraw_state_id": return 529 - case "motion_state/workflow_id": + case "motion_state/weight": return 530 - case "motion_statute_paragraph/A": + case "motion_state/workflow_id": return 531 - case "motion_statute_paragraph/id": + case "motion_statute_paragraph/A": return 532 - case "motion_statute_paragraph/meeting_id": + case "motion_statute_paragraph/id": return 533 - case "motion_statute_paragraph/motion_ids": + case "motion_statute_paragraph/meeting_id": return 534 - case "motion_statute_paragraph/sequential_number": + case "motion_statute_paragraph/motion_ids": return 535 - case "motion_statute_paragraph/text": + case "motion_statute_paragraph/sequential_number": return 536 - case "motion_statute_paragraph/title": + case "motion_statute_paragraph/text": return 537 - case "motion_statute_paragraph/weight": + case "motion_statute_paragraph/title": return 538 - case "motion_submitter/A": + case "motion_statute_paragraph/weight": return 539 - case "motion_submitter/id": + case "motion_submitter/A": return 540 - case "motion_submitter/meeting_id": + case "motion_submitter/id": return 541 - case "motion_submitter/meeting_user_id": + case "motion_submitter/meeting_id": return 542 - case "motion_submitter/motion_id": + case "motion_submitter/meeting_user_id": return 543 - case "motion_submitter/weight": + case "motion_submitter/motion_id": return 544 - case "motion_workflow/A": + case "motion_submitter/weight": return 545 - case "motion_workflow/default_amendment_workflow_meeting_id": + case "motion_workflow/A": return 546 - case "motion_workflow/default_statute_amendment_workflow_meeting_id": + case "motion_workflow/default_amendment_workflow_meeting_id": return 547 - case "motion_workflow/default_workflow_meeting_id": + case "motion_workflow/default_statute_amendment_workflow_meeting_id": return 548 - case "motion_workflow/first_state_id": + case "motion_workflow/default_workflow_meeting_id": return 549 - case "motion_workflow/id": + case "motion_workflow/first_state_id": return 550 - case "motion_workflow/meeting_id": + case "motion_workflow/id": return 551 - case "motion_workflow/name": + case "motion_workflow/meeting_id": return 552 - case "motion_workflow/sequential_number": + case "motion_workflow/name": return 553 - case "motion_workflow/state_ids": + case "motion_workflow/sequential_number": return 554 - case "option/A": + case "motion_workflow/state_ids": return 555 - case "option/B": + case "option/A": return 556 - case "option/abstain": + case "option/B": return 557 - case "option/content_object_id": + case "option/abstain": return 558 - case "option/id": + case "option/content_object_id": return 559 - case "option/meeting_id": + case "option/id": return 560 - case "option/no": + case "option/meeting_id": return 561 - case "option/poll_id": + case "option/no": return 562 - case "option/text": + case "option/poll_id": return 563 - case "option/used_as_global_option_in_poll_id": + case "option/text": return 564 - case "option/vote_ids": + case "option/used_as_global_option_in_poll_id": return 565 - case "option/weight": + case "option/vote_ids": return 566 - case "option/yes": + case "option/weight": return 567 - case "organization/A": + case "option/yes": return 568 - case "organization/B": + case "organization/A": return 569 - case "organization/C": + case "organization/B": return 570 - case "organization/active_meeting_ids": + case "organization/C": return 571 - case "organization/archived_meeting_ids": + case "organization/active_meeting_ids": return 572 - case "organization/committee_ids": + case "organization/archived_meeting_ids": return 573 - case "organization/default_language": + case "organization/committee_ids": return 574 - case "organization/description": + case "organization/default_language": return 575 - case "organization/enable_chat": + case "organization/description": return 576 - case "organization/enable_electronic_voting": + case "organization/enable_chat": return 577 - case "organization/genders": + case "organization/enable_electronic_voting": return 578 - case "organization/id": + case "organization/genders": return 579 - case "organization/legal_notice": + case "organization/id": return 580 - case "organization/limit_of_meetings": + case "organization/legal_notice": return 581 - case "organization/limit_of_users": + case "organization/limit_of_meetings": return 582 - case "organization/login_text": + case "organization/limit_of_users": return 583 - case "organization/mediafile_ids": + case "organization/login_text": return 584 - case "organization/name": + case "organization/mediafile_ids": return 585 - case "organization/organization_tag_ids": + case "organization/name": return 586 - case "organization/privacy_policy": + case "organization/organization_tag_ids": return 587 - case "organization/reset_password_verbose_errors": + case "organization/privacy_policy": return 588 - case "organization/saml_attr_mapping": + case "organization/reset_password_verbose_errors": return 589 - case "organization/saml_enabled": + case "organization/saml_attr_mapping": return 590 - case "organization/saml_login_button_text": + case "organization/saml_enabled": return 591 - case "organization/saml_metadata_idp": + case "organization/saml_login_button_text": return 592 - case "organization/saml_metadata_sp": + case "organization/saml_metadata_idp": return 593 - case "organization/saml_private_key": + case "organization/saml_metadata_sp": return 594 - case "organization/template_meeting_ids": + case "organization/saml_private_key": return 595 - case "organization/theme_id": + case "organization/template_meeting_ids": return 596 - case "organization/theme_ids": + case "organization/theme_id": return 597 - case "organization/url": + case "organization/theme_ids": return 598 - case "organization/user_ids": + case "organization/url": return 599 - case "organization/users_email_body": + case "organization/user_ids": return 600 - case "organization/users_email_replyto": + case "organization/users_email_body": return 601 - case "organization/users_email_sender": + case "organization/users_email_replyto": return 602 - case "organization/users_email_subject": + case "organization/users_email_sender": return 603 - case "organization/vote_decrypt_public_main_key": + case "organization/users_email_subject": return 604 - case "organization_tag/A": + case "organization/vote_decrypt_public_main_key": return 605 - case "organization_tag/color": + case "organization_tag/A": return 606 - case "organization_tag/id": + case "organization_tag/color": return 607 - case "organization_tag/name": + case "organization_tag/id": return 608 - case "organization_tag/organization_id": + case "organization_tag/name": return 609 - case "organization_tag/tagged_ids": + case "organization_tag/organization_id": return 610 - case "personal_note/A": + case "organization_tag/tagged_ids": return 611 - case "personal_note/content_object_id": + case "personal_note/A": return 612 - case "personal_note/id": + case "personal_note/content_object_id": return 613 - case "personal_note/meeting_id": + case "personal_note/id": return 614 - case "personal_note/meeting_user_id": + case "personal_note/meeting_id": return 615 - case "personal_note/note": + case "personal_note/meeting_user_id": return 616 - case "personal_note/star": + case "personal_note/note": return 617 - case "point_of_order_category/A": + case "personal_note/star": return 618 - case "point_of_order_category/id": + case "point_of_order_category/A": return 619 - case "point_of_order_category/meeting_id": + case "point_of_order_category/id": return 620 - case "point_of_order_category/rank": + case "point_of_order_category/meeting_id": return 621 - case "point_of_order_category/speaker_ids": + case "point_of_order_category/rank": return 622 - case "point_of_order_category/text": + case "point_of_order_category/speaker_ids": return 623 - case "poll/A": + case "point_of_order_category/text": return 624 - case "poll/B": + case "poll/A": return 625 - case "poll/C": + case "poll/B": return 626 - case "poll/D": + case "poll/C": return 627 - case "poll/backend": + case "poll/D": return 628 - case "poll/content_object_id": + case "poll/backend": return 629 - case "poll/crypt_key": + case "poll/content_object_id": return 630 - case "poll/crypt_signature": + case "poll/crypt_key": return 631 - case "poll/description": + case "poll/crypt_signature": return 632 - case "poll/entitled_group_ids": + case "poll/description": return 633 - case "poll/entitled_users_at_stop": + case "poll/entitled_group_ids": return 634 - case "poll/global_abstain": + case "poll/entitled_users_at_stop": return 635 - case "poll/global_no": + case "poll/global_abstain": return 636 - case "poll/global_option_id": + case "poll/global_no": return 637 - case "poll/global_yes": + case "poll/global_option_id": return 638 - case "poll/id": + case "poll/global_yes": return 639 - case "poll/is_pseudoanonymized": + case "poll/id": return 640 - case "poll/max_votes_amount": + case "poll/is_pseudoanonymized": return 641 - case "poll/max_votes_per_option": + case "poll/max_votes_amount": return 642 - case "poll/meeting_id": + case "poll/max_votes_per_option": return 643 - case "poll/min_votes_amount": + case "poll/meeting_id": return 644 - case "poll/onehundred_percent_base": + case "poll/min_votes_amount": return 645 - case "poll/option_ids": + case "poll/onehundred_percent_base": return 646 - case "poll/pollmethod": + case "poll/option_ids": return 647 - case "poll/projection_ids": + case "poll/pollmethod": return 648 - case "poll/sequential_number": + case "poll/projection_ids": return 649 - case "poll/state": + case "poll/sequential_number": return 650 - case "poll/title": + case "poll/state": return 651 - case "poll/type": + case "poll/title": return 652 - case "poll/vote_count": + case "poll/type": return 653 - case "poll/voted_ids": + case "poll/vote_count": return 654 - case "poll/votes_raw": + case "poll/voted_ids": return 655 - case "poll/votes_signature": + case "poll/votes_raw": return 656 - case "poll/votescast": + case "poll/votes_signature": return 657 - case "poll/votesinvalid": + case "poll/votescast": return 658 - case "poll/votesvalid": + case "poll/votesinvalid": return 659 - case "poll_candidate/A": + case "poll/votesvalid": return 660 - case "poll_candidate/id": + case "poll_candidate/A": return 661 - case "poll_candidate/meeting_id": + case "poll_candidate/id": return 662 - case "poll_candidate/poll_candidate_list_id": + case "poll_candidate/meeting_id": return 663 - case "poll_candidate/user_id": + case "poll_candidate/poll_candidate_list_id": return 664 - case "poll_candidate/weight": + case "poll_candidate/user_id": return 665 - case "poll_candidate_list/A": + case "poll_candidate/weight": return 666 - case "poll_candidate_list/id": + case "poll_candidate_list/A": return 667 - case "poll_candidate_list/meeting_id": + case "poll_candidate_list/id": return 668 - case "poll_candidate_list/option_id": + case "poll_candidate_list/meeting_id": return 669 - case "poll_candidate_list/poll_candidate_ids": + case "poll_candidate_list/option_id": return 670 - case "projection/A": + case "poll_candidate_list/poll_candidate_ids": return 671 - case "projection/content": + case "projection/A": return 672 - case "projection/content_object_id": + case "projection/content": return 673 - case "projection/current_projector_id": + case "projection/content_object_id": return 674 - case "projection/history_projector_id": + case "projection/current_projector_id": return 675 - case "projection/id": + case "projection/history_projector_id": return 676 - case "projection/meeting_id": + case "projection/id": return 677 - case "projection/options": + case "projection/meeting_id": return 678 - case "projection/preview_projector_id": + case "projection/options": return 679 - case "projection/stable": + case "projection/preview_projector_id": return 680 - case "projection/type": + case "projection/stable": return 681 - case "projection/weight": + case "projection/type": return 682 - case "projector/A": + case "projection/weight": return 683 - case "projector/aspect_ratio_denominator": + case "projector/A": return 684 - case "projector/aspect_ratio_numerator": + case "projector/aspect_ratio_denominator": return 685 - case "projector/background_color": + case "projector/aspect_ratio_numerator": return 686 - case "projector/chyron_background_color": + case "projector/background_color": return 687 - case "projector/chyron_font_color": + case "projector/chyron_background_color": return 688 - case "projector/color": + case "projector/chyron_font_color": return 689 - case "projector/current_projection_ids": + case "projector/color": return 690 - case "projector/header_background_color": + case "projector/current_projection_ids": return 691 - case "projector/header_font_color": + case "projector/header_background_color": return 692 - case "projector/header_h1_color": + case "projector/header_font_color": return 693 - case "projector/history_projection_ids": + case "projector/header_h1_color": return 694 - case "projector/id": + case "projector/history_projection_ids": return 695 - case "projector/is_internal": + case "projector/id": return 696 - case "projector/meeting_id": + case "projector/is_internal": return 697 - case "projector/name": + case "projector/meeting_id": return 698 - case "projector/preview_projection_ids": + case "projector/name": return 699 - case "projector/scale": + case "projector/preview_projection_ids": return 700 - case "projector/scroll": + case "projector/scale": return 701 - case "projector/sequential_number": + case "projector/scroll": return 702 - case "projector/show_clock": + case "projector/sequential_number": return 703 - case "projector/show_header_footer": + case "projector/show_clock": return 704 - case "projector/show_logo": + case "projector/show_header_footer": return 705 - case "projector/show_title": + case "projector/show_logo": return 706 - case "projector/used_as_default_projector_for_agenda_item_list_in_meeting_id": + case "projector/show_title": return 707 - case "projector/used_as_default_projector_for_amendment_in_meeting_id": + case "projector/used_as_default_projector_for_agenda_item_list_in_meeting_id": return 708 - case "projector/used_as_default_projector_for_assignment_in_meeting_id": + case "projector/used_as_default_projector_for_amendment_in_meeting_id": return 709 - case "projector/used_as_default_projector_for_assignment_poll_in_meeting_id": + case "projector/used_as_default_projector_for_assignment_in_meeting_id": return 710 - case "projector/used_as_default_projector_for_countdown_in_meeting_id": + case "projector/used_as_default_projector_for_assignment_poll_in_meeting_id": return 711 - case "projector/used_as_default_projector_for_current_list_of_speakers_in_meeting_id": + case "projector/used_as_default_projector_for_countdown_in_meeting_id": return 712 - case "projector/used_as_default_projector_for_list_of_speakers_in_meeting_id": + case "projector/used_as_default_projector_for_current_list_of_speakers_in_meeting_id": return 713 - case "projector/used_as_default_projector_for_mediafile_in_meeting_id": + case "projector/used_as_default_projector_for_list_of_speakers_in_meeting_id": return 714 - case "projector/used_as_default_projector_for_message_in_meeting_id": + case "projector/used_as_default_projector_for_mediafile_in_meeting_id": return 715 - case "projector/used_as_default_projector_for_motion_block_in_meeting_id": + case "projector/used_as_default_projector_for_message_in_meeting_id": return 716 - case "projector/used_as_default_projector_for_motion_in_meeting_id": + case "projector/used_as_default_projector_for_motion_block_in_meeting_id": return 717 - case "projector/used_as_default_projector_for_motion_poll_in_meeting_id": + case "projector/used_as_default_projector_for_motion_in_meeting_id": return 718 - case "projector/used_as_default_projector_for_poll_in_meeting_id": + case "projector/used_as_default_projector_for_motion_poll_in_meeting_id": return 719 - case "projector/used_as_default_projector_for_topic_in_meeting_id": + case "projector/used_as_default_projector_for_poll_in_meeting_id": return 720 - case "projector/used_as_reference_projector_meeting_id": + case "projector/used_as_default_projector_for_topic_in_meeting_id": return 721 - case "projector/width": + case "projector/used_as_reference_projector_meeting_id": return 722 - case "projector_countdown/A": + case "projector/width": return 723 - case "projector_countdown/countdown_time": + case "projector_countdown/A": return 724 - case "projector_countdown/default_time": + case "projector_countdown/countdown_time": return 725 - case "projector_countdown/description": + case "projector_countdown/default_time": return 726 - case "projector_countdown/id": + case "projector_countdown/description": return 727 - case "projector_countdown/meeting_id": + case "projector_countdown/id": return 728 - case "projector_countdown/projection_ids": + case "projector_countdown/meeting_id": return 729 - case "projector_countdown/running": + case "projector_countdown/projection_ids": return 730 - case "projector_countdown/title": + case "projector_countdown/running": return 731 - case "projector_countdown/used_as_list_of_speakers_countdown_meeting_id": + case "projector_countdown/title": return 732 - case "projector_countdown/used_as_poll_countdown_meeting_id": + case "projector_countdown/used_as_list_of_speakers_countdown_meeting_id": return 733 - case "projector_message/A": + case "projector_countdown/used_as_poll_countdown_meeting_id": return 734 - case "projector_message/id": + case "projector_message/A": return 735 - case "projector_message/meeting_id": + case "projector_message/id": return 736 - case "projector_message/message": + case "projector_message/meeting_id": return 737 - case "projector_message/projection_ids": + case "projector_message/message": return 738 - case "speaker/A": + case "projector_message/projection_ids": return 739 - case "speaker/begin_time": + case "speaker/A": return 740 - case "speaker/end_time": + case "speaker/begin_time": return 741 - case "speaker/id": + case "speaker/end_time": return 742 - case "speaker/list_of_speakers_id": + case "speaker/id": return 743 - case "speaker/meeting_id": + case "speaker/list_of_speakers_id": return 744 - case "speaker/meeting_user_id": + case "speaker/meeting_id": return 745 - case "speaker/note": + case "speaker/meeting_user_id": return 746 - case "speaker/pause_time": + case "speaker/note": return 747 - case "speaker/point_of_order": + case "speaker/pause_time": return 748 - case "speaker/point_of_order_category_id": + case "speaker/point_of_order": return 749 - case "speaker/speech_state": + case "speaker/point_of_order_category_id": return 750 - case "speaker/structure_level_list_of_speakers_id": + case "speaker/speech_state": return 751 - case "speaker/total_pause": + case "speaker/structure_level_list_of_speakers_id": return 752 - case "speaker/unpause_time": + case "speaker/total_pause": return 753 - case "speaker/weight": + case "speaker/unpause_time": return 754 - case "structure_level/A": + case "speaker/weight": return 755 - case "structure_level/color": + case "structure_level/A": return 756 - case "structure_level/default_time": + case "structure_level/color": return 757 - case "structure_level/id": + case "structure_level/default_time": return 758 - case "structure_level/meeting_id": + case "structure_level/id": return 759 - case "structure_level/meeting_user_ids": + case "structure_level/meeting_id": return 760 - case "structure_level/name": + case "structure_level/meeting_user_ids": return 761 - case "structure_level/structure_level_list_of_speakers_ids": + case "structure_level/name": return 762 - case "structure_level_list_of_speakers/A": + case "structure_level/structure_level_list_of_speakers_ids": return 763 - case "structure_level_list_of_speakers/additional_time": + case "structure_level_list_of_speakers/A": return 764 - case "structure_level_list_of_speakers/current_start_time": + case "structure_level_list_of_speakers/additional_time": return 765 - case "structure_level_list_of_speakers/id": + case "structure_level_list_of_speakers/current_start_time": return 766 - case "structure_level_list_of_speakers/initial_time": + case "structure_level_list_of_speakers/id": return 767 - case "structure_level_list_of_speakers/list_of_speakers_id": + case "structure_level_list_of_speakers/initial_time": return 768 - case "structure_level_list_of_speakers/meeting_id": + case "structure_level_list_of_speakers/list_of_speakers_id": return 769 - case "structure_level_list_of_speakers/remaining_time": + case "structure_level_list_of_speakers/meeting_id": return 770 - case "structure_level_list_of_speakers/speaker_ids": + case "structure_level_list_of_speakers/remaining_time": return 771 - case "structure_level_list_of_speakers/structure_level_id": + case "structure_level_list_of_speakers/speaker_ids": return 772 - case "tag/A": + case "structure_level_list_of_speakers/structure_level_id": return 773 - case "tag/id": + case "tag/A": return 774 - case "tag/meeting_id": + case "tag/id": return 775 - case "tag/name": + case "tag/meeting_id": return 776 - case "tag/tagged_ids": + case "tag/name": return 777 - case "theme/A": + case "tag/tagged_ids": return 778 - case "theme/abstain": + case "theme/A": return 779 - case "theme/accent_100": + case "theme/abstain": return 780 - case "theme/accent_200": + case "theme/accent_100": return 781 - case "theme/accent_300": + case "theme/accent_200": return 782 - case "theme/accent_400": + case "theme/accent_300": return 783 - case "theme/accent_50": + case "theme/accent_400": return 784 - case "theme/accent_500": + case "theme/accent_50": return 785 - case "theme/accent_600": + case "theme/accent_500": return 786 - case "theme/accent_700": + case "theme/accent_600": return 787 - case "theme/accent_800": + case "theme/accent_700": return 788 - case "theme/accent_900": + case "theme/accent_800": return 789 - case "theme/accent_a100": + case "theme/accent_900": return 790 - case "theme/accent_a200": + case "theme/accent_a100": return 791 - case "theme/accent_a400": + case "theme/accent_a200": return 792 - case "theme/accent_a700": + case "theme/accent_a400": return 793 - case "theme/headbar": + case "theme/accent_a700": return 794 - case "theme/id": + case "theme/headbar": return 795 - case "theme/name": + case "theme/id": return 796 - case "theme/no": + case "theme/name": return 797 - case "theme/organization_id": + case "theme/no": return 798 - case "theme/primary_100": + case "theme/organization_id": return 799 - case "theme/primary_200": + case "theme/primary_100": return 800 - case "theme/primary_300": + case "theme/primary_200": return 801 - case "theme/primary_400": + case "theme/primary_300": return 802 - case "theme/primary_50": + case "theme/primary_400": return 803 - case "theme/primary_500": + case "theme/primary_50": return 804 - case "theme/primary_600": + case "theme/primary_500": return 805 - case "theme/primary_700": + case "theme/primary_600": return 806 - case "theme/primary_800": + case "theme/primary_700": return 807 - case "theme/primary_900": + case "theme/primary_800": return 808 - case "theme/primary_a100": + case "theme/primary_900": return 809 - case "theme/primary_a200": + case "theme/primary_a100": return 810 - case "theme/primary_a400": + case "theme/primary_a200": return 811 - case "theme/primary_a700": + case "theme/primary_a400": return 812 - case "theme/theme_for_organization_id": + case "theme/primary_a700": return 813 - case "theme/warn_100": + case "theme/theme_for_organization_id": return 814 - case "theme/warn_200": + case "theme/warn_100": return 815 - case "theme/warn_300": + case "theme/warn_200": return 816 - case "theme/warn_400": + case "theme/warn_300": return 817 - case "theme/warn_50": + case "theme/warn_400": return 818 - case "theme/warn_500": + case "theme/warn_50": return 819 - case "theme/warn_600": + case "theme/warn_500": return 820 - case "theme/warn_700": + case "theme/warn_600": return 821 - case "theme/warn_800": + case "theme/warn_700": return 822 - case "theme/warn_900": + case "theme/warn_800": return 823 - case "theme/warn_a100": + case "theme/warn_900": return 824 - case "theme/warn_a200": + case "theme/warn_a100": return 825 - case "theme/warn_a400": + case "theme/warn_a200": return 826 - case "theme/warn_a700": + case "theme/warn_a400": return 827 - case "theme/yes": + case "theme/warn_a700": return 828 - case "topic/A": + case "theme/yes": return 829 - case "topic/agenda_item_id": + case "topic/A": return 830 - case "topic/attachment_ids": + case "topic/agenda_item_id": return 831 - case "topic/id": + case "topic/attachment_ids": return 832 - case "topic/list_of_speakers_id": + case "topic/id": return 833 - case "topic/meeting_id": + case "topic/list_of_speakers_id": return 834 - case "topic/poll_ids": + case "topic/meeting_id": return 835 - case "topic/projection_ids": + case "topic/poll_ids": return 836 - case "topic/sequential_number": + case "topic/projection_ids": return 837 - case "topic/text": + case "topic/sequential_number": return 838 - case "topic/title": + case "topic/text": return 839 - case "user/A": + case "topic/title": return 840 - case "user/D": + case "user/A": return 841 - case "user/E": + case "user/D": return 842 - case "user/F": + case "user/E": return 843 - case "user/G": + case "user/F": return 844 - case "user/H": + case "user/G": return 845 - case "user/can_change_own_password": + case "user/H": return 846 - case "user/committee_ids": + case "user/can_change_own_password": return 847 - case "user/committee_management_ids": + case "user/committee_ids": return 848 - case "user/default_number": + case "user/committee_management_ids": return 849 - case "user/default_password": + case "user/default_number": return 850 - case "user/default_vote_weight": + case "user/default_password": return 851 - case "user/delegated_vote_ids": + case "user/default_vote_weight": return 852 - case "user/email": + case "user/delegated_vote_ids": return 853 - case "user/first_name": + case "user/email": return 854 - case "user/forwarding_committee_ids": + case "user/first_name": return 855 - case "user/gender": + case "user/forwarding_committee_ids": return 856 - case "user/id": + case "user/gender": return 857 - case "user/is_active": + case "user/id": return 858 - case "user/is_demo_user": + case "user/is_active": return 859 - case "user/is_physical_person": + case "user/is_demo_user": return 860 - case "user/is_present_in_meeting_ids": + case "user/is_physical_person": return 861 - case "user/last_email_sent": + case "user/is_present_in_meeting_ids": return 862 - case "user/last_login": + case "user/last_email_sent": return 863 - case "user/last_name": + case "user/last_login": return 864 - case "user/meeting_ids": + case "user/last_name": return 865 - case "user/meeting_user_ids": + case "user/meeting_ids": return 866 - case "user/option_ids": + case "user/meeting_user_ids": return 867 - case "user/organization_id": + case "user/option_ids": return 868 - case "user/organization_management_level": + case "user/organization_id": return 869 - case "user/password": + case "user/organization_management_level": return 870 - case "user/poll_candidate_ids": + case "user/password": return 871 - case "user/poll_voted_ids": + case "user/poll_candidate_ids": return 872 - case "user/pronoun": + case "user/poll_voted_ids": return 873 - case "user/saml_id": + case "user/pronoun": return 874 - case "user/title": + case "user/saml_id": return 875 - case "user/username": + case "user/title": return 876 - case "user/vote_ids": + case "user/username": return 877 - case "vote/A": + case "user/vote_ids": return 878 - case "vote/B": + case "vote/A": return 879 - case "vote/delegated_user_id": + case "vote/B": return 880 - case "vote/id": + case "vote/delegated_user_id": return 881 - case "vote/meeting_id": + case "vote/id": return 882 - case "vote/option_id": + case "vote/meeting_id": return 883 - case "vote/user_id": + case "vote/option_id": return 884 - case "vote/user_token": + case "vote/user_id": return 885 - case "vote/value": + case "vote/user_token": return 886 - case "vote/weight": + case "vote/value": return 887 + case "vote/weight": + return 888 default: return -1 } From ed5556257712543f037b9f214cb3dabc5070cf67 Mon Sep 17 00:00:00 2001 From: Oskar Hahn Date: Thu, 15 Feb 2024 07:57:43 +0100 Subject: [PATCH 2/3] Update go version (#850) --- .github/workflows/autoupdate.yml | 2 +- .github/workflows/readme.yml | 2 +- .github/workflows/update-generated-files.yml | 2 +- Dockerfile | 2 +- go.mod | 6 +++--- go.sum | 8 ++++---- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/autoupdate.yml b/.github/workflows/autoupdate.yml index 2b56758b..a7b32284 100644 --- a/.github/workflows/autoupdate.yml +++ b/.github/workflows/autoupdate.yml @@ -8,7 +8,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v5 with: - go-version: '1.21' + go-version: '1.22' - name: Check out code into the Go module directory uses: actions/checkout@v4 diff --git a/.github/workflows/readme.yml b/.github/workflows/readme.yml index b1b6d78f..9d6c2079 100644 --- a/.github/workflows/readme.yml +++ b/.github/workflows/readme.yml @@ -29,7 +29,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v5 with: - go-version: '1.21' + go-version: '1.22' id: go - name: Check out code diff --git a/.github/workflows/update-generated-files.yml b/.github/workflows/update-generated-files.yml index 20435204..8ff2aa96 100644 --- a/.github/workflows/update-generated-files.yml +++ b/.github/workflows/update-generated-files.yml @@ -17,7 +17,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v5 with: - go-version: '1.21' + go-version: '1.22' - name: Check out code uses: actions/checkout@v4 diff --git a/Dockerfile b/Dockerfile index cd096e27..e0802524 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.21.6-alpine as base +FROM golang:1.22.0-alpine as base WORKDIR /root/ RUN apk add git diff --git a/go.mod b/go.mod index 33d6ae89..0ebe6f71 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/OpenSlides/openslides-autoupdate-service -go 1.21 +go 1.22 require ( github.com/alecthomas/kong v0.8.1 @@ -32,7 +32,7 @@ require ( github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect github.com/imdario/mergo v0.3.15 // indirect github.com/jackc/pgpassfile v1.0.0 // indirect - github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect + github.com/jackc/pgservicefile v0.0.0-20231201235250-de7065d80cb9 // indirect github.com/jackc/puddle/v2 v2.2.1 // indirect github.com/kr/text v0.1.0 // indirect github.com/lib/pq v1.10.8 // indirect @@ -48,7 +48,7 @@ require ( github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect github.com/xeipuuv/gojsonschema v1.2.0 // indirect - golang.org/x/crypto v0.17.0 // indirect + golang.org/x/crypto v0.19.0 // indirect golang.org/x/mod v0.9.0 // indirect golang.org/x/text v0.14.0 // indirect golang.org/x/tools v0.7.0 // indirect diff --git a/go.sum b/go.sum index 64728dd8..bb242460 100644 --- a/go.sum +++ b/go.sum @@ -45,8 +45,8 @@ github.com/imdario/mergo v0.3.15 h1:M8XP7IuFNsqUx6VPK2P9OSmsYsI/YFaGil0uD21V3dM= github.com/imdario/mergo v0.3.15/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= -github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/Y25WS6cokEszi5g+S0QxI/d45PkRi7Nk= -github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= +github.com/jackc/pgservicefile v0.0.0-20231201235250-de7065d80cb9 h1:L0QtFUgDarD7Fpv9jeVMgy/+Ec0mtnmYuImjTz6dtDA= +github.com/jackc/pgservicefile v0.0.0-20231201235250-de7065d80cb9/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= github.com/jackc/pgx/v5 v5.5.3 h1:Ces6/M3wbDXYpM8JyyPD57ivTtJACFZJd885pdIaV2s= github.com/jackc/pgx/v5 v5.5.3/go.mod h1:ez9gk+OAat140fv9ErkZDYFWmXLfV+++K0uAOiwgm1A= github.com/jackc/puddle/v2 v2.2.1 h1:RhxXJtFG022u4ibrCSMSiu5aOq1i77R3OHKNJj77OAk= @@ -103,8 +103,8 @@ github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9dec golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= -golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= +golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo= +golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.9.0 h1:KENHtAZL2y3NLMYZeHY9DW8HW8V+kQyJsY/V9JlKvCs= From 82c7d35f924b9a307fff898c04753cec00a16ef3 Mon Sep 17 00:00:00 2001 From: Joshua Sangmeister <33004050+jsangmeister@users.noreply.github.com> Date: Thu, 15 Feb 2024 10:35:44 +0100 Subject: [PATCH 3/3] Enhance motion fields (#844) Co-authored-by: Bastian Rihm --- internal/restrict/collection/collection.go | 2 + internal/restrict/collection/motion.go | 4 +- internal/restrict/collection/motion_editor.go | 44 + internal/restrict/collection/motion_test.go | 6 +- .../motion_working_group_speaker.go | 44 + internal/restrict/field_def.go | 74 +- internal/restrict/restrict.go | 2 + meta | 2 +- pkg/datastore/dsfetch/fields_generated.go | 160 ++- pkg/datastore/dskey/gen_collection_fields.go | 1264 +++++++++-------- 10 files changed, 934 insertions(+), 668 deletions(-) create mode 100644 internal/restrict/collection/motion_editor.go create mode 100644 internal/restrict/collection/motion_working_group_speaker.go diff --git a/internal/restrict/collection/collection.go b/internal/restrict/collection/collection.go index 32503c73..3c2cab64 100644 --- a/internal/restrict/collection/collection.go +++ b/internal/restrict/collection/collection.go @@ -178,12 +178,14 @@ var collectionMap = map[string]Restricter{ MotionBlock{}.Name(): MotionBlock{}, MotionCategory{}.Name(): MotionCategory{}, MotionChangeRecommendation{}.Name(): MotionChangeRecommendation{}, + MotionEditor{}.Name(): MotionEditor{}, MotionState{}.Name(): MotionState{}, MotionStatuteParagraph{}.Name(): MotionStatuteParagraph{}, MotionComment{}.Name(): MotionComment{}, MotionCommentSection{}.Name(): MotionCommentSection{}, MotionSubmitter{}.Name(): MotionSubmitter{}, MotionWorkflow{}.Name(): MotionWorkflow{}, + MotionWorkingGroupSpeaker{}.Name(): MotionWorkingGroupSpeaker{}, Option{}.Name(): Option{}, Organization{}.Name(): Organization{}, OrganizationTag{}.Name(): OrganizationTag{}, diff --git a/internal/restrict/collection/motion.go b/internal/restrict/collection/motion.go index 74845751..eb90c89f 100644 --- a/internal/restrict/collection/motion.go +++ b/internal/restrict/collection/motion.go @@ -22,7 +22,7 @@ import ( // // Mode A: The user can see the motion or can see a referenced motion in motion/all_origin_ids and motion/all_derived_motion_ids. // -// Mode B: The user has the permission motion.can_manage in the motion's meeting. +// Mode B: The user has the permission motion.can_manage_metadata in the motion's meeting. // // Mode C: The user can see the motion. // @@ -124,7 +124,7 @@ func (m Motion) see(ctx context.Context, ds *dsfetch.Fetch, motionIDs ...int) ([ } func (m Motion) modeB(ctx context.Context, ds *dsfetch.Fetch, motionIDs ...int) ([]int, error) { - return meetingPerm(ctx, ds, m, motionIDs, perm.MotionCanManage) + return meetingPerm(ctx, ds, m, motionIDs, perm.MotionCanManageMetadata) } // leadMotionIndex creates an index from a motionID to its lead motion id. It diff --git a/internal/restrict/collection/motion_editor.go b/internal/restrict/collection/motion_editor.go new file mode 100644 index 00000000..aed01674 --- /dev/null +++ b/internal/restrict/collection/motion_editor.go @@ -0,0 +1,44 @@ +package collection + +import ( + "context" + "fmt" + + "github.com/OpenSlides/openslides-autoupdate-service/internal/restrict/perm" + "github.com/OpenSlides/openslides-autoupdate-service/pkg/datastore/dsfetch" +) + +// MotionEditor handels restrictions of the collection motion_editor. +// +// The user can see a motion_editor if he has `motion.can_manage_metadata` +// +// Mode A: The user can see the motion editor. +type MotionEditor struct{} + +// Name returns the collection name. +func (m MotionEditor) Name() string { + return "motion_editor" +} + +// MeetingID returns the meetingID for the object. +func (m MotionEditor) MeetingID(ctx context.Context, ds *dsfetch.Fetch, id int) (int, bool, error) { + meetingID, err := ds.MotionEditor_MeetingID(id).Value(ctx) + if err != nil { + return 0, false, fmt.Errorf("get meeting id: %w", err) + } + + return meetingID, true, nil +} + +// Modes returns the restrictions modes for the meeting collection. +func (m MotionEditor) Modes(mode string) FieldRestricter { + switch mode { + case "A": + return m.see + } + return nil +} + +func (m MotionEditor) see(ctx context.Context, ds *dsfetch.Fetch, motionEditorIDs ...int) ([]int, error) { + return meetingPerm(ctx, ds, m, motionEditorIDs, perm.MotionCanManageMetadata) +} diff --git a/internal/restrict/collection/motion_test.go b/internal/restrict/collection/motion_test.go index fa46c3fe..8e18c2ea 100644 --- a/internal/restrict/collection/motion_test.go +++ b/internal/restrict/collection/motion_test.go @@ -495,16 +495,16 @@ func TestMotionModeB(t *testing.T) { ) testCase( - "motion.can_manage", + "motion.can_manage_metadata", t, f, true, `--- motion/1: meeting_id: 30 - editor_id: 3 + editor_ids: [3] `, - withPerms(30, perm.MotionCanManage), + withPerms(30, perm.MotionCanManageMetadata), ) } diff --git a/internal/restrict/collection/motion_working_group_speaker.go b/internal/restrict/collection/motion_working_group_speaker.go new file mode 100644 index 00000000..ab7154e2 --- /dev/null +++ b/internal/restrict/collection/motion_working_group_speaker.go @@ -0,0 +1,44 @@ +package collection + +import ( + "context" + "fmt" + + "github.com/OpenSlides/openslides-autoupdate-service/internal/restrict/perm" + "github.com/OpenSlides/openslides-autoupdate-service/pkg/datastore/dsfetch" +) + +// MotionWorkingGroupSpeaker handels restrictions of the collection motion_working_group_speaker. +// +// The user can see a motion_working_group_speaker if he has `motion.can_manage_metadata` +// +// Mode A: The user can see the motion working group speaker. +type MotionWorkingGroupSpeaker struct{} + +// Name returns the collection name. +func (m MotionWorkingGroupSpeaker) Name() string { + return "motion_working_group_speaker" +} + +// MeetingID returns the meetingID for the object. +func (m MotionWorkingGroupSpeaker) MeetingID(ctx context.Context, ds *dsfetch.Fetch, id int) (int, bool, error) { + meetingID, err := ds.MotionWorkingGroupSpeaker_MeetingID(id).Value(ctx) + if err != nil { + return 0, false, fmt.Errorf("get meeting id: %w", err) + } + + return meetingID, true, nil +} + +// Modes returns the restrictions modes for the meeting collection. +func (m MotionWorkingGroupSpeaker) Modes(mode string) FieldRestricter { + switch mode { + case "A": + return m.see + } + return nil +} + +func (m MotionWorkingGroupSpeaker) see(ctx context.Context, ds *dsfetch.Fetch, motionWorkingGroupSpeakerIDs ...int) ([]int, error) { + return meetingPerm(ctx, ds, m, motionWorkingGroupSpeakerIDs, perm.MotionCanManageMetadata) +} diff --git a/internal/restrict/field_def.go b/internal/restrict/field_def.go index 72492fe6..7d9b92e2 100644 --- a/internal/restrict/field_def.go +++ b/internal/restrict/field_def.go @@ -78,7 +78,6 @@ var relationFields = map[string]string{ "motion/agenda_item_id": "agenda_item/content_object_id", "motion/block_id": "motion_block/motion_ids", "motion/category_id": "motion_category/motion_ids", - "motion/editor_id": "meeting_user/editor_for_motion_ids", "motion/lead_motion_id": "motion/amendment_ids", "motion/list_of_speakers_id": "list_of_speakers/content_object_id", "motion/meeting_id": "meeting/motion_ids", @@ -88,7 +87,6 @@ var relationFields = map[string]string{ "motion/sort_parent_id": "motion/sort_child_ids", "motion/state_id": "motion_state/motion_ids", "motion/statute_paragraph_id": "motion_statute_paragraph/motion_ids", - "motion/working_group_speaker_id": "meeting_user/working_group_speaker_for_motion_ids", "motion_block/agenda_item_id": "agenda_item/content_object_id", "motion_block/list_of_speakers_id": "list_of_speakers/content_object_id", "motion_block/meeting_id": "meeting/motion_block_ids", @@ -100,6 +98,9 @@ var relationFields = map[string]string{ "motion_comment/motion_id": "motion/comment_ids", "motion_comment/section_id": "motion_comment_section/comment_ids", "motion_comment_section/meeting_id": "meeting/motion_comment_section_ids", + "motion_editor/meeting_id": "meeting/motion_editor_ids", + "motion_editor/meeting_user_id": "meeting_user/motion_editor_ids", + "motion_editor/motion_id": "motion/editor_ids", "motion_state/first_state_of_workflow_id": "motion_workflow/first_state_id", "motion_state/meeting_id": "meeting/motion_state_ids", "motion_state/submitter_withdraw_state_id": "motion_state/submitter_withdraw_back_ids", @@ -113,6 +114,9 @@ var relationFields = map[string]string{ "motion_workflow/default_workflow_meeting_id": "meeting/motions_default_workflow_id", "motion_workflow/first_state_id": "motion_state/first_state_of_workflow_id", "motion_workflow/meeting_id": "meeting/motion_workflow_ids", + "motion_working_group_speaker/meeting_id": "meeting/motion_working_group_speaker_ids", + "motion_working_group_speaker/meeting_user_id": "meeting_user/motion_working_group_speaker_ids", + "motion_working_group_speaker/motion_id": "motion/working_group_speaker_ids", "option/meeting_id": "meeting/option_ids", "option/poll_id": "poll/option_ids", "option/used_as_global_option_in_poll_id": "poll/global_option_id", @@ -238,12 +242,14 @@ var relationListFields = map[string]string{ "meeting/motion_change_recommendation_ids": "motion_change_recommendation/meeting_id", "meeting/motion_comment_ids": "motion_comment/meeting_id", "meeting/motion_comment_section_ids": "motion_comment_section/meeting_id", + "meeting/motion_editor_ids": "motion_editor/meeting_id", "meeting/motion_ids": "motion/meeting_id", "meeting/motion_poll_default_group_ids": "group/used_as_motion_poll_default_id", "meeting/motion_state_ids": "motion_state/meeting_id", "meeting/motion_statute_paragraph_ids": "motion_statute_paragraph/meeting_id", "meeting/motion_submitter_ids": "motion_submitter/meeting_id", "meeting/motion_workflow_ids": "motion_workflow/meeting_id", + "meeting/motion_working_group_speaker_ids": "motion_working_group_speaker/meeting_id", "meeting/option_ids": "option/meeting_id", "meeting/organization_tag_ids": "organization_tag/tagged_ids", "meeting/personal_note_ids": "personal_note/meeting_id", @@ -266,15 +272,15 @@ var relationListFields = map[string]string{ "meeting/vote_ids": "vote/meeting_id", "meeting_user/assignment_candidate_ids": "assignment_candidate/meeting_user_id", "meeting_user/chat_message_ids": "chat_message/meeting_user_id", - "meeting_user/editor_for_motion_ids": "motion/editor_id", "meeting_user/group_ids": "group/meeting_user_ids", + "meeting_user/motion_editor_ids": "motion_editor/meeting_user_id", "meeting_user/motion_submitter_ids": "motion_submitter/meeting_user_id", + "meeting_user/motion_working_group_speaker_ids": "motion_working_group_speaker/meeting_user_id", "meeting_user/personal_note_ids": "personal_note/meeting_user_id", "meeting_user/speaker_ids": "speaker/meeting_user_id", "meeting_user/structure_level_ids": "structure_level/meeting_user_ids", "meeting_user/supported_motion_ids": "motion/supporter_meeting_user_ids", "meeting_user/vote_delegations_from_ids": "meeting_user/vote_delegated_to_id", - "meeting_user/working_group_speaker_for_motion_ids": "motion/working_group_speaker_id", "motion/all_derived_motion_ids": "motion/all_origin_ids", "motion/all_origin_ids": "motion/all_derived_motion_ids", "motion/amendment_ids": "motion/lead_motion_id", @@ -282,6 +288,7 @@ var relationListFields = map[string]string{ "motion/change_recommendation_ids": "motion_change_recommendation/motion_id", "motion/comment_ids": "motion_comment/motion_id", "motion/derived_motion_ids": "motion/origin_id", + "motion/editor_ids": "motion_editor/motion_id", "motion/option_ids": "option/content_object_id", "motion/personal_note_ids": "personal_note/content_object_id", "motion/poll_ids": "poll/content_object_id", @@ -292,6 +299,7 @@ var relationListFields = map[string]string{ "motion/submitter_ids": "motion_submitter/motion_id", "motion/supporter_meeting_user_ids": "meeting_user/supported_motion_ids", "motion/tag_ids": "tag/tagged_ids", + "motion/working_group_speaker_ids": "motion_working_group_speaker/motion_id", "motion_block/motion_ids": "motion/block_id", "motion_block/projection_ids": "projection/content_object_id", "motion_category/child_ids": "motion_category/parent_id", @@ -636,6 +644,7 @@ var restrictionModes = map[string]string{ "meeting/motion_change_recommendation_ids": "B", "meeting/motion_comment_ids": "B", "meeting/motion_comment_section_ids": "B", + "meeting/motion_editor_ids": "B", "meeting/motion_poll_ballot_paper_number": "B", "meeting/motion_poll_ballot_paper_selection": "B", "meeting/motion_poll_default_backend": "B", @@ -646,6 +655,7 @@ var restrictionModes = map[string]string{ "meeting/motion_statute_paragraph_ids": "B", "meeting/motion_submitter_ids": "B", "meeting/motion_workflow_ids": "B", + "meeting/motion_working_group_speaker_ids": "B", "meeting/motions_amendments_enabled": "B", "meeting/motions_amendments_in_main_list": "B", "meeting/motions_amendments_multiple_paragraphs": "B", @@ -749,25 +759,25 @@ var restrictionModes = map[string]string{ "meeting/welcome_title": "C", // meeting_user - "meeting_user/about_me": "A", - "meeting_user/assignment_candidate_ids": "A", - "meeting_user/chat_message_ids": "A", - "meeting_user/editor_for_motion_ids": "A", - "meeting_user/group_ids": "A", - "meeting_user/id": "A", - "meeting_user/meeting_id": "A", - "meeting_user/motion_submitter_ids": "A", - "meeting_user/number": "A", - "meeting_user/speaker_ids": "A", - "meeting_user/structure_level_ids": "A", - "meeting_user/supported_motion_ids": "A", - "meeting_user/user_id": "A", - "meeting_user/vote_delegated_to_id": "A", - "meeting_user/vote_delegations_from_ids": "A", - "meeting_user/vote_weight": "A", - "meeting_user/working_group_speaker_for_motion_ids": "A", - "meeting_user/personal_note_ids": "B", - "meeting_user/comment": "D", + "meeting_user/about_me": "A", + "meeting_user/assignment_candidate_ids": "A", + "meeting_user/chat_message_ids": "A", + "meeting_user/group_ids": "A", + "meeting_user/id": "A", + "meeting_user/meeting_id": "A", + "meeting_user/motion_editor_ids": "A", + "meeting_user/motion_submitter_ids": "A", + "meeting_user/motion_working_group_speaker_ids": "A", + "meeting_user/number": "A", + "meeting_user/speaker_ids": "A", + "meeting_user/structure_level_ids": "A", + "meeting_user/supported_motion_ids": "A", + "meeting_user/user_id": "A", + "meeting_user/vote_delegated_to_id": "A", + "meeting_user/vote_delegations_from_ids": "A", + "meeting_user/vote_weight": "A", + "meeting_user/personal_note_ids": "B", + "meeting_user/comment": "D", // motion "motion/all_derived_motion_ids": "A", @@ -778,8 +788,8 @@ var restrictionModes = map[string]string{ "motion/meeting_id": "A", "motion/origin_id": "A", "motion/origin_meeting_id": "A", - "motion/editor_id": "B", - "motion/working_group_speaker_id": "B", + "motion/editor_ids": "B", + "motion/working_group_speaker_ids": "B", "motion/agenda_item_id": "C", "motion/amendment_ids": "C", "motion/amendment_paragraphs": "C", @@ -876,6 +886,13 @@ var restrictionModes = map[string]string{ "motion_comment_section/weight": "A", "motion_comment_section/write_group_ids": "A", + // motion_editor + "motion_editor/id": "A", + "motion_editor/meeting_id": "A", + "motion_editor/meeting_user_id": "A", + "motion_editor/motion_id": "A", + "motion_editor/weight": "A", + // motion_state "motion_state/allow_create_poll": "A", "motion_state/allow_motion_forwarding": "A", @@ -930,6 +947,13 @@ var restrictionModes = map[string]string{ "motion_workflow/sequential_number": "A", "motion_workflow/state_ids": "A", + // motion_working_group_speaker + "motion_working_group_speaker/id": "A", + "motion_working_group_speaker/meeting_id": "A", + "motion_working_group_speaker/meeting_user_id": "A", + "motion_working_group_speaker/motion_id": "A", + "motion_working_group_speaker/weight": "A", + // option "option/content_object_id": "A", "option/id": "A", diff --git a/internal/restrict/restrict.go b/internal/restrict/restrict.go index fc5fab32..2e23eea2 100644 --- a/internal/restrict/restrict.go +++ b/internal/restrict/restrict.go @@ -580,4 +580,6 @@ var collectionOrder = map[string]int{ "import_preview": 41, "structure_level": 42, "structure_level_list_of_speakers": 43, + "motion_working_group_speaker": 44, + "motion_editor": 45, } diff --git a/meta b/meta index 542530ef..208116e7 160000 --- a/meta +++ b/meta @@ -1 +1 @@ -Subproject commit 542530ef27c0039cd93e4d075988b4889481056a +Subproject commit 208116e72f3dab20e1df65ba478411212ad2d257 diff --git a/pkg/datastore/dsfetch/fields_generated.go b/pkg/datastore/dsfetch/fields_generated.go index 5a0e3d3c..dbe2e850 100644 --- a/pkg/datastore/dsfetch/fields_generated.go +++ b/pkg/datastore/dsfetch/fields_generated.go @@ -1931,15 +1931,6 @@ func (r *Fetch) MeetingUser_Comment(meetingUserID int) *ValueString { return &ValueString{fetch: r, key: key} } -func (r *Fetch) MeetingUser_EditorForMotionIDs(meetingUserID int) *ValueIntSlice { - key, err := dskey.FromParts("meeting_user", meetingUserID, "editor_for_motion_ids") - if err != nil { - return &ValueIntSlice{err: err} - } - - return &ValueIntSlice{fetch: r, key: key} -} - func (r *Fetch) MeetingUser_GroupIDs(meetingUserID int) *ValueIntSlice { key, err := dskey.FromParts("meeting_user", meetingUserID, "group_ids") if err != nil { @@ -1967,6 +1958,15 @@ func (r *Fetch) MeetingUser_MeetingID(meetingUserID int) *ValueInt { return &ValueInt{fetch: r, key: key, required: true} } +func (r *Fetch) MeetingUser_MotionEditorIDs(meetingUserID int) *ValueIntSlice { + key, err := dskey.FromParts("meeting_user", meetingUserID, "motion_editor_ids") + if err != nil { + return &ValueIntSlice{err: err} + } + + return &ValueIntSlice{fetch: r, key: key} +} + func (r *Fetch) MeetingUser_MotionSubmitterIDs(meetingUserID int) *ValueIntSlice { key, err := dskey.FromParts("meeting_user", meetingUserID, "motion_submitter_ids") if err != nil { @@ -1976,6 +1976,15 @@ func (r *Fetch) MeetingUser_MotionSubmitterIDs(meetingUserID int) *ValueIntSlice return &ValueIntSlice{fetch: r, key: key} } +func (r *Fetch) MeetingUser_MotionWorkingGroupSpeakerIDs(meetingUserID int) *ValueIntSlice { + key, err := dskey.FromParts("meeting_user", meetingUserID, "motion_working_group_speaker_ids") + if err != nil { + return &ValueIntSlice{err: err} + } + + return &ValueIntSlice{fetch: r, key: key} +} + func (r *Fetch) MeetingUser_Number(meetingUserID int) *ValueString { key, err := dskey.FromParts("meeting_user", meetingUserID, "number") if err != nil { @@ -2057,15 +2066,6 @@ func (r *Fetch) MeetingUser_VoteWeight(meetingUserID int) *ValueString { return &ValueString{fetch: r, key: key} } -func (r *Fetch) MeetingUser_WorkingGroupSpeakerForMotionIDs(meetingUserID int) *ValueIntSlice { - key, err := dskey.FromParts("meeting_user", meetingUserID, "working_group_speaker_for_motion_ids") - if err != nil { - return &ValueIntSlice{err: err} - } - - return &ValueIntSlice{fetch: r, key: key} -} - func (r *Fetch) Meeting_AdminGroupID(meetingID int) *ValueMaybeInt { key, err := dskey.FromParts("meeting", meetingID, "admin_group_id") if err != nil { @@ -3200,6 +3200,15 @@ func (r *Fetch) Meeting_MotionCommentSectionIDs(meetingID int) *ValueIntSlice { return &ValueIntSlice{fetch: r, key: key} } +func (r *Fetch) Meeting_MotionEditorIDs(meetingID int) *ValueIntSlice { + key, err := dskey.FromParts("meeting", meetingID, "motion_editor_ids") + if err != nil { + return &ValueIntSlice{err: err} + } + + return &ValueIntSlice{fetch: r, key: key} +} + func (r *Fetch) Meeting_MotionIDs(meetingID int) *ValueIntSlice { key, err := dskey.FromParts("meeting", meetingID, "motion_ids") if err != nil { @@ -3299,6 +3308,15 @@ func (r *Fetch) Meeting_MotionWorkflowIDs(meetingID int) *ValueIntSlice { return &ValueIntSlice{fetch: r, key: key} } +func (r *Fetch) Meeting_MotionWorkingGroupSpeakerIDs(meetingID int) *ValueIntSlice { + key, err := dskey.FromParts("meeting", meetingID, "motion_working_group_speaker_ids") + if err != nil { + return &ValueIntSlice{err: err} + } + + return &ValueIntSlice{fetch: r, key: key} +} + func (r *Fetch) Meeting_MotionsAmendmentsEnabled(meetingID int) *ValueBool { key, err := dskey.FromParts("meeting", meetingID, "motions_amendments_enabled") if err != nil { @@ -4469,6 +4487,51 @@ func (r *Fetch) MotionComment_SectionID(motionCommentID int) *ValueInt { return &ValueInt{fetch: r, key: key, required: true} } +func (r *Fetch) MotionEditor_ID(motionEditorID int) *ValueInt { + key, err := dskey.FromParts("motion_editor", motionEditorID, "id") + if err != nil { + return &ValueInt{err: err} + } + + return &ValueInt{fetch: r, key: key} +} + +func (r *Fetch) MotionEditor_MeetingID(motionEditorID int) *ValueInt { + key, err := dskey.FromParts("motion_editor", motionEditorID, "meeting_id") + if err != nil { + return &ValueInt{err: err} + } + + return &ValueInt{fetch: r, key: key, required: true} +} + +func (r *Fetch) MotionEditor_MeetingUserID(motionEditorID int) *ValueInt { + key, err := dskey.FromParts("motion_editor", motionEditorID, "meeting_user_id") + if err != nil { + return &ValueInt{err: err} + } + + return &ValueInt{fetch: r, key: key, required: true} +} + +func (r *Fetch) MotionEditor_MotionID(motionEditorID int) *ValueInt { + key, err := dskey.FromParts("motion_editor", motionEditorID, "motion_id") + if err != nil { + return &ValueInt{err: err} + } + + return &ValueInt{fetch: r, key: key, required: true} +} + +func (r *Fetch) MotionEditor_Weight(motionEditorID int) *ValueInt { + key, err := dskey.FromParts("motion_editor", motionEditorID, "weight") + if err != nil { + return &ValueInt{err: err} + } + + return &ValueInt{fetch: r, key: key} +} + func (r *Fetch) MotionState_AllowCreatePoll(motionStateID int) *ValueBool { key, err := dskey.FromParts("motion_state", motionStateID, "allow_create_poll") if err != nil { @@ -4883,6 +4946,51 @@ func (r *Fetch) MotionWorkflow_StateIDs(motionWorkflowID int) *ValueIntSlice { return &ValueIntSlice{fetch: r, key: key} } +func (r *Fetch) MotionWorkingGroupSpeaker_ID(motionWorkingGroupSpeakerID int) *ValueInt { + key, err := dskey.FromParts("motion_working_group_speaker", motionWorkingGroupSpeakerID, "id") + if err != nil { + return &ValueInt{err: err} + } + + return &ValueInt{fetch: r, key: key} +} + +func (r *Fetch) MotionWorkingGroupSpeaker_MeetingID(motionWorkingGroupSpeakerID int) *ValueInt { + key, err := dskey.FromParts("motion_working_group_speaker", motionWorkingGroupSpeakerID, "meeting_id") + if err != nil { + return &ValueInt{err: err} + } + + return &ValueInt{fetch: r, key: key, required: true} +} + +func (r *Fetch) MotionWorkingGroupSpeaker_MeetingUserID(motionWorkingGroupSpeakerID int) *ValueInt { + key, err := dskey.FromParts("motion_working_group_speaker", motionWorkingGroupSpeakerID, "meeting_user_id") + if err != nil { + return &ValueInt{err: err} + } + + return &ValueInt{fetch: r, key: key, required: true} +} + +func (r *Fetch) MotionWorkingGroupSpeaker_MotionID(motionWorkingGroupSpeakerID int) *ValueInt { + key, err := dskey.FromParts("motion_working_group_speaker", motionWorkingGroupSpeakerID, "motion_id") + if err != nil { + return &ValueInt{err: err} + } + + return &ValueInt{fetch: r, key: key, required: true} +} + +func (r *Fetch) MotionWorkingGroupSpeaker_Weight(motionWorkingGroupSpeakerID int) *ValueInt { + key, err := dskey.FromParts("motion_working_group_speaker", motionWorkingGroupSpeakerID, "weight") + if err != nil { + return &ValueInt{err: err} + } + + return &ValueInt{fetch: r, key: key} +} + func (r *Fetch) Motion_AgendaItemID(motionID int) *ValueMaybeInt { key, err := dskey.FromParts("motion", motionID, "agenda_item_id") if err != nil { @@ -5000,13 +5108,13 @@ func (r *Fetch) Motion_DerivedMotionIDs(motionID int) *ValueIntSlice { return &ValueIntSlice{fetch: r, key: key} } -func (r *Fetch) Motion_EditorID(motionID int) *ValueMaybeInt { - key, err := dskey.FromParts("motion", motionID, "editor_id") +func (r *Fetch) Motion_EditorIDs(motionID int) *ValueIntSlice { + key, err := dskey.FromParts("motion", motionID, "editor_ids") if err != nil { - return &ValueMaybeInt{err: err} + return &ValueIntSlice{err: err} } - return &ValueMaybeInt{fetch: r, key: key} + return &ValueIntSlice{fetch: r, key: key} } func (r *Fetch) Motion_Forwarded(motionID int) *ValueInt { @@ -5333,13 +5441,13 @@ func (r *Fetch) Motion_WorkflowTimestamp(motionID int) *ValueInt { return &ValueInt{fetch: r, key: key} } -func (r *Fetch) Motion_WorkingGroupSpeakerID(motionID int) *ValueMaybeInt { - key, err := dskey.FromParts("motion", motionID, "working_group_speaker_id") +func (r *Fetch) Motion_WorkingGroupSpeakerIDs(motionID int) *ValueIntSlice { + key, err := dskey.FromParts("motion", motionID, "working_group_speaker_ids") if err != nil { - return &ValueMaybeInt{err: err} + return &ValueIntSlice{err: err} } - return &ValueMaybeInt{fetch: r, key: key} + return &ValueIntSlice{fetch: r, key: key} } func (r *Fetch) Option_Abstain(optionID int) *ValueString { diff --git a/pkg/datastore/dskey/gen_collection_fields.go b/pkg/datastore/dskey/gen_collection_fields.go index 04476937..7d5244d8 100644 --- a/pkg/datastore/dskey/gen_collection_fields.go +++ b/pkg/datastore/dskey/gen_collection_fields.go @@ -284,6 +284,7 @@ var collectionFields = [...]collectionField{ {"meeting", "motion_change_recommendation_ids"}, {"meeting", "motion_comment_ids"}, {"meeting", "motion_comment_section_ids"}, + {"meeting", "motion_editor_ids"}, {"meeting", "motion_ids"}, {"meeting", "motion_poll_ballot_paper_number"}, {"meeting", "motion_poll_ballot_paper_selection"}, @@ -295,6 +296,7 @@ var collectionFields = [...]collectionField{ {"meeting", "motion_statute_paragraph_ids"}, {"meeting", "motion_submitter_ids"}, {"meeting", "motion_workflow_ids"}, + {"meeting", "motion_working_group_speaker_ids"}, {"meeting", "motions_amendments_enabled"}, {"meeting", "motions_amendments_in_main_list"}, {"meeting", "motions_amendments_multiple_paragraphs"}, @@ -388,11 +390,12 @@ var collectionFields = [...]collectionField{ {"meeting_user", "assignment_candidate_ids"}, {"meeting_user", "chat_message_ids"}, {"meeting_user", "comment"}, - {"meeting_user", "editor_for_motion_ids"}, {"meeting_user", "group_ids"}, {"meeting_user", "id"}, {"meeting_user", "meeting_id"}, + {"meeting_user", "motion_editor_ids"}, {"meeting_user", "motion_submitter_ids"}, + {"meeting_user", "motion_working_group_speaker_ids"}, {"meeting_user", "number"}, {"meeting_user", "personal_note_ids"}, {"meeting_user", "speaker_ids"}, @@ -402,7 +405,6 @@ var collectionFields = [...]collectionField{ {"meeting_user", "vote_delegated_to_id"}, {"meeting_user", "vote_delegations_from_ids"}, {"meeting_user", "vote_weight"}, - {"meeting_user", "working_group_speaker_for_motion_ids"}, {"motion", "A"}, {"motion", "B"}, {"motion", "C"}, @@ -421,7 +423,7 @@ var collectionFields = [...]collectionField{ {"motion", "comment_ids"}, {"motion", "created"}, {"motion", "derived_motion_ids"}, - {"motion", "editor_id"}, + {"motion", "editor_ids"}, {"motion", "forwarded"}, {"motion", "id"}, {"motion", "last_modified"}, @@ -458,7 +460,7 @@ var collectionFields = [...]collectionField{ {"motion", "text"}, {"motion", "title"}, {"motion", "workflow_timestamp"}, - {"motion", "working_group_speaker_id"}, + {"motion", "working_group_speaker_ids"}, {"motion_block", "A"}, {"motion_block", "agenda_item_id"}, {"motion_block", "id"}, @@ -508,6 +510,12 @@ var collectionFields = [...]collectionField{ {"motion_comment_section", "submitter_can_write"}, {"motion_comment_section", "weight"}, {"motion_comment_section", "write_group_ids"}, + {"motion_editor", "A"}, + {"motion_editor", "id"}, + {"motion_editor", "meeting_id"}, + {"motion_editor", "meeting_user_id"}, + {"motion_editor", "motion_id"}, + {"motion_editor", "weight"}, {"motion_state", "A"}, {"motion_state", "allow_create_poll"}, {"motion_state", "allow_motion_forwarding"}, @@ -558,6 +566,12 @@ var collectionFields = [...]collectionField{ {"motion_workflow", "name"}, {"motion_workflow", "sequential_number"}, {"motion_workflow", "state_ids"}, + {"motion_working_group_speaker", "A"}, + {"motion_working_group_speaker", "id"}, + {"motion_working_group_speaker", "meeting_id"}, + {"motion_working_group_speaker", "meeting_user_id"}, + {"motion_working_group_speaker", "motion_id"}, + {"motion_working_group_speaker", "weight"}, {"option", "A"}, {"option", "B"}, {"option", "abstain"}, @@ -1457,1220 +1471,1248 @@ func collectionFieldToID(cf string) int { return 280 case "meeting/motion_comment_section_ids": return 281 - case "meeting/motion_ids": + case "meeting/motion_editor_ids": return 282 - case "meeting/motion_poll_ballot_paper_number": + case "meeting/motion_ids": return 283 - case "meeting/motion_poll_ballot_paper_selection": + case "meeting/motion_poll_ballot_paper_number": return 284 - case "meeting/motion_poll_default_backend": + case "meeting/motion_poll_ballot_paper_selection": return 285 - case "meeting/motion_poll_default_group_ids": + case "meeting/motion_poll_default_backend": return 286 - case "meeting/motion_poll_default_onehundred_percent_base": + case "meeting/motion_poll_default_group_ids": return 287 - case "meeting/motion_poll_default_type": + case "meeting/motion_poll_default_onehundred_percent_base": return 288 - case "meeting/motion_state_ids": + case "meeting/motion_poll_default_type": return 289 - case "meeting/motion_statute_paragraph_ids": + case "meeting/motion_state_ids": return 290 - case "meeting/motion_submitter_ids": + case "meeting/motion_statute_paragraph_ids": return 291 - case "meeting/motion_workflow_ids": + case "meeting/motion_submitter_ids": return 292 - case "meeting/motions_amendments_enabled": + case "meeting/motion_workflow_ids": return 293 - case "meeting/motions_amendments_in_main_list": + case "meeting/motion_working_group_speaker_ids": return 294 - case "meeting/motions_amendments_multiple_paragraphs": + case "meeting/motions_amendments_enabled": return 295 - case "meeting/motions_amendments_of_amendments": + case "meeting/motions_amendments_in_main_list": return 296 - case "meeting/motions_amendments_prefix": + case "meeting/motions_amendments_multiple_paragraphs": return 297 - case "meeting/motions_amendments_text_mode": + case "meeting/motions_amendments_of_amendments": return 298 - case "meeting/motions_block_slide_columns": + case "meeting/motions_amendments_prefix": return 299 - case "meeting/motions_default_amendment_workflow_id": + case "meeting/motions_amendments_text_mode": return 300 - case "meeting/motions_default_line_numbering": + case "meeting/motions_block_slide_columns": return 301 - case "meeting/motions_default_sorting": + case "meeting/motions_default_amendment_workflow_id": return 302 - case "meeting/motions_default_statute_amendment_workflow_id": + case "meeting/motions_default_line_numbering": return 303 - case "meeting/motions_default_workflow_id": + case "meeting/motions_default_sorting": return 304 - case "meeting/motions_enable_editor": + case "meeting/motions_default_statute_amendment_workflow_id": return 305 - case "meeting/motions_enable_reason_on_projector": + case "meeting/motions_default_workflow_id": return 306 - case "meeting/motions_enable_recommendation_on_projector": + case "meeting/motions_enable_editor": return 307 - case "meeting/motions_enable_sidebox_on_projector": + case "meeting/motions_enable_reason_on_projector": return 308 - case "meeting/motions_enable_text_on_projector": + case "meeting/motions_enable_recommendation_on_projector": return 309 - case "meeting/motions_enable_working_group_speaker": + case "meeting/motions_enable_sidebox_on_projector": return 310 - case "meeting/motions_export_follow_recommendation": + case "meeting/motions_enable_text_on_projector": return 311 - case "meeting/motions_export_preamble": + case "meeting/motions_enable_working_group_speaker": return 312 - case "meeting/motions_export_submitter_recommendation": + case "meeting/motions_export_follow_recommendation": return 313 - case "meeting/motions_export_title": + case "meeting/motions_export_preamble": return 314 - case "meeting/motions_line_length": + case "meeting/motions_export_submitter_recommendation": return 315 - case "meeting/motions_number_min_digits": + case "meeting/motions_export_title": return 316 - case "meeting/motions_number_type": + case "meeting/motions_line_length": return 317 - case "meeting/motions_number_with_blank": + case "meeting/motions_number_min_digits": return 318 - case "meeting/motions_preamble": + case "meeting/motions_number_type": return 319 - case "meeting/motions_reason_required": + case "meeting/motions_number_with_blank": return 320 - case "meeting/motions_recommendation_text_mode": + case "meeting/motions_preamble": return 321 - case "meeting/motions_recommendations_by": + case "meeting/motions_reason_required": return 322 - case "meeting/motions_show_referring_motions": + case "meeting/motions_recommendation_text_mode": return 323 - case "meeting/motions_show_sequential_number": + case "meeting/motions_recommendations_by": return 324 - case "meeting/motions_statute_recommendations_by": + case "meeting/motions_show_referring_motions": return 325 - case "meeting/motions_statutes_enabled": + case "meeting/motions_show_sequential_number": return 326 - case "meeting/motions_supporters_min_amount": + case "meeting/motions_statute_recommendations_by": return 327 - case "meeting/name": + case "meeting/motions_statutes_enabled": return 328 - case "meeting/option_ids": + case "meeting/motions_supporters_min_amount": return 329 - case "meeting/organization_tag_ids": + case "meeting/name": return 330 - case "meeting/personal_note_ids": + case "meeting/option_ids": return 331 - case "meeting/point_of_order_category_ids": + case "meeting/organization_tag_ids": return 332 - case "meeting/poll_ballot_paper_number": + case "meeting/personal_note_ids": return 333 - case "meeting/poll_ballot_paper_selection": + case "meeting/point_of_order_category_ids": return 334 - case "meeting/poll_candidate_ids": + case "meeting/poll_ballot_paper_number": return 335 - case "meeting/poll_candidate_list_ids": + case "meeting/poll_ballot_paper_selection": return 336 - case "meeting/poll_countdown_id": + case "meeting/poll_candidate_ids": return 337 - case "meeting/poll_couple_countdown": + case "meeting/poll_candidate_list_ids": return 338 - case "meeting/poll_default_backend": + case "meeting/poll_countdown_id": return 339 - case "meeting/poll_default_group_ids": + case "meeting/poll_couple_countdown": return 340 - case "meeting/poll_default_method": + case "meeting/poll_default_backend": return 341 - case "meeting/poll_default_onehundred_percent_base": + case "meeting/poll_default_group_ids": return 342 - case "meeting/poll_default_type": + case "meeting/poll_default_method": return 343 - case "meeting/poll_ids": + case "meeting/poll_default_onehundred_percent_base": return 344 - case "meeting/poll_sort_poll_result_by_votes": + case "meeting/poll_default_type": return 345 - case "meeting/present_user_ids": + case "meeting/poll_ids": return 346 - case "meeting/projection_ids": + case "meeting/poll_sort_poll_result_by_votes": return 347 - case "meeting/projector_countdown_default_time": + case "meeting/present_user_ids": return 348 - case "meeting/projector_countdown_ids": + case "meeting/projection_ids": return 349 - case "meeting/projector_countdown_warning_time": + case "meeting/projector_countdown_default_time": return 350 - case "meeting/projector_ids": + case "meeting/projector_countdown_ids": return 351 - case "meeting/projector_message_ids": + case "meeting/projector_countdown_warning_time": return 352 - case "meeting/reference_projector_id": + case "meeting/projector_ids": return 353 - case "meeting/speaker_ids": + case "meeting/projector_message_ids": return 354 - case "meeting/start_time": + case "meeting/reference_projector_id": return 355 - case "meeting/structure_level_ids": + case "meeting/speaker_ids": return 356 - case "meeting/structure_level_list_of_speakers_ids": + case "meeting/start_time": return 357 - case "meeting/tag_ids": + case "meeting/structure_level_ids": return 358 - case "meeting/template_for_organization_id": + case "meeting/structure_level_list_of_speakers_ids": return 359 - case "meeting/topic_ids": + case "meeting/tag_ids": return 360 - case "meeting/topic_poll_default_group_ids": + case "meeting/template_for_organization_id": return 361 - case "meeting/user_ids": + case "meeting/topic_ids": return 362 - case "meeting/users_allow_self_set_present": + case "meeting/topic_poll_default_group_ids": return 363 - case "meeting/users_email_body": + case "meeting/user_ids": return 364 - case "meeting/users_email_replyto": + case "meeting/users_allow_self_set_present": return 365 - case "meeting/users_email_sender": + case "meeting/users_email_body": return 366 - case "meeting/users_email_subject": + case "meeting/users_email_replyto": return 367 - case "meeting/users_enable_presence_view": + case "meeting/users_email_sender": return 368 - case "meeting/users_enable_vote_delegations": + case "meeting/users_email_subject": return 369 - case "meeting/users_enable_vote_weight": + case "meeting/users_enable_presence_view": return 370 - case "meeting/users_pdf_welcometext": + case "meeting/users_enable_vote_delegations": return 371 - case "meeting/users_pdf_welcometitle": + case "meeting/users_enable_vote_weight": return 372 - case "meeting/users_pdf_wlan_encryption": + case "meeting/users_pdf_welcometext": return 373 - case "meeting/users_pdf_wlan_password": + case "meeting/users_pdf_welcometitle": return 374 - case "meeting/users_pdf_wlan_ssid": + case "meeting/users_pdf_wlan_encryption": return 375 - case "meeting/vote_ids": + case "meeting/users_pdf_wlan_password": return 376 - case "meeting/welcome_text": + case "meeting/users_pdf_wlan_ssid": return 377 - case "meeting/welcome_title": + case "meeting/vote_ids": return 378 - case "meeting_user/A": + case "meeting/welcome_text": return 379 - case "meeting_user/B": + case "meeting/welcome_title": return 380 - case "meeting_user/D": + case "meeting_user/A": return 381 - case "meeting_user/about_me": + case "meeting_user/B": return 382 - case "meeting_user/assignment_candidate_ids": + case "meeting_user/D": return 383 - case "meeting_user/chat_message_ids": + case "meeting_user/about_me": return 384 - case "meeting_user/comment": + case "meeting_user/assignment_candidate_ids": return 385 - case "meeting_user/editor_for_motion_ids": + case "meeting_user/chat_message_ids": return 386 - case "meeting_user/group_ids": + case "meeting_user/comment": return 387 - case "meeting_user/id": + case "meeting_user/group_ids": return 388 - case "meeting_user/meeting_id": + case "meeting_user/id": return 389 - case "meeting_user/motion_submitter_ids": + case "meeting_user/meeting_id": return 390 - case "meeting_user/number": + case "meeting_user/motion_editor_ids": return 391 - case "meeting_user/personal_note_ids": + case "meeting_user/motion_submitter_ids": return 392 - case "meeting_user/speaker_ids": + case "meeting_user/motion_working_group_speaker_ids": return 393 - case "meeting_user/structure_level_ids": + case "meeting_user/number": return 394 - case "meeting_user/supported_motion_ids": + case "meeting_user/personal_note_ids": return 395 - case "meeting_user/user_id": + case "meeting_user/speaker_ids": return 396 - case "meeting_user/vote_delegated_to_id": + case "meeting_user/structure_level_ids": return 397 - case "meeting_user/vote_delegations_from_ids": + case "meeting_user/supported_motion_ids": return 398 - case "meeting_user/vote_weight": + case "meeting_user/user_id": return 399 - case "meeting_user/working_group_speaker_for_motion_ids": + case "meeting_user/vote_delegated_to_id": return 400 - case "motion/A": + case "meeting_user/vote_delegations_from_ids": return 401 - case "motion/B": + case "meeting_user/vote_weight": return 402 - case "motion/C": + case "motion/A": return 403 - case "motion/D": + case "motion/B": return 404 - case "motion/E": + case "motion/C": return 405 - case "motion/agenda_item_id": + case "motion/D": return 406 - case "motion/all_derived_motion_ids": + case "motion/E": return 407 - case "motion/all_origin_ids": + case "motion/agenda_item_id": return 408 - case "motion/amendment_ids": + case "motion/all_derived_motion_ids": return 409 - case "motion/amendment_paragraphs": + case "motion/all_origin_ids": return 410 - case "motion/attachment_ids": + case "motion/amendment_ids": return 411 - case "motion/block_id": + case "motion/amendment_paragraphs": return 412 - case "motion/category_id": + case "motion/attachment_ids": return 413 - case "motion/category_weight": + case "motion/block_id": return 414 - case "motion/change_recommendation_ids": + case "motion/category_id": return 415 - case "motion/comment_ids": + case "motion/category_weight": return 416 - case "motion/created": + case "motion/change_recommendation_ids": return 417 - case "motion/derived_motion_ids": + case "motion/comment_ids": return 418 - case "motion/editor_id": + case "motion/created": return 419 - case "motion/forwarded": + case "motion/derived_motion_ids": return 420 - case "motion/id": + case "motion/editor_ids": return 421 - case "motion/last_modified": + case "motion/forwarded": return 422 - case "motion/lead_motion_id": + case "motion/id": return 423 - case "motion/list_of_speakers_id": + case "motion/last_modified": return 424 - case "motion/meeting_id": + case "motion/lead_motion_id": return 425 - case "motion/modified_final_version": + case "motion/list_of_speakers_id": return 426 - case "motion/number": + case "motion/meeting_id": return 427 - case "motion/number_value": + case "motion/modified_final_version": return 428 - case "motion/option_ids": + case "motion/number": return 429 - case "motion/origin_id": + case "motion/number_value": return 430 - case "motion/origin_meeting_id": + case "motion/option_ids": return 431 - case "motion/personal_note_ids": + case "motion/origin_id": return 432 - case "motion/poll_ids": + case "motion/origin_meeting_id": return 433 - case "motion/projection_ids": + case "motion/personal_note_ids": return 434 - case "motion/reason": + case "motion/poll_ids": return 435 - case "motion/recommendation_extension": + case "motion/projection_ids": return 436 - case "motion/recommendation_extension_reference_ids": + case "motion/reason": return 437 - case "motion/recommendation_id": + case "motion/recommendation_extension": return 438 - case "motion/referenced_in_motion_recommendation_extension_ids": + case "motion/recommendation_extension_reference_ids": return 439 - case "motion/referenced_in_motion_state_extension_ids": + case "motion/recommendation_id": return 440 - case "motion/sequential_number": + case "motion/referenced_in_motion_recommendation_extension_ids": return 441 - case "motion/sort_child_ids": + case "motion/referenced_in_motion_state_extension_ids": return 442 - case "motion/sort_parent_id": + case "motion/sequential_number": return 443 - case "motion/sort_weight": + case "motion/sort_child_ids": return 444 - case "motion/start_line_number": + case "motion/sort_parent_id": return 445 - case "motion/state_extension": + case "motion/sort_weight": return 446 - case "motion/state_extension_reference_ids": + case "motion/start_line_number": return 447 - case "motion/state_id": + case "motion/state_extension": return 448 - case "motion/statute_paragraph_id": + case "motion/state_extension_reference_ids": return 449 - case "motion/submitter_ids": + case "motion/state_id": return 450 - case "motion/supporter_meeting_user_ids": + case "motion/statute_paragraph_id": return 451 - case "motion/tag_ids": + case "motion/submitter_ids": return 452 - case "motion/text": + case "motion/supporter_meeting_user_ids": return 453 - case "motion/title": + case "motion/tag_ids": return 454 - case "motion/workflow_timestamp": + case "motion/text": return 455 - case "motion/working_group_speaker_id": + case "motion/title": return 456 - case "motion_block/A": + case "motion/workflow_timestamp": return 457 - case "motion_block/agenda_item_id": + case "motion/working_group_speaker_ids": return 458 - case "motion_block/id": + case "motion_block/A": return 459 - case "motion_block/internal": + case "motion_block/agenda_item_id": return 460 - case "motion_block/list_of_speakers_id": + case "motion_block/id": return 461 - case "motion_block/meeting_id": + case "motion_block/internal": return 462 - case "motion_block/motion_ids": + case "motion_block/list_of_speakers_id": return 463 - case "motion_block/projection_ids": + case "motion_block/meeting_id": return 464 - case "motion_block/sequential_number": + case "motion_block/motion_ids": return 465 - case "motion_block/title": + case "motion_block/projection_ids": return 466 - case "motion_category/A": + case "motion_block/sequential_number": return 467 - case "motion_category/child_ids": + case "motion_block/title": return 468 - case "motion_category/id": + case "motion_category/A": return 469 - case "motion_category/level": + case "motion_category/child_ids": return 470 - case "motion_category/meeting_id": + case "motion_category/id": return 471 - case "motion_category/motion_ids": + case "motion_category/level": return 472 - case "motion_category/name": + case "motion_category/meeting_id": return 473 - case "motion_category/parent_id": + case "motion_category/motion_ids": return 474 - case "motion_category/prefix": + case "motion_category/name": return 475 - case "motion_category/sequential_number": + case "motion_category/parent_id": return 476 - case "motion_category/weight": + case "motion_category/prefix": return 477 - case "motion_change_recommendation/A": + case "motion_category/sequential_number": return 478 - case "motion_change_recommendation/creation_time": + case "motion_category/weight": return 479 - case "motion_change_recommendation/id": + case "motion_change_recommendation/A": return 480 - case "motion_change_recommendation/internal": + case "motion_change_recommendation/creation_time": return 481 - case "motion_change_recommendation/line_from": + case "motion_change_recommendation/id": return 482 - case "motion_change_recommendation/line_to": + case "motion_change_recommendation/internal": return 483 - case "motion_change_recommendation/meeting_id": + case "motion_change_recommendation/line_from": return 484 - case "motion_change_recommendation/motion_id": + case "motion_change_recommendation/line_to": return 485 - case "motion_change_recommendation/other_description": + case "motion_change_recommendation/meeting_id": return 486 - case "motion_change_recommendation/rejected": + case "motion_change_recommendation/motion_id": return 487 - case "motion_change_recommendation/text": + case "motion_change_recommendation/other_description": return 488 - case "motion_change_recommendation/type": + case "motion_change_recommendation/rejected": return 489 - case "motion_comment/A": + case "motion_change_recommendation/text": return 490 - case "motion_comment/comment": + case "motion_change_recommendation/type": return 491 - case "motion_comment/id": + case "motion_comment/A": return 492 - case "motion_comment/meeting_id": + case "motion_comment/comment": return 493 - case "motion_comment/motion_id": + case "motion_comment/id": return 494 - case "motion_comment/section_id": + case "motion_comment/meeting_id": return 495 - case "motion_comment_section/A": + case "motion_comment/motion_id": return 496 - case "motion_comment_section/comment_ids": + case "motion_comment/section_id": return 497 - case "motion_comment_section/id": + case "motion_comment_section/A": return 498 - case "motion_comment_section/meeting_id": + case "motion_comment_section/comment_ids": return 499 - case "motion_comment_section/name": + case "motion_comment_section/id": return 500 - case "motion_comment_section/read_group_ids": + case "motion_comment_section/meeting_id": return 501 - case "motion_comment_section/sequential_number": + case "motion_comment_section/name": return 502 - case "motion_comment_section/submitter_can_write": + case "motion_comment_section/read_group_ids": return 503 - case "motion_comment_section/weight": + case "motion_comment_section/sequential_number": return 504 - case "motion_comment_section/write_group_ids": + case "motion_comment_section/submitter_can_write": return 505 - case "motion_state/A": + case "motion_comment_section/weight": return 506 - case "motion_state/allow_create_poll": + case "motion_comment_section/write_group_ids": return 507 - case "motion_state/allow_motion_forwarding": + case "motion_editor/A": return 508 - case "motion_state/allow_submitter_edit": + case "motion_editor/id": return 509 - case "motion_state/allow_support": + case "motion_editor/meeting_id": return 510 - case "motion_state/css_class": + case "motion_editor/meeting_user_id": return 511 - case "motion_state/first_state_of_workflow_id": + case "motion_editor/motion_id": return 512 - case "motion_state/id": + case "motion_editor/weight": return 513 - case "motion_state/is_internal": + case "motion_state/A": return 514 - case "motion_state/meeting_id": + case "motion_state/allow_create_poll": return 515 - case "motion_state/merge_amendment_into_final": + case "motion_state/allow_motion_forwarding": return 516 - case "motion_state/motion_ids": + case "motion_state/allow_submitter_edit": return 517 - case "motion_state/motion_recommendation_ids": + case "motion_state/allow_support": return 518 - case "motion_state/name": + case "motion_state/css_class": return 519 - case "motion_state/next_state_ids": + case "motion_state/first_state_of_workflow_id": return 520 - case "motion_state/previous_state_ids": + case "motion_state/id": return 521 - case "motion_state/recommendation_label": + case "motion_state/is_internal": return 522 - case "motion_state/restrictions": + case "motion_state/meeting_id": return 523 - case "motion_state/set_number": + case "motion_state/merge_amendment_into_final": return 524 - case "motion_state/set_workflow_timestamp": + case "motion_state/motion_ids": return 525 - case "motion_state/show_recommendation_extension_field": + case "motion_state/motion_recommendation_ids": return 526 - case "motion_state/show_state_extension_field": + case "motion_state/name": return 527 - case "motion_state/submitter_withdraw_back_ids": + case "motion_state/next_state_ids": return 528 - case "motion_state/submitter_withdraw_state_id": + case "motion_state/previous_state_ids": return 529 - case "motion_state/weight": + case "motion_state/recommendation_label": return 530 - case "motion_state/workflow_id": + case "motion_state/restrictions": return 531 - case "motion_statute_paragraph/A": + case "motion_state/set_number": return 532 - case "motion_statute_paragraph/id": + case "motion_state/set_workflow_timestamp": return 533 - case "motion_statute_paragraph/meeting_id": + case "motion_state/show_recommendation_extension_field": return 534 - case "motion_statute_paragraph/motion_ids": + case "motion_state/show_state_extension_field": return 535 - case "motion_statute_paragraph/sequential_number": + case "motion_state/submitter_withdraw_back_ids": return 536 - case "motion_statute_paragraph/text": + case "motion_state/submitter_withdraw_state_id": return 537 - case "motion_statute_paragraph/title": + case "motion_state/weight": return 538 - case "motion_statute_paragraph/weight": + case "motion_state/workflow_id": return 539 - case "motion_submitter/A": + case "motion_statute_paragraph/A": return 540 - case "motion_submitter/id": + case "motion_statute_paragraph/id": return 541 - case "motion_submitter/meeting_id": + case "motion_statute_paragraph/meeting_id": return 542 - case "motion_submitter/meeting_user_id": + case "motion_statute_paragraph/motion_ids": return 543 - case "motion_submitter/motion_id": + case "motion_statute_paragraph/sequential_number": return 544 - case "motion_submitter/weight": + case "motion_statute_paragraph/text": return 545 - case "motion_workflow/A": + case "motion_statute_paragraph/title": return 546 - case "motion_workflow/default_amendment_workflow_meeting_id": + case "motion_statute_paragraph/weight": return 547 - case "motion_workflow/default_statute_amendment_workflow_meeting_id": + case "motion_submitter/A": return 548 - case "motion_workflow/default_workflow_meeting_id": + case "motion_submitter/id": return 549 - case "motion_workflow/first_state_id": + case "motion_submitter/meeting_id": return 550 - case "motion_workflow/id": + case "motion_submitter/meeting_user_id": return 551 - case "motion_workflow/meeting_id": + case "motion_submitter/motion_id": return 552 - case "motion_workflow/name": + case "motion_submitter/weight": return 553 - case "motion_workflow/sequential_number": + case "motion_workflow/A": return 554 - case "motion_workflow/state_ids": + case "motion_workflow/default_amendment_workflow_meeting_id": return 555 - case "option/A": + case "motion_workflow/default_statute_amendment_workflow_meeting_id": return 556 - case "option/B": + case "motion_workflow/default_workflow_meeting_id": return 557 - case "option/abstain": + case "motion_workflow/first_state_id": return 558 - case "option/content_object_id": + case "motion_workflow/id": return 559 - case "option/id": + case "motion_workflow/meeting_id": return 560 - case "option/meeting_id": + case "motion_workflow/name": return 561 - case "option/no": + case "motion_workflow/sequential_number": return 562 - case "option/poll_id": + case "motion_workflow/state_ids": return 563 - case "option/text": + case "motion_working_group_speaker/A": return 564 - case "option/used_as_global_option_in_poll_id": + case "motion_working_group_speaker/id": return 565 - case "option/vote_ids": + case "motion_working_group_speaker/meeting_id": return 566 - case "option/weight": + case "motion_working_group_speaker/meeting_user_id": return 567 - case "option/yes": + case "motion_working_group_speaker/motion_id": return 568 - case "organization/A": + case "motion_working_group_speaker/weight": return 569 - case "organization/B": + case "option/A": return 570 - case "organization/C": + case "option/B": return 571 - case "organization/active_meeting_ids": + case "option/abstain": return 572 - case "organization/archived_meeting_ids": + case "option/content_object_id": return 573 - case "organization/committee_ids": + case "option/id": return 574 - case "organization/default_language": + case "option/meeting_id": return 575 - case "organization/description": + case "option/no": return 576 - case "organization/enable_chat": + case "option/poll_id": return 577 - case "organization/enable_electronic_voting": + case "option/text": return 578 - case "organization/genders": + case "option/used_as_global_option_in_poll_id": return 579 - case "organization/id": + case "option/vote_ids": return 580 - case "organization/legal_notice": + case "option/weight": return 581 - case "organization/limit_of_meetings": + case "option/yes": return 582 - case "organization/limit_of_users": + case "organization/A": return 583 - case "organization/login_text": + case "organization/B": return 584 - case "organization/mediafile_ids": + case "organization/C": return 585 - case "organization/name": + case "organization/active_meeting_ids": return 586 - case "organization/organization_tag_ids": + case "organization/archived_meeting_ids": return 587 - case "organization/privacy_policy": + case "organization/committee_ids": return 588 - case "organization/reset_password_verbose_errors": + case "organization/default_language": return 589 - case "organization/saml_attr_mapping": + case "organization/description": return 590 - case "organization/saml_enabled": + case "organization/enable_chat": return 591 - case "organization/saml_login_button_text": + case "organization/enable_electronic_voting": return 592 - case "organization/saml_metadata_idp": + case "organization/genders": return 593 - case "organization/saml_metadata_sp": + case "organization/id": return 594 - case "organization/saml_private_key": + case "organization/legal_notice": return 595 - case "organization/template_meeting_ids": + case "organization/limit_of_meetings": return 596 - case "organization/theme_id": + case "organization/limit_of_users": return 597 - case "organization/theme_ids": + case "organization/login_text": return 598 - case "organization/url": + case "organization/mediafile_ids": return 599 - case "organization/user_ids": + case "organization/name": return 600 - case "organization/users_email_body": + case "organization/organization_tag_ids": return 601 - case "organization/users_email_replyto": + case "organization/privacy_policy": return 602 - case "organization/users_email_sender": + case "organization/reset_password_verbose_errors": return 603 - case "organization/users_email_subject": + case "organization/saml_attr_mapping": return 604 - case "organization/vote_decrypt_public_main_key": + case "organization/saml_enabled": return 605 - case "organization_tag/A": + case "organization/saml_login_button_text": return 606 - case "organization_tag/color": + case "organization/saml_metadata_idp": return 607 - case "organization_tag/id": + case "organization/saml_metadata_sp": return 608 - case "organization_tag/name": + case "organization/saml_private_key": return 609 - case "organization_tag/organization_id": + case "organization/template_meeting_ids": return 610 - case "organization_tag/tagged_ids": + case "organization/theme_id": return 611 - case "personal_note/A": + case "organization/theme_ids": return 612 - case "personal_note/content_object_id": + case "organization/url": return 613 - case "personal_note/id": + case "organization/user_ids": return 614 - case "personal_note/meeting_id": + case "organization/users_email_body": return 615 - case "personal_note/meeting_user_id": + case "organization/users_email_replyto": return 616 - case "personal_note/note": + case "organization/users_email_sender": return 617 - case "personal_note/star": + case "organization/users_email_subject": return 618 - case "point_of_order_category/A": + case "organization/vote_decrypt_public_main_key": return 619 - case "point_of_order_category/id": + case "organization_tag/A": return 620 - case "point_of_order_category/meeting_id": + case "organization_tag/color": return 621 - case "point_of_order_category/rank": + case "organization_tag/id": return 622 - case "point_of_order_category/speaker_ids": + case "organization_tag/name": return 623 - case "point_of_order_category/text": + case "organization_tag/organization_id": return 624 - case "poll/A": + case "organization_tag/tagged_ids": return 625 - case "poll/B": + case "personal_note/A": return 626 - case "poll/C": + case "personal_note/content_object_id": return 627 - case "poll/D": + case "personal_note/id": return 628 - case "poll/backend": + case "personal_note/meeting_id": return 629 - case "poll/content_object_id": + case "personal_note/meeting_user_id": return 630 - case "poll/crypt_key": + case "personal_note/note": return 631 - case "poll/crypt_signature": + case "personal_note/star": return 632 - case "poll/description": + case "point_of_order_category/A": return 633 - case "poll/entitled_group_ids": + case "point_of_order_category/id": return 634 - case "poll/entitled_users_at_stop": + case "point_of_order_category/meeting_id": return 635 - case "poll/global_abstain": + case "point_of_order_category/rank": return 636 - case "poll/global_no": + case "point_of_order_category/speaker_ids": return 637 - case "poll/global_option_id": + case "point_of_order_category/text": return 638 - case "poll/global_yes": + case "poll/A": return 639 - case "poll/id": + case "poll/B": return 640 - case "poll/is_pseudoanonymized": + case "poll/C": return 641 - case "poll/max_votes_amount": + case "poll/D": return 642 - case "poll/max_votes_per_option": + case "poll/backend": return 643 - case "poll/meeting_id": + case "poll/content_object_id": return 644 - case "poll/min_votes_amount": + case "poll/crypt_key": return 645 - case "poll/onehundred_percent_base": + case "poll/crypt_signature": return 646 - case "poll/option_ids": + case "poll/description": return 647 - case "poll/pollmethod": + case "poll/entitled_group_ids": return 648 - case "poll/projection_ids": + case "poll/entitled_users_at_stop": return 649 - case "poll/sequential_number": + case "poll/global_abstain": return 650 - case "poll/state": + case "poll/global_no": return 651 - case "poll/title": + case "poll/global_option_id": return 652 - case "poll/type": + case "poll/global_yes": return 653 - case "poll/vote_count": + case "poll/id": return 654 - case "poll/voted_ids": + case "poll/is_pseudoanonymized": return 655 - case "poll/votes_raw": + case "poll/max_votes_amount": return 656 - case "poll/votes_signature": + case "poll/max_votes_per_option": return 657 - case "poll/votescast": + case "poll/meeting_id": return 658 - case "poll/votesinvalid": + case "poll/min_votes_amount": return 659 - case "poll/votesvalid": + case "poll/onehundred_percent_base": return 660 - case "poll_candidate/A": + case "poll/option_ids": return 661 - case "poll_candidate/id": + case "poll/pollmethod": return 662 - case "poll_candidate/meeting_id": + case "poll/projection_ids": return 663 - case "poll_candidate/poll_candidate_list_id": + case "poll/sequential_number": return 664 - case "poll_candidate/user_id": + case "poll/state": return 665 - case "poll_candidate/weight": + case "poll/title": return 666 - case "poll_candidate_list/A": + case "poll/type": return 667 - case "poll_candidate_list/id": + case "poll/vote_count": return 668 - case "poll_candidate_list/meeting_id": + case "poll/voted_ids": return 669 - case "poll_candidate_list/option_id": + case "poll/votes_raw": return 670 - case "poll_candidate_list/poll_candidate_ids": + case "poll/votes_signature": return 671 - case "projection/A": + case "poll/votescast": return 672 - case "projection/content": + case "poll/votesinvalid": return 673 - case "projection/content_object_id": + case "poll/votesvalid": return 674 - case "projection/current_projector_id": + case "poll_candidate/A": return 675 - case "projection/history_projector_id": + case "poll_candidate/id": return 676 - case "projection/id": + case "poll_candidate/meeting_id": return 677 - case "projection/meeting_id": + case "poll_candidate/poll_candidate_list_id": return 678 - case "projection/options": + case "poll_candidate/user_id": return 679 - case "projection/preview_projector_id": + case "poll_candidate/weight": return 680 - case "projection/stable": + case "poll_candidate_list/A": return 681 - case "projection/type": + case "poll_candidate_list/id": return 682 - case "projection/weight": + case "poll_candidate_list/meeting_id": return 683 - case "projector/A": + case "poll_candidate_list/option_id": return 684 - case "projector/aspect_ratio_denominator": + case "poll_candidate_list/poll_candidate_ids": return 685 - case "projector/aspect_ratio_numerator": + case "projection/A": return 686 - case "projector/background_color": + case "projection/content": return 687 - case "projector/chyron_background_color": + case "projection/content_object_id": return 688 - case "projector/chyron_font_color": + case "projection/current_projector_id": return 689 - case "projector/color": + case "projection/history_projector_id": return 690 - case "projector/current_projection_ids": + case "projection/id": return 691 - case "projector/header_background_color": + case "projection/meeting_id": return 692 - case "projector/header_font_color": + case "projection/options": return 693 - case "projector/header_h1_color": + case "projection/preview_projector_id": return 694 - case "projector/history_projection_ids": + case "projection/stable": return 695 - case "projector/id": + case "projection/type": return 696 - case "projector/is_internal": + case "projection/weight": return 697 - case "projector/meeting_id": + case "projector/A": return 698 - case "projector/name": + case "projector/aspect_ratio_denominator": return 699 - case "projector/preview_projection_ids": + case "projector/aspect_ratio_numerator": return 700 - case "projector/scale": + case "projector/background_color": return 701 - case "projector/scroll": + case "projector/chyron_background_color": return 702 - case "projector/sequential_number": + case "projector/chyron_font_color": return 703 - case "projector/show_clock": + case "projector/color": return 704 - case "projector/show_header_footer": + case "projector/current_projection_ids": return 705 - case "projector/show_logo": + case "projector/header_background_color": return 706 - case "projector/show_title": + case "projector/header_font_color": return 707 - case "projector/used_as_default_projector_for_agenda_item_list_in_meeting_id": + case "projector/header_h1_color": return 708 - case "projector/used_as_default_projector_for_amendment_in_meeting_id": + case "projector/history_projection_ids": return 709 - case "projector/used_as_default_projector_for_assignment_in_meeting_id": + case "projector/id": return 710 - case "projector/used_as_default_projector_for_assignment_poll_in_meeting_id": + case "projector/is_internal": return 711 - case "projector/used_as_default_projector_for_countdown_in_meeting_id": + case "projector/meeting_id": return 712 - case "projector/used_as_default_projector_for_current_list_of_speakers_in_meeting_id": + case "projector/name": return 713 - case "projector/used_as_default_projector_for_list_of_speakers_in_meeting_id": + case "projector/preview_projection_ids": return 714 - case "projector/used_as_default_projector_for_mediafile_in_meeting_id": + case "projector/scale": return 715 - case "projector/used_as_default_projector_for_message_in_meeting_id": + case "projector/scroll": return 716 - case "projector/used_as_default_projector_for_motion_block_in_meeting_id": + case "projector/sequential_number": return 717 - case "projector/used_as_default_projector_for_motion_in_meeting_id": + case "projector/show_clock": return 718 - case "projector/used_as_default_projector_for_motion_poll_in_meeting_id": + case "projector/show_header_footer": return 719 - case "projector/used_as_default_projector_for_poll_in_meeting_id": + case "projector/show_logo": return 720 - case "projector/used_as_default_projector_for_topic_in_meeting_id": + case "projector/show_title": return 721 - case "projector/used_as_reference_projector_meeting_id": + case "projector/used_as_default_projector_for_agenda_item_list_in_meeting_id": return 722 - case "projector/width": + case "projector/used_as_default_projector_for_amendment_in_meeting_id": return 723 - case "projector_countdown/A": + case "projector/used_as_default_projector_for_assignment_in_meeting_id": return 724 - case "projector_countdown/countdown_time": + case "projector/used_as_default_projector_for_assignment_poll_in_meeting_id": return 725 - case "projector_countdown/default_time": + case "projector/used_as_default_projector_for_countdown_in_meeting_id": return 726 - case "projector_countdown/description": + case "projector/used_as_default_projector_for_current_list_of_speakers_in_meeting_id": return 727 - case "projector_countdown/id": + case "projector/used_as_default_projector_for_list_of_speakers_in_meeting_id": return 728 - case "projector_countdown/meeting_id": + case "projector/used_as_default_projector_for_mediafile_in_meeting_id": return 729 - case "projector_countdown/projection_ids": + case "projector/used_as_default_projector_for_message_in_meeting_id": return 730 - case "projector_countdown/running": + case "projector/used_as_default_projector_for_motion_block_in_meeting_id": return 731 - case "projector_countdown/title": + case "projector/used_as_default_projector_for_motion_in_meeting_id": return 732 - case "projector_countdown/used_as_list_of_speakers_countdown_meeting_id": + case "projector/used_as_default_projector_for_motion_poll_in_meeting_id": return 733 - case "projector_countdown/used_as_poll_countdown_meeting_id": + case "projector/used_as_default_projector_for_poll_in_meeting_id": return 734 - case "projector_message/A": + case "projector/used_as_default_projector_for_topic_in_meeting_id": return 735 - case "projector_message/id": + case "projector/used_as_reference_projector_meeting_id": return 736 - case "projector_message/meeting_id": + case "projector/width": return 737 - case "projector_message/message": + case "projector_countdown/A": return 738 - case "projector_message/projection_ids": + case "projector_countdown/countdown_time": return 739 - case "speaker/A": + case "projector_countdown/default_time": return 740 - case "speaker/begin_time": + case "projector_countdown/description": return 741 - case "speaker/end_time": + case "projector_countdown/id": return 742 - case "speaker/id": + case "projector_countdown/meeting_id": return 743 - case "speaker/list_of_speakers_id": + case "projector_countdown/projection_ids": return 744 - case "speaker/meeting_id": + case "projector_countdown/running": return 745 - case "speaker/meeting_user_id": + case "projector_countdown/title": return 746 - case "speaker/note": + case "projector_countdown/used_as_list_of_speakers_countdown_meeting_id": return 747 - case "speaker/pause_time": + case "projector_countdown/used_as_poll_countdown_meeting_id": return 748 - case "speaker/point_of_order": + case "projector_message/A": return 749 - case "speaker/point_of_order_category_id": + case "projector_message/id": return 750 - case "speaker/speech_state": + case "projector_message/meeting_id": return 751 - case "speaker/structure_level_list_of_speakers_id": + case "projector_message/message": return 752 - case "speaker/total_pause": + case "projector_message/projection_ids": return 753 + case "speaker/A": + return 754 + case "speaker/begin_time": + return 755 + case "speaker/end_time": + return 756 + case "speaker/id": + return 757 + case "speaker/list_of_speakers_id": + return 758 + case "speaker/meeting_id": + return 759 + case "speaker/meeting_user_id": + return 760 + case "speaker/note": + return 761 + case "speaker/pause_time": + return 762 + case "speaker/point_of_order": + return 763 + case "speaker/point_of_order_category_id": + return 764 + case "speaker/speech_state": + return 765 + case "speaker/structure_level_list_of_speakers_id": + return 766 + case "speaker/total_pause": + return 767 case "speaker/unpause_time": - return 754 + return 768 case "speaker/weight": - return 755 + return 769 case "structure_level/A": - return 756 + return 770 case "structure_level/color": - return 757 + return 771 case "structure_level/default_time": - return 758 + return 772 case "structure_level/id": - return 759 + return 773 case "structure_level/meeting_id": - return 760 + return 774 case "structure_level/meeting_user_ids": - return 761 + return 775 case "structure_level/name": - return 762 + return 776 case "structure_level/structure_level_list_of_speakers_ids": - return 763 + return 777 case "structure_level_list_of_speakers/A": - return 764 + return 778 case "structure_level_list_of_speakers/additional_time": - return 765 + return 779 case "structure_level_list_of_speakers/current_start_time": - return 766 + return 780 case "structure_level_list_of_speakers/id": - return 767 + return 781 case "structure_level_list_of_speakers/initial_time": - return 768 + return 782 case "structure_level_list_of_speakers/list_of_speakers_id": - return 769 + return 783 case "structure_level_list_of_speakers/meeting_id": - return 770 + return 784 case "structure_level_list_of_speakers/remaining_time": - return 771 + return 785 case "structure_level_list_of_speakers/speaker_ids": - return 772 + return 786 case "structure_level_list_of_speakers/structure_level_id": - return 773 + return 787 case "tag/A": - return 774 + return 788 case "tag/id": - return 775 + return 789 case "tag/meeting_id": - return 776 + return 790 case "tag/name": - return 777 + return 791 case "tag/tagged_ids": - return 778 + return 792 case "theme/A": - return 779 + return 793 case "theme/abstain": - return 780 + return 794 case "theme/accent_100": - return 781 + return 795 case "theme/accent_200": - return 782 + return 796 case "theme/accent_300": - return 783 + return 797 case "theme/accent_400": - return 784 + return 798 case "theme/accent_50": - return 785 + return 799 case "theme/accent_500": - return 786 + return 800 case "theme/accent_600": - return 787 + return 801 case "theme/accent_700": - return 788 + return 802 case "theme/accent_800": - return 789 + return 803 case "theme/accent_900": - return 790 + return 804 case "theme/accent_a100": - return 791 + return 805 case "theme/accent_a200": - return 792 + return 806 case "theme/accent_a400": - return 793 + return 807 case "theme/accent_a700": - return 794 + return 808 case "theme/headbar": - return 795 + return 809 case "theme/id": - return 796 + return 810 case "theme/name": - return 797 + return 811 case "theme/no": - return 798 + return 812 case "theme/organization_id": - return 799 + return 813 case "theme/primary_100": - return 800 + return 814 case "theme/primary_200": - return 801 + return 815 case "theme/primary_300": - return 802 + return 816 case "theme/primary_400": - return 803 + return 817 case "theme/primary_50": - return 804 + return 818 case "theme/primary_500": - return 805 + return 819 case "theme/primary_600": - return 806 + return 820 case "theme/primary_700": - return 807 + return 821 case "theme/primary_800": - return 808 + return 822 case "theme/primary_900": - return 809 + return 823 case "theme/primary_a100": - return 810 + return 824 case "theme/primary_a200": - return 811 + return 825 case "theme/primary_a400": - return 812 + return 826 case "theme/primary_a700": - return 813 + return 827 case "theme/theme_for_organization_id": - return 814 + return 828 case "theme/warn_100": - return 815 + return 829 case "theme/warn_200": - return 816 + return 830 case "theme/warn_300": - return 817 + return 831 case "theme/warn_400": - return 818 + return 832 case "theme/warn_50": - return 819 + return 833 case "theme/warn_500": - return 820 + return 834 case "theme/warn_600": - return 821 + return 835 case "theme/warn_700": - return 822 + return 836 case "theme/warn_800": - return 823 + return 837 case "theme/warn_900": - return 824 + return 838 case "theme/warn_a100": - return 825 + return 839 case "theme/warn_a200": - return 826 + return 840 case "theme/warn_a400": - return 827 + return 841 case "theme/warn_a700": - return 828 + return 842 case "theme/yes": - return 829 + return 843 case "topic/A": - return 830 + return 844 case "topic/agenda_item_id": - return 831 + return 845 case "topic/attachment_ids": - return 832 + return 846 case "topic/id": - return 833 + return 847 case "topic/list_of_speakers_id": - return 834 + return 848 case "topic/meeting_id": - return 835 + return 849 case "topic/poll_ids": - return 836 + return 850 case "topic/projection_ids": - return 837 + return 851 case "topic/sequential_number": - return 838 + return 852 case "topic/text": - return 839 + return 853 case "topic/title": - return 840 + return 854 case "user/A": - return 841 + return 855 case "user/D": - return 842 + return 856 case "user/E": - return 843 + return 857 case "user/F": - return 844 + return 858 case "user/G": - return 845 + return 859 case "user/H": - return 846 + return 860 case "user/can_change_own_password": - return 847 + return 861 case "user/committee_ids": - return 848 + return 862 case "user/committee_management_ids": - return 849 + return 863 case "user/default_number": - return 850 + return 864 case "user/default_password": - return 851 + return 865 case "user/default_vote_weight": - return 852 + return 866 case "user/delegated_vote_ids": - return 853 + return 867 case "user/email": - return 854 + return 868 case "user/first_name": - return 855 + return 869 case "user/forwarding_committee_ids": - return 856 + return 870 case "user/gender": - return 857 + return 871 case "user/id": - return 858 + return 872 case "user/is_active": - return 859 + return 873 case "user/is_demo_user": - return 860 + return 874 case "user/is_physical_person": - return 861 + return 875 case "user/is_present_in_meeting_ids": - return 862 + return 876 case "user/last_email_sent": - return 863 + return 877 case "user/last_login": - return 864 + return 878 case "user/last_name": - return 865 + return 879 case "user/meeting_ids": - return 866 + return 880 case "user/meeting_user_ids": - return 867 + return 881 case "user/option_ids": - return 868 + return 882 case "user/organization_id": - return 869 + return 883 case "user/organization_management_level": - return 870 + return 884 case "user/password": - return 871 + return 885 case "user/poll_candidate_ids": - return 872 + return 886 case "user/poll_voted_ids": - return 873 + return 887 case "user/pronoun": - return 874 + return 888 case "user/saml_id": - return 875 + return 889 case "user/title": - return 876 + return 890 case "user/username": - return 877 + return 891 case "user/vote_ids": - return 878 + return 892 case "vote/A": - return 879 + return 893 case "vote/B": - return 880 + return 894 case "vote/delegated_user_id": - return 881 + return 895 case "vote/id": - return 882 + return 896 case "vote/meeting_id": - return 883 + return 897 case "vote/option_id": - return 884 + return 898 case "vote/user_id": - return 885 + return 899 case "vote/user_token": - return 886 + return 900 case "vote/value": - return 887 + return 901 case "vote/weight": - return 888 + return 902 default: return -1 }