-
-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Допускать с методами tasks.* запуск только метода call(raw=True) #245
base: master
Are you sure you want to change the base?
Conversation
… call_raw, а не call Fixes #239
Reviewer's Guide by SourceryThis pull request addresses issue #239 by extending the method restrictions in the fast_bitrix24/user_request.py file. Specifically, it updates the get_all() method to restrict all 'tasks.*' methods, adds similar restrictions to the get_by_ID() and call() methods, and enforces the use of call(raw=True) for these methods. File-Level Changes
Tips
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @leshchenko1979 - I've reviewed your changes and they look great!
Here's what I looked at during the review
- 🟡 General issues: 2 issues found
- 🟢 Security: all looks good
- 🟢 Testing: all looks good
- 🟢 Complexity: all looks good
- 🟢 Documentation: all looks good
Help me be more useful! Please click 👍 or 👎 on each comment to tell me if it was helpful.
@@ -130,8 +130,8 @@ class GetAllUserRequest(UserRequestAbstract): | |||
"get_all() doesn't support parameters 'start' or 'order'", | |||
) | |||
@icontract.require( | |||
lambda self: not self.st_method.startswith("tasks.elapseditem."), | |||
"get_all() shouldn't be used with 'tasks.elapseditem.*' method group. " | |||
lambda self: not self.st_method.startswith("tasks."), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
suggestion: Consider centralizing the 'tasks.*' method group check.
The 'tasks.*' method group check is repeated in multiple places. It might be beneficial to centralize this logic in a helper function to avoid redundancy and make future updates easier.
lambda self: not self.st_method.startswith("tasks."), | |
def is_not_tasks_method(st_method: str) -> bool: | |
return not st_method.startswith("tasks.") | |
@icontract.require( | |
lambda self: is_not_tasks_method(self.st_method), | |
"get_all() shouldn't be used with 'tasks.*' method group. " | |
"Use call(raw=True) instead. Read more: " | |
) |
@@ -270,6 +270,12 @@ | |||
"get_by_ID(): 'ID_list' should be a Sequence " | |||
"if a progress bar is to be displayed", | |||
) | |||
@icontract.require( | |||
lambda self: not self.st_method.startswith("tasks."), | |||
"get_by_ID() shouldn't be used with 'tasks.*' method group. " |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
suggestion: Clarify the error message for 'tasks.*' method group.
The error message could be more specific about why 'tasks.*' method group should not be used with 'get_by_ID()'. This can help users understand the limitation better.
"get_by_ID() shouldn't be used with 'tasks.*' method group. " | |
"get_by_ID() shouldn't be used with 'tasks.*' method group because it may lead to unexpected behavior. " |
Fixes #239
Summary by Sourcery
This pull request addresses issue #239 by restricting the use of 'get_all()', 'get_by_ID()', and 'call(raw=False)' methods with the 'tasks.*' method group, ensuring that only 'call(raw=True)' can be used with these methods.