-
Notifications
You must be signed in to change notification settings - Fork 16
PM-1270 Filter inactive projects in copilot request form #1174
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
Conversation
@@ -45,6 +45,7 @@ const CopilotRequestForm: FC<{}> = () => { | |||
const [formErrors, setFormErrors] = useState<any>({}) | |||
const [paymentType, setPaymentType] = useState<string>('') | |||
const [projectFromQuery, setProjectFromQuery] = useState<Project>() | |||
const isActiveProject = ['active', 'approved', 'draft', 'new'] |
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.
The variable isActiveProject
is intended to be a list of statuses, but the name suggests it might be a boolean. Consider renaming it to something like activeProjectStatuses
to better reflect its purpose.
const response = await getProjects(inputValue, { | ||
filter: { | ||
status: { | ||
$in: [isActiveProject], |
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.
The $in
operator is typically used for arrays, but isActiveProject
seems to be a single value. Consider using $eq
if isActiveProject
is a single status value.
@@ -63,8 +63,8 @@ export const getProject = (projectId: string): Promise<Project> => { | |||
return xhrGetAsync<Project>(url) | |||
} | |||
|
|||
export const getProjects = (search?: string, filter?: any): Promise<Project[]> => { | |||
const params = { name: `"${search}"`, ...filter } | |||
export const getProjects = (search?: string, config?: {filter: any}): Promise<Project[]> => { |
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.
Consider renaming the filter
property in the config
parameter to something more descriptive, such as projectFilter
, to improve code readability and clarity.
export const getProjects = (search?: string, filter?: any): Promise<Project[]> => { | ||
const params = { name: `"${search}"`, ...filter } | ||
export const getProjects = (search?: string, config?: {filter: any}): Promise<Project[]> => { | ||
const params = { name: search, ...config?.filter } |
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.
The name
parameter should be wrapped in quotes only if necessary. Ensure that the API expects the name
parameter without quotes, or adjust accordingly.
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.
Looks good
Related JIRA Ticket:
https://topcoder.atlassian.net/browse/PM-1270
What's in this PR?
Filter inactive projects when populating dropdown for projects in the copilot request form