diff --git a/cli/testdata/coder_list_--output_json.golden b/cli/testdata/coder_list_--output_json.golden index 82b73f7b24989..7cf770d2ece48 100644 --- a/cli/testdata/coder_list_--output_json.golden +++ b/cli/testdata/coder_list_--output_json.golden @@ -4,7 +4,7 @@ "created_at": "====[timestamp]=====", "updated_at": "====[timestamp]=====", "owner_id": "==========[first user ID]===========", - "owner_name": "testuser", + "owner_name": "", "owner_avatar_url": "", "organization_id": "===========[first org ID]===========", "organization_name": "coder", @@ -23,7 +23,7 @@ "workspace_id": "===========[workspace ID]===========", "workspace_name": "test-workspace", "workspace_owner_id": "==========[first user ID]===========", - "workspace_owner_name": "testuser", + "workspace_owner_name": "", "template_version_id": "============[version ID]============", "template_version_name": "===========[version name]===========", "build_number": 1, diff --git a/coderd/database/dump.sql b/coderd/database/dump.sql index aca22b6dbbb4d..9563620deb1f5 100644 --- a/coderd/database/dump.sql +++ b/coderd/database/dump.sql @@ -2498,7 +2498,7 @@ CREATE VIEW workspaces_expanded AS workspaces.group_acl, workspaces.user_acl, visible_users.avatar_url AS owner_avatar_url, - visible_users.username AS owner_username, + ''::text AS owner_username, visible_users.name AS owner_name, organizations.name AS organization_name, organizations.display_name AS organization_display_name, @@ -2513,7 +2513,7 @@ CREATE VIEW workspaces_expanded AS JOIN organizations ON ((workspaces.organization_id = organizations.id))) JOIN templates ON ((workspaces.template_id = templates.id))); -COMMENT ON VIEW workspaces_expanded IS 'Joins in the display name information such as username, avatar, and organization name.'; +COMMENT ON VIEW workspaces_expanded IS 'Joins in the display name information such as username, avatar, and organization name. TESTING: owner_username forced to empty string.'; ALTER TABLE ONLY licenses ALTER COLUMN id SET DEFAULT nextval('licenses_id_seq'::regclass); diff --git a/coderd/database/migrations/000361_what_if_username_were_empty.down.sql b/coderd/database/migrations/000361_what_if_username_were_empty.down.sql new file mode 100644 index 0000000000000..d15993b04da0e --- /dev/null +++ b/coderd/database/migrations/000361_what_if_username_were_empty.down.sql @@ -0,0 +1,59 @@ +-- Restore the original workspaces_expanded view +DROP VIEW workspaces_expanded; + +CREATE VIEW workspaces_expanded AS +SELECT + workspaces.id, + workspaces.created_at, + workspaces.updated_at, + workspaces.owner_id, + workspaces.organization_id, + workspaces.template_id, + workspaces.deleted, + workspaces.name, + workspaces.autostart_schedule, + workspaces.ttl, + workspaces.last_used_at, + workspaces.dormant_at, + workspaces.deleting_at, + workspaces.automatic_updates, + workspaces.favorite, + workspaces.next_start_at, + workspaces.group_acl, + workspaces.user_acl, + visible_users.avatar_url AS owner_avatar_url, + -- Restore original behavior + visible_users.username AS owner_username, + visible_users.name AS owner_name, + organizations.name AS organization_name, + organizations.display_name AS organization_display_name, + organizations.icon AS organization_icon, + organizations.description AS organization_description, + templates.name AS template_name, + templates.display_name AS template_display_name, + templates.icon AS template_icon, + templates.description AS template_description +FROM ( + ( + ( + workspaces + JOIN visible_users ON ( + ( + workspaces.owner_id = visible_users.id + ) + ) + ) + JOIN organizations ON ( + ( + workspaces.organization_id = organizations.id + ) + ) + ) + JOIN templates ON ( + ( + workspaces.template_id = templates.id + ) + ) + ); + +COMMENT ON VIEW workspaces_expanded IS 'Joins in the display name information such as username, avatar, and organization name.'; \ No newline at end of file diff --git a/coderd/database/migrations/000361_what_if_username_were_empty.up.sql b/coderd/database/migrations/000361_what_if_username_were_empty.up.sql new file mode 100644 index 0000000000000..aedd6c9aba8d1 --- /dev/null +++ b/coderd/database/migrations/000361_what_if_username_were_empty.up.sql @@ -0,0 +1,59 @@ +-- Drop and recreate the workspaces_expanded view to return empty string for owner_username +DROP VIEW workspaces_expanded; + +CREATE VIEW workspaces_expanded AS +SELECT + workspaces.id, + workspaces.created_at, + workspaces.updated_at, + workspaces.owner_id, + workspaces.organization_id, + workspaces.template_id, + workspaces.deleted, + workspaces.name, + workspaces.autostart_schedule, + workspaces.ttl, + workspaces.last_used_at, + workspaces.dormant_at, + workspaces.deleting_at, + workspaces.automatic_updates, + workspaces.favorite, + workspaces.next_start_at, + workspaces.group_acl, + workspaces.user_acl, + visible_users.avatar_url AS owner_avatar_url, + -- Force owner_username to be empty string for testing + ''::text AS owner_username, + visible_users.name AS owner_name, + organizations.name AS organization_name, + organizations.display_name AS organization_display_name, + organizations.icon AS organization_icon, + organizations.description AS organization_description, + templates.name AS template_name, + templates.display_name AS template_display_name, + templates.icon AS template_icon, + templates.description AS template_description +FROM ( + ( + ( + workspaces + JOIN visible_users ON ( + ( + workspaces.owner_id = visible_users.id + ) + ) + ) + JOIN organizations ON ( + ( + workspaces.organization_id = organizations.id + ) + ) + ) + JOIN templates ON ( + ( + workspaces.template_id = templates.id + ) + ) + ); + +COMMENT ON VIEW workspaces_expanded IS 'Joins in the display name information such as username, avatar, and organization name. TESTING: owner_username forced to empty string.'; \ No newline at end of file diff --git a/coderd/database/models.go b/coderd/database/models.go index effd436f4d18d..3c52af14aee91 100644 --- a/coderd/database/models.go +++ b/coderd/database/models.go @@ -3870,7 +3870,7 @@ type WebpushSubscription struct { EndpointAuthKey string `db:"endpoint_auth_key" json:"endpoint_auth_key"` } -// Joins in the display name information such as username, avatar, and organization name. +// Joins in the display name information such as username, avatar, and organization name. TESTING: owner_username forced to empty string. type Workspace struct { ID uuid.UUID `db:"id" json:"id"` CreatedAt time.Time `db:"created_at" json:"created_at"` pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy