diff --git a/app/assets/javascripts/boards/components/board_list.vue b/app/assets/javascripts/boards/components/board_list.vue index c3a2693dace84615a2447c5abe8cf97e223a1571..f06fcb60edbab5fa161f2b23bdd2265b5ea0a501 100644 --- a/app/assets/javascripts/boards/components/board_list.vue +++ b/app/assets/javascripts/boards/components/board_list.vue @@ -127,7 +127,7 @@ export default { }; }, update(data) { - return getWorkItemTypeAllowedStatusMap(data.workspace?.workItemTypes?.nodes); + return getWorkItemTypeAllowedStatusMap(data.namespace?.workItemTypes?.nodes); }, skip() { return this.isEpicBoard; diff --git a/app/assets/javascripts/issues/show/components/description.vue b/app/assets/javascripts/issues/show/components/description.vue index 4456154771e1f4049714f2fe135b6744c2648972..64f86875af81bb5d62e3049aab4ad724f97bb004 100644 --- a/app/assets/javascripts/issues/show/components/description.vue +++ b/app/assets/javascripts/issues/show/components/description.vue @@ -112,7 +112,7 @@ export default { }; }, update(data) { - return data.workspace?.workItemTypes?.nodes; + return data.namespace?.workItemTypes?.nodes; }, skip() { return !this.canUpdate; diff --git a/app/assets/javascripts/sidebar/components/sidebar_dropdown.vue b/app/assets/javascripts/sidebar/components/sidebar_dropdown.vue index a0cbf5854ad6e174aad6637fee91bdb376e70bed..0f51f37b7e2c1ec1164b249cbb44d955b222389c 100644 --- a/app/assets/javascripts/sidebar/components/sidebar_dropdown.vue +++ b/app/assets/javascripts/sidebar/components/sidebar_dropdown.vue @@ -143,7 +143,8 @@ export default { return variables; }, - update: (data) => data?.workspace?.attributes?.nodes ?? [], + update: (data) => + (data?.workspace?.attributes?.nodes || data?.namespace?.attributes?.nodes) ?? [], error(error) { createAlert({ message: this.i18n.listFetchError, captureError: true, error }); }, diff --git a/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue b/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue index 5104215cd945c071732bf29471f631d1e1b1dc20..93f8a69d28d6081db72336227f36c10a32f2937c 100644 --- a/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue +++ b/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue @@ -111,11 +111,12 @@ export default { }; }, update(data) { - return data.workspace?.issuable || {}; + return data.workspace?.issuable || data.namespace?.issuable || {}; }, result({ data }) { if (this.glFeatures?.epicWidgetEditConfirmation && this.isEpicAttribute) { - this.hasCurrentAttribute = data?.workspace?.issuable.hasEpic; + this.hasCurrentAttribute = + data?.workspace?.issuable.hasEpic || data?.namespace?.issuable.hasEpic; } }, skip() { diff --git a/app/assets/javascripts/sidebar/components/time_tracking/time_tracking_report.vue b/app/assets/javascripts/sidebar/components/time_tracking/time_tracking_report.vue index 646a1c0351c388e42ed339b00ced21ca4d599a70..fbf7627c88a57f3858d18b41a575fe762a59b8eb 100644 --- a/app/assets/javascripts/sidebar/components/time_tracking/time_tracking_report.vue +++ b/app/assets/javascripts/sidebar/components/time_tracking/time_tracking_report.vue @@ -97,7 +97,7 @@ export default { }; }, update(data) { - return data.workspace.workItem ?? {}; + return data.namespace.workItem ?? {}; }, skip() { return !this.workItemIid; @@ -155,7 +155,7 @@ export default { }, (sourceData) => produce(sourceData, (draftState) => { - const timeTrackingWidget = findTimeTrackingWidget(draftState.workspace.workItem); + const timeTrackingWidget = findTimeTrackingWidget(draftState.namespace.workItem); const timelogs = timeTrackingWidget.timelogs.nodes; const index = timelogs.findIndex((timelog) => timelog.id === timelogId); diff --git a/app/assets/javascripts/vue_shared/components/filtered_search_bar/tokens/work_item_type_token.vue b/app/assets/javascripts/vue_shared/components/filtered_search_bar/tokens/work_item_type_token.vue index 22488bcb2b6cecc0ee84b85fcfb323711bdb9e2d..9b1aaf97f9333da93578b30e2fe7842bd83f4836 100644 --- a/app/assets/javascripts/vue_shared/components/filtered_search_bar/tokens/work_item_type_token.vue +++ b/app/assets/javascripts/vue_shared/components/filtered_search_bar/tokens/work_item_type_token.vue @@ -54,7 +54,7 @@ export default { this.config .fetchWorkItemTypes() .then((res) => { - const rawTypes = Array.isArray(res) ? res : res.data?.workspace?.workItemTypes?.nodes; + const rawTypes = Array.isArray(res) ? res : res.data?.namespace?.workItemTypes?.nodes; if (rawTypes) { this.workItemTypes = rawTypes.map((type) => ({ value: type.name.toUpperCase().replace(/\s+/g, '_'), // 'Key Results' -> 'KEY_RESULTS' diff --git a/app/assets/javascripts/work_items/components/create_work_item.vue b/app/assets/javascripts/work_items/components/create_work_item.vue index ab6b387cb92e904f7ca49d35fece84ffedc06206..1bff8eb31a3b251b65ab6cebd8d60829864423ba 100644 --- a/app/assets/javascripts/work_items/components/create_work_item.vue +++ b/app/assets/javascripts/work_items/components/create_work_item.vue @@ -267,7 +267,7 @@ export default { return this.skipWorkItemQuery; }, update(data) { - return data?.workspace?.workItem ?? {}; + return data?.namespace?.workItem ?? {}; }, result() { this.initialLoadingWorkItem = false; @@ -287,7 +287,7 @@ export default { }; }, update(data) { - return data.workspace; + return data.namespace; }, async result() { this.initialLoadingWorkItemTypes = false; diff --git a/app/assets/javascripts/work_items/components/notes/work_item_add_note.vue b/app/assets/javascripts/work_items/components/notes/work_item_add_note.vue index 142fa3f44d7904fb649e131f5a76a36fe817df3b..f0f668382f87d8f3500a516fa2c404bdb9af4324 100644 --- a/app/assets/javascripts/work_items/components/notes/work_item_add_note.vue +++ b/app/assets/javascripts/work_items/components/notes/work_item_add_note.vue @@ -158,7 +158,7 @@ export default { }; }, update(data) { - return data.workspace?.workItem ?? {}; + return data.namespace?.workItem ?? {}; }, skip() { return !this.workItemIid; diff --git a/app/assets/javascripts/work_items/components/notes/work_item_comment_form.vue b/app/assets/javascripts/work_items/components/notes/work_item_comment_form.vue index 21cd6b64b2a0c7e4b1639693ea6f6f57ae6826c0..432e7467820db94be09e9745a5871d949810cb52 100644 --- a/app/assets/javascripts/work_items/components/notes/work_item_comment_form.vue +++ b/app/assets/javascripts/work_items/components/notes/work_item_comment_form.vue @@ -257,7 +257,7 @@ export default { }, update(data) { return ( - findEmailParticipantsWidget(data?.workspace?.workItem)?.emailParticipants?.nodes || [] + findEmailParticipantsWidget(data?.namespace?.workItem)?.emailParticipants?.nodes || [] ); }, }, @@ -270,7 +270,7 @@ export default { }; }, update(data) { - return data.workspace?.workItem ?? {}; + return data.namespace?.workItem ?? {}; }, skip() { return !this.workItemIid; diff --git a/app/assets/javascripts/work_items/components/notes/work_item_note.vue b/app/assets/javascripts/work_items/components/notes/work_item_note.vue index f3598da12fdcbd67f3be2ef2b74dab4d3173694a..5a4f3faea808169d340a2cec4d5d0ec5bd146d9a 100644 --- a/app/assets/javascripts/work_items/components/notes/work_item_note.vue +++ b/app/assets/javascripts/work_items/components/notes/work_item_note.vue @@ -249,7 +249,7 @@ export default { }; }, update(data) { - return data.workspace?.workItem ?? {}; + return data.namespace?.workItem ?? {}; }, skip() { return !this.workItemIid; diff --git a/app/assets/javascripts/work_items/components/shared/work_item_relationship_icons.vue b/app/assets/javascripts/work_items/components/shared/work_item_relationship_icons.vue index 366773520fc17e5acac4dd206ab9e5a59dd63382..cc349cce1e701864122f821ee61112271db204c6 100644 --- a/app/assets/javascripts/work_items/components/shared/work_item_relationship_icons.vue +++ b/app/assets/javascripts/work_items/components/shared/work_item_relationship_icons.vue @@ -66,10 +66,10 @@ export default { iid: this.workItemIid, }; }, - update({ workspace }) { - if (!workspace?.workItem) return []; + update({ namespace }) { + if (!namespace?.workItem) return []; - return findLinkedItemsWidget(workspace.workItem).linkedItems?.nodes || []; + return findLinkedItemsWidget(namespace.workItem).linkedItems?.nodes || []; }, }, }, diff --git a/app/assets/javascripts/work_items/components/shared/work_item_token_input.vue b/app/assets/javascripts/work_items/components/shared/work_item_token_input.vue index 392ab5c0ac2dd0873011d4fdb73c11b6021c3d20..7d16d01689a97c16377c560bcec276d9fbbc7767 100644 --- a/app/assets/javascripts/work_items/components/shared/work_item_token_input.vue +++ b/app/assets/javascripts/work_items/components/shared/work_item_token_input.vue @@ -74,8 +74,8 @@ export default { }, update(data) { return [ - ...this.filterItems(data.workspace?.workItemsByIid?.nodes || []), - ...this.filterItems(data.workspace?.workItems?.nodes || []), + ...this.filterItems(data.namespace?.workItemsByIid?.nodes || []), + ...this.filterItems(data.namespace?.workItems?.nodes || []), ]; }, error() { diff --git a/app/assets/javascripts/work_items/components/work_item_actions.vue b/app/assets/javascripts/work_items/components/work_item_actions.vue index ddef531c58ab0555f104bd0f267399bf547c00cf..d4d445b031dc06ea605d9eb2695f259b23d274dd 100644 --- a/app/assets/javascripts/work_items/components/work_item_actions.vue +++ b/app/assets/javascripts/work_items/components/work_item_actions.vue @@ -255,7 +255,7 @@ export default { }; }, update(data) { - return data.workspace?.workItemTypes?.nodes; + return data.namespace?.workItemTypes?.nodes; }, skip() { return !this.canUpdateMetadata || this.workItemType !== WORK_ITEM_TYPE_NAME_KEY_RESULT; diff --git a/app/assets/javascripts/work_items/components/work_item_attributes_wrapper.vue b/app/assets/javascripts/work_items/components/work_item_attributes_wrapper.vue index 4161949bc9a42079079a8ed46522b5f69a785a47..12161979f3a5246e2db1a7c104f159b52afaa734 100644 --- a/app/assets/javascripts/work_items/components/work_item_attributes_wrapper.vue +++ b/app/assets/javascripts/work_items/components/work_item_attributes_wrapper.vue @@ -111,12 +111,12 @@ export default { skip() { return !this.workItem.iid; }, - update({ workspace }) { - if (!workspace?.workItem) return {}; + update({ namespace }) { + if (!namespace?.workItem) return {}; const workItemParticipantData = this.isWidgetPresent( WIDGET_TYPE_PARTICIPANTS, - workspace.workItem, + namespace.workItem, ); return workItemParticipantData?.participants || {}; diff --git a/app/assets/javascripts/work_items/components/work_item_award_emoji.vue b/app/assets/javascripts/work_items/components/work_item_award_emoji.vue index 96c847b51a12b80f44e231dadf0e4eebdf10ca34..f3872db5e672e1bfe6f744ba9b982f3fd0b2a52c 100644 --- a/app/assets/javascripts/work_items/components/work_item_award_emoji.vue +++ b/app/assets/javascripts/work_items/components/work_item_award_emoji.vue @@ -99,7 +99,7 @@ export default { }; }, update(data) { - return findAwardEmojiWidget(data.workspace?.workItem).awardEmoji || {}; + return findAwardEmojiWidget(data.namespace?.workItem).awardEmoji || {}; }, skip() { return !this.workItemIid; @@ -110,10 +110,10 @@ export default { } else { this.isLoading = false; } - if (data?.workspace) { + if (data?.namespace) { this.newCustomEmojiPath = - findAwardEmojiWidget(data.workspace?.workItem)?.newCustomEmojiPath || ''; - this.$emit('emoji-updated', data.workspace?.workItem); + findAwardEmojiWidget(data.namespace?.workItem)?.newCustomEmojiPath || ''; + this.$emit('emoji-updated', data.namespace?.workItem); } }, error() { @@ -198,7 +198,7 @@ export default { const sourceData = cache.readQuery(query); const newData = produce(sourceData, (draftState) => { - const widgetAwardEmoji = findAwardEmojiWidget(draftState.workspace?.workItem); + const widgetAwardEmoji = findAwardEmojiWidget(draftState.namespace?.workItem); if (widgetAwardEmoji && widgetAwardEmoji.awardEmoji) { widgetAwardEmoji.awardEmoji.nodes = this.getAwardEmojiNodes(name, toggledOn); } diff --git a/app/assets/javascripts/work_items/components/work_item_bulk_edit/work_item_bulk_edit_parent.vue b/app/assets/javascripts/work_items/components/work_item_bulk_edit/work_item_bulk_edit_parent.vue index 74591823a45f398c5cf1a63580762e10af1adcff..7c7adcb479e2beca8f15c15ea57dc84a4b7184e0 100644 --- a/app/assets/javascripts/work_items/components/work_item_bulk_edit/work_item_bulk_edit_parent.vue +++ b/app/assets/javascripts/work_items/components/work_item_bulk_edit/work_item_bulk_edit_parent.vue @@ -83,7 +83,7 @@ export default { return !this.searchStarted || !this.shouldLoadParents; }, update(data) { - return data.workspace?.workItems?.nodes || []; + return data.namespace?.workItems?.nodes || []; }, error(error) { createAlert({ @@ -124,7 +124,7 @@ export default { }, update(data) { const typesParentsMap = {}; - const types = data.workspace.workItemTypes.nodes || []; + const types = data.namespace.workItemTypes.nodes || []; // Used `for` loop for better readability and performance for (const type of types) { diff --git a/app/assets/javascripts/work_items/components/work_item_change_type_modal.vue b/app/assets/javascripts/work_items/components/work_item_change_type_modal.vue index 1f05dc1f0cbe6e0efaed17b4b3f98234bf0485ee..4e1201d00268d5867c37905a1dae4825f40a9046 100644 --- a/app/assets/javascripts/work_items/components/work_item_change_type_modal.vue +++ b/app/assets/javascripts/work_items/components/work_item_change_type_modal.vue @@ -114,7 +114,7 @@ export default { }; }, update(data) { - return data.workspace?.workItemTypes?.nodes || []; + return data.namespace?.workItemTypes?.nodes || []; }, error(e) { this.throwError(e); diff --git a/app/assets/javascripts/work_items/components/work_item_created_updated.vue b/app/assets/javascripts/work_items/components/work_item_created_updated.vue index 3a4fcdfdf61db92c3502c81d004ca7b12791c048..02292f2f3c00a5779d15e10d3e43e03dceed530b 100644 --- a/app/assets/javascripts/work_items/components/work_item_created_updated.vue +++ b/app/assets/javascripts/work_items/components/work_item_created_updated.vue @@ -89,7 +89,7 @@ export default { return !this.workItemIid; }, update(data) { - return data.workspace?.workItem ?? {}; + return data.namespace?.workItem ?? {}; }, }, }, diff --git a/app/assets/javascripts/work_items/components/work_item_crm_contacts.vue b/app/assets/javascripts/work_items/components/work_item_crm_contacts.vue index 3ad9323bd8fe46717c419f1fdc1fd56ad8480a9c..87a9f40e1526f6ebccf9d0c4b99e12bf94d828b2 100644 --- a/app/assets/javascripts/work_items/components/work_item_crm_contacts.vue +++ b/app/assets/javascripts/work_items/components/work_item_crm_contacts.vue @@ -133,7 +133,7 @@ export default { }; }, update(data) { - return data?.workspace?.workItem ?? {}; + return data?.namespace?.workItem ?? {}; }, result() { this.selectedCount = this.selectedItemIds.length; diff --git a/app/assets/javascripts/work_items/components/work_item_description.vue b/app/assets/javascripts/work_items/components/work_item_description.vue index 68b7cdd1f93f9db57bc00699537f14d2361d7fea..1800efbc4ca201ae7d4d98ca17c08a22accadee0 100644 --- a/app/assets/javascripts/work_items/components/work_item_description.vue +++ b/app/assets/javascripts/work_items/components/work_item_description.vue @@ -152,7 +152,7 @@ export default { }; }, update(data) { - return data?.workspace?.workItem || {}; + return data?.namespace?.workItem || {}; }, result() { if (this.isEditing) { @@ -211,7 +211,7 @@ export default { }; }, update(data) { - return data.workspace || {}; + return data.namespace || {}; }, skip() { return this.isGroup; diff --git a/app/assets/javascripts/work_items/components/work_item_detail.vue b/app/assets/javascripts/work_items/components/work_item_detail.vue index 699b27333ade6e60f9831cea0c94328433653589..ca8a8288d30ca4611cd5631454cae8999075cfda 100644 --- a/app/assets/javascripts/work_items/components/work_item_detail.vue +++ b/app/assets/javascripts/work_items/components/work_item_detail.vue @@ -259,7 +259,7 @@ export default { if (this.workItemId) { return data.workItem ?? {}; } - return data.workspace?.workItem ?? {}; + return data.namespace?.workItem ?? {}; }, error() { if (this.workItem?.id === this.workItemId || this.workItem?.iid === this.workItemIid) { @@ -316,7 +316,7 @@ export default { return this.isGroup || this.workItemLoading; }, update(data) { - return data.workspace?.userPermissions ?? defaultWorkspacePermissions; + return data.namespace?.userPermissions ?? defaultWorkspacePermissions; }, }, }, diff --git a/app/assets/javascripts/work_items/components/work_item_development/work_item_create_branch_merge_request_split_button.vue b/app/assets/javascripts/work_items/components/work_item_development/work_item_create_branch_merge_request_split_button.vue index 0d76c41607dd03ba459cca4679dcd7f54d519ab8..bfa499cf580c2f68494307300f61fd9122c84847 100644 --- a/app/assets/javascripts/work_items/components/work_item_development/work_item_create_branch_merge_request_split_button.vue +++ b/app/assets/javascripts/work_items/components/work_item_development/work_item_create_branch_merge_request_split_button.vue @@ -61,7 +61,7 @@ export default { }; }, update(data) { - return data.workspace?.mergeRequestsEnabled ?? false; + return data.namespace?.mergeRequestsEnabled ?? false; }, skip() { return !this.workItemFullPath; diff --git a/app/assets/javascripts/work_items/components/work_item_development/work_item_development.vue b/app/assets/javascripts/work_items/components/work_item_development/work_item_development.vue index 7ea93096a3e728786b9b28a15a4c460ba8f251a5..cfcfdb5916ed635ce603c10d362ce90399988304 100644 --- a/app/assets/javascripts/work_items/components/work_item_development/work_item_development.vue +++ b/app/assets/javascripts/work_items/components/work_item_development/work_item_development.vue @@ -185,7 +185,7 @@ export default { }; }, update(data) { - return data.workspace?.workItem || {}; + return data.namespace?.workItem || {}; }, skip() { return !this.workItemIid; @@ -237,7 +237,7 @@ export default { }; }, update(data) { - return data.workspace?.mergeRequestsEnabled ?? false; + return data.namespace?.mergeRequestsEnabled ?? false; }, skip() { return !this.workItemFullPath; diff --git a/app/assets/javascripts/work_items/components/work_item_labels.vue b/app/assets/javascripts/work_items/components/work_item_labels.vue index 80362e95da1a264fb4610567736d97942fd944a5..7e1718d34d9bacff4a2e787766ea3addd7243557 100644 --- a/app/assets/javascripts/work_items/components/work_item_labels.vue +++ b/app/assets/javascripts/work_items/components/work_item_labels.vue @@ -180,10 +180,10 @@ export default { }; }, update(data) { - return data.workspace?.workItem || {}; + return data.namespace?.workItem || {}; }, result({ data }) { - const labels = findLabelsWidget(data?.workspace?.workItem)?.labels?.nodes || []; + const labels = findLabelsWidget(data?.namespace?.workItem)?.labels?.nodes || []; this.labelsCache = unionBy(this.labelsCache, labels, 'id'); this.selectedLabelsIds = labels.map(({ id }) => id); }, diff --git a/app/assets/javascripts/work_items/components/work_item_links/work_item_children_wrapper.vue b/app/assets/javascripts/work_items/components/work_item_links/work_item_children_wrapper.vue index c5711746b4e907ea2bd0574b5b1e84030a70bddc..04fa9936fff2f95fc0f4c4f1ad6f04405ab03150 100644 --- a/app/assets/javascripts/work_items/components/work_item_links/work_item_children_wrapper.vue +++ b/app/assets/javascripts/work_items/components/work_item_links/work_item_children_wrapper.vue @@ -233,7 +233,7 @@ export default { iid, }, update(data) { - return data.workspace?.workItem; + return data.namespace?.workItem; }, }) .catch((error) => { diff --git a/app/assets/javascripts/work_items/components/work_item_links/work_item_links_form.vue b/app/assets/javascripts/work_items/components/work_item_links/work_item_links_form.vue index ebc58a83fab1f395a7ce351fb3bb8fd2fb4c5e01..0479c1872aaf040ef99ae8802cfe4cf234b51466 100644 --- a/app/assets/javascripts/work_items/components/work_item_links/work_item_links_form.vue +++ b/app/assets/javascripts/work_items/components/work_item_links/work_item_links_form.vue @@ -108,7 +108,7 @@ export default { }; }, update(data) { - return data.workspace?.workItemTypes?.nodes; + return data.namespace?.workItemTypes?.nodes; }, }, }, diff --git a/app/assets/javascripts/work_items/components/work_item_links/work_item_rolled_up_data.vue b/app/assets/javascripts/work_items/components/work_item_links/work_item_rolled_up_data.vue index 8af21e931a4d39758843daafcdd36769fe180a0c..dc0107437e80efce756b30b98c4c489c070be86f 100644 --- a/app/assets/javascripts/work_items/components/work_item_links/work_item_rolled_up_data.vue +++ b/app/assets/javascripts/work_items/components/work_item_links/work_item_rolled_up_data.vue @@ -47,7 +47,7 @@ export default { }; }, update(data) { - return data.workspace?.workItem || {}; + return data.namespace?.workItem || {}; }, skip() { return !this.workItemIid; diff --git a/app/assets/javascripts/work_items/components/work_item_links/work_item_tree.vue b/app/assets/javascripts/work_items/components/work_item_links/work_item_tree.vue index 3ba7bdd37e42218f0212d7444d188214ade0b898..b9edb40c4cefd1c5f73e3332af363320d6417a71 100644 --- a/app/assets/javascripts/work_items/components/work_item_links/work_item_tree.vue +++ b/app/assets/javascripts/work_items/components/work_item_links/work_item_tree.vue @@ -186,7 +186,7 @@ export default { }; }, update(data) { - return data.workspace?.workItemTypes?.nodes; + return data.namespace?.workItemTypes?.nodes; }, skip() { return !this.canUpdate; diff --git a/app/assets/javascripts/work_items/components/work_item_notes.vue b/app/assets/javascripts/work_items/components/work_item_notes.vue index c7ca255fc94c3a32f4369501530069257beacac0..f78da90deee149f8b30fb049916f65b7a4f4a586 100644 --- a/app/assets/javascripts/work_items/components/work_item_notes.vue +++ b/app/assets/javascripts/work_items/components/work_item_notes.vue @@ -338,7 +338,7 @@ export default { }; }, update(data) { - return findNotesWidget(data.workspace?.workItem)?.discussions || []; + return findNotesWidget(data.namespace?.workItem)?.discussions || []; }, skip() { return !this.workItemIid; @@ -347,7 +347,7 @@ export default { this.$emit('error', i18n.fetchError); }, result({ data }) { - this.workItemNamespace = data?.workspace?.workItem?.namespace; + this.workItemNamespace = data?.namespace?.workItem?.namespace; this.isLoadingMore = false; if (this.hasNextPage) { this.fetchMoreNotes(); diff --git a/app/assets/javascripts/work_items/components/work_item_parent.vue b/app/assets/javascripts/work_items/components/work_item_parent.vue index 9afdf701d4ca3e07990cac7894fbf5bba746b7c5..e9a966f3927cbcf246c909c1089ac48655e970fd 100644 --- a/app/assets/javascripts/work_items/components/work_item_parent.vue +++ b/app/assets/javascripts/work_items/components/work_item_parent.vue @@ -177,7 +177,7 @@ export default { return !this.searchStarted && !this.allowedChildTypes?.length; }, update(data) { - return data.workspace?.workItems?.nodes?.filter((wi) => this.workItemId !== wi.id) || []; + return data.namespace?.workItems?.nodes?.filter((wi) => this.workItemId !== wi.id) || []; }, error() { this.$emit( diff --git a/app/assets/javascripts/work_items/components/work_item_prefetch.vue b/app/assets/javascripts/work_items/components/work_item_prefetch.vue index d2a571b2fcb023a93db815d071aa701ec99f7562..344c39fd31fba5598b5e08b015baf7cbfb4d1a2d 100644 --- a/app/assets/javascripts/work_items/components/work_item_prefetch.vue +++ b/app/assets/javascripts/work_items/components/work_item_prefetch.vue @@ -42,7 +42,7 @@ export default normalizeRender({ return !this.fullPath || this.skipQuery; }, update(data) { - return data.workspace?.workItem ?? {}; + return data.namespace?.workItem ?? {}; }, }, }, diff --git a/app/assets/javascripts/work_items/components/work_item_relationships/work_item_add_relationship_form.vue b/app/assets/javascripts/work_items/components/work_item_relationships/work_item_add_relationship_form.vue index f6080a249c1f18b2644bb1ceb252069e34da368b..e061c3234f8e581f74e5e33b3312a6fe986c13c1 100644 --- a/app/assets/javascripts/work_items/components/work_item_relationships/work_item_add_relationship_form.vue +++ b/app/assets/javascripts/work_items/components/work_item_relationships/work_item_add_relationship_form.vue @@ -137,7 +137,7 @@ export default { cache.writeQuery({ ...queryArgs, data: produce(sourceData, (draftState) => { - const linkedItemsWidget = findLinkedItemsWidget(draftState.workspace.workItem); + const linkedItemsWidget = findLinkedItemsWidget(draftState.namespace.workItem); linkedItemsWidget.linkedItems = findLinkedItemsWidget(workItem)?.linkedItems; }), diff --git a/app/assets/javascripts/work_items/components/work_item_relationships/work_item_relationships.vue b/app/assets/javascripts/work_items/components/work_item_relationships/work_item_relationships.vue index 5fa110015b1657721ee812f48d297fc0d1c5601c..c625251ece7cea7aacb889846d589e88c4fdf29d 100644 --- a/app/assets/javascripts/work_items/components/work_item_relationships/work_item_relationships.vue +++ b/app/assets/javascripts/work_items/components/work_item_relationships/work_item_relationships.vue @@ -104,10 +104,10 @@ export default { skip() { return !this.workItemIid; }, - update({ workspace }) { - if (!workspace?.workItem) return []; + update({ namespace }) { + if (!namespace?.workItem) return []; - return findLinkedItemsWidget(workspace.workItem).linkedItems?.nodes || []; + return findLinkedItemsWidget(namespace.workItem).linkedItems?.nodes || []; }, async result() { // When work items are switched in a modal, the data props are not getting reset. @@ -303,7 +303,7 @@ export default { ...queryArgs, data: produce(sourceData, (draftState) => { const linkedItems = - findLinkedItemsWidget(draftState.workspace.workItem).linkedItems?.nodes || []; + findLinkedItemsWidget(draftState.namespace.workItem).linkedItems?.nodes || []; const index = linkedItems.findIndex((item) => { return item.workItem.id === linkedItem.id; }); diff --git a/app/assets/javascripts/work_items/components/work_item_state_toggle.vue b/app/assets/javascripts/work_items/components/work_item_state_toggle.vue index 02ac4911f4dd707f90ec92bfd7c0ff11edafca08..a0132ed053faa7891335ff8d40443d42d42e59d2 100644 --- a/app/assets/javascripts/work_items/components/work_item_state_toggle.vue +++ b/app/assets/javascripts/work_items/components/work_item_state_toggle.vue @@ -98,7 +98,7 @@ export default { }; }, update(data) { - return data.workspace?.workItem ?? {}; + return data.namespace?.workItem ?? {}; }, skip() { return !this.workItemIid; @@ -120,10 +120,10 @@ export default { skip() { return !this.workItemIid; }, - update({ workspace }) { - if (!workspace?.workItem) return []; + update({ namespace }) { + if (!namespace?.workItem) return []; - const linkedWorkItems = findLinkedItemsWidget(workspace.workItem)?.linkedItems?.nodes || []; + const linkedWorkItems = findLinkedItemsWidget(namespace.workItem)?.linkedItems?.nodes || []; return linkedWorkItems.filter((item) => { return ( diff --git a/app/assets/javascripts/work_items/components/work_item_types_list.vue b/app/assets/javascripts/work_items/components/work_item_types_list.vue index 6397ce351cf8f12d768a8ef46a6f088823501d80..9727f8bd43ef67e185151de355f18d06ea060f91 100644 --- a/app/assets/javascripts/work_items/components/work_item_types_list.vue +++ b/app/assets/javascripts/work_items/components/work_item_types_list.vue @@ -37,7 +37,7 @@ export default { }; }, update(data) { - return data.workspace?.workItemTypes?.nodes || []; + return data.namespace?.workItemTypes?.nodes || []; }, error(error) { this.errorMessage = s__('WorkItem|Failed to fetch work item types.'); diff --git a/app/assets/javascripts/work_items/graphql/ai_permissions_for_project.query.graphql b/app/assets/javascripts/work_items/graphql/ai_permissions_for_project.query.graphql index d9aadfa03b69a3776a2eff4fb0a80ee06a45eda5..6f7efd589d6b817829d0f9491d2b014988146f5e 100644 --- a/app/assets/javascripts/work_items/graphql/ai_permissions_for_project.query.graphql +++ b/app/assets/javascripts/work_items/graphql/ai_permissions_for_project.query.graphql @@ -1,5 +1,5 @@ query projectGenerateDescriptionPermissions($fullPath: ID!) { - workspace: project(fullPath: $fullPath) { + namespace: project(fullPath: $fullPath) { id userPermissions { generateDescription diff --git a/app/assets/javascripts/work_items/graphql/award_emoji.query.graphql b/app/assets/javascripts/work_items/graphql/award_emoji.query.graphql index 88a2cfd269abbeb85d72a3dde0770ccd0c7cc75c..b31098bead10736594e2aa6ca5f1638414f90c9d 100644 --- a/app/assets/javascripts/work_items/graphql/award_emoji.query.graphql +++ b/app/assets/javascripts/work_items/graphql/award_emoji.query.graphql @@ -2,7 +2,7 @@ #import "~/work_items/graphql/award_emoji.fragment.graphql" query projectWorkItemAwardEmojis($fullPath: ID!, $iid: String!, $after: String, $pageSize: Int) { - workspace: namespace(fullPath: $fullPath) { + namespace(fullPath: $fullPath) { id workItem(iid: $iid) { id diff --git a/app/assets/javascripts/work_items/graphql/cache_utils.js b/app/assets/javascripts/work_items/graphql/cache_utils.js index 79c2355fb9c0d936248d338000ea80146e8c61e1..bbb3fdd9b61c67a6834827010594f0b167c518a9 100644 --- a/app/assets/javascripts/work_items/graphql/cache_utils.js +++ b/app/assets/javascripts/work_items/graphql/cache_utils.js @@ -44,11 +44,11 @@ import workItemByIidQuery from './work_item_by_iid.query.graphql'; import workItemByIdQuery from './work_item_by_id.query.graphql'; import getWorkItemTreeQuery from './work_item_tree.query.graphql'; -const getNotesWidgetFromSourceData = (draftData) => findNotesWidget(draftData?.workspace?.workItem); +const getNotesWidgetFromSourceData = (draftData) => findNotesWidget(draftData?.namespace?.workItem); const updateNotesWidgetDataInDraftData = (draftData, notesWidget) => { - const noteWidgetIndex = draftData.workspace.workItem.widgets.findIndex(isNotesWidget); - draftData.workspace.workItem.widgets[noteWidgetIndex] = notesWidget; + const noteWidgetIndex = draftData.namespace.workItem.widgets.findIndex(isNotesWidget); + draftData.namespace.workItem.widgets[noteWidgetIndex] = notesWidget; }; /** @@ -290,7 +290,7 @@ export const updateParent = ({ cache, fullPath, iid, workItem }) => { cache.writeQuery({ ...queryArgs, data: produce(sourceData, (draftState) => { - const children = findHierarchyWidgetChildren(draftState.workspace?.workItem); + const children = findHierarchyWidgetChildren(draftState.namespace?.workItem); const index = children.findIndex((child) => child.id === workItem.id); if (index >= 0) children.splice(index, 1); }), @@ -310,7 +310,7 @@ export const updateWorkItemCurrentTodosWidget = ({ cache, fullPath, iid, todos } } const newData = produce(sourceData, (draftState) => { - const widgetCurrentUserTodos = findCurrentUserTodosWidget(draftState.workspace.workItem); + const widgetCurrentUserTodos = findCurrentUserTodosWidget(draftState.namespace.workItem); widgetCurrentUserTodos.currentUserTodos.nodes = todos; }); @@ -696,7 +696,7 @@ export const setNewWorkItemCache = ({ const newWorkItemPath = newWorkItemFullPath(fullPath, workItemType); // get the widgets stored in draft data - const draftDataWidgetTypes = map(draftData?.workspace?.workItem?.widgets, 'type') || []; + const draftDataWidgetTypes = map(draftData?.namespace?.workItem?.widgets, 'type') || []; const freshWidgetTypes = map(widgets, 'type') || []; // this is to fix errors when we are introducing a new widget and the cache always updates from the old widgets @@ -707,10 +707,7 @@ export const setNewWorkItemCache = ({ ); const isValidDraftData = - draftData?.workspace?.workItem && - getStorageDraftString && - draftData?.workspace?.workItem && - draftWidgetsAreSameAsCacheDigits; + draftData?.namespace?.workItem && getStorageDraftString && draftWidgetsAreSameAsCacheDigits; /** check in case of someone plays with the localstorage, we need to be sure */ if (!isValidDraftData) { @@ -724,7 +721,7 @@ export const setNewWorkItemCache = ({ iid: NEW_WORK_ITEM_IID, }, data: { - workspace: { + namespace: { id: newWorkItemPath, workItem: { id: newWorkItemId(workItemType), diff --git a/app/assets/javascripts/work_items/graphql/group_work_items.query.graphql b/app/assets/javascripts/work_items/graphql/group_work_items.query.graphql index 9e4500c03aabff0255405ace63310c260fd00afb..4ea89cce802d2c8e18c037d194ce4cde5dae0f5e 100644 --- a/app/assets/javascripts/work_items/graphql/group_work_items.query.graphql +++ b/app/assets/javascripts/work_items/graphql/group_work_items.query.graphql @@ -9,7 +9,7 @@ query groupWorkItems( $searchByIid: Boolean = false $searchByText: Boolean = true ) { - workspace: group(fullPath: $fullPath) { + namespace: group(fullPath: $fullPath) { id workItems( search: $searchTerm diff --git a/app/assets/javascripts/work_items/graphql/group_workspace_permissions.query.graphql b/app/assets/javascripts/work_items/graphql/group_workspace_permissions.query.graphql index e6da78f088950f40f15100d259d2ecd014e7e937..1b343a552f4e683e2d871c6f464450b1b82af346 100644 --- a/app/assets/javascripts/work_items/graphql/group_workspace_permissions.query.graphql +++ b/app/assets/javascripts/work_items/graphql/group_workspace_permissions.query.graphql @@ -1,5 +1,5 @@ query groupWorkspacePermissions($fullPath: ID!) { - workspace: group(fullPath: $fullPath) { + namespace: group(fullPath: $fullPath) { id userPermissions { adminWorkItemLifecycle diff --git a/app/assets/javascripts/work_items/graphql/namespace_merge_requests_enabled.query.graphql b/app/assets/javascripts/work_items/graphql/namespace_merge_requests_enabled.query.graphql index 7407ea9ba5d8b2a6ccb939969a5d558946d43699..f521f76a22e242e56442a89d1ff788c2108c322e 100644 --- a/app/assets/javascripts/work_items/graphql/namespace_merge_requests_enabled.query.graphql +++ b/app/assets/javascripts/work_items/graphql/namespace_merge_requests_enabled.query.graphql @@ -1,5 +1,5 @@ query namespaceMergeRequestsEnabled($fullPath: ID!) { - workspace: namespace(fullPath: $fullPath) { + namespace(fullPath: $fullPath) { id mergeRequestsEnabled } diff --git a/app/assets/javascripts/work_items/graphql/namespace_work_item_types.query.graphql b/app/assets/javascripts/work_items/graphql/namespace_work_item_types.query.graphql index ceee37ad00f6fbc7ade7828cfccff3ff2e7e0e58..3067005764346d2ce9b95b9a98877fff3c5e7550 100644 --- a/app/assets/javascripts/work_items/graphql/namespace_work_item_types.query.graphql +++ b/app/assets/javascripts/work_items/graphql/namespace_work_item_types.query.graphql @@ -1,7 +1,7 @@ #import "ee_else_ce/work_items/graphql/work_item_type.fragment.graphql" query namespaceWorkItemTypes($fullPath: ID!, $name: IssueType, $onlyAvailable: Boolean = false) { - workspace: namespace(fullPath: $fullPath) { + namespace(fullPath: $fullPath) { id webUrl userPermissions { diff --git a/app/assets/javascripts/work_items/graphql/notes/work_item_email_participants_by_iid.query.graphql b/app/assets/javascripts/work_items/graphql/notes/work_item_email_participants_by_iid.query.graphql index 72f70f3c6c64a435fec37487337c496f7649a4bb..27ab2bd48717522296a2fc26f57bbaea6771fdba 100644 --- a/app/assets/javascripts/work_items/graphql/notes/work_item_email_participants_by_iid.query.graphql +++ b/app/assets/javascripts/work_items/graphql/notes/work_item_email_participants_by_iid.query.graphql @@ -1,5 +1,5 @@ query workItemEmailParticipantsByIid($fullPath: ID!, $iid: String!) { - workspace: namespace(fullPath: $fullPath) { + namespace(fullPath: $fullPath) { id workItem(iid: $iid) { id diff --git a/app/assets/javascripts/work_items/graphql/notes/work_item_notes_by_iid.query.graphql b/app/assets/javascripts/work_items/graphql/notes/work_item_notes_by_iid.query.graphql index 81d05c1f87d9bfc8874576824b5627b53c188b52..d169e8555f422072c022b30529bd93bd383f69e1 100644 --- a/app/assets/javascripts/work_items/graphql/notes/work_item_notes_by_iid.query.graphql +++ b/app/assets/javascripts/work_items/graphql/notes/work_item_notes_by_iid.query.graphql @@ -8,7 +8,7 @@ query workItemNotesByIid( $pageSize: Int $sort: WorkItemDiscussionsSort ) { - workspace: namespace(fullPath: $fullPath) { + namespace(fullPath: $fullPath) { id workItem(iid: $iid) { id diff --git a/app/assets/javascripts/work_items/graphql/project_work_items.query.graphql b/app/assets/javascripts/work_items/graphql/project_work_items.query.graphql index 69bd4ca639cb9ef87c2f9a228e38778853d4eb2e..44c178337e54b6386e4a287c4ea843675f2f84d4 100644 --- a/app/assets/javascripts/work_items/graphql/project_work_items.query.graphql +++ b/app/assets/javascripts/work_items/graphql/project_work_items.query.graphql @@ -7,7 +7,7 @@ query projectWorkItems( $searchByIid: Boolean = false $searchByText: Boolean = true ) { - workspace: project(fullPath: $fullPath) { + namespace: project(fullPath: $fullPath) { id workItems(search: $searchTerm, types: $types, state: opened, in: $in) @include(if: $searchByText) { diff --git a/app/assets/javascripts/work_items/graphql/resolvers.js b/app/assets/javascripts/work_items/graphql/resolvers.js index 2f13998d608c4509b6919d12f84aaf2389808111..60fd1264bd02df88b0afc8829f0183aae8de7ca8 100644 --- a/app/assets/javascripts/work_items/graphql/resolvers.js +++ b/app/assets/javascripts/work_items/graphql/resolvers.js @@ -38,8 +38,8 @@ const updateWidget = (draftData, widgetType, newData, nodePath) => { /** we have to make sure we do not pass values when custom types are introduced */ if (newData === undefined) return; - if (draftData.workspace) { - const widget = findWidget(widgetType, draftData.workspace.workItem); + if (draftData.namespace) { + const widget = findWidget(widgetType, draftData.namespace.workItem); set(widget, nodePath, newData); } }; @@ -50,7 +50,7 @@ const updateDatesWidget = (draftData, dates) => { const dueDate = dates.dueDate ? toISODateFormat(newDate(dates.dueDate)) : null; const startDate = dates.startDate ? toISODateFormat(newDate(dates.startDate)) : null; - const widget = findStartAndDueDateWidget(draftData.workspace.workItem); + const widget = findStartAndDueDateWidget(draftData.namespace.workItem); Object.assign(widget, { dueDate, startDate, @@ -63,12 +63,12 @@ const updateDatesWidget = (draftData, dates) => { const updateCustomFieldsWidget = (sourceData, draftData, customField) => { if (!customField) return; - const widget = findCustomFieldsWidget(draftData.workspace.workItem); + const widget = findCustomFieldsWidget(draftData.namespace.workItem); if (!widget) return; const currentValues = - sourceData?.workspace?.workItem?.widgets?.find((w) => w.type === WIDGET_TYPE_CUSTOM_FIELDS) + sourceData?.namespace?.workItem?.widgets?.find((w) => w.type === WIDGET_TYPE_CUSTOM_FIELDS) ?.customFieldValues ?? []; const updatedCustomFieldValues = currentValues.map((field) => { @@ -192,9 +192,9 @@ export const updateNewWorkItemCache = (input, cache) => { // We want to allow users to delete a title for an in-progress work item draft // as we check for the title being valid when submitting the form - if (title !== undefined) draftData.workspace.workItem.title = title; + if (title !== undefined) draftData.namespace.workItem.title = title; - if (confidential !== undefined) draftData.workspace.workItem.confidential = confidential; + if (confidential !== undefined) draftData.namespace.workItem.confidential = confidential; }), ); @@ -207,7 +207,7 @@ export const updateNewWorkItemCache = (input, cache) => { relatedItemId, }); - const isQueryDataValid = !isEmpty(newData) && newData?.workspace?.workItem; + const isQueryDataValid = !isEmpty(newData) && newData?.namespace?.workItem; if (isQueryDataValid && autosaveKey) { updateDraft(autosaveKey, JSON.stringify(newData)); diff --git a/app/assets/javascripts/work_items/graphql/work_item_by_iid.query.graphql b/app/assets/javascripts/work_items/graphql/work_item_by_iid.query.graphql index 3caad892890414d13e99839c5a94ee2cd4a5282e..5ae559d763e227a23e3c3aef115674975009cdb3 100644 --- a/app/assets/javascripts/work_items/graphql/work_item_by_iid.query.graphql +++ b/app/assets/javascripts/work_items/graphql/work_item_by_iid.query.graphql @@ -1,7 +1,7 @@ #import "ee_else_ce/work_items/graphql/work_item.fragment.graphql" query namespaceWorkItem($fullPath: ID!, $iid: String!) { - workspace: namespace(fullPath: $fullPath) { + namespace(fullPath: $fullPath) { id workItem(iid: $iid) { ...WorkItem diff --git a/app/assets/javascripts/work_items/graphql/work_item_linked_items.query.graphql b/app/assets/javascripts/work_items/graphql/work_item_linked_items.query.graphql index 5a9d9ced4399875cab42e27b68d8d598a5c88903..8f7c0c747e485bd5b0ce11b5fce0fbb5953e9849 100644 --- a/app/assets/javascripts/work_items/graphql/work_item_linked_items.query.graphql +++ b/app/assets/javascripts/work_items/graphql/work_item_linked_items.query.graphql @@ -1,7 +1,7 @@ #import "./work_item_linked_items.fragment.graphql" query workItemLinkedItems($fullPath: ID!, $iid: String!) { - workspace: namespace(fullPath: $fullPath) { + namespace(fullPath: $fullPath) { id workItem(iid: $iid) { id diff --git a/app/assets/javascripts/work_items/graphql/work_item_participants.query.graphql b/app/assets/javascripts/work_items/graphql/work_item_participants.query.graphql index fe2b09cce0a6317e44262cc3cd9599499714e32b..4aaf68012854258b78c46e509bfe355e53bd80f2 100644 --- a/app/assets/javascripts/work_items/graphql/work_item_participants.query.graphql +++ b/app/assets/javascripts/work_items/graphql/work_item_participants.query.graphql @@ -1,7 +1,7 @@ #import "~/graphql_shared/fragments/user.fragment.graphql" query workItemParticipants($fullPath: ID!, $iid: String!) { - workspace: namespace(fullPath: $fullPath) { + namespace(fullPath: $fullPath) { id workItem(iid: $iid) { id diff --git a/app/assets/javascripts/work_items/graphql/work_items_linked_items_slim.query.graphql b/app/assets/javascripts/work_items/graphql/work_items_linked_items_slim.query.graphql index f43e6475c4c6bfe9639c3c1bd8060d6858c2386a..c97ae52e636c1a27019e5f2096735d2462d85602 100644 --- a/app/assets/javascripts/work_items/graphql/work_items_linked_items_slim.query.graphql +++ b/app/assets/javascripts/work_items/graphql/work_items_linked_items_slim.query.graphql @@ -1,5 +1,5 @@ query workItemLinkedItemsSlim($fullPath: ID!, $iid: String!) { - workspace: namespace(fullPath: $fullPath) { + namespace(fullPath: $fullPath) { id workItem(iid: $iid) { id diff --git a/app/assets/javascripts/work_items/graphql/workspace_permissions.query.graphql b/app/assets/javascripts/work_items/graphql/workspace_permissions.query.graphql index 309884d87d01886f14647ebf0c37f3b09ea44a2c..2ba8d6300861bf5f827291a1402f90746a1919eb 100644 --- a/app/assets/javascripts/work_items/graphql/workspace_permissions.query.graphql +++ b/app/assets/javascripts/work_items/graphql/workspace_permissions.query.graphql @@ -1,5 +1,5 @@ query workspacePermissions($fullPath: ID!) { - workspace: project(fullPath: $fullPath) { + namespace: project(fullPath: $fullPath) { id userPermissions { createDesign diff --git a/app/assets/javascripts/work_items/notes/award_utils.js b/app/assets/javascripts/work_items/notes/award_utils.js index 89d4cb668d85fadf9db7ab4ac6db0eeff7e6c1c9..a1691ccf5f670d918677349da38b016dd4dd1e6f 100644 --- a/app/assets/javascripts/work_items/notes/award_utils.js +++ b/app/assets/javascripts/work_items/notes/award_utils.js @@ -77,9 +77,9 @@ export const getNewCustomEmojiPath = ({ cache, fullPath, workItemIid }) => { const sourceData = cache.readQuery(query); - if (!sourceData?.workspace?.workItem) { + if (!sourceData?.namespace?.workItem) { return ''; } - return findAwardEmojiWidget(sourceData.workspace.workItem)?.newCustomEmojiPath || ''; + return findAwardEmojiWidget(sourceData.namespace.workItem)?.newCustomEmojiPath || ''; }; diff --git a/app/assets/javascripts/work_items/pages/work_items_list_app.vue b/app/assets/javascripts/work_items/pages/work_items_list_app.vue index 97f8db450140b9cbd7773e0d8ef045ccdcb012c3..38e72613c55fb28a39f24ddb0959410f9b9491be 100644 --- a/app/assets/javascripts/work_items/pages/work_items_list_app.vue +++ b/app/assets/javascripts/work_items/pages/work_items_list_app.vue @@ -454,7 +454,7 @@ export default { }; }, update(data) { - return data?.workspace?.workItemTypes?.nodes; + return data?.namespace?.workItemTypes?.nodes; }, error(error) { Sentry.captureException(error); diff --git a/app/assets/javascripts/work_items/utils.js b/app/assets/javascripts/work_items/utils.js index 6ab0b7cc5338977ca8657e818beb098402a704d1..8464347f2b9906cafa7de4caae04ce5aeb8e48fe 100644 --- a/app/assets/javascripts/work_items/utils.js +++ b/app/assets/javascripts/work_items/utils.js @@ -367,16 +367,16 @@ export const getNewWorkItemWidgetsAutoSaveKey = ({ fullPath, context, relatedIte }; export const getWorkItemWidgets = (draftData) => { - if (!draftData?.workspace?.workItem) return {}; + if (!draftData?.namespace?.workItem) return {}; const widgets = {}; - for (const widget of draftData.workspace.workItem.widgets || []) { + for (const widget of draftData.namespace.workItem.widgets || []) { if (widget.type) { widgets[widget.type] = widget; } } - widgets.TITLE = draftData.workspace.workItem.title; - widgets.TYPE = draftData.workspace.workItem.workItemType; + widgets.TITLE = draftData.namespace.workItem.title; + widgets.TYPE = draftData.namespace.workItem.workItemType; return widgets; }; diff --git a/ee/app/assets/javascripts/boards/components/board_add_new_column.vue b/ee/app/assets/javascripts/boards/components/board_add_new_column.vue index 4a0b07375fc1e2461db0a3b868c8b317669225c7..ba1723fb30eab7d906f2e2baeccd3eb40e1ee6bc 100644 --- a/ee/app/assets/javascripts/boards/components/board_add_new_column.vue +++ b/ee/app/assets/javascripts/boards/components/board_add_new_column.vue @@ -233,7 +233,7 @@ export default { }; }, update(data) { - return getStatuses(data.workspace?.workItemTypes?.nodes); + return getStatuses(data.namespace?.workItemTypes?.nodes); }, skip() { return this.columnType !== ListType.status; diff --git a/ee/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue b/ee/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue index 04a4c733eeebc6775bce63a44b7ac07fbce0c67f..672090ba50304da9296fc5dbbc3851911d0e535f 100644 --- a/ee/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue +++ b/ee/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue @@ -88,7 +88,6 @@ export default { query() { const { current } = this.issuableAttributeQuery; const { query } = current[this.issuableType]; - return query; }, variables() { @@ -98,10 +97,12 @@ export default { }; }, update(data) { - return data.workspace?.issuable || {}; + return data.workspace?.issuable || data.namespace?.issuable || {}; }, result({ data }) { - this.hasWorkItemParent = data?.workspace?.issuable?.hasParent && this.showWorkItemEpics; + this.hasWorkItemParent = + (data?.workspace?.issuable?.hasParent || data?.namespace?.issuable?.hasParent) && + this.showWorkItemEpics; }, error(error) { createAlert({ diff --git a/ee/app/assets/javascripts/sidebar/queries/group_iterations.query.graphql b/ee/app/assets/javascripts/sidebar/queries/group_iterations.query.graphql index c828534a700e60524bddaba4a43df717a5970e99..12c1c2af874845903f02b4b720c7b24749d1b6ce 100644 --- a/ee/app/assets/javascripts/sidebar/queries/group_iterations.query.graphql +++ b/ee/app/assets/javascripts/sidebar/queries/group_iterations.query.graphql @@ -1,7 +1,7 @@ #import "./iteration.fragment.graphql" query issueIterationsAliased($fullPath: ID!, $title: String, $state: IterationState) { - workspace: group(fullPath: $fullPath) { + namespace: group(fullPath: $fullPath) { id attributes: iterations(search: $title, in: [TITLE, CADENCE_TITLE], state: $state) { nodes { diff --git a/ee/app/assets/javascripts/sidebar/queries/project_issue_iteration.query.graphql b/ee/app/assets/javascripts/sidebar/queries/project_issue_iteration.query.graphql index f77b63da2d3ada588d856c60549d5a88645f3d01..8df9923b5adaca01377362ade9c697682ccd87ed 100644 --- a/ee/app/assets/javascripts/sidebar/queries/project_issue_iteration.query.graphql +++ b/ee/app/assets/javascripts/sidebar/queries/project_issue_iteration.query.graphql @@ -1,7 +1,7 @@ #import "./iteration.fragment.graphql" query projectIssueIteration($fullPath: ID!, $iid: String!) { - workspace: project(fullPath: $fullPath) { + namespace: project(fullPath: $fullPath) { id issuable: issue(iid: $iid) { id diff --git a/ee/app/assets/javascripts/vue_shared/components/filtered_search_bar/tokens/work_item_status_token.vue b/ee/app/assets/javascripts/vue_shared/components/filtered_search_bar/tokens/work_item_status_token.vue index f0d1774f1c55a5b56530594d9717db4db6ac3c30..ab557c86fc53be4df99d0743085744e0c70dc32d 100644 --- a/ee/app/assets/javascripts/vue_shared/components/filtered_search_bar/tokens/work_item_status_token.vue +++ b/ee/app/assets/javascripts/vue_shared/components/filtered_search_bar/tokens/work_item_status_token.vue @@ -58,7 +58,7 @@ export default { fullPath: this.config.fullPath, }, }) - .then(({ data }) => getStatuses(data?.workspace?.workItemTypes?.nodes)); + .then(({ data }) => getStatuses(data?.namespace?.workItemTypes?.nodes)); }, fetchStatuses(search) { this.loading = true; diff --git a/ee/app/assets/javascripts/work_items/components/list/work_item_bulk_edit_iteration.vue b/ee/app/assets/javascripts/work_items/components/list/work_item_bulk_edit_iteration.vue index 5eeb47693ece6fbdc39df8ce46b7901623159e30..0e0b19b6dbfb88112ccbd177f5b0f1e6b5474f7c 100644 --- a/ee/app/assets/javascripts/work_items/components/list/work_item_bulk_edit_iteration.vue +++ b/ee/app/assets/javascripts/work_items/components/list/work_item_bulk_edit_iteration.vue @@ -63,7 +63,7 @@ export default { return !this.searchStarted; }, update(data) { - return data.workspace?.attributes.nodes ?? []; + return data.namespace?.attributes.nodes ?? []; }, error(error) { createAlert({ diff --git a/ee/app/assets/javascripts/work_items/components/work_item_bulk_edit/work_item_bulk_edit_status.vue b/ee/app/assets/javascripts/work_items/components/work_item_bulk_edit/work_item_bulk_edit_status.vue index e7bfe770363ab26a9c3b8e674b1854963a8bfb7b..219b6e8950da8c1e01f1ed24a0a6b6756abc9de4 100644 --- a/ee/app/assets/javascripts/work_items/components/work_item_bulk_edit/work_item_bulk_edit_status.vue +++ b/ee/app/assets/javascripts/work_items/components/work_item_bulk_edit/work_item_bulk_edit_status.vue @@ -161,7 +161,7 @@ export default { }; }, update(data) { - return data.workspace?.workItemTypes?.nodes || []; + return data.namespace?.workItemTypes?.nodes || []; }, skip() { return !this.hasItemsSelected; diff --git a/ee/app/assets/javascripts/work_items/components/work_item_change_type_modal.vue b/ee/app/assets/javascripts/work_items/components/work_item_change_type_modal.vue index 59a5458210c671c71f0d7255fbe626f3ed671750..5f83dd84aaf51b4e626861eb5a018ea07c9bd647 100644 --- a/ee/app/assets/javascripts/work_items/components/work_item_change_type_modal.vue +++ b/ee/app/assets/javascripts/work_items/components/work_item_change_type_modal.vue @@ -76,7 +76,7 @@ export default { }; }, update(data) { - return data.workspace?.workItemTypes?.nodes || []; + return data.namespace?.workItemTypes?.nodes || []; }, error(e) { this.throwError(e); diff --git a/ee/app/assets/javascripts/work_items/components/work_item_health_status.vue b/ee/app/assets/javascripts/work_items/components/work_item_health_status.vue index a4e6110d28ee97f644569b060764458f1d4ec6a9..9a19e4b942894fda9c69e8d49953f7d5fe574139 100644 --- a/ee/app/assets/javascripts/work_items/components/work_item_health_status.vue +++ b/ee/app/assets/javascripts/work_items/components/work_item_health_status.vue @@ -94,7 +94,7 @@ export default { }; }, update(data) { - return data.workspace?.workItem || {}; + return data.namespace?.workItem || {}; }, skip() { return !this.workItemIid; diff --git a/ee/app/assets/javascripts/work_items/components/work_item_iteration.vue b/ee/app/assets/javascripts/work_items/components/work_item_iteration.vue index baeb986ec2f2f09f40b46fc762b52b06b4611ad5..221c44e55f7e7f5000677b46a4d182d9a56bebaa 100644 --- a/ee/app/assets/javascripts/work_items/components/work_item_iteration.vue +++ b/ee/app/assets/javascripts/work_items/components/work_item_iteration.vue @@ -132,7 +132,7 @@ export default { }; }, update(data) { - return data.workspace?.attributes?.nodes || []; + return data.namespace?.attributes?.nodes || []; }, skip() { return !this.shouldFetch; diff --git a/ee/app/assets/javascripts/work_items/components/work_item_status.vue b/ee/app/assets/javascripts/work_items/components/work_item_status.vue index d7dc5a34e809808b9418cea9bdc20cd90698c4bc..f80fdcb2f2da60af6eb182f805ef808efb1c420c 100644 --- a/ee/app/assets/javascripts/work_items/components/work_item_status.vue +++ b/ee/app/assets/javascripts/work_items/components/work_item_status.vue @@ -137,10 +137,10 @@ export default { }; }, update(data) { - return data?.workspace?.workItem ?? {}; + return data?.namespace?.workItem ?? {}; }, result({ data }) { - this.localStatus = findStatusWidget(data?.workspace?.workItem)?.status || {}; + this.localStatus = findStatusWidget(data?.namespace?.workItem)?.status || {}; }, skip() { return !this.workItemIid || !this.fullPath; @@ -157,7 +157,7 @@ export default { }; }, update(data) { - return data.workspace?.workItemTypes?.nodes || []; + return data.namespace?.workItemTypes?.nodes || []; }, skip() { return !this.shouldFetch; @@ -181,7 +181,7 @@ export default { return this.isLoading || !this.fullPath; }, update(data) { - return data.workspace?.userPermissions ?? {}; + return data.namespace?.userPermissions ?? {}; }, error(error) { Sentry.captureException(error); diff --git a/ee/app/assets/javascripts/work_items/components/work_item_vulnerabilities.vue b/ee/app/assets/javascripts/work_items/components/work_item_vulnerabilities.vue index 9803947cf3364ca1322700504214bf36b675ba36..0dd233111bd3c2645edc58de725bdd553e1e4ec4 100644 --- a/ee/app/assets/javascripts/work_items/components/work_item_vulnerabilities.vue +++ b/ee/app/assets/javascripts/work_items/components/work_item_vulnerabilities.vue @@ -85,7 +85,7 @@ export default { }, methods: { getRelatedVulnerabilities(data) { - const workItemVulnerabilities = findVulnerabilitiesWidget(data.workspace?.workItem) || {}; + const workItemVulnerabilities = findVulnerabilitiesWidget(data.namespace?.workItem) || {}; return workItemVulnerabilities.relatedVulnerabilities; }, async fetchNextPage() { diff --git a/ee/app/assets/javascripts/work_items/graphql/project_iterations.query.graphql b/ee/app/assets/javascripts/work_items/graphql/project_iterations.query.graphql index 00a52a314139ee505cbf2c654ae1e09f595b8871..dc8c11b17dc8cd31e56c5a7362ea88a6970f8d71 100644 --- a/ee/app/assets/javascripts/work_items/graphql/project_iterations.query.graphql +++ b/ee/app/assets/javascripts/work_items/graphql/project_iterations.query.graphql @@ -1,7 +1,7 @@ #import "ee/sidebar/queries/iteration.fragment.graphql" query issueIterationsAliasedProject($fullPath: ID!, $title: String, $state: IterationState) { - workspace: project(fullPath: $fullPath) { + namespace: project(fullPath: $fullPath) { id attributes: iterations(search: $title, in: [TITLE, CADENCE_TITLE], state: $state) { nodes { diff --git a/ee/app/assets/javascripts/work_items/graphql/work_item_vulnerabilities.query.graphql b/ee/app/assets/javascripts/work_items/graphql/work_item_vulnerabilities.query.graphql index 7f843632402f325e2fd36daa2f4667d025da05f2..6aed5b6d57ff1b19e30d767cf19943cd7b1dd9be 100644 --- a/ee/app/assets/javascripts/work_items/graphql/work_item_vulnerabilities.query.graphql +++ b/ee/app/assets/javascripts/work_items/graphql/work_item_vulnerabilities.query.graphql @@ -6,7 +6,7 @@ query workItemVulnerabilities( $first: Int = 25 $after: String = "" ) { - workspace: namespace(fullPath: $fullPath) { + namespace(fullPath: $fullPath) { id workItem(iid: $iid) { id diff --git a/ee/spec/frontend/boards/components/board_add_new_column_spec.js b/ee/spec/frontend/boards/components/board_add_new_column_spec.js index 8b2243585096bb36bba0f0e3b9c89b7feb4a3537..66b827d002ccc2aa78148273e177b707c6ea41ce 100644 --- a/ee/spec/frontend/boards/components/board_add_new_column_spec.js +++ b/ee/spec/frontend/boards/components/board_add_new_column_spec.js @@ -73,7 +73,7 @@ describe('BoardAddNewColumn', () => { let allowedStatus = []; - namespaceWorkItemTypesQueryResponse.data.workspace?.workItemTypes?.nodes?.forEach((type) => { + namespaceWorkItemTypesQueryResponse.data.namespace?.workItemTypes?.nodes?.forEach((type) => { const statusWidget = type.widgetDefinitions.find( (widget) => widget.type === WIDGET_TYPE_STATUS, ); diff --git a/ee/spec/frontend/sidebar/mock_data.js b/ee/spec/frontend/sidebar/mock_data.js index a5ea2d58b091e7a6d45f44bfd659f3c44c810493..6696c7779a349958a994fb888051772bbd69c387 100644 --- a/ee/spec/frontend/sidebar/mock_data.js +++ b/ee/spec/frontend/sidebar/mock_data.js @@ -88,7 +88,7 @@ export const mockEpic2 = { export const mockGroupIterationsResponse = { data: { - workspace: { + namespace: { id: '1', attributes: { nodes: [mockIteration1, mockIteration2], @@ -141,7 +141,7 @@ export const emptyGroupEpicsResponse = { export const mockCurrentIterationResponse1 = { data: { errors: [], - workspace: { + namespace: { id: '1', issuable: { id: mockIssueId, @@ -156,7 +156,7 @@ export const mockCurrentIterationResponse1 = { export const mockCurrentIterationResponse2 = { data: { errors: [], - workspace: { + namespace: { id: '1', issuable: { id: mockIssueId, diff --git a/ee/spec/frontend/work_items/components/create_work_item_spec.js b/ee/spec/frontend/work_items/components/create_work_item_spec.js index 92c2fa4afa9d625c4d1f107b9ac58c589b3ccbcf..9b012d84e4f401ee325ebd30e71889ddd93c5389 100644 --- a/ee/spec/frontend/work_items/components/create_work_item_spec.js +++ b/ee/spec/frontend/work_items/components/create_work_item_spec.js @@ -278,7 +278,7 @@ describe('EE Create work item component', () => { const customFieldsNamespaceWorkItemTypesResponse = { ...namespaceWorkItemsWithoutEpicSupport, widgetDefinitions: [ - ...namespaceWorkItemsWithoutEpicSupport.data.workspace.workItemTypes.nodes[0] + ...namespaceWorkItemsWithoutEpicSupport.data.namespace.workItemTypes.nodes[0] .widgetDefinitions, { type: 'CUSTOM_FIELDS', diff --git a/ee/spec/frontend/work_items/components/work_item_attributes_wrapper_spec.js b/ee/spec/frontend/work_items/components/work_item_attributes_wrapper_spec.js index 6651917f1756d61e9dff0da7dc82b46a16762f63..cc927bc0ae322a3291a4abcfce274fabd1f636bd 100644 --- a/ee/spec/frontend/work_items/components/work_item_attributes_wrapper_spec.js +++ b/ee/spec/frontend/work_items/components/work_item_attributes_wrapper_spec.js @@ -37,7 +37,7 @@ describe('EE WorkItemAttributesWrapper component', () => { }); const workItemParticipantsQueryResponse = { data: { - workspace: { + namespace: { __typename: 'Namespace', id: workItemQueryResponse.data.workItem.namespace.id, workItem: { diff --git a/ee/spec/frontend/work_items/components/work_item_bulk_edit/work_item_bulk_edit_status_spec.js b/ee/spec/frontend/work_items/components/work_item_bulk_edit/work_item_bulk_edit_status_spec.js index 408b880befbdc936825f75e73d145468d0ae6587..1bedb03b102345e0396940f8abf4c27696354a45 100644 --- a/ee/spec/frontend/work_items/components/work_item_bulk_edit/work_item_bulk_edit_status_spec.js +++ b/ee/spec/frontend/work_items/components/work_item_bulk_edit/work_item_bulk_edit_status_spec.js @@ -27,7 +27,7 @@ describe('WorkItemBulkEditStatus', () => { ]; const statusPerType = []; const namespaceQueryHandler = jest.fn().mockResolvedValue(namespaceWorkItemTypesQueryResponse); - namespaceWorkItemTypesQueryResponse.data.workspace?.workItemTypes?.nodes?.forEach((type) => { + namespaceWorkItemTypesQueryResponse.data.namespace?.workItemTypes?.nodes?.forEach((type) => { const statusWidget = type.widgetDefinitions.find( (widget) => widget.type === WIDGET_TYPE_STATUS, ); diff --git a/ee/spec/frontend/work_items/components/work_item_change_type_modal_spec.js b/ee/spec/frontend/work_items/components/work_item_change_type_modal_spec.js index e87c315f855fe7ed0ef1a35f6079d4bde46b5feb..16886865908455e0392399b145c463b6f6a276f1 100644 --- a/ee/spec/frontend/work_items/components/work_item_change_type_modal_spec.js +++ b/ee/spec/frontend/work_items/components/work_item_change_type_modal_spec.js @@ -33,15 +33,15 @@ describe('WorkItemChangeTypeModal component', () => { let wrapper; const graphqlError = 'GraphQL error'; const keyResultTypeId = - namespaceWorkItemTypesQueryResponse.data.workspace.workItemTypes.nodes.find( + namespaceWorkItemTypesQueryResponse.data.namespace.workItemTypes.nodes.find( (item) => item.name === WORK_ITEM_TYPE_NAME_KEY_RESULT, ).id; - const issueTypeId = namespaceWorkItemTypesQueryResponse.data.workspace.workItemTypes.nodes.find( + const issueTypeId = namespaceWorkItemTypesQueryResponse.data.namespace.workItemTypes.nodes.find( (item) => item.name === WORK_ITEM_TYPE_NAME_ISSUE, ).id; - const epicTypeId = namespaceWorkItemTypesQueryResponse.data.workspace.workItemTypes.nodes.find( + const epicTypeId = namespaceWorkItemTypesQueryResponse.data.namespace.workItemTypes.nodes.find( (item) => item.name === WORK_ITEM_TYPE_NAME_EPIC, ).id; diff --git a/ee/spec/frontend/work_items/components/work_item_color_spec.js b/ee/spec/frontend/work_items/components/work_item_color_spec.js index 6d83d326c742c38c5bcf6a968cb4f3158b520212..bf396c40b0c6b118f8c879c2d75538211f6b08c6 100644 --- a/ee/spec/frontend/work_items/components/work_item_color_spec.js +++ b/ee/spec/frontend/work_items/components/work_item_color_spec.js @@ -27,12 +27,12 @@ describe('WorkItemColor component', () => { workItemType: epicType, colorWidgetPresent: true, color: '#1068bf', - }).data.workspace.workItem; + }).data.namespace.workItem; const mockSelectedColorWorkItem = workItemByIidResponseFactory({ workItemType: epicType, colorWidgetPresent: true, color: selectedColor, - }).data.workspace.workItem; + }).data.namespace.workItem; const successUpdateWorkItemMutationHandler = jest .fn() .mockResolvedValue( diff --git a/ee/spec/frontend/work_items/components/work_item_detail_spec.js b/ee/spec/frontend/work_items/components/work_item_detail_spec.js index 29cc0e1254e97c119f3eef71fac753171dc6f382..8c53363ca6e4fab3ff94a5f0277984058cadace2 100644 --- a/ee/spec/frontend/work_items/components/work_item_detail_spec.js +++ b/ee/spec/frontend/work_items/components/work_item_detail_spec.js @@ -127,7 +127,7 @@ describe('EE WorkItemDetail component', () => { it('passes correct props to DuoWorkflowAction', () => { const duoWorkflowAction = findDuoWorkflowAction(); - const { workItem } = workItemByIidQueryResponse.data.workspace; + const { workItem } = workItemByIidQueryResponse.data.namespace; expect(duoWorkflowAction.props()).toMatchObject({ hoverMessage: 'Generate merge request with Duo', diff --git a/ee/spec/frontend/work_items/components/work_item_development/work_item_development_spec.js b/ee/spec/frontend/work_items/components/work_item_development/work_item_development_spec.js index 56f0b87d8034a0c1ebb1309715b07526e352cfa2..a884f133413534acfc410d802476e28fede2e08c 100644 --- a/ee/spec/frontend/work_items/components/work_item_development/work_item_development_spec.js +++ b/ee/spec/frontend/work_items/components/work_item_development/work_item_development_spec.js @@ -36,7 +36,7 @@ describe('WorkItemDevelopment EE', () => { const createWorkItemDevelopmentResponse = (config) => workItemDevelopmentResponse({ widgets: [ - ...workItemResponse.data.workspace.workItem.widgets, + ...workItemResponse.data.namespace.workItem.widgets, workItemDevelopmentFragmentResponse(config), ], }); diff --git a/ee/spec/frontend/work_items/components/work_item_iteration_spec.js b/ee/spec/frontend/work_items/components/work_item_iteration_spec.js index 909c30c634f9e2899d0d2cb1ba41647aa082df21..42cc47a8b095198bceb37eb99bb2404551ea390c 100644 --- a/ee/spec/frontend/work_items/components/work_item_iteration_spec.js +++ b/ee/spec/frontend/work_items/components/work_item_iteration_spec.js @@ -141,7 +141,7 @@ describe('WorkItemIteration component', () => { expect(findSidebarDropdownWidget().props('loading')).toBe(false); expect(findSidebarDropdownWidget().props('listItems')).toHaveLength( - groupIterationsResponse.data.workspace.attributes.nodes.length, + groupIterationsResponse.data.namespace.attributes.nodes.length, ); }); @@ -157,7 +157,7 @@ describe('WorkItemIteration component', () => { }); it('changes the iteration to the selected iteration', async () => { - const iterationAtIndex = groupIterationsResponse.data.workspace.attributes.nodes[0]; + const iterationAtIndex = groupIterationsResponse.data.namespace.attributes.nodes[0]; findSidebarDropdownWidget().vm.$emit('updateValue', iterationAtIndex.id); await waitForPromises(); diff --git a/ee/spec/frontend/work_items/components/work_item_notes_spec.js b/ee/spec/frontend/work_items/components/work_item_notes_spec.js index d84a874d7c3a696daad79dad09f38186ecef9e0c..b9e746503fddb81c8c094ba3b7df1e5b11561f61 100644 --- a/ee/spec/frontend/work_items/components/work_item_notes_spec.js +++ b/ee/spec/frontend/work_items/components/work_item_notes_spec.js @@ -89,7 +89,7 @@ describe('WorkItemNotes component', () => { describe('system notes with description changes', () => { it('collapses notes with time difference of 10 mins into one', async () => { const notesWidget = - workItemNotesWithSystemNotesWithChangedDescription.data.workspace.workItem.widgets.find( + workItemNotesWithSystemNotesWithChangedDescription.data.namespace.workItem.widgets.find( (widget) => widget.type === WIDGET_TYPE_NOTES, ); @@ -113,7 +113,7 @@ describe('WorkItemNotes component', () => { localStorage.setItem(WORK_ITEM_NOTES_SORT_ORDER_KEY, DESC); const reversedNotes = { ...workItemNotesWithSystemNotesWithChangedDescription }; - const discussions = reversedNotes.data.workspace.workItem.widgets.find( + const discussions = reversedNotes.data.namespace.workItem.widgets.find( (widget) => widget.type === WIDGET_TYPE_NOTES, ).discussions.nodes; diff --git a/ee/spec/frontend/work_items/components/work_item_status_spec.js b/ee/spec/frontend/work_items/components/work_item_status_spec.js index 397ce2207e076cdffa52aabba969137241539590..bf403bdf2ba3d31088543e5bd154b2439a7e10d8 100644 --- a/ee/spec/frontend/work_items/components/work_item_status_spec.js +++ b/ee/spec/frontend/work_items/components/work_item_status_spec.js @@ -28,7 +28,7 @@ describe('WorkItemStatus component', () => { const workItemIid = '1'; const workItemType = 'Task'; - const allowedStatus = namespaceWorkItemTypesQueryResponse.data.workspace.workItemTypes.nodes + const allowedStatus = namespaceWorkItemTypesQueryResponse.data.namespace.workItemTypes.nodes .find((node) => node.name === workItemType) .widgetDefinitions?.find((item) => { return item.type === 'STATUS'; diff --git a/ee/spec/frontend/work_items/components/work_item_vulnerabilities_spec.js b/ee/spec/frontend/work_items/components/work_item_vulnerabilities_spec.js index 7d95d6df5b1fa49b60c6747b29f39f09cc0926f3..00899e5a1995be06eb2f0679646bfdca1c0b2dd5 100644 --- a/ee/spec/frontend/work_items/components/work_item_vulnerabilities_spec.js +++ b/ee/spec/frontend/work_items/components/work_item_vulnerabilities_spec.js @@ -18,7 +18,7 @@ import { jest.mock('~/alert'); const items = - vulnerabilitiesWidgetResponse.data.workspace.workItem.widgets[0].relatedVulnerabilities.nodes; + vulnerabilitiesWidgetResponse.data.namespace.workItem.widgets[0].relatedVulnerabilities.nodes; describe('WorkItemVulnerabilities component', () => { Vue.use(VueApollo); diff --git a/ee/spec/frontend/work_items/graphql/cache_utils_spec.js b/ee/spec/frontend/work_items/graphql/cache_utils_spec.js index 27ec2dea37795f05cd87a9e4289dcbd68adfaacf..2655f0dedec427d8f98a9184773a6567653cb14c 100644 --- a/ee/spec/frontend/work_items/graphql/cache_utils_spec.js +++ b/ee/spec/frontend/work_items/graphql/cache_utils_spec.js @@ -23,7 +23,7 @@ describe('work items graphql cache utils', () => { window.gon.current_user_id = 1; const workItemTypes = - namespaceWorkItemTypesQueryResponse.data?.workspace?.workItemTypes?.nodes || []; + namespaceWorkItemTypesQueryResponse.data?.namespace?.workItemTypes?.nodes || []; const taskWidgetDefinitions = workItemTypes?.find((type) => type.name === 'Task')?.widgetDefinitions || []; const statusDefinition = taskWidgetDefinitions.find((item) => { @@ -44,7 +44,7 @@ describe('work items graphql cache utils', () => { expect(mockWriteQuery).toHaveBeenCalledWith( expect.objectContaining({ data: expect.objectContaining({ - workspace: expect.objectContaining({ + namespace: expect.objectContaining({ workItem: expect.objectContaining({ widgets: expect.arrayContaining([ { diff --git a/ee/spec/frontend/work_items/graphql/resolvers_spec.js b/ee/spec/frontend/work_items/graphql/resolvers_spec.js index 35e1d9c251e5c817d9e99454fc52b0a06358f588..12f73f4653d05aed68a20aea6053f82c4213ae43 100644 --- a/ee/spec/frontend/work_items/graphql/resolvers_spec.js +++ b/ee/spec/frontend/work_items/graphql/resolvers_spec.js @@ -58,9 +58,9 @@ describe('EE work items graphql resolvers', () => { variables: { fullPath: fullPathWithId, iid }, }); - if (widgetName == null) return queryResult.data.workspace.workItem; + if (widgetName == null) return queryResult.data.namespace.workItem; - return queryResult.data.workspace.workItem.widgets.find(({ type }) => type === widgetName); + return queryResult.data.namespace.workItem.widgets.find(({ type }) => type === widgetName); }; beforeEach(() => { diff --git a/ee/spec/frontend/work_items/mock_data.js b/ee/spec/frontend/work_items/mock_data.js index 95142b8a744af2804326c45cb320928078f84a4b..ac9eceddb95ef9443ca812e73d2b7e6462677d4d 100644 --- a/ee/spec/frontend/work_items/mock_data.js +++ b/ee/spec/frontend/work_items/mock_data.js @@ -215,7 +215,7 @@ export const getEpicWeightWidgetDefinitions = (editable = false) => { export const namespaceWorkItemsWithoutEpicSupport = { data: { - workspace: { + namespace: { id: 'gid://gitlab/Group/14', webUrl: 'http://127.0.0.1:3000/groups/flightjs', userPermissions: { @@ -600,7 +600,7 @@ export const getVulnerabilitiesWidgetResponse = ( ) => { return { data: { - workspace: { + namespace: { __typename: 'Namespace', id: 'gid://gitlab/Namespaces::ProjectNamespace/1', workItem: { diff --git a/ee/spec/frontend/work_items/utils_spec.js b/ee/spec/frontend/work_items/utils_spec.js index 0ad8b44a641701daa01235d4abeb8864f3fd3d7a..bd899740ce08b1d24567134d8c6fcbf342e92bd9 100644 --- a/ee/spec/frontend/work_items/utils_spec.js +++ b/ee/spec/frontend/work_items/utils_spec.js @@ -95,7 +95,7 @@ describe('sortStatuses', () => { describe('getStatuses', () => { it('merges, sorts, and deduplicates statuses', () => { expect( - getStatuses(namespaceWorkItemTypesQueryResponse.data.workspace.workItemTypes.nodes), + getStatuses(namespaceWorkItemTypesQueryResponse.data.namespace.workItemTypes.nodes), ).toEqual([ expect.objectContaining({ name: 'To do' }), expect.objectContaining({ name: 'In progress' }), diff --git a/spec/frontend/issues/show/components/description_spec.js b/spec/frontend/issues/show/components/description_spec.js index 647950006f014d68fad7f147a3650e3a4989dcdc..983c657e499074345f1a3ec1ab41b0b8aaebf10f 100644 --- a/spec/frontend/issues/show/components/description_spec.js +++ b/spec/frontend/issues/show/components/description_spec.js @@ -285,7 +285,7 @@ describe('Description component', () => { it('calls a mutation to create a task', () => { const workItemTypeIdForTask = - namespaceWorkItemTypesQueryResponse.data.workspace.workItemTypes.nodes.find( + namespaceWorkItemTypesQueryResponse.data.namespace.workItemTypes.nodes.find( (node) => node.name === 'Task', ).id; const { confidential, iteration, milestone } = issueDetailsResponse.data.issue; diff --git a/spec/frontend/vue_shared/components/filtered_search_bar/tokens/work_item_type_token_spec.js b/spec/frontend/vue_shared/components/filtered_search_bar/tokens/work_item_type_token_spec.js index 3fa6afda50ce7a481d746efd65c36fad52e954a3..b0acb58ab55032380986e4fc98f175fe98a3bb13 100644 --- a/spec/frontend/vue_shared/components/filtered_search_bar/tokens/work_item_type_token_spec.js +++ b/spec/frontend/vue_shared/components/filtered_search_bar/tokens/work_item_type_token_spec.js @@ -177,7 +177,7 @@ describe('WorkItemTypeToken', () => { it('fetches work item types when fetch-suggestions is triggered', async () => { const mockFetch = jest.fn().mockResolvedValue({ data: { - workspace: { + namespace: { workItemTypes: { nodes: [{ name: 'Epic' }, { name: 'Key result' }], }, @@ -203,7 +203,7 @@ describe('WorkItemTypeToken', () => { it('transforms fetched work item types correctly', async () => { const mockFetch = jest.fn().mockResolvedValue({ data: { - workspace: { + namespace: { workItemTypes: { nodes: [{ name: 'Epic' }, { name: 'Key result' }, { name: 'Requirements' }], }, diff --git a/spec/frontend/work_items/components/create_work_item_spec.js b/spec/frontend/work_items/components/create_work_item_spec.js index b36968e9ed6599ea3ab25839a7db5b74a061221e..05bd8255dab8275d0aaaff96428d9bf2b7ed8305 100644 --- a/spec/frontend/work_items/components/create_work_item_spec.js +++ b/spec/frontend/work_items/components/create_work_item_spec.js @@ -78,7 +78,7 @@ describe('Create work item component', () => { const mutationErrorHandler = jest.fn().mockResolvedValue(createWorkItemMutationErrorResponse); const workItemQuerySuccessHandler = jest.fn().mockResolvedValue(createWorkItemQueryResponse()); const namespaceWorkItemTypes = - namespaceWorkItemTypesQueryResponse.data.workspace.workItemTypes.nodes; + namespaceWorkItemTypesQueryResponse.data.namespace.workItemTypes.nodes; const mockRelatedItem = { id: 'gid://gitlab/WorkItem/22', type: 'Issue', @@ -122,7 +122,7 @@ describe('Create work item component', () => { fullPath = 'full-path', } = {}) => { const namespaceResponseCopy = cloneDeep(namespaceQueryResponse); - namespaceResponseCopy.data.workspace.id = 'gid://gitlab/Group/33'; + namespaceResponseCopy.data.namespace.id = 'gid://gitlab/Group/33'; const namespaceResponse = isGroupWorkItem ? namespaceResponseCopy : namespaceQueryResponse; namespaceWorkItemTypesHandler = jest.fn().mockResolvedValue(namespaceResponse); @@ -1106,8 +1106,8 @@ describe('Create work item component', () => { it('does not show work item widgets when userPermissions.setNewWorkItemMetadata is false', async () => { const namespaceQueryResponse = { data: { - workspace: { - ...namespaceWorkItemTypesQueryResponse.data.workspace, + namespace: { + ...namespaceWorkItemTypesQueryResponse.data.namespace, userPermissions: { setNewWorkItemMetadata: false, }, diff --git a/spec/frontend/work_items/components/notes/work_item_add_note_spec.js b/spec/frontend/work_items/components/notes/work_item_add_note_spec.js index d1283b43b5777419009309877ac315a8205856b0..49848cc410a133d60d15fda017bc71ebbacc2b17 100644 --- a/spec/frontend/work_items/components/notes/work_item_add_note_spec.js +++ b/spec/frontend/work_items/components/notes/work_item_add_note_spec.js @@ -85,7 +85,7 @@ describe('Work item add note', () => { ]), propsData: { fullPath: 'test-project-path', - workItemId: workItemResponse.data.workspace.workItem.id, + workItemId: workItemResponse.data.namespace.workItem.id, workItemIid, workItemType: 'Task', markdownPreviewPath: '/group/project/preview_markdown?target_type=WorkItem', diff --git a/spec/frontend/work_items/components/notes/work_item_discussion_spec.js b/spec/frontend/work_items/components/notes/work_item_discussion_spec.js index ce8f27a3d4c207c885e073914de820bc9e1a1b5a..5e5cae5d59d889b5e2e19c1f006887d25a5833d0 100644 --- a/spec/frontend/work_items/components/notes/work_item_discussion_spec.js +++ b/spec/frontend/work_items/components/notes/work_item_discussion_spec.js @@ -18,7 +18,7 @@ import { import { WIDGET_TYPE_NOTES } from '~/work_items/constants'; const mockWorkItemNotesWidgetResponseWithComments = - mockWorkItemNotesResponseWithComments().data.workspace.workItem.widgets.find( + mockWorkItemNotesResponseWithComments().data.namespace.workItem.widgets.find( (widget) => widget.type === WIDGET_TYPE_NOTES, ); diff --git a/spec/frontend/work_items/components/notes/work_item_note_awards_list_spec.js b/spec/frontend/work_items/components/notes/work_item_note_awards_list_spec.js index a4d917a7c706f3f1413092e84ae3bad1ae2a0e4d..09970cc30cb330d75a90e6866bc0ff641058fff6 100644 --- a/spec/frontend/work_items/components/notes/work_item_note_awards_list_spec.js +++ b/spec/frontend/work_items/components/notes/work_item_note_awards_list_spec.js @@ -24,7 +24,7 @@ Vue.use(VueApollo); describe('Work Item Note Awards List', () => { let wrapper; - const { workItem } = mockWorkItemNotesResponseWithComments().data.workspace; + const { workItem } = mockWorkItemNotesResponseWithComments().data.namespace; const firstNote = workItem.widgets.find((w) => w.type === 'NOTES').discussions.nodes[0].notes .nodes[0]; const fullPath = 'test-project-path'; diff --git a/spec/frontend/work_items/components/notes/work_item_note_spec.js b/spec/frontend/work_items/components/notes/work_item_note_spec.js index 6d109cbe532032c69df24c229430c463663457fb..506745b830d1d2233dd58321acac6a8a8ade0a71 100644 --- a/spec/frontend/work_items/components/notes/work_item_note_spec.js +++ b/spec/frontend/work_items/components/notes/work_item_note_spec.js @@ -425,7 +425,7 @@ end`; it('confidential information on note', async () => { createComponent(); await findNoteActions().vm.$emit('startEditing'); - const { confidential } = workItemByIidResponseFactory().data.workspace.workItem; + const { confidential } = workItemByIidResponseFactory().data.namespace.workItem; expect(findCommentForm().props('isWorkItemConfidential')).toBe(confidential); }); diff --git a/spec/frontend/work_items/components/shared/work_item_sidebar_dropdown_widget_spec.js b/spec/frontend/work_items/components/shared/work_item_sidebar_dropdown_widget_spec.js index fdbd5cc3e9eea55389062c683c591171e25b634b..9d9153dc0df2bd5d89d7110dcc7a8496a35587ef 100644 --- a/spec/frontend/work_items/components/shared/work_item_sidebar_dropdown_widget_spec.js +++ b/spec/frontend/work_items/components/shared/work_item_sidebar_dropdown_widget_spec.js @@ -152,7 +152,7 @@ describe('WorkItemSidebarDropdownWidget component', () => { }); it('clears search on item select when props passes', async () => { - const listItems = groupIterationsResponse.data.workspace.attributes.nodes.map((item) => ({ + const listItems = groupIterationsResponse.data.namespace.attributes.nodes.map((item) => ({ value: item.id, ...item, })); diff --git a/spec/frontend/work_items/components/work_item_assignees_spec.js b/spec/frontend/work_items/components/work_item_assignees_spec.js index 14a7765a0c0ae1d22f8f547dac4a8cf1c76f4e3f..2afe755681f38712ed2f61421c72709cbe69f7f3 100644 --- a/spec/frontend/work_items/components/work_item_assignees_spec.js +++ b/spec/frontend/work_items/components/work_item_assignees_spec.js @@ -101,7 +101,7 @@ describe('WorkItemAssignees component', () => { iid: NEW_WORK_ITEM_IID, }, data: { - workspace: { + namespace: { id: newWorkItemPath, ...workItemQueryResponse.data, }, diff --git a/spec/frontend/work_items/components/work_item_attributes_wrapper_spec.js b/spec/frontend/work_items/components/work_item_attributes_wrapper_spec.js index 02e89e5949106ade3b2fd15713762acd6beff995..13354bee6f19da4118a2b6a9b9ddfc6ffb1cfebc 100644 --- a/spec/frontend/work_items/components/work_item_attributes_wrapper_spec.js +++ b/spec/frontend/work_items/components/work_item_attributes_wrapper_spec.js @@ -40,7 +40,7 @@ describe('WorkItemAttributesWrapper component', () => { }); const workItemParticipantsQueryResponse = { data: { - workspace: { + namespace: { __typename: 'Namespace', id: workItemQueryResponse.data.workItem.namespace.id, workItem: { diff --git a/spec/frontend/work_items/components/work_item_award_emoji_spec.js b/spec/frontend/work_items/components/work_item_award_emoji_spec.js index a87b150dbd30286587cbd9a4f0321a29db6c0586..538f9d0f27535b9e14225c161d7b4e784cbc7fb2 100644 --- a/spec/frontend/work_items/components/work_item_award_emoji_spec.js +++ b/spec/frontend/work_items/components/work_item_award_emoji_spec.js @@ -37,7 +37,7 @@ describe('WorkItemAwardEmoji component', () => { const newCustomEmojiPath = '/groups/gitlab-org/-/custom_emoji/new'; const workItemQueryResponse = workItemByIidResponseFactory({ newCustomEmojiPath }); - const mockWorkItem = workItemQueryResponse.data.workspace.workItem; + const mockWorkItem = workItemQueryResponse.data.namespace.workItem; const awardEmojiQuerySuccessHandler = jest.fn().mockResolvedValue(workItemQueryResponse); const awardEmojiQueryEmptyHandler = jest.fn().mockResolvedValue( diff --git a/spec/frontend/work_items/components/work_item_change_type_modal_spec.js b/spec/frontend/work_items/components/work_item_change_type_modal_spec.js index 586a1e6b961ef9866dcfa99757fdc2fa7213667a..2adef05d6dad132917b4e550280163faf64f6554 100644 --- a/spec/frontend/work_items/components/work_item_change_type_modal_spec.js +++ b/spec/frontend/work_items/components/work_item_change_type_modal_spec.js @@ -32,20 +32,20 @@ describe('WorkItemChangeTypeModal component', () => { let wrapper; const typesQuerySuccessHandler = jest.fn().mockResolvedValue(namespaceWorkItemTypesQueryResponse); - const issueTypeId = namespaceWorkItemTypesQueryResponse.data.workspace.workItemTypes.nodes.find( + const issueTypeId = namespaceWorkItemTypesQueryResponse.data.namespace.workItemTypes.nodes.find( (type) => type.name === WORK_ITEM_TYPE_NAME_ISSUE, ).id; - const taskTypeId = namespaceWorkItemTypesQueryResponse.data.workspace.workItemTypes.nodes.find( + const taskTypeId = namespaceWorkItemTypesQueryResponse.data.namespace.workItemTypes.nodes.find( (type) => type.name === WORK_ITEM_TYPE_NAME_TASK, ).id; - const epicTypeId = namespaceWorkItemTypesQueryResponse.data.workspace.workItemTypes.nodes.find( + const epicTypeId = namespaceWorkItemTypesQueryResponse.data.namespace.workItemTypes.nodes.find( (item) => item.name === WORK_ITEM_TYPE_NAME_EPIC, ).id; - namespaceWorkItemTypesQueryResponse.data.workspace.workItemTypes.nodes + namespaceWorkItemTypesQueryResponse.data.namespace.workItemTypes.nodes .find((item) => item.name === WORK_ITEM_TYPE_NAME_TASK) .widgetDefinitions.splice( - namespaceWorkItemTypesQueryResponse.data.workspace.workItemTypes.nodes + namespaceWorkItemTypesQueryResponse.data.namespace.workItemTypes.nodes .find((item) => item.name === WORK_ITEM_TYPE_NAME_TASK) .widgetDefinitions.findIndex((item) => item.type === 'CRM_CONTACTS'), 1, diff --git a/spec/frontend/work_items/components/work_item_created_updated_spec.js b/spec/frontend/work_items/components/work_item_created_updated_spec.js index 133037790ee96e8bebe29a71147d16329538e79f..891db85384e9ca42f98c7b245f796f36256ceb79 100644 --- a/spec/frontend/work_items/components/work_item_created_updated_spec.js +++ b/spec/frontend/work_items/components/work_item_created_updated_spec.js @@ -118,7 +118,7 @@ describe('WorkItemCreatedUpdated component', () => { await createComponent(); const { - data: { workspace: { workItem } = {} }, + data: { namespace: { workItem } = {} }, } = workItemByIidResponseFactory(); expect(findWorkItemTypeIcon().props()).toMatchObject({ diff --git a/spec/frontend/work_items/components/work_item_description_spec.js b/spec/frontend/work_items/components/work_item_description_spec.js index b053286fa4abd38ba77bd4af6367ff666829429e..ceee74817a145d95e96061189d558fa390cb1ae7 100644 --- a/spec/frontend/work_items/components/work_item_description_spec.js +++ b/spec/frontend/work_items/components/work_item_description_spec.js @@ -70,7 +70,7 @@ describe('WorkItemDescription', () => { const mockWorkspacePermissionsResponse = { data: { - workspace: { + namespace: { id: 'gid://gitlab/Project/1', userPermissions: { generateDescription: true, @@ -814,7 +814,7 @@ describe('WorkItemDescription', () => { beforeEach(async () => { const workspacePermissionsHandlerNoPermission = jest.fn().mockResolvedValue({ data: { - workspace: { + namespace: { id: 'gid://gitlab/Project/1', userPermissions: { generateDescription: false, @@ -841,7 +841,7 @@ describe('WorkItemDescription', () => { beforeEach(async () => { const workspacePermissionsHandlerNullWorkspace = jest.fn().mockResolvedValue({ data: { - workspace: null, + namespace: null, }, }); diff --git a/spec/frontend/work_items/components/work_item_detail_spec.js b/spec/frontend/work_items/components/work_item_detail_spec.js index 36ff825d630f966ffc33331aa3e934aed05f3725..af99a14389bd955831ec1c7873562510b1201942 100644 --- a/spec/frontend/work_items/components/work_item_detail_spec.js +++ b/spec/frontend/work_items/components/work_item_detail_spec.js @@ -90,7 +90,7 @@ describe('WorkItemDetail component', () => { const successHandlerWithNoPermissions = jest .fn() .mockResolvedValue(workItemQueryResponseWithNoPermissions); - const { id } = workItemByIidQueryResponse.data.workspace.workItem; + const { id } = workItemByIidQueryResponse.data.namespace.workItem; const workItemUpdatedSubscriptionHandler = jest .fn() .mockResolvedValue({ data: { workItemUpdated: null } }); @@ -325,7 +325,7 @@ describe('WorkItemDetail component', () => { }); it('passes `parentMilestone` prop to work item tree', () => { - const { milestone } = workItemByIidQueryResponse.data.workspace.workItem.widgets.find( + const { milestone } = workItemByIidQueryResponse.data.namespace.workItem.widgets.find( (widget) => widget.type === WIDGET_TYPE_MILESTONE, ); @@ -376,7 +376,7 @@ describe('WorkItemDetail component', () => { const mutationHandler = jest.fn().mockResolvedValue({ data: { workItemUpdate: { - workItem: confidentialWorkItem.data.workspace.workItem, + workItem: confidentialWorkItem.data.namespace.workItem, errors: [], }, }, @@ -442,7 +442,7 @@ describe('WorkItemDetail component', () => { const mutationHandler = jest.fn().mockResolvedValue({ data: { workItemUpdate: { - workItem: workItemByIidQueryResponse.data.workspace.workItem, + workItem: workItemByIidQueryResponse.data.namespace.workItem, errors: [], }, }, @@ -889,7 +889,7 @@ describe('WorkItemDetail component', () => { createComponent(); await waitForPromises(); - const { confidential } = workItemByIidQueryResponse.data.workspace.workItem; + const { confidential } = workItemByIidQueryResponse.data.namespace.workItem; expect(findNotesWidget().exists()).toBe(true); expect(findNotesWidget().props('isWorkItemConfidential')).toBe(confidential); diff --git a/spec/frontend/work_items/components/work_item_development/work_item_create_branch_merge_request_split_button_spec.js b/spec/frontend/work_items/components/work_item_development/work_item_create_branch_merge_request_split_button_spec.js index fe50719c735c1a05dfe76a8f0781f621a18de907..574e2a4e6865b2013d9fafa7c9abceafc22bda7d 100644 --- a/spec/frontend/work_items/components/work_item_development/work_item_create_branch_merge_request_split_button_spec.js +++ b/spec/frontend/work_items/components/work_item_development/work_item_create_branch_merge_request_split_button_spec.js @@ -19,7 +19,7 @@ describe('WorkItemCreateBranchMergeRequestSplitButton', () => { let wrapper; const defaultNamespaceMergeRequestsEnabledHandler = jest.fn().mockResolvedValue({ - data: { workspace: { id: 'gid://gitlab/Group/33', mergeRequestsEnabled: true } }, + data: { namespace: { id: 'gid://gitlab/Group/33', mergeRequestsEnabled: true } }, }); const createComponent = ({ @@ -120,7 +120,7 @@ describe('WorkItemCreateBranchMergeRequestSplitButton', () => { beforeEach(async () => { wrapper = createComponent({ namespaceMergeRequestsEnabledHandler: jest.fn().mockResolvedValue({ - data: { workspace: { id: 'gid://gitlab/Group/33', mergeRequestsEnabled: false } }, + data: { namespace: { id: 'gid://gitlab/Group/33', mergeRequestsEnabled: false } }, }), }); await waitForPromises(); diff --git a/spec/frontend/work_items/components/work_item_development/work_item_development_spec.js b/spec/frontend/work_items/components/work_item_development/work_item_development_spec.js index 63da627ab10b8e604cb696a0825a3ea8604aecd2..d198dda5defd3de0859da6f416706e29c09d2926 100644 --- a/spec/frontend/work_items/components/work_item_development/work_item_development_spec.js +++ b/spec/frontend/work_items/components/work_item_development/work_item_development_spec.js @@ -36,7 +36,7 @@ describe('WorkItemDevelopment CE', () => { const createWorkItemDevelopmentResponse = (config) => workItemDevelopmentResponse({ widgets: [ - ...workItemResponse.data.workspace.workItem.widgets, + ...workItemResponse.data.namespace.workItem.widgets, workItemDevelopmentFragmentResponse(config), ], }); @@ -76,7 +76,7 @@ describe('WorkItemDevelopment CE', () => { .fn() .mockResolvedValue({ data: { workItemUpdated: null } }); const defaultNamespaceMergeRequestsEnabledHandler = jest.fn().mockResolvedValue({ - data: { workspace: { id: 'gid://gitlab/Group/33', mergeRequestsEnabled: true } }, + data: { namespace: { id: 'gid://gitlab/Group/33', mergeRequestsEnabled: true } }, }); const createComponent = ({ @@ -241,7 +241,7 @@ describe('WorkItemDevelopment CE', () => { it('renders only "Create branch" in dropdown', async () => { createComponent({ namespaceMergeRequestsEnabledHandler: jest.fn().mockResolvedValue({ - data: { workspace: { id: 'gid://gitlab/Group/33', mergeRequestsEnabled: false } }, + data: { namespace: { id: 'gid://gitlab/Group/33', mergeRequestsEnabled: false } }, }), }); await waitForPromises(); diff --git a/spec/frontend/work_items/components/work_item_links/work_item_children_wrapper_spec.js b/spec/frontend/work_items/components/work_item_links/work_item_children_wrapper_spec.js index bfda186225c53fafd36e5d06782a8aea250b7905..085eb8a16a2730ab661c9b9c6fb5f62a671a06a6 100644 --- a/spec/frontend/work_items/components/work_item_links/work_item_children_wrapper_spec.js +++ b/spec/frontend/work_items/components/work_item_links/work_item_children_wrapper_spec.js @@ -98,7 +98,7 @@ describe('WorkItemChildrenWrapper', () => { disableContent, canUpdate, showClosed, - parent: workItemByIidResponseFactory().data.workspace.workItem, + parent: workItemByIidResponseFactory().data.namespace.workItem, }, mocks: { $toast, diff --git a/spec/frontend/work_items/components/work_item_links/work_item_links_form_spec.js b/spec/frontend/work_items/components/work_item_links/work_item_links_form_spec.js index 45bdfc7d748a3f61fa351d90a1cb48c665c5eb92..5e7d46150a58551ee47ea8381e3b93dd4f259df0 100644 --- a/spec/frontend/work_items/components/work_item_links/work_item_links_form_spec.js +++ b/spec/frontend/work_items/components/work_item_links/work_item_links_form_spec.js @@ -37,7 +37,7 @@ Vue.use(VueApollo); const projectData = namespaceProjectsList.data.namespace.projects.nodes; const findWorkItemTypeId = (typeName) => { - return namespaceWorkItemTypesQueryResponse.data.workspace.workItemTypes.nodes.find( + return namespaceWorkItemTypesQueryResponse.data.namespace.workItemTypes.nodes.find( (node) => node.name === typeName, ).id; }; @@ -136,11 +136,11 @@ describe('WorkItemLinksForm', () => { }); it.each` - workspace | isGroup | queryResolver + namespace | isGroup | queryResolver ${'project'} | ${false} | ${namespaceWorkItemTypesResolver} ${'group'} | ${true} | ${namespaceWorkItemTypesResolver} `( - 'fetches $workspace work item types when isGroup is $isGroup', + 'fetches $namespace work item types when isGroup is $isGroup', async ({ isGroup, queryResolver }) => { await createComponent({ isGroup }); @@ -418,7 +418,7 @@ describe('WorkItemLinksForm', () => { describe('adding an existing work item', () => { const selectAvailableWorkItemTokens = ( - tokens = availableWorkItemsResponse.data.workspace.workItems.nodes, + tokens = availableWorkItemsResponse.data.namespace.workItems.nodes, ) => { findWorkItemTokenInput().vm.$emit('input', tokens); }; @@ -452,7 +452,7 @@ describe('WorkItemLinksForm', () => { expect(findAddChildButton().text()).toBe('Add tasks'); expect(findWorkItemTokenInput().props('areWorkItemsToAddValid')).toBe(true); expect(findWorkItemTokenInput().props('value')).toBe( - availableWorkItemsResponse.data.workspace.workItems.nodes, + availableWorkItemsResponse.data.namespace.workItems.nodes, ); findForm().vm.$emit('submit', { preventDefault: jest.fn(), @@ -500,7 +500,7 @@ describe('WorkItemLinksForm', () => { // Trigger Token input update, causing error to clear await selectAvailableWorkItemTokens( - availableWorkItemsResponse.data.workspace.workItems.nodes.slice(0, 2), + availableWorkItemsResponse.data.namespace.workItems.nodes.slice(0, 2), ); // Assert if error was cleared diff --git a/spec/frontend/work_items/components/work_item_notes_spec.js b/spec/frontend/work_items/components/work_item_notes_spec.js index 058dbd938ea93e9761d9b3d35a4b602229c8e939..a00118f95a00584183626ecbd7c95bb6ba092876 100644 --- a/spec/frontend/work_items/components/work_item_notes_spec.js +++ b/spec/frontend/work_items/components/work_item_notes_spec.js @@ -56,12 +56,12 @@ const mockNotesWidgetResponse = mockWorkItemNotesResponse.data.workItem.widgets. ); const mockMoreNotesWidgetResponse = - mockMoreWorkItemNotesResponse.data.workspace.workItem.widgets.find( + mockMoreWorkItemNotesResponse.data.namespace.workItem.widgets.find( (widget) => widget.type === WIDGET_TYPE_NOTES, ); const mockWorkItemNotesWidgetResponseWithComments = - mockWorkItemNotesResponseWithComments().data.workspace.workItem.widgets.find( + mockWorkItemNotesResponseWithComments().data.namespace.workItem.widgets.find( (widget) => widget.type === WIDGET_TYPE_NOTES, ); @@ -627,10 +627,10 @@ describe('WorkItemNotes component', () => { it('should pass the correct `autoCompleteDataSources` to group work item comment note', async () => { const groupWorkItemNotes = { data: { - workspace: { + namespace: { id: 'gid://gitlab/Group/24', workItem: { - ...mockWorkItemNotesResponseWithComments().data.workspace.workItem, + ...mockWorkItemNotesResponseWithComments().data.namespace.workItem, namespace: { id: 'gid://gitlab/Group/24', __typename: 'Namespace', diff --git a/spec/frontend/work_items/components/work_item_state_toggle_spec.js b/spec/frontend/work_items/components/work_item_state_toggle_spec.js index 104a461e25183881f83a7aa2eed7ab38b5bcf8fb..26a19ebd6d10a3f4443d6ae68efb73651c3b617e 100644 --- a/spec/frontend/work_items/components/work_item_state_toggle_spec.js +++ b/spec/frontend/work_items/components/work_item_state_toggle_spec.js @@ -58,7 +58,7 @@ describe('Work Item State toggle button component', () => { findBlockedByModal().findAllComponents(GlLink).at(index); const findOpenChildrenModal = () => wrapper.findByTestId('open-children-warning-modal'); - const { id, iid } = workItemQueryResponse.data.workspace.workItem; + const { id, iid } = workItemQueryResponse.data.namespace.workItem; const createComponent = ({ mutationHandler = mutationSuccessHandler, diff --git a/spec/frontend/work_items/components/work_item_types_list_spec.js b/spec/frontend/work_items/components/work_item_types_list_spec.js index e269749bc823c55abcda0fc4153114d0ada1876c..0da0ed256e9300616db843d51cfd11c6308c8829 100644 --- a/spec/frontend/work_items/components/work_item_types_list_spec.js +++ b/spec/frontend/work_items/components/work_item_types_list_spec.js @@ -18,7 +18,7 @@ describe('WorkItemTypesList', () => { const mockEmptyResponse = { data: { - workspace: { + namespace: { workItemTypes: { nodes: [], __typename: 'WorkItemTypeConnection', @@ -29,7 +29,7 @@ describe('WorkItemTypesList', () => { }; const getMockWorkItemTypes = () => - namespaceWorkItemTypesQueryResponse.data.workspace.workItemTypes.nodes; + namespaceWorkItemTypesQueryResponse.data.namespace.workItemTypes.nodes; const mockWorkItemTypes = getMockWorkItemTypes(); const namespaceQueryHandler = jest.fn().mockResolvedValue(namespaceWorkItemTypesQueryResponse); const mockEmptyResponseHandler = jest.fn().mockResolvedValue(mockEmptyResponse); diff --git a/spec/frontend/work_items/graphql/cache_utils_spec.js b/spec/frontend/work_items/graphql/cache_utils_spec.js index 839ca5326c9980be0e0955a019282dbc17b0b887..0c4adb3946f4b1864d10bd6b1033514ca0746b4d 100644 --- a/spec/frontend/work_items/graphql/cache_utils_spec.js +++ b/spec/frontend/work_items/graphql/cache_utils_spec.js @@ -126,7 +126,7 @@ describe('work items graphql cache utils', () => { addHierarchyChildren({ cache: mockCache, id, - workItem: workItemHierarchyResponse.data.workspace.workItem, + workItem: workItemHierarchyResponse.data.namespace.workItem, childrenIds: [childrenWorkItems[1].id, childrenWorkItems[0].id], }); @@ -177,7 +177,7 @@ describe('work items graphql cache utils', () => { addHierarchyChildren({ cache: mockCache, id, - workItem: workItemHierarchyResponse.data.workspace.workItem, + workItem: workItemHierarchyResponse.data.namespace.workItem, childrenIds: [childrenWorkItems[1].id, childrenWorkItems[0].id], }), ).not.toThrow(); @@ -276,9 +276,9 @@ describe('work items graphql cache utils', () => { expect(mockWriteQuery).toHaveBeenCalledWith( expect.objectContaining({ data: expect.objectContaining({ - workspace: expect.objectContaining({ + namespace: expect.objectContaining({ workItem: expect.objectContaining({ - title: mockCreateWorkItemDraftData.workspace.workItem.title, + title: mockCreateWorkItemDraftData.namespace.workItem.title, widgets: expect.arrayContaining(restoredDraftDataWidgets), }), }), @@ -291,7 +291,7 @@ describe('work items graphql cache utils', () => { description | locationSearchString | expectedTitle | expectedWidgets ${'restores cache with empty form'} | ${'?vulnerability_id=1'} | ${''} | ${restoredDraftDataWidgetsEmpty} ${'restores cache with empty form'} | ${'?discussion_to_resolve=1'} | ${''} | ${restoredDraftDataWidgetsEmpty} - ${'restores cache with draft'} | ${'?type=ISSUE'} | ${mockCreateWorkItemDraftData.workspace.workItem.title} | ${restoredDraftDataWidgets} + ${'restores cache with draft'} | ${'?type=ISSUE'} | ${mockCreateWorkItemDraftData.namespace.workItem.title} | ${restoredDraftDataWidgets} `( '$description when URL params include $locationSearchString', async ({ locationSearchString, expectedTitle, expectedWidgets }) => { @@ -302,7 +302,7 @@ describe('work items graphql cache utils', () => { expect(mockWriteQuery).toHaveBeenCalledWith( expect.objectContaining({ data: expect.objectContaining({ - workspace: expect.objectContaining({ + namespace: expect.objectContaining({ workItem: expect.objectContaining({ title: expectedTitle, widgets: expect.arrayContaining(expectedWidgets), @@ -316,8 +316,8 @@ describe('work items graphql cache utils', () => { }); describe('updateCacheAfterCreatingNote', () => { - const findDiscussions = ({ workspace }) => - findNotesWidget(workspace.workItem).discussions.nodes; + const findDiscussions = ({ namespace }) => + findNotesWidget(namespace.workItem).discussions.nodes; it('adds a new discussion to the notes widget', () => { const currentNotes = mockWorkItemNotesByIidResponse.data; diff --git a/spec/frontend/work_items/graphql/resolvers_spec.js b/spec/frontend/work_items/graphql/resolvers_spec.js index 9587070a3603d4b83de5ff6698d01b894baf3ea0..8b5cd5b09725fcce411bfc66647fb19d5565846b 100644 --- a/spec/frontend/work_items/graphql/resolvers_spec.js +++ b/spec/frontend/work_items/graphql/resolvers_spec.js @@ -41,9 +41,9 @@ describe('work items graphql resolvers', () => { variables: { fullPath: fullPathWithId, iid }, }); - if (widgetName == null) return queryResult.data.workspace.workItem; + if (widgetName == null) return queryResult.data.namespace.workItem; - return queryResult.data.workspace.workItem.widgets.find(({ type }) => type === widgetName); + return queryResult.data.namespace.workItem.widgets.find(({ type }) => type === widgetName); }; beforeEach(() => { @@ -211,7 +211,7 @@ describe('work items graphql resolvers', () => { const queryResult = await query(); const object = { - workspace: { + namespace: { __typename: 'Namespace', id: 'full-path-epic-id', workItem: { diff --git a/spec/frontend/work_items/mock_data.js b/spec/frontend/work_items/mock_data.js index 301a3aee7e15f48601d541e8f7b331b6434e0d37..ed51a855c75b667f59c4c6295b7a43e6552dff6c 100644 --- a/spec/frontend/work_items/mock_data.js +++ b/spec/frontend/work_items/mock_data.js @@ -1121,7 +1121,7 @@ export const mockLinkedItems = { export const workItemLinkedItemsResponse = { data: { - workspace: { + namespace: { __typename: 'Namespace', id: 'gid://gitlab/Group/1', workItem: { @@ -1135,7 +1135,7 @@ export const workItemLinkedItemsResponse = { export const workItemEmptyLinkedItemsResponse = { data: { - workspace: { + namespace: { __typename: 'Namespace', id: 'gid://gitlab/Group/1', workItem: { @@ -1160,7 +1160,7 @@ export const workItemEmptyLinkedItemsResponse = { export const workItemSingleLinkedItemResponse = { data: { - workspace: { + namespace: { __typename: 'Namespace', id: 'gid://gitlab/Group/1', workItem: { @@ -1216,7 +1216,7 @@ export const workItemSingleLinkedItemResponse = { export const workItemNoBlockedByLinkedItemsResponse = { data: { - workspace: { + namespace: { __typename: 'Namespace', id: 'gid://gitlab/Group/1', workItem: { @@ -1230,7 +1230,7 @@ export const workItemNoBlockedByLinkedItemsResponse = { export const workItemBlockedByLinkedItemsResponse = { data: { - workspace: { + namespace: { __typename: 'Namespace', id: 'gid://gitlab/Group/1', workItem: { @@ -1244,7 +1244,7 @@ export const workItemBlockedByLinkedItemsResponse = { export const workItemsClosedAndOpenLinkedItemsResponse = { data: { - workspace: { + namespace: { __typename: 'Namespace', id: 'gid://gitlab/Group/1', workItem: { @@ -2171,7 +2171,7 @@ export const workItemByIidResponseFactory = (options) => { const response = workItemResponseFactory(options); return { data: { - workspace: { + namespace: { __typename: 'Project', id: 'gid://gitlab/Project/1', workItem: response.data.workItem, @@ -2752,7 +2752,7 @@ export const childrenWorkItemsObjectives = [ export const workItemHierarchyResponse = { data: { - workspace: { + namespace: { __typename: 'Project', id: 'gid://gitlab/Project/2', workItem: { @@ -3593,7 +3593,7 @@ export const changeWorkItemParentMutationResponse = { export const availableWorkItemsResponse = { data: { - workspace: { + namespace: { __typename: 'Project', id: 'gid://gitlab/Project/2', workItems: { @@ -3645,7 +3645,7 @@ export const availableWorkItemsResponse = { export const availableObjectivesResponse = { data: { - workspace: { + namespace: { __typename: 'Project', id: 'gid://gitlab/Project/2', workItems: { @@ -3715,7 +3715,7 @@ export const availableObjectivesResponse = { export const searchedObjectiveResponse = { data: { - workspace: { + namespace: { __typename: 'Project', id: 'gid://gitlab/Project/2', workItems: { @@ -3748,7 +3748,7 @@ export const searchedObjectiveResponse = { export const searchWorkItemsResponse = ({ workItems = [], workItemsByIid = [] } = {}) => { return { data: { - workspace: { + namespace: { __typename: 'Project', id: 'gid://gitlab/Project/2', workItems: { @@ -3891,7 +3891,7 @@ export const mockIterationWidgetResponse = { export const groupIterationsResponse = { data: { - workspace: { + namespace: { id: 'gid://gitlab/Group/22', attributes: { nodes: [ @@ -3948,7 +3948,7 @@ export const groupIterationsResponse = { export const groupIterationsResponseWithNoIterations = { data: { - workspace: { + namespace: { id: 'gid://gitlab/Group/22', attributes: { nodes: [], @@ -4350,7 +4350,7 @@ export const mockWorkItemNotesResponse = { }; export const mockWorkItemNotesByIidResponse = { data: { - workspace: { + namespace: { id: 'gid://gitlab/Project/6', workItem: { id: 'gid://gitlab/WorkItem/600', @@ -4553,7 +4553,7 @@ export const mockWorkItemNotesByIidResponse = { export const mockMoreWorkItemNotesResponse = { data: { - workspace: { + namespace: { id: 'gid://gitlab/Project/6', workItem: { id: 'gid://gitlab/WorkItem/600', @@ -4886,7 +4886,7 @@ export const mockWorkItemDiscussion = { export const mockWorkItemNotesResponseWithComments = (resolved = false) => { return { data: { - workspace: { + namespace: { id: 'gid://gitlab/Project/6', workItem: { id: 'gid://gitlab/WorkItem/600', @@ -5256,7 +5256,7 @@ export const workItemSystemNoteWithMetadata = { export const workItemNotesWithSystemNotesWithChangedDescription = { data: { - workspace: { + namespace: { id: 'gid://gitlab/Project/4', workItem: { id: 'gid://gitlab/WorkItem/733', @@ -6552,7 +6552,7 @@ export const namespaceGroupsList = { export const createWorkItemQueryResponse = (widgets = []) => ({ data: { - workspace: { + namespace: { id: 'full-path-epic-id', workItem: { id: 'gid://gitlab/WorkItem/new-epic', @@ -6941,7 +6941,7 @@ export const mockProjectPermissionsQueryResponse = ({ updateDesign = true, } = {}) => ({ data: { - workspace: { + namespace: { id: 'gid://gitlab/Project/1', userPermissions: { createDesign, @@ -6956,7 +6956,7 @@ export const mockProjectPermissionsQueryResponse = ({ export const mockGroupPermissionsQueryResponse = ({ adminWorkItemLifecycle = true } = {}) => ({ data: { - workspace: { + namespace: { id: 'gid://gitlab/Group/24', userPermissions: { adminWorkItemLifecycle, @@ -7124,7 +7124,7 @@ export const workItemHierarchyNoChildrenTreeResponse = { export const workItemEmailParticipantsResponse = { data: { - workspace: { + namespace: { id: 'gid://gitlab/Namespaces::ProjectNamespace/34', workItem: { id: 'gid://gitlab/WorkItem/689', @@ -7153,7 +7153,7 @@ export const workItemEmailParticipantsResponse = { export const workItemEmailParticipantsEmptyResponse = { data: { - workspace: { + namespace: { id: 'gid://gitlab/Namespaces::ProjectNamespace/34', workItem: { id: 'gid://gitlab/WorkItem/689', @@ -7244,7 +7244,7 @@ export const errorTrackingQueryResponseWithStackTrace = getErrorTrackingQueryRes export const mockRolledUpHealthStatus = []; export const mockCreateWorkItemDraftData = { - workspace: { + namespace: { __typename: 'Namespace', id: 'gitlab-org-epic-id', workItem: { @@ -7827,7 +7827,7 @@ export const getAllStatusesQueryResponse = [ export const namespaceWorkItemTypesQueryResponse = { data: { - workspace: { + namespace: { id: 'gid://gitlab/Project/8', webUrl: 'web/url', userPermissions: { @@ -8939,7 +8939,7 @@ export const namespaceWorkItemTypesQueryResponse = { export const namespaceWorkItemTypesWithOKRsQueryResponse = { data: { - workspace: { + namespace: { id: 'gid://gitlab/Namespaces::ProjectNamespace/9', webUrl: 'http://localhost/group2/project-4', userPermissions: { diff --git a/spec/frontend/work_items/notes/award_utils_spec.js b/spec/frontend/work_items/notes/award_utils_spec.js index 2985c955e85e989ece51b2a1cefe671a72b523a4..236dce8c9d70e9199df14246fcd139aec3b43a1b 100644 --- a/spec/frontend/work_items/notes/award_utils_spec.js +++ b/spec/frontend/work_items/notes/award_utils_spec.js @@ -17,7 +17,7 @@ import { } from '../mock_data'; function getWorkItem(data) { - return data.workspace.workItem; + return data.namespace.workItem; } function getFirstNote(workItem) { return workItem.widgets.find((w) => w.type === 'NOTES').discussions.nodes[0].notes.nodes[0]; @@ -154,7 +154,7 @@ describe('Work item note award utils', () => { const cacheData = workItemResponseFactory({ newCustomEmojiPath }); const mockCache = { readQuery: jest.fn().mockReturnValue({ - workspace: { + namespace: { workItem: cacheData.data.workItem, }, }), diff --git a/spec/frontend/work_items/utils_spec.js b/spec/frontend/work_items/utils_spec.js index 3dbe8cb5be6f0ca65297b97fecce54dd5a010732..93569e3aa0b3672e10be758ca12e3e07237c30c5 100644 --- a/spec/frontend/work_items/utils_spec.js +++ b/spec/frontend/work_items/utils_spec.js @@ -439,7 +439,7 @@ describe('getNewWorkItemWidgetsAutoSaveKey', () => { describe('getWorkItemWidgets', () => { it('returns the correct widgets for a work item', () => { const result = getWorkItemWidgets({ - workspace: { + namespace: { workItem: workItemQueryResponse.data.workItem, }, });