Preserve Voicemail Settings During FreePBX Extension Modifications via GQL API #139
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue
This pull request addresses Issue #581: Voicemail settings are deleted during extension modifications via the FreePBX API.
Problem
When updating extensions through the updateExtension GQL API endpoint, the voicemail folder is inadvertently deleted. This is due to the delDevice and delUser functions being called without conditions to prevent voicemail deletion during an edit operation. This behavior disrupts configurations by forcing administrators to manually recreate voicemail settings for extensions, adding unnecessary complexity and the risk of errors.
Solution
Modifications to
Core.class.php
Updated Code:
Changes in
updateExtension
Mutation (GQL API)Updated Code:
Changes Made
Testing
Conclusion
This pull request resolves the issue of voicemail deletion during API-based extension updates by introducing an edit mode parameter and ensuring its correct usage. The fix preserves voicemail settings, aligning with user expectations and improving the reliability of the FreePBX API.
Please let me know if further modifications or clarifications are needed. Thank you for reviewing this merge request!