diff --git a/runtime/history/SUPPORT-260909-GRAM-XF-PERMISSION-API-077.json b/runtime/history/SUPPORT-260909-GRAM-XF-PERMISSION-API-077.json new file mode 100644 index 00000000..3bc31b11 --- /dev/null +++ b/runtime/history/SUPPORT-260909-GRAM-XF-PERMISSION-API-077.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "SUPPORT-260909-GRAM-XF-PERMISSION-API-077", + "status": "OK", + "rc": 0, + "host": "pve01", + "mode": "read-only", + "component": "gram-support-permission-api", + "started_at_utc": "2026-09-09T13:43:49Z", + "finished_at_utc": "2026-09-09T13:43:50Z", + "reference_register_checked": true, + "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", + "error_register_checked": true, + "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", + "command_sha256": "9b0bd9da831272790b46b5be9758e0b562464952d7cf2c31936d2849e96d6e88", + "duplicate_failed_command_blocked": false, + "block_reason": null, + "execution_started": true, + "change_declared": false, + "result_contract_valid": true, + "result_contract_status": null, + "result_contract_error": null, + "command_rc": 0, + "changes_made": false, + "rollback_started": false, + "rollback_restored": null, + "mutation_outcome": "NO_MUTATION", + "sanitized": true, + "secrets_included": false, + "private_addresses_included": false, + "raw_evidence_retained_locally": true, + "raw_evidence_sha256": "c4e84a8becdb6d1097209b6b71f48b386c9d9a63bd203442472a023a6dff9429", + "sanitized_output_sha256": "c4e84a8becdb6d1097209b6b71f48b386c9d9a63bd203442472a023a6dff9429", + "output_truncated_in_json": false, + "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", + "output": "SUPPORT077_BEGIN\nERROR_REGISTER_CHECK=OK\nREFERENCE_CHECK=OK\nAUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED\nSUPPORT077_VM211={\"command_id\":\"SUPPORT-260909-GRAM-XF-PERMISSION-API-077\",\"decision\":\"PERMISSION_API_CAPTURED\",\"files\":[{\"methods\":[],\"path\":\"src/XF/AddOn/AbstractSetup.php\",\"sha256\":\"6bdd3fe834e15b963a52c9357f54262f2d12f3c7c3686fc31333b549cddf2d88\"},{\"constants\":[{\"line\":112,\"text\":\"public const GROUP_REG = 2;\"},{\"line\":113,\"text\":\"public const GROUP_ADMIN = 3;\"},{\"line\":114,\"text\":\"public const GROUP_MOD = 4;\"},{\"line\":1387,\"text\":\"$this->user_group_id = self::GROUP_REG;\"},{\"line\":2309,\"text\":\"$this->user_group_id = self::GROUP_REG;\"}],\"path\":\"src/XF/Entity/User.php\",\"sha256\":\"1ea738d44993ad4cb7f5db12e8b2ee06c37bd2b2c7ae1714b068fb64bbb82758\"},{\"methods\":[{\"block\":[{\"line\":15,\"text\":\"\\t/**\"},{\"line\":16,\"text\":\"\\t * @param float $maxRunTime\"},{\"line\":17,\"text\":\"\\t */\"},{\"line\":18,\"text\":\"\\tpublic function run($maxRunTime)\"},{\"line\":19,\"text\":\"\\t{\"},{\"line\":20,\"text\":\"\\t\\tif (!$this->data['cleaned'])\"},{\"line\":21,\"text\":\"\\t\\t{\"},{\"line\":22,\"text\":\"\\t\\t\\t$combinationRepo = $this->app->repository(PermissionCombinationRepository::class);\"},{\"line\":23,\"text\":\"\\t\\t\\t$combinationRepo->deleteUnusedPermissionCombinations();\"},{\"line\":24,\"text\":\"\"},{\"line\":25,\"text\":\"\\t\\t\\t$this->data['cleaned'] = true;\"},{\"line\":26,\"text\":\"\\t\\t}\"},{\"line\":27,\"text\":\"\"},{\"line\":28,\"text\":\"\\t\\treturn parent::run($maxRunTime);\"},{\"line\":29,\"text\":\"\\t}\"}],\"function_line\":18},{\"block\":[{\"line\":72,\"text\":\"\\t\\t$this->app->permissionBuilder()->rebuildCombination($combination);\"},{\"line\":73,\"text\":\"\\t}\"},{\"line\":74,\"text\":\"\"},{\"line\":75,\"text\":\"\\tprotected function getStatusType(): Phrase\"},{\"line\":76,\"text\":\"\\t{\"},{\"line\":77,\"text\":\"\\t\\treturn \\\\XF::phrase('permissions');\"},{\"line\":78,\"text\":\"\\t}\"}],\"function_line\":75}],\"path\":\"src/XF/Job/PermissionRebuild.php\",\"sha256\":\"4fe78e4c7547af61a1fe532c30ad674ef23e3d556e51200c41b22f6e3ec0dd89\"}],\"gram_setup\":{\"has_applyGlobalPermissionByGroup\":false,\"has_upgrade1000070Step1\":false,\"sha256\":\"4977f90ec0444e2e3a1e4ee9b79a4e88098c5a3ae37b30d63e77cff2e1fcb971\"},\"guest\":\"newfi-staging\",\"holds\":[],\"scope\":\"READ_ONLY_NO_MUTATION\",\"status\":\"OK\"}\nSUPPORT077_HOLDS=[]\nSUPPORT077_DECISION=PERMISSION_API_CAPTURED\nSUPPORT077_MUTATION_SCOPE=NONE_READ_ONLY\nHOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"SUPPORT-260909-GRAM-XF-PERMISSION-API-077\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\nSUPPORT077_END\n" +} diff --git a/runtime/history/SUPPORT-260909-GRAM-XF-PERMISSION-API-077.txt b/runtime/history/SUPPORT-260909-GRAM-XF-PERMISSION-API-077.txt new file mode 100644 index 00000000..2e374e8e --- /dev/null +++ b/runtime/history/SUPPORT-260909-GRAM-XF-PERMISSION-API-077.txt @@ -0,0 +1,42 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=SUPPORT-260909-GRAM-XF-PERMISSION-API-077 +STATUS=OK +RC=0 +HOST=pve01 +MODE=read-only +COMPONENT=gram-support-permission-api +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 +COMMAND_SHA256=9b0bd9da831272790b46b5be9758e0b562464952d7cf2c31936d2849e96d6e88 +DUPLICATE_FAILED_COMMAND_BLOCKED=false +EXECUTION_STARTED=true +CHANGE_DECLARED=false +RESULT_CONTRACT_VALID=true +RESULT_CONTRACT_STATUS=NOT_APPLICABLE +RESULT_CONTRACT_ERROR=NONE +COMMAND_RC=0 +CHANGES_MADE=false +ROLLBACK_STARTED=false +ROLLBACK_RESTORED=null +MUTATION_OUTCOME=NO_MUTATION +SANITIZED=yes +SECRETS_INCLUDED=no +PRIVATE_ADDRESSES_INCLUDED=no +RAW_EVIDENCE_SHA256=c4e84a8becdb6d1097209b6b71f48b386c9d9a63bd203442472a023a6dff9429 +SANITIZED_OUTPUT_SHA256=c4e84a8becdb6d1097209b6b71f48b386c9d9a63bd203442472a023a6dff9429 +OUTPUT_BEGIN +SUPPORT077_BEGIN +ERROR_REGISTER_CHECK=OK +REFERENCE_CHECK=OK +AUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED +SUPPORT077_VM211={"command_id":"SUPPORT-260909-GRAM-XF-PERMISSION-API-077","decision":"PERMISSION_API_CAPTURED","files":[{"methods":[],"path":"src/XF/AddOn/AbstractSetup.php","sha256":"6bdd3fe834e15b963a52c9357f54262f2d12f3c7c3686fc31333b549cddf2d88"},{"constants":[{"line":112,"text":"public const GROUP_REG = 2;"},{"line":113,"text":"public const GROUP_ADMIN = 3;"},{"line":114,"text":"public const GROUP_MOD = 4;"},{"line":1387,"text":"$this->user_group_id = self::GROUP_REG;"},{"line":2309,"text":"$this->user_group_id = self::GROUP_REG;"}],"path":"src/XF/Entity/User.php","sha256":"1ea738d44993ad4cb7f5db12e8b2ee06c37bd2b2c7ae1714b068fb64bbb82758"},{"methods":[{"block":[{"line":15,"text":"\t/**"},{"line":16,"text":"\t * @param float $maxRunTime"},{"line":17,"text":"\t */"},{"line":18,"text":"\tpublic function run($maxRunTime)"},{"line":19,"text":"\t{"},{"line":20,"text":"\t\tif (!$this->data['cleaned'])"},{"line":21,"text":"\t\t{"},{"line":22,"text":"\t\t\t$combinationRepo = $this->app->repository(PermissionCombinationRepository::class);"},{"line":23,"text":"\t\t\t$combinationRepo->deleteUnusedPermissionCombinations();"},{"line":24,"text":""},{"line":25,"text":"\t\t\t$this->data['cleaned'] = true;"},{"line":26,"text":"\t\t}"},{"line":27,"text":""},{"line":28,"text":"\t\treturn parent::run($maxRunTime);"},{"line":29,"text":"\t}"}],"function_line":18},{"block":[{"line":72,"text":"\t\t$this->app->permissionBuilder()->rebuildCombination($combination);"},{"line":73,"text":"\t}"},{"line":74,"text":""},{"line":75,"text":"\tprotected function getStatusType(): Phrase"},{"line":76,"text":"\t{"},{"line":77,"text":"\t\treturn \\XF::phrase('permissions');"},{"line":78,"text":"\t}"}],"function_line":75}],"path":"src/XF/Job/PermissionRebuild.php","sha256":"4fe78e4c7547af61a1fe532c30ad674ef23e3d556e51200c41b22f6e3ec0dd89"}],"gram_setup":{"has_applyGlobalPermissionByGroup":false,"has_upgrade1000070Step1":false,"sha256":"4977f90ec0444e2e3a1e4ee9b79a4e88098c5a3ae37b30d63e77cff2e1fcb971"},"guest":"newfi-staging","holds":[],"scope":"READ_ONLY_NO_MUTATION","status":"OK"} +SUPPORT077_HOLDS=[] +SUPPORT077_DECISION=PERMISSION_API_CAPTURED +SUPPORT077_MUTATION_SCOPE=NONE_READ_ONLY +HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"SUPPORT-260909-GRAM-XF-PERMISSION-API-077","rollback_restored":null,"rollback_started":false,"status":"OK","version":1} +SUPPORT077_END + +OUTPUT_END +CHAT_OUTPUT_END diff --git a/runtime/latest.json b/runtime/latest.json index 356484e0..3bc31b11 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,27 +1,27 @@ { "schema_version": 1, "channel": "homelab-runtime", - "command_id": "SUPPORT-260909-GRAM-XF-FIX5-STAGING-UPGRADE-076", - "status": "FAIL", - "rc": 3, + "command_id": "SUPPORT-260909-GRAM-XF-PERMISSION-API-077", + "status": "OK", + "rc": 0, "host": "pve01", - "mode": "change", - "component": "gram-support-fix5-staging-upgrade", - "started_at_utc": "2026-09-09T13:39:55Z", - "finished_at_utc": "2026-09-09T13:39:58Z", + "mode": "read-only", + "component": "gram-support-permission-api", + "started_at_utc": "2026-09-09T13:43:49Z", + "finished_at_utc": "2026-09-09T13:43:50Z", "reference_register_checked": true, "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", "error_register_checked": true, "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", - "command_sha256": "28fe662923b5379bcd57197490c28c1cfd1cb092003221b3e34cf45166e697ac", + "command_sha256": "9b0bd9da831272790b46b5be9758e0b562464952d7cf2c31936d2849e96d6e88", "duplicate_failed_command_blocked": false, "block_reason": null, "execution_started": true, - "change_declared": true, + "change_declared": false, "result_contract_valid": true, - "result_contract_status": "FAIL", + "result_contract_status": null, "result_contract_error": null, - "command_rc": 3, + "command_rc": 0, "changes_made": false, "rollback_started": false, "rollback_restored": null, @@ -30,9 +30,9 @@ "secrets_included": false, "private_addresses_included": false, "raw_evidence_retained_locally": true, - "raw_evidence_sha256": "5a25e828b138cae2f0fcbdf6a58cd83ca82506b7226c2e4656f14a38d349095a", - "sanitized_output_sha256": "5a25e828b138cae2f0fcbdf6a58cd83ca82506b7226c2e4656f14a38d349095a", + "raw_evidence_sha256": "c4e84a8becdb6d1097209b6b71f48b386c9d9a63bd203442472a023a6dff9429", + "sanitized_output_sha256": "c4e84a8becdb6d1097209b6b71f48b386c9d9a63bd203442472a023a6dff9429", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", - "output": "SUPPORT076_BEGIN\nERROR_REGISTER_CHECK=OK\nREFERENCE_CHECK=OK\nAUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED\nSUPPORT076_SOURCE_PRE={\"branch\":\"main\",\"clean\":true,\"f4\":\"5ea7692d20c207c619419985e4fbf18d701e2cf2f735768df42c74c8d4a0bd68\",\"f5\":null,\"head\":\"0910c8f60796a783ca11af69b1c5ed775ae79ee5\"}\nSUPPORT076_VM211={\"guest\":{\"api\":null,\"changed\":false,\"command_id\":\"SUPPORT-260909-GRAM-XF-FIX5-STAGING-UPGRADE-076\",\"failure\":\"API_CONTRACT\",\"failure_phase\":\"PRE\",\"guest\":\"newfi-staging\",\"phase\":\"PRE\",\"rollback_restored\":true,\"scope\":\"VM211_FIX5_STAGING\",\"status\":\"FAIL\"},\"rc\":3,\"state\":\"FAIL\"}\nSUPPORT076_DECISION=HOLD\nHOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"SUPPORT-260909-GRAM-XF-FIX5-STAGING-UPGRADE-076\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"FAIL\",\"version\":1}\n" + "output": "SUPPORT077_BEGIN\nERROR_REGISTER_CHECK=OK\nREFERENCE_CHECK=OK\nAUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED\nSUPPORT077_VM211={\"command_id\":\"SUPPORT-260909-GRAM-XF-PERMISSION-API-077\",\"decision\":\"PERMISSION_API_CAPTURED\",\"files\":[{\"methods\":[],\"path\":\"src/XF/AddOn/AbstractSetup.php\",\"sha256\":\"6bdd3fe834e15b963a52c9357f54262f2d12f3c7c3686fc31333b549cddf2d88\"},{\"constants\":[{\"line\":112,\"text\":\"public const GROUP_REG = 2;\"},{\"line\":113,\"text\":\"public const GROUP_ADMIN = 3;\"},{\"line\":114,\"text\":\"public const GROUP_MOD = 4;\"},{\"line\":1387,\"text\":\"$this->user_group_id = self::GROUP_REG;\"},{\"line\":2309,\"text\":\"$this->user_group_id = self::GROUP_REG;\"}],\"path\":\"src/XF/Entity/User.php\",\"sha256\":\"1ea738d44993ad4cb7f5db12e8b2ee06c37bd2b2c7ae1714b068fb64bbb82758\"},{\"methods\":[{\"block\":[{\"line\":15,\"text\":\"\\t/**\"},{\"line\":16,\"text\":\"\\t * @param float $maxRunTime\"},{\"line\":17,\"text\":\"\\t */\"},{\"line\":18,\"text\":\"\\tpublic function run($maxRunTime)\"},{\"line\":19,\"text\":\"\\t{\"},{\"line\":20,\"text\":\"\\t\\tif (!$this->data['cleaned'])\"},{\"line\":21,\"text\":\"\\t\\t{\"},{\"line\":22,\"text\":\"\\t\\t\\t$combinationRepo = $this->app->repository(PermissionCombinationRepository::class);\"},{\"line\":23,\"text\":\"\\t\\t\\t$combinationRepo->deleteUnusedPermissionCombinations();\"},{\"line\":24,\"text\":\"\"},{\"line\":25,\"text\":\"\\t\\t\\t$this->data['cleaned'] = true;\"},{\"line\":26,\"text\":\"\\t\\t}\"},{\"line\":27,\"text\":\"\"},{\"line\":28,\"text\":\"\\t\\treturn parent::run($maxRunTime);\"},{\"line\":29,\"text\":\"\\t}\"}],\"function_line\":18},{\"block\":[{\"line\":72,\"text\":\"\\t\\t$this->app->permissionBuilder()->rebuildCombination($combination);\"},{\"line\":73,\"text\":\"\\t}\"},{\"line\":74,\"text\":\"\"},{\"line\":75,\"text\":\"\\tprotected function getStatusType(): Phrase\"},{\"line\":76,\"text\":\"\\t{\"},{\"line\":77,\"text\":\"\\t\\treturn \\\\XF::phrase('permissions');\"},{\"line\":78,\"text\":\"\\t}\"}],\"function_line\":75}],\"path\":\"src/XF/Job/PermissionRebuild.php\",\"sha256\":\"4fe78e4c7547af61a1fe532c30ad674ef23e3d556e51200c41b22f6e3ec0dd89\"}],\"gram_setup\":{\"has_applyGlobalPermissionByGroup\":false,\"has_upgrade1000070Step1\":false,\"sha256\":\"4977f90ec0444e2e3a1e4ee9b79a4e88098c5a3ae37b30d63e77cff2e1fcb971\"},\"guest\":\"newfi-staging\",\"holds\":[],\"scope\":\"READ_ONLY_NO_MUTATION\",\"status\":\"OK\"}\nSUPPORT077_HOLDS=[]\nSUPPORT077_DECISION=PERMISSION_API_CAPTURED\nSUPPORT077_MUTATION_SCOPE=NONE_READ_ONLY\nHOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"SUPPORT-260909-GRAM-XF-PERMISSION-API-077\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\nSUPPORT077_END\n" } diff --git a/runtime/latest.txt b/runtime/latest.txt index 08978e8a..2e374e8e 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,22 +1,22 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=SUPPORT-260909-GRAM-XF-FIX5-STAGING-UPGRADE-076 -STATUS=FAIL -RC=3 +COMMAND_ID=SUPPORT-260909-GRAM-XF-PERMISSION-API-077 +STATUS=OK +RC=0 HOST=pve01 -MODE=change -COMPONENT=gram-support-fix5-staging-upgrade +MODE=read-only +COMPONENT=gram-support-permission-api REFERENCE_REGISTER_CHECK=OK REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 -COMMAND_SHA256=28fe662923b5379bcd57197490c28c1cfd1cb092003221b3e34cf45166e697ac +COMMAND_SHA256=9b0bd9da831272790b46b5be9758e0b562464952d7cf2c31936d2849e96d6e88 DUPLICATE_FAILED_COMMAND_BLOCKED=false EXECUTION_STARTED=true -CHANGE_DECLARED=true +CHANGE_DECLARED=false RESULT_CONTRACT_VALID=true -RESULT_CONTRACT_STATUS=FAIL +RESULT_CONTRACT_STATUS=NOT_APPLICABLE RESULT_CONTRACT_ERROR=NONE -COMMAND_RC=3 +COMMAND_RC=0 CHANGES_MADE=false ROLLBACK_STARTED=false ROLLBACK_RESTORED=null @@ -24,17 +24,19 @@ MUTATION_OUTCOME=NO_MUTATION SANITIZED=yes SECRETS_INCLUDED=no PRIVATE_ADDRESSES_INCLUDED=no -RAW_EVIDENCE_SHA256=5a25e828b138cae2f0fcbdf6a58cd83ca82506b7226c2e4656f14a38d349095a -SANITIZED_OUTPUT_SHA256=5a25e828b138cae2f0fcbdf6a58cd83ca82506b7226c2e4656f14a38d349095a +RAW_EVIDENCE_SHA256=c4e84a8becdb6d1097209b6b71f48b386c9d9a63bd203442472a023a6dff9429 +SANITIZED_OUTPUT_SHA256=c4e84a8becdb6d1097209b6b71f48b386c9d9a63bd203442472a023a6dff9429 OUTPUT_BEGIN -SUPPORT076_BEGIN +SUPPORT077_BEGIN ERROR_REGISTER_CHECK=OK REFERENCE_CHECK=OK AUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED -SUPPORT076_SOURCE_PRE={"branch":"main","clean":true,"f4":"5ea7692d20c207c619419985e4fbf18d701e2cf2f735768df42c74c8d4a0bd68","f5":null,"head":"0910c8f60796a783ca11af69b1c5ed775ae79ee5"} -SUPPORT076_VM211={"guest":{"api":null,"changed":false,"command_id":"SUPPORT-260909-GRAM-XF-FIX5-STAGING-UPGRADE-076","failure":"API_CONTRACT","failure_phase":"PRE","guest":"newfi-staging","phase":"PRE","rollback_restored":true,"scope":"VM211_FIX5_STAGING","status":"FAIL"},"rc":3,"state":"FAIL"} -SUPPORT076_DECISION=HOLD -HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"SUPPORT-260909-GRAM-XF-FIX5-STAGING-UPGRADE-076","rollback_restored":null,"rollback_started":false,"status":"FAIL","version":1} +SUPPORT077_VM211={"command_id":"SUPPORT-260909-GRAM-XF-PERMISSION-API-077","decision":"PERMISSION_API_CAPTURED","files":[{"methods":[],"path":"src/XF/AddOn/AbstractSetup.php","sha256":"6bdd3fe834e15b963a52c9357f54262f2d12f3c7c3686fc31333b549cddf2d88"},{"constants":[{"line":112,"text":"public const GROUP_REG = 2;"},{"line":113,"text":"public const GROUP_ADMIN = 3;"},{"line":114,"text":"public const GROUP_MOD = 4;"},{"line":1387,"text":"$this->user_group_id = self::GROUP_REG;"},{"line":2309,"text":"$this->user_group_id = self::GROUP_REG;"}],"path":"src/XF/Entity/User.php","sha256":"1ea738d44993ad4cb7f5db12e8b2ee06c37bd2b2c7ae1714b068fb64bbb82758"},{"methods":[{"block":[{"line":15,"text":"\t/**"},{"line":16,"text":"\t * @param float $maxRunTime"},{"line":17,"text":"\t */"},{"line":18,"text":"\tpublic function run($maxRunTime)"},{"line":19,"text":"\t{"},{"line":20,"text":"\t\tif (!$this->data['cleaned'])"},{"line":21,"text":"\t\t{"},{"line":22,"text":"\t\t\t$combinationRepo = $this->app->repository(PermissionCombinationRepository::class);"},{"line":23,"text":"\t\t\t$combinationRepo->deleteUnusedPermissionCombinations();"},{"line":24,"text":""},{"line":25,"text":"\t\t\t$this->data['cleaned'] = true;"},{"line":26,"text":"\t\t}"},{"line":27,"text":""},{"line":28,"text":"\t\treturn parent::run($maxRunTime);"},{"line":29,"text":"\t}"}],"function_line":18},{"block":[{"line":72,"text":"\t\t$this->app->permissionBuilder()->rebuildCombination($combination);"},{"line":73,"text":"\t}"},{"line":74,"text":""},{"line":75,"text":"\tprotected function getStatusType(): Phrase"},{"line":76,"text":"\t{"},{"line":77,"text":"\t\treturn \\XF::phrase('permissions');"},{"line":78,"text":"\t}"}],"function_line":75}],"path":"src/XF/Job/PermissionRebuild.php","sha256":"4fe78e4c7547af61a1fe532c30ad674ef23e3d556e51200c41b22f6e3ec0dd89"}],"gram_setup":{"has_applyGlobalPermissionByGroup":false,"has_upgrade1000070Step1":false,"sha256":"4977f90ec0444e2e3a1e4ee9b79a4e88098c5a3ae37b30d63e77cff2e1fcb971"},"guest":"newfi-staging","holds":[],"scope":"READ_ONLY_NO_MUTATION","status":"OK"} +SUPPORT077_HOLDS=[] +SUPPORT077_DECISION=PERMISSION_API_CAPTURED +SUPPORT077_MUTATION_SCOPE=NONE_READ_ONLY +HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"SUPPORT-260909-GRAM-XF-PERMISSION-API-077","rollback_restored":null,"rollback_started":false,"status":"OK","version":1} +SUPPORT077_END OUTPUT_END CHAT_OUTPUT_END