mirror of
				https://github.com/optim-enterprises-bv/vault.git
				synced 2025-10-31 02:28:09 +00:00 
			
		
		
		
	* Export API Bug * Revert "Export API Bug" This reverts commit 044597748d8b2c726996e515ffff3e0dea9d30a8. * Export API Bug * Added changelog * Update changelog/29376.txt Co-authored-by: Violet Hynes <violet.hynes@hashicorp.com> * Revert "Export API Bug" This reverts commit 9cdd28c59ea4907f8a44c20a4a048045d56d9d12. * Export API Bug Change * Edited one more deletedMount to renamed --------- Co-authored-by: Violet Hynes <violet.hynes@hashicorp.com>
This commit is contained in:
		
							
								
								
									
										3
									
								
								changelog/29376.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								changelog/29376.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| ```release-note:bug | ||||
| activity: Include activity records from clients created by deleted or disabled auth mounts in Export API response. | ||||
| ``` | ||||
| @@ -3172,16 +3172,6 @@ func (a *ActivityLog) writeExport(ctx context.Context, rw http.ResponseWriter, f | ||||
| 								return fmt.Errorf("failed to process local entity alias") | ||||
| 							} | ||||
|  | ||||
| 							record.MountType, ok = alias["mount_type"].(string) | ||||
| 							if !ok { | ||||
| 								return fmt.Errorf("failed to process mount type") | ||||
| 							} | ||||
|  | ||||
| 							record.MountPath, ok = alias["mount_path"].(string) | ||||
| 							if !ok { | ||||
| 								return fmt.Errorf("failed to process mount path") | ||||
| 							} | ||||
|  | ||||
| 							entityAliasMetadata, ok := alias["metadata"].(map[string]string) | ||||
| 							if !ok { | ||||
| 								return fmt.Errorf("failed to process entity alias metadata") | ||||
| @@ -3199,6 +3189,23 @@ func (a *ActivityLog) writeExport(ctx context.Context, rw http.ResponseWriter, f | ||||
| 							if entityAliasCustomMetadata != nil { | ||||
| 								record.EntityAliasCustomMetadata = entityAliasCustomMetadata | ||||
| 							} | ||||
|  | ||||
| 							valResp := a.core.router.ValidateMountByAccessor(e.MountAccessor) | ||||
| 							if valResp == nil { | ||||
| 								record.MountType = "" | ||||
| 								record.MountPath = fmt.Sprintf(DeletedMountFmt, e.MountAccessor) | ||||
| 							} else { | ||||
| 								record.MountType, ok = alias["mount_type"].(string) | ||||
| 								if !ok { | ||||
| 									return fmt.Errorf("failed to process mount type") | ||||
| 								} | ||||
| 								record.MountPath, ok = alias["mount_path"].(string) | ||||
| 								if !ok { | ||||
| 									return fmt.Errorf("failed to process mount path") | ||||
| 								} | ||||
|  | ||||
| 							} | ||||
|  | ||||
| 						} | ||||
| 					} else { | ||||
| 						// fetch mount directly to ensure mount type and path are populated | ||||
|   | ||||
| @@ -4110,7 +4110,7 @@ func TestActivityLog_partialMonthClientCountWithMultipleMountPaths(t *testing.T) | ||||
| 	// these are the paths that are expected and correspond with the entity records created above | ||||
| 	expectedPaths := []string{ | ||||
| 		noMountAccessor, | ||||
| 		fmt.Sprintf(deletedMountFmt, "deleted"), | ||||
| 		fmt.Sprintf(DeletedMountFmt, "deleted"), | ||||
| 		path, | ||||
| 	} | ||||
| 	for _, expectedPath := range expectedPaths { | ||||
|   | ||||
| @@ -392,7 +392,7 @@ func (a *ActivityLog) sortActivityLogMonthsResponse(months []*ResponseMonth) { | ||||
|  | ||||
| const ( | ||||
| 	noMountAccessor     = "no mount accessor (pre-1.10 upgrade?)" | ||||
| 	deletedMountFmt     = "deleted mount; accessor %q" | ||||
| 	DeletedMountFmt     = "deleted mount; accessor %q" | ||||
| 	DeletedNamespaceFmt = "deleted namespace %q" | ||||
| ) | ||||
|  | ||||
| @@ -405,7 +405,7 @@ func (a *ActivityLog) mountAccessorToMountPath(mountAccessor string) string { | ||||
| 	} else { | ||||
| 		valResp := a.core.router.ValidateMountByAccessor(mountAccessor) | ||||
| 		if valResp == nil { | ||||
| 			displayPath = fmt.Sprintf(deletedMountFmt, mountAccessor) | ||||
| 			displayPath = fmt.Sprintf(DeletedMountFmt, mountAccessor) | ||||
| 		} else { | ||||
| 			displayPath = valResp.MountPath | ||||
| 			if !strings.HasSuffix(displayPath, "/") { | ||||
|   | ||||
| @@ -978,7 +978,7 @@ func Test_ActivityLog_ComputeCurrentMonth_NamespaceMounts(t *testing.T) { | ||||
| 			correctMountPaths := func(namespaces []*activity.MonthlyNamespaceRecord) { | ||||
| 				for _, ns := range namespaces { | ||||
| 					for _, mount := range ns.Mounts { | ||||
| 						mount.MountPath = fmt.Sprintf(deletedMountFmt, mount.MountPath) | ||||
| 						mount.MountPath = fmt.Sprintf(DeletedMountFmt, mount.MountPath) | ||||
| 					} | ||||
| 				} | ||||
| 			} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 divyaac
					divyaac