@@ -1451,6 +1451,232 @@ paths:
1451
1451
description : Server error
1452
1452
schema :
1453
1453
$ref : ' #/definitions/ErrorModel'
1454
+ /challengeTimelines :
1455
+ get :
1456
+ tags :
1457
+ - ChallengeTypeTimelineTemplates
1458
+ description : |
1459
+ Retrieve challenge type timeline templates in the system.
1460
+ security :
1461
+ - bearer : []
1462
+ produces :
1463
+ - application/json
1464
+ parameters :
1465
+ - name : typeId
1466
+ in : query
1467
+ description : Filter by challenge type id
1468
+ required : false
1469
+ type : string
1470
+ - name : timelineTemplateId
1471
+ in : query
1472
+ description : Filter by timeline template id
1473
+ required : false
1474
+ type : string
1475
+ responses :
1476
+ ' 200 ' :
1477
+ description : OK
1478
+ schema :
1479
+ type : array
1480
+ items :
1481
+ $ref : ' #/definitions/ChallengeTypeTimelineTemplate'
1482
+ ' 400 ' :
1483
+ description : Bad request. Request parameters were invalid.
1484
+ schema :
1485
+ $ref : ' #/definitions/ErrorModel'
1486
+ ' 401 ' :
1487
+ description : Unauthorized. Fail to authenticate the requester.
1488
+ schema :
1489
+ $ref : ' #/definitions/ErrorModel'
1490
+ ' 403 ' :
1491
+ description : >
1492
+ Forbidden. The requester does not have the correct permission to
1493
+ access the timeline templates
1494
+ schema :
1495
+ $ref : ' #/definitions/ErrorModel'
1496
+ ' 500 ' :
1497
+ description : Server error
1498
+ schema :
1499
+ $ref : ' #/definitions/ErrorModel'
1500
+ post :
1501
+ tags :
1502
+ - ChallengeTypeTimelineTemplates
1503
+ description : |
1504
+ Create a new challenge type timeline template in the system. Only admins can access this endpoint.
1505
+ security :
1506
+ - bearer : []
1507
+ produces :
1508
+ - application/json
1509
+ parameters :
1510
+ - in : body
1511
+ name : body
1512
+ required : true
1513
+ schema :
1514
+ $ref : ' #/definitions/ChallengeTypeTimelineTemplateData'
1515
+ responses :
1516
+ ' 201 ' :
1517
+ description : Created - The request was successful and the resource is returned.
1518
+ schema :
1519
+ $ref : ' #/definitions/ChallengeTypeTimelineTemplate'
1520
+ ' 400 ' :
1521
+ description : Bad request. Request parameters were invalid.
1522
+ schema :
1523
+ $ref : ' #/definitions/ErrorModel'
1524
+ ' 401 ' :
1525
+ description : Unauthorized. Fail to authenticate the requester.
1526
+ schema :
1527
+ $ref : ' #/definitions/ErrorModel'
1528
+ ' 403 ' :
1529
+ description : >
1530
+ Forbidden. The requester does not have the correct permission to
1531
+ create the timeline template
1532
+ schema :
1533
+ $ref : ' #/definitions/ErrorModel'
1534
+ ' 409 ' :
1535
+ description : >
1536
+ Conflict. Other timeline template has already used the same name.
1537
+ schema :
1538
+ $ref : ' #/definitions/ErrorModel'
1539
+ ' 500 ' :
1540
+ description : Server error
1541
+ schema :
1542
+ $ref : ' #/definitions/ErrorModel'
1543
+ /challengeTimelines/:challengeTypeTimelineTemplateId :
1544
+ get :
1545
+ tags :
1546
+ - ChallengeTypeTimelineTemplates
1547
+ description : Retrieve the challenge type timeline template with provided id.
1548
+ security :
1549
+ - bearer : []
1550
+ produces :
1551
+ - application/json
1552
+ parameters :
1553
+ - name : challengeTypeTimelineTemplateId
1554
+ in : path
1555
+ required : true
1556
+ type : string
1557
+ format : UUID
1558
+ description : The id of challenge type timeline template to retrieve
1559
+ responses :
1560
+ ' 200 ' :
1561
+ description : OK
1562
+ schema :
1563
+ $ref : ' #/definitions/ChallengeTypeTimelineTemplate'
1564
+ ' 400 ' :
1565
+ description : Bad request. Request parameters were invalid.
1566
+ schema :
1567
+ $ref : ' #/definitions/ErrorModel'
1568
+ ' 401 ' :
1569
+ description : Unauthorized. Fail to authenticate the requester.
1570
+ schema :
1571
+ $ref : ' #/definitions/ErrorModel'
1572
+ ' 403 ' :
1573
+ description : >
1574
+ Forbidden. The requester does not have the correct permission to
1575
+ access the timeline template
1576
+ schema :
1577
+ $ref : ' #/definitions/ErrorModel'
1578
+ ' 404 ' :
1579
+ description : Entity not found
1580
+ schema :
1581
+ $ref : ' #/definitions/ErrorModel'
1582
+ ' 500 ' :
1583
+ description : Server error
1584
+ schema :
1585
+ $ref : ' #/definitions/ErrorModel'
1586
+ put :
1587
+ tags :
1588
+ - ChallengeTypeTimelineTemplates
1589
+ description : Update the challenge type timeline template with the specified id. Only admins can access this endpoint.
1590
+ security :
1591
+ - bearer : []
1592
+ produces :
1593
+ - application/json
1594
+ parameters :
1595
+ - name : challengeTypeTimelineTemplateId
1596
+ in : path
1597
+ required : true
1598
+ type : string
1599
+ format : UUID
1600
+ description : The id of challenge type timeline template to update
1601
+ - in : body
1602
+ name : body
1603
+ required : true
1604
+ schema :
1605
+ $ref : ' #/definitions/ChallengeTypeTimelineTemplateData'
1606
+ responses :
1607
+ ' 200 ' :
1608
+ description : Updated - The request was successful and the resource is returned.
1609
+ schema :
1610
+ $ref : ' #/definitions/ChallengeTypeTimelineTemplate'
1611
+ ' 400 ' :
1612
+ description : Bad request. Request parameters were invalid.
1613
+ schema :
1614
+ $ref : ' #/definitions/ErrorModel'
1615
+ ' 401 ' :
1616
+ description : Unauthorized. Fail to authenticate the requester.
1617
+ schema :
1618
+ $ref : ' #/definitions/ErrorModel'
1619
+ ' 403 ' :
1620
+ description : >
1621
+ Forbidden. The requester does not have the correct permission to
1622
+ update the timeline template
1623
+ schema :
1624
+ $ref : ' #/definitions/ErrorModel'
1625
+ ' 404 ' :
1626
+ description : Entity not found
1627
+ schema :
1628
+ $ref : ' #/definitions/ErrorModel'
1629
+ ' 409 ' :
1630
+ description : >
1631
+ Conflict. Other timeline template has already used the same name.
1632
+ schema :
1633
+ $ref : ' #/definitions/ErrorModel'
1634
+ ' 500 ' :
1635
+ description : Server error
1636
+ schema :
1637
+ $ref : ' #/definitions/ErrorModel'
1638
+ delete :
1639
+ tags :
1640
+ - ChallengeTypeTimelineTemplates
1641
+ description : Delete the challenge type timeline template with provided id. Only admins can access this endpoint.
1642
+ security :
1643
+ - bearer : []
1644
+ produces :
1645
+ - application/json
1646
+ parameters :
1647
+ - name : challengeTypeTimelineTemplateId
1648
+ in : path
1649
+ required : true
1650
+ type : string
1651
+ format : UUID
1652
+ description : The id of challenge type timeline template to be deleted
1653
+ responses :
1654
+ ' 200 ' :
1655
+ description : Deleted - The request was successful and the resource is returned.
1656
+ schema :
1657
+ $ref : ' #/definitions/ChallengeTypeTimelineTemplate'
1658
+ ' 400 ' :
1659
+ description : Bad request. Request parameters were invalid.
1660
+ schema :
1661
+ $ref : ' #/definitions/ErrorModel'
1662
+ ' 401 ' :
1663
+ description : Unauthorized. Fail to authenticate the requester.
1664
+ schema :
1665
+ $ref : ' #/definitions/ErrorModel'
1666
+ ' 403 ' :
1667
+ description : >
1668
+ Forbidden. The requester does not have the correct permission to
1669
+ delete the timeline template
1670
+ schema :
1671
+ $ref : ' #/definitions/ErrorModel'
1672
+ ' 404 ' :
1673
+ description : Entity not found
1674
+ schema :
1675
+ $ref : ' #/definitions/ErrorModel'
1676
+ ' 500 ' :
1677
+ description : Server error
1678
+ schema :
1679
+ $ref : ' #/definitions/ErrorModel'
1454
1680
/challengeAuditLogs :
1455
1681
get :
1456
1682
tags :
@@ -1725,6 +1951,20 @@ definitions:
1725
1951
- $ref : ' #/definitions/TimelineTemplateData'
1726
1952
required :
1727
1953
- id
1954
+ ChallengeTypeTimelineTemplate :
1955
+ type : object
1956
+ allOf :
1957
+ - type : object
1958
+ properties :
1959
+ id :
1960
+ type : string
1961
+ description : The challenge type timeline template id.
1962
+ format : UUID
1963
+ - $ref : ' #/definitions/ChallengeTypeTimelineTemplateData'
1964
+ required :
1965
+ - id
1966
+ - typeId
1967
+ - timelineTemplateId
1728
1968
ChallengeData :
1729
1969
type : object
1730
1970
properties :
@@ -1905,21 +2145,38 @@ definitions:
1905
2145
PhaseData :
1906
2146
type : object
1907
2147
properties :
1908
- name :
1909
- type : string
1910
- description :
2148
+ phaseId :
1911
2149
type : string
2150
+ format : UUID
1912
2151
predecessor :
1913
2152
type : string
1914
2153
format : UUID
1915
- isActive :
2154
+ name :
2155
+ type : string
2156
+ description :
2157
+ type : string
2158
+ isOpen :
1916
2159
type : boolean
1917
2160
duration :
1918
2161
type : number
1919
- required :
1920
- - name
1921
- - isActive
1922
- - duration
2162
+ defaultDuration :
2163
+ type : number
2164
+ scheduledStartDate :
2165
+ type : string
2166
+ format : date-time
2167
+ description : ' ISO-8601 formatted date times (YYYY-MM-DDTHH:mm:ss.sssZ)'
2168
+ scheduledEndDate :
2169
+ type : string
2170
+ format : date-time
2171
+ description : ' ISO-8601 formatted date times (YYYY-MM-DDTHH:mm:ss.sssZ)'
2172
+ actualStartDate :
2173
+ type : string
2174
+ format : date-time
2175
+ description : ' ISO-8601 formatted date times (YYYY-MM-DDTHH:mm:ss.sssZ)'
2176
+ actualEndDate :
2177
+ type : string
2178
+ format : date-time
2179
+ description : ' ISO-8601 formatted date times (YYYY-MM-DDTHH:mm:ss.sssZ)'
1923
2180
TimelineTemplateData :
1924
2181
type : object
1925
2182
properties :
@@ -1937,6 +2194,18 @@ definitions:
1937
2194
- name
1938
2195
- isActive
1939
2196
- phases
2197
+ ChallengeTypeTimelineTemplateData :
2198
+ type : object
2199
+ properties :
2200
+ typeId :
2201
+ type : string
2202
+ format : UUID
2203
+ timelineTemplateId :
2204
+ type : string
2205
+ format : UUID
2206
+ required :
2207
+ - typeId
2208
+ - timelineTemplateId
1940
2209
AuditLogEntry :
1941
2210
type : object
1942
2211
properties :
0 commit comments