@rivascva/dt-idl 1.1.71 → 1.1.73

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/dist/index.d.ts CHANGED
@@ -692,7 +692,8 @@ interface paths$2 {
692
692
  path?: never;
693
693
  cookie?: never;
694
694
  };
695
- get?: never;
695
+ /** @description Gets all portfolios */
696
+ get: operations$2["getPortfolios"];
696
697
  put?: never;
697
698
  /** @description Adds a new portfolio */
698
699
  post: operations$2["addPortfolio"];
@@ -719,23 +720,6 @@ interface paths$2 {
719
720
  patch?: never;
720
721
  trace?: never;
721
722
  };
722
- "/portfolios/by-user/{userId}": {
723
- parameters: {
724
- query?: never;
725
- header?: never;
726
- path?: never;
727
- cookie?: never;
728
- };
729
- /** @description Gets the portfolios for the given user */
730
- get: operations$2["getPortfoliosByUser"];
731
- put?: never;
732
- post?: never;
733
- delete?: never;
734
- options?: never;
735
- head?: never;
736
- patch?: never;
737
- trace?: never;
738
- };
739
723
  "/orders": {
740
724
  parameters: {
741
725
  query?: never;
@@ -775,8 +759,6 @@ interface components$2 {
775
759
  schemas: {
776
760
  /** @description Payload to add a new portfolio */
777
761
  AddPortfolioPayload: {
778
- /** @example 123456 */
779
- userId: string;
780
762
  /** @example PERSONAL */
781
763
  type: components$2["schemas"]["PortfolioType"];
782
764
  /**
@@ -791,6 +773,8 @@ interface components$2 {
791
773
  Portfolio: components$2["schemas"]["AddPortfolioPayload"] & {
792
774
  /** @example 123456 */
793
775
  id: string;
776
+ /** @example 123456 */
777
+ userId: string;
794
778
  holdings: components$2["schemas"]["Holding"][];
795
779
  orders: components$2["schemas"]["Order"][];
796
780
  /**
@@ -936,53 +920,44 @@ interface components$2 {
936
920
  pathItems: never;
937
921
  }
938
922
  interface operations$2 {
939
- addPortfolio: {
923
+ getPortfolios: {
940
924
  parameters: {
941
925
  query?: never;
942
926
  header?: never;
943
927
  path?: never;
944
928
  cookie?: never;
945
929
  };
946
- /** @description The request body to add a portfolio */
947
- requestBody: {
948
- content: {
949
- "application/json": components$2["schemas"]["AddPortfolioPayload"];
950
- };
951
- };
930
+ requestBody?: never;
952
931
  responses: {
953
- /** @description Added */
954
- 201: {
932
+ /** @description Success */
933
+ 200: {
955
934
  headers: {
956
935
  [name: string]: unknown;
957
936
  };
958
937
  content: {
959
- "application/json": components$2["schemas"]["Portfolio"];
938
+ "application/json": components$2["schemas"]["Portfolio"][];
960
939
  };
961
940
  };
962
- 400: components$2["responses"]["BadRequest"];
963
941
  404: components$2["responses"]["NotFound"];
964
942
  500: components$2["responses"]["InternalServerError"];
965
943
  };
966
944
  };
967
- updatePortfolio: {
945
+ addPortfolio: {
968
946
  parameters: {
969
947
  query?: never;
970
948
  header?: never;
971
- path: {
972
- /** @description The portfolio id */
973
- portfolioId: string;
974
- };
949
+ path?: never;
975
950
  cookie?: never;
976
951
  };
977
- /** @description The request body to update a portfolio */
952
+ /** @description The request body to add a portfolio */
978
953
  requestBody: {
979
954
  content: {
980
- "application/json": components$2["schemas"]["UpdatePortfolioPayload"];
955
+ "application/json": components$2["schemas"]["AddPortfolioPayload"];
981
956
  };
982
957
  };
983
958
  responses: {
984
- /** @description Success */
985
- 200: {
959
+ /** @description Added */
960
+ 201: {
986
961
  headers: {
987
962
  [name: string]: unknown;
988
963
  };
@@ -995,17 +970,22 @@ interface operations$2 {
995
970
  500: components$2["responses"]["InternalServerError"];
996
971
  };
997
972
  };
998
- getPortfoliosByUser: {
973
+ updatePortfolio: {
999
974
  parameters: {
1000
975
  query?: never;
1001
976
  header?: never;
1002
977
  path: {
1003
- /** @description The user id */
1004
- userId: string;
978
+ /** @description The portfolio id */
979
+ portfolioId: string;
1005
980
  };
1006
981
  cookie?: never;
1007
982
  };
1008
- requestBody?: never;
983
+ /** @description The request body to update a portfolio */
984
+ requestBody: {
985
+ content: {
986
+ "application/json": components$2["schemas"]["UpdatePortfolioPayload"];
987
+ };
988
+ };
1009
989
  responses: {
1010
990
  /** @description Success */
1011
991
  200: {
@@ -1013,9 +993,10 @@ interface operations$2 {
1013
993
  [name: string]: unknown;
1014
994
  };
1015
995
  content: {
1016
- "application/json": components$2["schemas"]["Portfolio"][];
996
+ "application/json": components$2["schemas"]["Portfolio"];
1017
997
  };
1018
998
  };
999
+ 400: components$2["responses"]["BadRequest"];
1019
1000
  404: components$2["responses"]["NotFound"];
1020
1001
  500: components$2["responses"]["InternalServerError"];
1021
1002
  };
@@ -1090,7 +1071,7 @@ interface paths$1 {
1090
1071
  patch?: never;
1091
1072
  trace?: never;
1092
1073
  };
1093
- "/login/provider": {
1074
+ "/login/by-provider": {
1094
1075
  parameters: {
1095
1076
  query?: never;
1096
1077
  header?: never;
@@ -1131,8 +1112,7 @@ interface paths$1 {
1131
1112
  path?: never;
1132
1113
  cookie?: never;
1133
1114
  };
1134
- /** @description Gets all users */
1135
- get: operations$1["getUsers"];
1115
+ get?: never;
1136
1116
  put?: never;
1137
1117
  /** @description Adds a new user */
1138
1118
  post: operations$1["addUser"];
@@ -1142,17 +1122,17 @@ interface paths$1 {
1142
1122
  patch?: never;
1143
1123
  trace?: never;
1144
1124
  };
1145
- "/users/{userId}": {
1125
+ "/users/me": {
1146
1126
  parameters: {
1147
1127
  query?: never;
1148
1128
  header?: never;
1149
1129
  path?: never;
1150
1130
  cookie?: never;
1151
1131
  };
1152
- /** @description Gets a user */
1153
- get: operations$1["getUser"];
1154
- /** @description Updates an existing user */
1155
- put: operations$1["updateUser"];
1132
+ /** @description Gets the current user */
1133
+ get: operations$1["getCurrentUser"];
1134
+ /** @description Updates the current user */
1135
+ put: operations$1["updateCurrentUser"];
1156
1136
  post?: never;
1157
1137
  delete?: never;
1158
1138
  options?: never;
@@ -1329,28 +1309,6 @@ interface operations$1 {
1329
1309
  500: components$1["responses"]["InternalServerError"];
1330
1310
  };
1331
1311
  };
1332
- getUsers: {
1333
- parameters: {
1334
- query?: never;
1335
- header?: never;
1336
- path?: never;
1337
- cookie?: never;
1338
- };
1339
- requestBody?: never;
1340
- responses: {
1341
- /** @description Success */
1342
- 200: {
1343
- headers: {
1344
- [name: string]: unknown;
1345
- };
1346
- content: {
1347
- "application/json": components$1["schemas"]["User"][];
1348
- };
1349
- };
1350
- 404: components$1["responses"]["NotFound"];
1351
- 500: components$1["responses"]["InternalServerError"];
1352
- };
1353
- };
1354
1312
  addUser: {
1355
1313
  parameters: {
1356
1314
  query?: never;
@@ -1378,14 +1336,11 @@ interface operations$1 {
1378
1336
  500: components$1["responses"]["InternalServerError"];
1379
1337
  };
1380
1338
  };
1381
- getUser: {
1339
+ getCurrentUser: {
1382
1340
  parameters: {
1383
1341
  query?: never;
1384
1342
  header?: never;
1385
- path: {
1386
- /** @description The user id */
1387
- userId: string;
1388
- };
1343
+ path?: never;
1389
1344
  cookie?: never;
1390
1345
  };
1391
1346
  requestBody?: never;
@@ -1403,17 +1358,14 @@ interface operations$1 {
1403
1358
  500: components$1["responses"]["InternalServerError"];
1404
1359
  };
1405
1360
  };
1406
- updateUser: {
1361
+ updateCurrentUser: {
1407
1362
  parameters: {
1408
1363
  query?: never;
1409
1364
  header?: never;
1410
- path: {
1411
- /** @description The user id */
1412
- userId: string;
1413
- };
1365
+ path?: never;
1414
1366
  cookie?: never;
1415
1367
  };
1416
- /** @description The request body to update a user */
1368
+ /** @description The request body to update the current user */
1417
1369
  requestBody: {
1418
1370
  content: {
1419
1371
  "application/json": components$1["schemas"]["UpdateUserPayload"];
@@ -18,6 +18,7 @@ func GetTokenFromContext(ctx context.Context) *jwt.Token {
18
18
  return token
19
19
  }
20
20
 
21
+ // GetUserIdFromContext retrieves the user id from the JTW token in the given context.
21
22
  func GetUserIdFromContext(ctx context.Context) (string, error) {
22
23
  // get the token from the context
23
24
  token := GetTokenFromContext(ctx)
@@ -30,6 +31,9 @@ func GetUserIdFromContext(ctx context.Context) (string, error) {
30
31
  if err != nil {
31
32
  return "", fmt.Errorf("failed to get the subject from the token: %w", err)
32
33
  }
34
+ if userId == "" {
35
+ return "", errors.New("user id not found in the token subject")
36
+ }
33
37
 
34
38
  return userId, nil
35
39
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rivascva/dt-idl",
3
- "version": "1.1.71",
3
+ "version": "1.1.73",
4
4
  "description": "Dream Trade - Interface Definition Language",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.esm.js",
@@ -10,6 +10,24 @@ servers:
10
10
 
11
11
  paths:
12
12
  /portfolios:
13
+ get:
14
+ description: Gets all portfolios
15
+ operationId: getPortfolios
16
+ tags:
17
+ - Portfolios
18
+ responses:
19
+ 200:
20
+ description: Success
21
+ content:
22
+ application/json:
23
+ schema:
24
+ type: array
25
+ items:
26
+ $ref: '#/components/schemas/Portfolio'
27
+ 404:
28
+ $ref: '#/components/responses/NotFound'
29
+ 500:
30
+ $ref: '#/components/responses/InternalServerError'
13
31
  post:
14
32
  description: Adds a new portfolio
15
33
  operationId: addPortfolio
@@ -71,34 +89,6 @@ paths:
71
89
  500:
72
90
  $ref: '#/components/responses/InternalServerError'
73
91
 
74
- /portfolios/by-user/{userId}:
75
- get:
76
- description: Gets the portfolios for the given user
77
- operationId: getPortfoliosByUser
78
- tags:
79
- - Portfolios
80
- parameters:
81
- - in: path
82
- name: userId
83
- description: The user id
84
- required: true
85
- schema:
86
- type: string
87
- example: 123456
88
- responses:
89
- 200:
90
- description: Success
91
- content:
92
- application/json:
93
- schema:
94
- type: array
95
- items:
96
- $ref: '#/components/schemas/Portfolio'
97
- 404:
98
- $ref: '#/components/responses/NotFound'
99
- 500:
100
- $ref: '#/components/responses/InternalServerError'
101
-
102
92
  /orders:
103
93
  post:
104
94
  description: Adds a new order
@@ -155,9 +145,6 @@ components:
155
145
  AddPortfolioPayload:
156
146
  description: Payload to add a new portfolio
157
147
  properties:
158
- userId:
159
- type: string
160
- example: 123456
161
148
  type:
162
149
  $ref: '#/components/schemas/PortfolioType'
163
150
  example: PERSONAL
@@ -166,7 +153,6 @@ components:
166
153
  format: double
167
154
  example: 10500.25
168
155
  required:
169
- - userId
170
156
  - type
171
157
  - cash
172
158
 
@@ -184,6 +170,9 @@ components:
184
170
  id:
185
171
  type: string
186
172
  example: 123456
173
+ userId:
174
+ type: string
175
+ example: 123456
187
176
  holdings:
188
177
  type: array
189
178
  items:
@@ -202,6 +191,7 @@ components:
202
191
  example: 1713398544000
203
192
  required:
204
193
  - id
194
+ - userId
205
195
  - holdings
206
196
  - orders
207
197
  - dateCreated
@@ -29,7 +29,7 @@ paths:
29
29
  500:
30
30
  $ref: '#/components/responses/InternalServerError'
31
31
 
32
- /login/provider:
32
+ /login/by-provider:
33
33
  post:
34
34
  description: Logs in a user by a provider
35
35
  operationId: loginByProvider
@@ -67,24 +67,6 @@ paths:
67
67
  $ref: '#/components/responses/InternalServerError'
68
68
 
69
69
  /users:
70
- get:
71
- description: Gets all users
72
- operationId: getUsers
73
- tags:
74
- - Users
75
- responses:
76
- 200:
77
- description: Success
78
- content:
79
- application/json:
80
- schema:
81
- type: array
82
- items:
83
- $ref: '#/components/schemas/User'
84
- 404:
85
- $ref: '#/components/responses/NotFound'
86
- 500:
87
- $ref: '#/components/responses/InternalServerError'
88
70
  post:
89
71
  description: Adds a new user
90
72
  operationId: addUser
@@ -109,20 +91,12 @@ paths:
109
91
  500:
110
92
  $ref: '#/components/responses/InternalServerError'
111
93
 
112
- /users/{userId}:
94
+ /users/me:
113
95
  get:
114
- description: Gets a user
115
- operationId: getUser
96
+ description: Gets the current user
97
+ operationId: getCurrentUser
116
98
  tags:
117
99
  - Users
118
- parameters:
119
- - in: path
120
- name: userId
121
- description: The user id
122
- required: true
123
- schema:
124
- type: string
125
- example: 123456
126
100
  responses:
127
101
  200:
128
102
  description: Success
@@ -136,20 +110,12 @@ paths:
136
110
  500:
137
111
  $ref: '#/components/responses/InternalServerError'
138
112
  put:
139
- description: Updates an existing user
140
- operationId: updateUser
113
+ description: Updates the current user
114
+ operationId: updateCurrentUser
141
115
  tags:
142
116
  - Users
143
- parameters:
144
- - in: path
145
- name: userId
146
- description: The user id
147
- required: true
148
- schema:
149
- type: string
150
- example: 123456
151
117
  requestBody:
152
- description: The request body to update a user
118
+ description: The request body to update the current user
153
119
  required: true
154
120
  content:
155
121
  application/json:
@@ -11,7 +11,8 @@ export interface paths {
11
11
  path?: never;
12
12
  cookie?: never;
13
13
  };
14
- get?: never;
14
+ /** @description Gets all portfolios */
15
+ get: operations["getPortfolios"];
15
16
  put?: never;
16
17
  /** @description Adds a new portfolio */
17
18
  post: operations["addPortfolio"];
@@ -38,23 +39,6 @@ export interface paths {
38
39
  patch?: never;
39
40
  trace?: never;
40
41
  };
41
- "/portfolios/by-user/{userId}": {
42
- parameters: {
43
- query?: never;
44
- header?: never;
45
- path?: never;
46
- cookie?: never;
47
- };
48
- /** @description Gets the portfolios for the given user */
49
- get: operations["getPortfoliosByUser"];
50
- put?: never;
51
- post?: never;
52
- delete?: never;
53
- options?: never;
54
- head?: never;
55
- patch?: never;
56
- trace?: never;
57
- };
58
42
  "/orders": {
59
43
  parameters: {
60
44
  query?: never;
@@ -95,8 +79,6 @@ export interface components {
95
79
  schemas: {
96
80
  /** @description Payload to add a new portfolio */
97
81
  AddPortfolioPayload: {
98
- /** @example 123456 */
99
- userId: string;
100
82
  /** @example PERSONAL */
101
83
  type: components["schemas"]["PortfolioType"];
102
84
  /**
@@ -111,6 +93,8 @@ export interface components {
111
93
  Portfolio: components["schemas"]["AddPortfolioPayload"] & {
112
94
  /** @example 123456 */
113
95
  id: string;
96
+ /** @example 123456 */
97
+ userId: string;
114
98
  holdings: components["schemas"]["Holding"][];
115
99
  orders: components["schemas"]["Order"][];
116
100
  /**
@@ -257,53 +241,44 @@ export interface components {
257
241
  }
258
242
  export type $defs = Record<string, never>;
259
243
  export interface operations {
260
- addPortfolio: {
244
+ getPortfolios: {
261
245
  parameters: {
262
246
  query?: never;
263
247
  header?: never;
264
248
  path?: never;
265
249
  cookie?: never;
266
250
  };
267
- /** @description The request body to add a portfolio */
268
- requestBody: {
269
- content: {
270
- "application/json": components["schemas"]["AddPortfolioPayload"];
271
- };
272
- };
251
+ requestBody?: never;
273
252
  responses: {
274
- /** @description Added */
275
- 201: {
253
+ /** @description Success */
254
+ 200: {
276
255
  headers: {
277
256
  [name: string]: unknown;
278
257
  };
279
258
  content: {
280
- "application/json": components["schemas"]["Portfolio"];
259
+ "application/json": components["schemas"]["Portfolio"][];
281
260
  };
282
261
  };
283
- 400: components["responses"]["BadRequest"];
284
262
  404: components["responses"]["NotFound"];
285
263
  500: components["responses"]["InternalServerError"];
286
264
  };
287
265
  };
288
- updatePortfolio: {
266
+ addPortfolio: {
289
267
  parameters: {
290
268
  query?: never;
291
269
  header?: never;
292
- path: {
293
- /** @description The portfolio id */
294
- portfolioId: string;
295
- };
270
+ path?: never;
296
271
  cookie?: never;
297
272
  };
298
- /** @description The request body to update a portfolio */
273
+ /** @description The request body to add a portfolio */
299
274
  requestBody: {
300
275
  content: {
301
- "application/json": components["schemas"]["UpdatePortfolioPayload"];
276
+ "application/json": components["schemas"]["AddPortfolioPayload"];
302
277
  };
303
278
  };
304
279
  responses: {
305
- /** @description Success */
306
- 200: {
280
+ /** @description Added */
281
+ 201: {
307
282
  headers: {
308
283
  [name: string]: unknown;
309
284
  };
@@ -316,17 +291,22 @@ export interface operations {
316
291
  500: components["responses"]["InternalServerError"];
317
292
  };
318
293
  };
319
- getPortfoliosByUser: {
294
+ updatePortfolio: {
320
295
  parameters: {
321
296
  query?: never;
322
297
  header?: never;
323
298
  path: {
324
- /** @description The user id */
325
- userId: string;
299
+ /** @description The portfolio id */
300
+ portfolioId: string;
326
301
  };
327
302
  cookie?: never;
328
303
  };
329
- requestBody?: never;
304
+ /** @description The request body to update a portfolio */
305
+ requestBody: {
306
+ content: {
307
+ "application/json": components["schemas"]["UpdatePortfolioPayload"];
308
+ };
309
+ };
330
310
  responses: {
331
311
  /** @description Success */
332
312
  200: {
@@ -334,9 +314,10 @@ export interface operations {
334
314
  [name: string]: unknown;
335
315
  };
336
316
  content: {
337
- "application/json": components["schemas"]["Portfolio"][];
317
+ "application/json": components["schemas"]["Portfolio"];
338
318
  };
339
319
  };
320
+ 400: components["responses"]["BadRequest"];
340
321
  404: components["responses"]["NotFound"];
341
322
  500: components["responses"]["InternalServerError"];
342
323
  };
@@ -21,7 +21,7 @@ export interface paths {
21
21
  patch?: never;
22
22
  trace?: never;
23
23
  };
24
- "/login/provider": {
24
+ "/login/by-provider": {
25
25
  parameters: {
26
26
  query?: never;
27
27
  header?: never;
@@ -62,8 +62,7 @@ export interface paths {
62
62
  path?: never;
63
63
  cookie?: never;
64
64
  };
65
- /** @description Gets all users */
66
- get: operations["getUsers"];
65
+ get?: never;
67
66
  put?: never;
68
67
  /** @description Adds a new user */
69
68
  post: operations["addUser"];
@@ -73,17 +72,17 @@ export interface paths {
73
72
  patch?: never;
74
73
  trace?: never;
75
74
  };
76
- "/users/{userId}": {
75
+ "/users/me": {
77
76
  parameters: {
78
77
  query?: never;
79
78
  header?: never;
80
79
  path?: never;
81
80
  cookie?: never;
82
81
  };
83
- /** @description Gets a user */
84
- get: operations["getUser"];
85
- /** @description Updates an existing user */
86
- put: operations["updateUser"];
82
+ /** @description Gets the current user */
83
+ get: operations["getCurrentUser"];
84
+ /** @description Updates the current user */
85
+ put: operations["updateCurrentUser"];
87
86
  post?: never;
88
87
  delete?: never;
89
88
  options?: never;
@@ -262,28 +261,6 @@ export interface operations {
262
261
  500: components["responses"]["InternalServerError"];
263
262
  };
264
263
  };
265
- getUsers: {
266
- parameters: {
267
- query?: never;
268
- header?: never;
269
- path?: never;
270
- cookie?: never;
271
- };
272
- requestBody?: never;
273
- responses: {
274
- /** @description Success */
275
- 200: {
276
- headers: {
277
- [name: string]: unknown;
278
- };
279
- content: {
280
- "application/json": components["schemas"]["User"][];
281
- };
282
- };
283
- 404: components["responses"]["NotFound"];
284
- 500: components["responses"]["InternalServerError"];
285
- };
286
- };
287
264
  addUser: {
288
265
  parameters: {
289
266
  query?: never;
@@ -311,14 +288,11 @@ export interface operations {
311
288
  500: components["responses"]["InternalServerError"];
312
289
  };
313
290
  };
314
- getUser: {
291
+ getCurrentUser: {
315
292
  parameters: {
316
293
  query?: never;
317
294
  header?: never;
318
- path: {
319
- /** @description The user id */
320
- userId: string;
321
- };
295
+ path?: never;
322
296
  cookie?: never;
323
297
  };
324
298
  requestBody?: never;
@@ -336,17 +310,14 @@ export interface operations {
336
310
  500: components["responses"]["InternalServerError"];
337
311
  };
338
312
  };
339
- updateUser: {
313
+ updateCurrentUser: {
340
314
  parameters: {
341
315
  query?: never;
342
316
  header?: never;
343
- path: {
344
- /** @description The user id */
345
- userId: string;
346
- };
317
+ path?: never;
347
318
  cookie?: never;
348
319
  };
349
- /** @description The request body to update a user */
320
+ /** @description The request body to update the current user */
350
321
  requestBody: {
351
322
  content: {
352
323
  "application/json": components["schemas"]["UpdateUserPayload"];