mirror of
https://github.com/matrix-org/matrix-spec
synced 2025-12-20 16:38:37 +01:00
Add time zone profile field from MSC4175 (#2206)
Some checks failed
Spec / 🔎 Validate OpenAPI specifications (push) Has been cancelled
Spec / 🔎 Check Event schema examples (push) Has been cancelled
Spec / 🔎 Check OpenAPI definitions examples (push) Has been cancelled
Spec / 🔎 Check JSON Schemas inline examples (push) Has been cancelled
Spec / ⚙️ Calculate baseURL for later jobs (push) Has been cancelled
Spec / 📢 Run towncrier for changelog (push) Has been cancelled
Spell Check / Spell Check with Typos (push) Has been cancelled
Spec / 🐍 Build OpenAPI definitions (push) Has been cancelled
Spec / 📖 Build the spec (push) Has been cancelled
Spec / 🔎 Validate generated HTML (push) Has been cancelled
Spec / 📖 Build the historical backup spec (push) Has been cancelled
Some checks failed
Spec / 🔎 Validate OpenAPI specifications (push) Has been cancelled
Spec / 🔎 Check Event schema examples (push) Has been cancelled
Spec / 🔎 Check OpenAPI definitions examples (push) Has been cancelled
Spec / 🔎 Check JSON Schemas inline examples (push) Has been cancelled
Spec / ⚙️ Calculate baseURL for later jobs (push) Has been cancelled
Spec / 📢 Run towncrier for changelog (push) Has been cancelled
Spell Check / Spell Check with Typos (push) Has been cancelled
Spec / 🐍 Build OpenAPI definitions (push) Has been cancelled
Spec / 📖 Build the spec (push) Has been cancelled
Spec / 🔎 Validate generated HTML (push) Has been cancelled
Spec / 📖 Build the historical backup spec (push) Has been cancelled
This commit is contained in:
parent
bfbeb5e257
commit
fea0b925a0
|
|
@ -1 +1 @@
|
||||||
Update user profile endpoints to handle custom fields, and add a new `m.profile_fields` capability,as per [MSC4133](https://github.com/matrix-org/matrix-spec-proposals/pull/4133).
|
Update user profile endpoints to handle custom fields, and add a new `m.profile_fields` capability, as per [MSC4133](https://github.com/matrix-org/matrix-spec-proposals/pull/4133).
|
||||||
|
|
|
||||||
1
changelogs/client_server/newsfragments/2206.feature
Normal file
1
changelogs/client_server/newsfragments/2206.feature
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
Add a profile field for a user's time zone, per [MSC4175](https://github.com/matrix-org/matrix-spec-proposals/pull/4175).
|
||||||
|
|
@ -19,7 +19,7 @@ paths:
|
||||||
"/profile/{userId}/{keyName}":
|
"/profile/{userId}/{keyName}":
|
||||||
put:
|
put:
|
||||||
x-changedInMatrixVersion:
|
x-changedInMatrixVersion:
|
||||||
"1.16": This endpoint now accepts a variable `keyName` parameter. Previously only `displayname` and `avatar_url` were accepted.
|
"1.16": This endpoint now accepts a variable `keyName` parameter and `m.tz` was added as a defined key. Previously only `displayname` and `avatar_url` were accepted.
|
||||||
summary: Set a profile field for a user.
|
summary: Set a profile field for a user.
|
||||||
description: |-
|
description: |-
|
||||||
Set or update a profile field for a user. Must be authenticated with an
|
Set or update a profile field for a user. Must be authenticated with an
|
||||||
|
|
@ -44,13 +44,13 @@ paths:
|
||||||
- in: path
|
- in: path
|
||||||
name: keyName
|
name: keyName
|
||||||
description: The name of the profile field to set. This MUST be either
|
description: The name of the profile field to set. This MUST be either
|
||||||
`avatar_url`, `displayname`, or a custom field following the
|
`avatar_url`, `displayname`, `m.tz`, or a custom field following the
|
||||||
[Common Namespaced Identifier Grammar](/appendices/#common-namespaced-identifier-grammar).
|
[Common Namespaced Identifier Grammar](/appendices/#common-namespaced-identifier-grammar).
|
||||||
required: true
|
required: true
|
||||||
example: "displayname"
|
example: "displayname"
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
pattern: '^(avatar_url|displayname|[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)+)$'
|
pattern: '^(avatar_url|displayname|m\.tz|[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)+)$'
|
||||||
requestBody:
|
requestBody:
|
||||||
description: A JSON object containing the property whose name matches
|
description: A JSON object containing the property whose name matches
|
||||||
the `keyName` specified in the URL. See `additionalProperties` for
|
the `keyName` specified in the URL. See `additionalProperties` for
|
||||||
|
|
@ -69,6 +69,10 @@ paths:
|
||||||
|
|
||||||
For `displayname`, the value MUST be a string.
|
For `displayname`, the value MUST be a string.
|
||||||
|
|
||||||
|
For `m.tz`, the value MUST be a valid identifier from the [IANA Time Zone Database](https://www.iana.org/time-zones).
|
||||||
|
Servers MAY choose to validate the value. Clients MUST expect unknown or invalid
|
||||||
|
values.
|
||||||
|
|
||||||
For custom keys, any JSON type is allowed. Servers MAY not validate
|
For custom keys, any JSON type is allowed. Servers MAY not validate
|
||||||
these values, but clients SHOULD follow the format defined for that key.
|
these values, but clients SHOULD follow the format defined for that key.
|
||||||
additionalProperties: true
|
additionalProperties: true
|
||||||
|
|
@ -137,7 +141,7 @@ paths:
|
||||||
- User data
|
- User data
|
||||||
get:
|
get:
|
||||||
x-changedInMatrixVersion:
|
x-changedInMatrixVersion:
|
||||||
"1.16": This endpoint now accepts a variable `keyName` parameter. Previously only `displayname` and `avatar_url` were accepted.
|
"1.16": This endpoint now accepts a variable `keyName` parameter and `m.tz` was added as a defined key. Previously only `displayname` and `avatar_url` were accepted.
|
||||||
summary: Get a profile field for a user.
|
summary: Get a profile field for a user.
|
||||||
description: Get the value of a profile field for a user.
|
description: Get the value of a profile field for a user.
|
||||||
operationId: getProfileField
|
operationId: getProfileField
|
||||||
|
|
@ -156,7 +160,7 @@ paths:
|
||||||
example: "displayname"
|
example: "displayname"
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
pattern: '^(avatar_url|displayname|[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)+)$'
|
pattern: '^(avatar_url|displayname|m\.tz|[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)+)$'
|
||||||
responses:
|
responses:
|
||||||
"200":
|
"200":
|
||||||
description: The profile field value was retrieved.
|
description: The profile field value was retrieved.
|
||||||
|
|
@ -214,7 +218,7 @@ paths:
|
||||||
example: "displayname"
|
example: "displayname"
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
pattern: '^(avatar_url|displayname|[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)+)$'
|
pattern: '^(avatar_url|displayname|m\.tz|[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)+)$'
|
||||||
responses:
|
responses:
|
||||||
"200":
|
"200":
|
||||||
description: The profile field was deleted or it doesn't exist.
|
description: The profile field was deleted or it doesn't exist.
|
||||||
|
|
@ -293,6 +297,10 @@ paths:
|
||||||
type: string
|
type: string
|
||||||
description: The user's display name if they have set one, otherwise not
|
description: The user's display name if they have set one, otherwise not
|
||||||
present.
|
present.
|
||||||
|
m.tz:
|
||||||
|
x-addedInMatrixVersion: "1.16"
|
||||||
|
type: string
|
||||||
|
description: The user's time zone.
|
||||||
additionalProperties:
|
additionalProperties:
|
||||||
x-addedInMatrixVersion: "1.16"
|
x-addedInMatrixVersion: "1.16"
|
||||||
description: Additional profile fields.
|
description: Additional profile fields.
|
||||||
|
|
@ -302,6 +310,7 @@ paths:
|
||||||
{
|
{
|
||||||
"avatar_url": "mxc://matrix.org/SDGdghriugerRg",
|
"avatar_url": "mxc://matrix.org/SDGdghriugerRg",
|
||||||
"displayname": "Alice Margatroid",
|
"displayname": "Alice Margatroid",
|
||||||
|
"m.tz": "Europe/London",
|
||||||
"m.example_field": "custom_value",
|
"m.example_field": "custom_value",
|
||||||
}
|
}
|
||||||
"403":
|
"403":
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue