@proxima-nexus/openapi 2.4.0 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,20 @@ All notable changes to the Proxima Nexus OpenAPI specification are documented in
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [2.6.0] - 2026-08-12
9
+
10
+ ### Added
11
+
12
+ - **Transfer group ownership**
13
+ - `PUT /group/{groupId}/owner/{userId}`: transfers ownership to an existing admin and demotes the current owner to admin. Only the current owner may call it; the target must already be an active admin.
14
+
15
+ ## [2.5.0] - 2026-08-12
16
+
17
+ ### Added
18
+
19
+ - **Extendable event-series end date**
20
+ - `UpdateEventSeriesDto`: added optional `seriesEndDate` (YYYY-MM-DD). May only be moved later; extending appends the new upcoming event instances up to the new end without disturbing existing ones. Moving it earlier is rejected.
21
+
8
22
  ## [2.4.0] - 2026-05-23
9
23
 
10
24
  ### Added
package/openapi.json CHANGED
@@ -1752,6 +1752,62 @@
1752
1752
  ]
1753
1753
  }
1754
1754
  },
1755
+ "/group/{groupId}/owner/{userId}": {
1756
+ "put": {
1757
+ "operationId": "GroupController_transferOwnership",
1758
+ "summary": "Transfer group ownership to an admin",
1759
+ "description": "Transfers ownership to :userId (who must already be an active admin) and demotes the current owner to admin. Only the current owner may perform this.",
1760
+ "parameters": [
1761
+ {
1762
+ "name": "groupId",
1763
+ "required": true,
1764
+ "in": "path",
1765
+ "schema": {
1766
+ "type": "string"
1767
+ }
1768
+ },
1769
+ {
1770
+ "name": "userId",
1771
+ "required": true,
1772
+ "in": "path",
1773
+ "schema": {
1774
+ "type": "string"
1775
+ }
1776
+ },
1777
+ {
1778
+ "name": "X-Proxima-Nexus-Requester-User-Id",
1779
+ "in": "header",
1780
+ "description": "ID of the current owner transferring ownership",
1781
+ "required": true,
1782
+ "schema": {
1783
+ "type": "string"
1784
+ }
1785
+ }
1786
+ ],
1787
+ "responses": {
1788
+ "200": {
1789
+ "description": "Ownership transferred"
1790
+ },
1791
+ "400": {
1792
+ "description": "New owner is not an admin, or transfer target is invalid"
1793
+ },
1794
+ "401": {
1795
+ "description": "Only the group owner can transfer ownership"
1796
+ },
1797
+ "404": {
1798
+ "description": "Group not found"
1799
+ }
1800
+ },
1801
+ "tags": [
1802
+ "group"
1803
+ ],
1804
+ "security": [
1805
+ {
1806
+ "api_key": []
1807
+ }
1808
+ ]
1809
+ }
1810
+ },
1755
1811
  "/group/{groupId}/connections": {
1756
1812
  "get": {
1757
1813
  "operationId": "GroupController_getConnections",
@@ -3700,6 +3756,11 @@
3700
3756
  "type": "string",
3701
3757
  "description": "IANA timezone for interpreting times and generating instances. Changing this regenerates upcoming instances.",
3702
3758
  "example": "America/New_York"
3759
+ },
3760
+ "seriesEndDate": {
3761
+ "type": "string",
3762
+ "description": "New end date for the series (YYYY-MM-DD). May only be moved later; extending appends new upcoming instances up to the new end without disturbing existing ones. Moving it earlier is rejected.",
3763
+ "example": "2027-06-30"
3703
3764
  }
3704
3765
  }
3705
3766
  },
package/openapi.yaml CHANGED
@@ -1140,6 +1140,43 @@ paths:
1140
1140
  - group
1141
1141
  security:
1142
1142
  - api_key: []
1143
+ /group/{groupId}/owner/{userId}:
1144
+ put:
1145
+ operationId: GroupController_transferOwnership
1146
+ summary: Transfer group ownership to an admin
1147
+ description: >-
1148
+ Transfers ownership to :userId (who must already be an active admin) and demotes the current owner to admin.
1149
+ Only the current owner may perform this.
1150
+ parameters:
1151
+ - name: groupId
1152
+ required: true
1153
+ in: path
1154
+ schema:
1155
+ type: string
1156
+ - name: userId
1157
+ required: true
1158
+ in: path
1159
+ schema:
1160
+ type: string
1161
+ - name: X-Proxima-Nexus-Requester-User-Id
1162
+ in: header
1163
+ description: ID of the current owner transferring ownership
1164
+ required: true
1165
+ schema:
1166
+ type: string
1167
+ responses:
1168
+ '200':
1169
+ description: Ownership transferred
1170
+ '400':
1171
+ description: New owner is not an admin, or transfer target is invalid
1172
+ '401':
1173
+ description: Only the group owner can transfer ownership
1174
+ '404':
1175
+ description: Group not found
1176
+ tags:
1177
+ - group
1178
+ security:
1179
+ - api_key: []
1143
1180
  /group/{groupId}/connections:
1144
1181
  get:
1145
1182
  operationId: GroupController_getConnections
@@ -2532,16 +2569,26 @@ components:
2532
2569
  example: eur
2533
2570
  instanceStartTime:
2534
2571
  type: string
2535
- description: Start time of each instance in HH:MM format (local time in the given timezone). Changing this regenerates upcoming instances.
2572
+ description: >-
2573
+ Start time of each instance in HH:MM format (local time in the given timezone). Changing this regenerates
2574
+ upcoming instances.
2536
2575
  example: '10:00'
2537
2576
  instanceEndTime:
2538
2577
  type: string
2539
- description: End time of each instance in HH:MM format (local time in the given timezone). Changing this regenerates upcoming instances.
2578
+ description: >-
2579
+ End time of each instance in HH:MM format (local time in the given timezone). Changing this regenerates
2580
+ upcoming instances.
2540
2581
  example: '11:00'
2541
2582
  timezone:
2542
2583
  type: string
2543
2584
  description: IANA timezone for interpreting times and generating instances. Changing this regenerates upcoming instances.
2544
2585
  example: America/New_York
2586
+ seriesEndDate:
2587
+ type: string
2588
+ description: >-
2589
+ New end date for the series (YYYY-MM-DD). May only be moved later; extending appends new upcoming instances
2590
+ up to the new end without disturbing existing ones. Moving it earlier is rejected.
2591
+ example: '2027-06-30'
2545
2592
  GetEventSeriesDto:
2546
2593
  type: object
2547
2594
  properties:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proxima-nexus/openapi",
3
- "version": "2.4.0",
3
+ "version": "2.6.0",
4
4
  "description": "OpenAPI specification for Proxima Nexus",
5
5
  "main": "openapi.json",
6
6
  "types": "openapi.json",