ProjectManagerSdk 152.0.138__tar.gz → 154.0.181__tar.gz

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.
Files changed (273) hide show
  1. {projectmanagersdk-152.0.138/src/ProjectManagerSdk.egg-info → projectmanagersdk-154.0.181}/PKG-INFO +1 -1
  2. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/pyproject.toml +1 -1
  3. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/__init__.py +10 -0
  4. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/meetingsclient.py +48 -23
  5. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/nptclient.py +49 -28
  6. projectmanagersdk-154.0.181/src/ProjectManagerSdk/clients/nptstatusclient.py +116 -0
  7. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/projectclient.py +14 -17
  8. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/resourceskillclient.py +3 -3
  9. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/resourceteamclient.py +3 -3
  10. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/riskclient.py +2 -2
  11. projectmanagersdk-154.0.181/src/ProjectManagerSdk/clients/securityclient.py +146 -0
  12. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/tagclient.py +20 -0
  13. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/taskstatusclient.py +9 -12
  14. projectmanagersdk-154.0.181/src/ProjectManagerSdk/models/businessroleslistdto.py +34 -0
  15. projectmanagersdk-154.0.181/src/ProjectManagerSdk/models/nptstatuscreatedto.py +43 -0
  16. projectmanagersdk-154.0.181/src/ProjectManagerSdk/models/nptstatusupdatedto.py +38 -0
  17. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectmemberdto.py +6 -0
  18. projectmanagersdk-154.0.181/src/ProjectManagerSdk/models/projectreopenstatusdto.py +34 -0
  19. projectmanagersdk-154.0.181/src/ProjectManagerSdk/models/rolecreatedto.py +50 -0
  20. projectmanagersdk-154.0.181/src/ProjectManagerSdk/models/roledto.py +78 -0
  21. projectmanagersdk-154.0.181/src/ProjectManagerSdk/models/rolepermissionfeaturedto.py +55 -0
  22. projectmanagersdk-154.0.181/src/ProjectManagerSdk/models/roleupdatechangeitemdto.py +41 -0
  23. projectmanagersdk-154.0.181/src/ProjectManagerSdk/models/simpletaskfieldvaluedto.py +60 -0
  24. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/tagupdatedto.py +8 -1
  25. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/taskdetailsdto.py +15 -18
  26. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/taskdto.py +15 -18
  27. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/taskstatusupdatedto.py +0 -5
  28. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/workspacepermissionsdto.py +2 -2
  29. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/workspaceuserinfodto.py +2 -2
  30. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/projectmanagerclient.py +4 -2
  31. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181/src/ProjectManagerSdk.egg-info}/PKG-INFO +1 -1
  32. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk.egg-info/SOURCES.txt +10 -0
  33. projectmanagersdk-152.0.138/src/ProjectManagerSdk/clients/nptstatusclient.py +0 -49
  34. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/LICENSE +0 -0
  35. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/README.md +0 -0
  36. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/setup.cfg +0 -0
  37. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/__init__.py +0 -0
  38. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/apikeyclient.py +0 -0
  39. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/changesetclient.py +0 -0
  40. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/dashboardclient.py +0 -0
  41. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/discussionclient.py +0 -0
  42. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/fileclient.py +0 -0
  43. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/holidayclient.py +0 -0
  44. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/homefileclient.py +0 -0
  45. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/hourlyrateclient.py +0 -0
  46. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/hourlyrateperiodclient.py +0 -0
  47. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/integrationcategoryclient.py +0 -0
  48. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/integrationclient.py +0 -0
  49. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/integrationproviderclient.py +0 -0
  50. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/licenseclient.py +0 -0
  51. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/meclient.py +0 -0
  52. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/meetingtagclient.py +0 -0
  53. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/meetingtodosclient.py +0 -0
  54. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/notificationclient.py +0 -0
  55. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/nptdiscussionclient.py +0 -0
  56. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/nptfilesclient.py +0 -0
  57. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/nptrecurrencyclient.py +0 -0
  58. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/npttagclient.py +0 -0
  59. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/npttodosclient.py +0 -0
  60. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/projectchargecodeclient.py +0 -0
  61. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/projectcustomerclient.py +0 -0
  62. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/projectfieldclient.py +0 -0
  63. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/projectfileclient.py +0 -0
  64. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/projectfolderclient.py +0 -0
  65. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/projectmembersclient.py +0 -0
  66. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/projectpriorityclient.py +0 -0
  67. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/projectstatusclient.py +0 -0
  68. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/projecttemplateclient.py +0 -0
  69. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/projectversionclient.py +0 -0
  70. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/resourceclient.py +0 -0
  71. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/riskfileclient.py +0 -0
  72. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/risktagclient.py +0 -0
  73. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/taskassigneeclient.py +0 -0
  74. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/taskclient.py +0 -0
  75. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/taskfieldclient.py +0 -0
  76. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/taskfileclient.py +0 -0
  77. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/taskmetadataclient.py +0 -0
  78. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/taskrecurrencyclient.py +0 -0
  79. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/tasktagclient.py +0 -0
  80. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/tasktodoclient.py +0 -0
  81. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/teamsclient.py +0 -0
  82. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/timesheetclient.py +0 -0
  83. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/userroleclient.py +0 -0
  84. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/clients/workspaceclient.py +0 -0
  85. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/__init__.py +0 -0
  86. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/apikeycreatedto.py +0 -0
  87. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/apikeydto.py +0 -0
  88. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/assigneedto.py +0 -0
  89. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/assigneeupsertdto.py +0 -0
  90. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/astroerror.py +0 -0
  91. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/astroresult.py +0 -0
  92. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/authenticationdto.py +0 -0
  93. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/changesetstatusdto.py +0 -0
  94. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/connectionschemadto.py +0 -0
  95. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/countrydto.py +0 -0
  96. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/countryholidaydto.py +0 -0
  97. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/createresourceskilldto.py +0 -0
  98. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/createresourceteamdto.py +0 -0
  99. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/createtaskfielddto.py +0 -0
  100. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/dailyrecurringsettingsdto.py +0 -0
  101. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/dashboardsettingcreatedto.py +0 -0
  102. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/dashboardsettingdto.py +0 -0
  103. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/deletedtasksdto.py +0 -0
  104. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/discussioncommentcreatedto.py +0 -0
  105. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/discussioncommentcreateresponsedto.py +0 -0
  106. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/discussioncommentdto.py +0 -0
  107. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/discussioncommentfiledto.py +0 -0
  108. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/discussiondatadto.py +0 -0
  109. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/discussionemoji.py +0 -0
  110. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/exportdto.py +0 -0
  111. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/exportduedatefilterdto.py +0 -0
  112. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/exportpriorityfilterdto.py +0 -0
  113. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/filedatadto.py +0 -0
  114. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/filedto.py +0 -0
  115. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/globalholidaydto.py +0 -0
  116. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/hourlyratecreatedto.py +0 -0
  117. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/hourlyratedetailsdto.py +0 -0
  118. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/hourlyratedto.py +0 -0
  119. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/hourlyrateperiodcreatedto.py +0 -0
  120. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/hourlyrateperioddto.py +0 -0
  121. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/hourlyratevaluedto.py +0 -0
  122. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/hourlyratevalueupdatedto.py +0 -0
  123. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/iddto.py +0 -0
  124. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/integrationauthsetupdto.py +0 -0
  125. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/integrationcategorydto.py +0 -0
  126. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/integrationconnectionschemeobjectdto.py +0 -0
  127. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/integrationdto.py +0 -0
  128. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/integrationinstancedto.py +0 -0
  129. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/integrationproviderdto.py +0 -0
  130. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/licensedto.py +0 -0
  131. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/masterconnectionschemedto.py +0 -0
  132. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/meetingassigneedto.py +0 -0
  133. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/meetingcreatedto.py +0 -0
  134. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/meetingdetailsdto.py +0 -0
  135. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/meetingdto.py +0 -0
  136. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/meetingprojectdto.py +0 -0
  137. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/meetingtodocreatedto.py +0 -0
  138. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/meetingtododto.py +0 -0
  139. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/meetingtodoupdatedto.py +0 -0
  140. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/meetingupdatedto.py +0 -0
  141. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/monthlyrecurringsettingsdto.py +0 -0
  142. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/namedto.py +0 -0
  143. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/notificationdatadto.py +0 -0
  144. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/notificationdto.py +0 -0
  145. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/notificationresponsedto.py +0 -0
  146. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/notificationtimestampdto.py +0 -0
  147. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/notificationtotalcountdto.py +0 -0
  148. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/notificationunreadcountdto.py +0 -0
  149. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/nptassigneedto.py +0 -0
  150. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/nptcreatedto.py +0 -0
  151. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/nptdetailsdto.py +0 -0
  152. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/nptdto.py +0 -0
  153. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/nptstatusdto.py +0 -0
  154. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/nptupdatedto.py +0 -0
  155. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/partialresourcedto.py +0 -0
  156. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/pendingtimesheetapprovaldto.py +0 -0
  157. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/permissionoptionsdto.py +0 -0
  158. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectaccessdto.py +0 -0
  159. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectaccessentrydto.py +0 -0
  160. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectchangestatusdto.py +0 -0
  161. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectchargecodecreatedto.py +0 -0
  162. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectchargecodedto.py +0 -0
  163. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectchargecodeupdatedto.py +0 -0
  164. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectcreateaccessdto.py +0 -0
  165. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectcreateaccessmemberdto.py +0 -0
  166. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectcreatedto.py +0 -0
  167. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectcustomercreatedto.py +0 -0
  168. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectcustomerdto.py +0 -0
  169. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectdto.py +0 -0
  170. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectfieldcreatedto.py +0 -0
  171. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectfielddto.py +0 -0
  172. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectfieldvaluedto.py +0 -0
  173. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectfiledto.py +0 -0
  174. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectfilefolderdto.py +0 -0
  175. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectfiletaskdto.py +0 -0
  176. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectfoldercreatedto.py +0 -0
  177. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectfolderdto.py +0 -0
  178. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectfolderupdatedto.py +0 -0
  179. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectmanagerdto.py +0 -0
  180. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectmemberroledto.py +0 -0
  181. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectmembersaccessdto.py +0 -0
  182. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectprioritycreatedto.py +0 -0
  183. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectprioritydto.py +0 -0
  184. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectrestoreprojectdto.py +0 -0
  185. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectstatuscreatedto.py +0 -0
  186. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectstatusdto.py +0 -0
  187. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectstatusupdatedto.py +0 -0
  188. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projecttemplatecategorydto.py +0 -0
  189. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projecttemplatedto.py +0 -0
  190. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectupdatedto.py +0 -0
  191. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectversionchangedatadto.py +0 -0
  192. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectversiondto.py +0 -0
  193. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/projectworkingdaysdto.py +0 -0
  194. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/reactgridlayoutdto.py +0 -0
  195. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/reactgridlayoutitemdto.py +0 -0
  196. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/recurringtaskchangesetdetails.py +0 -0
  197. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/recurringtaskchangesetdetailschangesetstatusdto.py +0 -0
  198. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/recurringtasksettingsdto.py +0 -0
  199. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/recurringtaskvalidationresultdto.py +0 -0
  200. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/resourceapproverdto.py +0 -0
  201. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/resourcecreatedto.py +0 -0
  202. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/resourcedto.py +0 -0
  203. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/resourceholidaydto.py +0 -0
  204. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/resourcescreatedto.py +0 -0
  205. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/resourcesdto.py +0 -0
  206. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/resourceskilldto.py +0 -0
  207. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/resourceteamdto.py +0 -0
  208. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/resourceupdatedto.py +0 -0
  209. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/riskassignmentdto.py +0 -0
  210. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/riskcreatedto.py +0 -0
  211. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/riskdetailsdto.py +0 -0
  212. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/riskdto.py +0 -0
  213. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/riskexportprogressfilterdto.py +0 -0
  214. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/riskexportsettingsdto.py +0 -0
  215. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/riskprojectdto.py +0 -0
  216. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/riskupdatedto.py +0 -0
  217. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/statedto.py +0 -0
  218. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/tagcreatedto.py +0 -0
  219. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/tagdto.py +0 -0
  220. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/taskapprovalstatusupdatedto.py +0 -0
  221. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/taskassigneedto.py +0 -0
  222. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/taskcreatedto.py +0 -0
  223. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/taskfielddto.py +0 -0
  224. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/taskfieldprojectdto.py +0 -0
  225. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/taskfieldvaluedto.py +0 -0
  226. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/taskfieldvaluetaskdto.py +0 -0
  227. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/taskfiledto.py +0 -0
  228. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/taskmetadatasearchdto.py +0 -0
  229. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/taskmetadataupdatedto.py +0 -0
  230. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/taskownerdto.py +0 -0
  231. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/taskprioritydto.py +0 -0
  232. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/taskprojectdto.py +0 -0
  233. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/taskreferencedto.py +0 -0
  234. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/taskstatuscreatedto.py +0 -0
  235. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/taskstatusdto.py +0 -0
  236. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/tasktagdto.py +0 -0
  237. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/tasktodocreatedto.py +0 -0
  238. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/tasktododto.py +0 -0
  239. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/tasktodoupdatedto.py +0 -0
  240. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/taskupdatedto.py +0 -0
  241. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/timesheetadmintypedto.py +0 -0
  242. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/timesheetapprovaldto.py +0 -0
  243. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/timesheetapprovalrejectdto.py +0 -0
  244. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/timesheetapprovalresponsedto.py +0 -0
  245. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/timesheetcreaterequestdto.py +0 -0
  246. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/timesheetdto.py +0 -0
  247. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/timesheetfiledto.py +0 -0
  248. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/timesheetfileresponsedto.py +0 -0
  249. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/timesheetprojectdto.py +0 -0
  250. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/timesheetresourcedto.py +0 -0
  251. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/timesheetresponsedto.py +0 -0
  252. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/timesheettaskdto.py +0 -0
  253. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/timesheetupdaterequestdto.py +0 -0
  254. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/updateprojectfielddto.py +0 -0
  255. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/updateprojectfieldvaluedto.py +0 -0
  256. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/updaterequestdto.py +0 -0
  257. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/updateresourceskilldto.py +0 -0
  258. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/updateresourceteamdto.py +0 -0
  259. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/updatetaskfieldvaluedto.py +0 -0
  260. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/usererror.py +0 -0
  261. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/userroledto.py +0 -0
  262. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/userrolepermissiondto.py +0 -0
  263. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/userrolepermissionsdto.py +0 -0
  264. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/weeklyrecurringsettingsdto.py +0 -0
  265. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/workspacedto.py +0 -0
  266. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/workspacelinksdto.py +0 -0
  267. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/models/yearlyrecurringsettingsdto.py +0 -0
  268. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk/tools.py +0 -0
  269. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk.egg-info/dependency_links.txt +0 -0
  270. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk.egg-info/requires.txt +0 -0
  271. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/src/ProjectManagerSdk.egg-info/top_level.txt +0 -0
  272. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/test/test_basic.py +0 -0
  273. {projectmanagersdk-152.0.138 → projectmanagersdk-154.0.181}/test/test_dacite_parsing.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ProjectManagerSdk
3
- Version: 152.0.138
3
+ Version: 154.0.181
4
4
  Summary: Software development kit for the ProjectManager.com API for Python
5
5
  Author-email: "ProjectManager.com" <support@projectmanager.com>
6
6
  Project-URL: Homepage, https://github.com/projectmgr/projectmanager-sdk-python
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "ProjectManagerSdk"
3
- version = "152.0.138"
3
+ version = "154.0.181"
4
4
  authors = [
5
5
  { name = "ProjectManager.com", email = "support@projectmanager.com" }
6
6
  ]
@@ -44,6 +44,7 @@ from ProjectManagerSdk.clients.resourceteamclient import ResourceTeamClient
44
44
  from ProjectManagerSdk.clients.riskclient import RiskClient
45
45
  from ProjectManagerSdk.clients.riskfileclient import RiskFileClient
46
46
  from ProjectManagerSdk.clients.risktagclient import RiskTagClient
47
+ from ProjectManagerSdk.clients.securityclient import SecurityClient
47
48
  from ProjectManagerSdk.clients.tagclient import TagClient
48
49
  from ProjectManagerSdk.clients.taskassigneeclient import TaskAssigneeClient
49
50
  from ProjectManagerSdk.clients.taskclient import TaskClient
@@ -66,6 +67,7 @@ from ProjectManagerSdk.models.assigneeupsertdto import AssigneeUpsertDto
66
67
  from ProjectManagerSdk.models.astroerror import AstroError
67
68
  from ProjectManagerSdk.models.astroresult import AstroResult
68
69
  from ProjectManagerSdk.models.authenticationdto import AuthenticationDto
70
+ from ProjectManagerSdk.models.businessroleslistdto import BusinessRolesListDto
69
71
  from ProjectManagerSdk.models.changesetstatusdto import ChangeSetStatusDto
70
72
  from ProjectManagerSdk.models.connectionschemadto import ConnectionSchemaDto
71
73
  from ProjectManagerSdk.models.countrydto import CountryDto
@@ -126,7 +128,9 @@ from ProjectManagerSdk.models.nptassigneedto import NptAssigneeDto
126
128
  from ProjectManagerSdk.models.nptcreatedto import NptCreateDto
127
129
  from ProjectManagerSdk.models.nptdetailsdto import NptDetailsDto
128
130
  from ProjectManagerSdk.models.nptdto import NptDto
131
+ from ProjectManagerSdk.models.nptstatuscreatedto import NptStatusCreateDto
129
132
  from ProjectManagerSdk.models.nptstatusdto import NptStatusDto
133
+ from ProjectManagerSdk.models.nptstatusupdatedto import NptStatusUpdateDto
130
134
  from ProjectManagerSdk.models.nptupdatedto import NptUpdateDto
131
135
  from ProjectManagerSdk.models.partialresourcedto import PartialResourceDto
132
136
  from ProjectManagerSdk.models.pendingtimesheetapprovaldto import PendingTimeSheetApprovalDto
@@ -158,6 +162,7 @@ from ProjectManagerSdk.models.projectmemberroledto import ProjectMemberRoleDto
158
162
  from ProjectManagerSdk.models.projectmembersaccessdto import ProjectMembersAccessDto
159
163
  from ProjectManagerSdk.models.projectprioritycreatedto import ProjectPriorityCreateDto
160
164
  from ProjectManagerSdk.models.projectprioritydto import ProjectPriorityDto
165
+ from ProjectManagerSdk.models.projectreopenstatusdto import ProjectReopenStatusDto
161
166
  from ProjectManagerSdk.models.projectrestoreprojectdto import ProjectRestoreProjectDto
162
167
  from ProjectManagerSdk.models.projectstatuscreatedto import ProjectStatusCreateDto
163
168
  from ProjectManagerSdk.models.projectstatusdto import ProjectStatusDto
@@ -191,6 +196,11 @@ from ProjectManagerSdk.models.riskexportprogressfilterdto import RiskExportProgr
191
196
  from ProjectManagerSdk.models.riskexportsettingsdto import RiskExportSettingsDto
192
197
  from ProjectManagerSdk.models.riskprojectdto import RiskProjectDto
193
198
  from ProjectManagerSdk.models.riskupdatedto import RiskUpdateDto
199
+ from ProjectManagerSdk.models.rolecreatedto import RoleCreateDto
200
+ from ProjectManagerSdk.models.roledto import RoleDto
201
+ from ProjectManagerSdk.models.rolepermissionfeaturedto import RolePermissionFeatureDto
202
+ from ProjectManagerSdk.models.roleupdatechangeitemdto import RoleUpdateChangeItemDto
203
+ from ProjectManagerSdk.models.simpletaskfieldvaluedto import SimpleTaskFieldValueDto
194
204
  from ProjectManagerSdk.models.statedto import StateDto
195
205
  from ProjectManagerSdk.models.tagcreatedto import TagCreateDto
196
206
  from ProjectManagerSdk.models.tagdto import TagDto
@@ -39,6 +39,54 @@ class MeetingsClient:
39
39
  def __init__(self, client: ProjectManagerClient):
40
40
  self.client = client
41
41
 
42
+ def get_meetings(self, projectId: str) -> AstroResult[List[MeetingDto]]:
43
+ """
44
+ Retrieve a list of Meetings. This endpoint does not use OData.
45
+ If `projectId` is provided, results are limited to that Project.
46
+
47
+ Parameters
48
+ ----------
49
+ projectId : str
50
+ Optional project id to scope results
51
+ """
52
+ path = "/api/data/meetings"
53
+ queryParams = {}
54
+ if projectId:
55
+ queryParams['projectId'] = projectId
56
+ result = self.client.send_request("GET", path, None, queryParams, None)
57
+ if result.status_code >= 200 and result.status_code < 300:
58
+ data = []
59
+ for dict in json.loads(result.content)['data']:
60
+ data.append(dacite.from_dict(data_class=MeetingDto, data=dict))
61
+ return AstroResult[List[MeetingDto]](None, True, False, result.status_code, data)
62
+ else:
63
+ response = AstroResult[List[MeetingDto]](None, False, True, result.status_code, None)
64
+ response.load_error(result)
65
+ return response
66
+
67
+ def create_meeting(self, body: MeetingCreateDto) -> AstroResult[MeetingDto]:
68
+ """
69
+ Creates a new Meeting for the current user. If you specify an
70
+ assignee for this Meeting, that user will be assigned to it. If
71
+ you do not specify an assignee, the Meeting will be
72
+ automatically assigned to you.
73
+
74
+ Parameters
75
+ ----------
76
+ body : MeetingCreateDto
77
+ The data used to create the Meeting
78
+ """
79
+ path = "/api/data/meetings"
80
+ queryParams = {}
81
+ result = self.client.send_request("POST", path, remove_empty_elements(dataclasses.asdict(body)), queryParams, None)
82
+ if result.status_code >= 200 and result.status_code < 300:
83
+ data = dacite.from_dict(data_class=MeetingDto, data=json.loads(result.content)['data'])
84
+ return AstroResult[MeetingDto](None, True, False, result.status_code, data)
85
+ else:
86
+ response = AstroResult[MeetingDto](None, False, True, result.status_code, None)
87
+ response.load_error(result)
88
+ return response
89
+
42
90
  def get_meeting(self, meetingId: str) -> AstroResult[MeetingDetailsDto]:
43
91
  """
44
92
  Retrieve a Meeting by its unique identifier or by its short ID.
@@ -104,29 +152,6 @@ class MeetingsClient:
104
152
  response.load_error(result)
105
153
  return response
106
154
 
107
- def create_meeting(self, body: MeetingCreateDto) -> AstroResult[MeetingDto]:
108
- """
109
- Creates a new Meeting for the current user. If you specify an
110
- assignee for this Meeting, that user will be assigned to it. If
111
- you do not specify an assignee, the Meeting will be
112
- automatically assigned to you.
113
-
114
- Parameters
115
- ----------
116
- body : MeetingCreateDto
117
- The data used to create the Meeting
118
- """
119
- path = "/api/data/meetings"
120
- queryParams = {}
121
- result = self.client.send_request("POST", path, remove_empty_elements(dataclasses.asdict(body)), queryParams, None)
122
- if result.status_code >= 200 and result.status_code < 300:
123
- data = dacite.from_dict(data_class=MeetingDto, data=json.loads(result.content)['data'])
124
- return AstroResult[MeetingDto](None, True, False, result.status_code, data)
125
- else:
126
- response = AstroResult[MeetingDto](None, False, True, result.status_code, None)
127
- response.load_error(result)
128
- return response
129
-
130
155
  def create_weekly_recurring_meetings(self, meetingId: str, body: WeeklyRecurringSettingsDto) -> AstroResult[RecurringTaskChangeSetDetails]:
131
156
  """
132
157
  Changes an existing Non-Project Task into a Recurring Task, so
@@ -31,6 +31,55 @@ class NptClient:
31
31
  def __init__(self, client: ProjectManagerClient):
32
32
  self.client = client
33
33
 
34
+ def get_npts(self) -> AstroResult[List[NptDto]]:
35
+ """
36
+ Retrieve a list of Non-Project Tasks (NPTs). This endpoint does
37
+ not use OData.
38
+
39
+ Parameters
40
+ ----------
41
+ """
42
+ path = "/api/data/non-project-tasks"
43
+ queryParams = {}
44
+ result = self.client.send_request("GET", path, None, queryParams, None)
45
+ if result.status_code >= 200 and result.status_code < 300:
46
+ data = []
47
+ for dict in json.loads(result.content)['data']:
48
+ data.append(dacite.from_dict(data_class=NptDto, data=dict))
49
+ return AstroResult[List[NptDto]](None, True, False, result.status_code, data)
50
+ else:
51
+ response = AstroResult[List[NptDto]](None, False, True, result.status_code, None)
52
+ response.load_error(result)
53
+ return response
54
+
55
+ def create_npt(self, body: NptCreateDto) -> AstroResult[NptDto]:
56
+ """
57
+ Creates a new Non-Project Task (NPT) for the current user. If
58
+ you specify an assignee for this NPT, that user will be assigned
59
+ to this task. If you do not specify an assignee, the NPT will be
60
+ automatically assigned to you. A Non-Project Task (NPT) is an
61
+ individual element of work that is outside of a project. Many
62
+ people use NPTs to track personal work or general administrative
63
+ work. NPTs have nearly all the same features as other tasks, but
64
+ since they are not part of a project, they can be tracked
65
+ separately by individuals.
66
+
67
+ Parameters
68
+ ----------
69
+ body : NptCreateDto
70
+ The data used to create the Npt
71
+ """
72
+ path = "/api/data/non-project-tasks"
73
+ queryParams = {}
74
+ result = self.client.send_request("POST", path, remove_empty_elements(dataclasses.asdict(body)), queryParams, None)
75
+ if result.status_code >= 200 and result.status_code < 300:
76
+ data = dacite.from_dict(data_class=NptDto, data=json.loads(result.content)['data'])
77
+ return AstroResult[NptDto](None, True, False, result.status_code, data)
78
+ else:
79
+ response = AstroResult[NptDto](None, False, True, result.status_code, None)
80
+ response.load_error(result)
81
+ return response
82
+
34
83
  def get_npt(self, nptId: str) -> AstroResult[NptDetailsDto]:
35
84
  """
36
85
  Retrieve a Non-Project Task (NPT) by its unique identifier or by
@@ -114,31 +163,3 @@ class NptClient:
114
163
  response = AstroResult[object](None, False, True, result.status_code, None)
115
164
  response.load_error(result)
116
165
  return response
117
-
118
- def create_npt(self, body: NptCreateDto) -> AstroResult[NptDto]:
119
- """
120
- Creates a new Non-Project Task (NPT) for the current user. If
121
- you specify an assignee for this NPT, that user will be assigned
122
- to this task. If you do not specify an assignee, the NPT will be
123
- automatically assigned to you. A Non-Project Task (NPT) is an
124
- individual element of work that is outside of a project. Many
125
- people use NPTs to track personal work or general administrative
126
- work. NPTs have nearly all the same features as other tasks, but
127
- since they are not part of a project, they can be tracked
128
- separately by individuals.
129
-
130
- Parameters
131
- ----------
132
- body : NptCreateDto
133
- The data used to create the Npt
134
- """
135
- path = "/api/data/non-project-tasks"
136
- queryParams = {}
137
- result = self.client.send_request("POST", path, remove_empty_elements(dataclasses.asdict(body)), queryParams, None)
138
- if result.status_code >= 200 and result.status_code < 300:
139
- data = dacite.from_dict(data_class=NptDto, data=json.loads(result.content)['data'])
140
- return AstroResult[NptDto](None, True, False, result.status_code, data)
141
- else:
142
- response = AstroResult[NptDto](None, False, True, result.status_code, None)
143
- response.load_error(result)
144
- return response
@@ -0,0 +1,116 @@
1
+ #
2
+ # ProjectManager API for Python
3
+ #
4
+ # (c) ProjectManager.com, Inc.
5
+ #
6
+ # For the full copyright and license information, please view the LICENSE
7
+ # file that was distributed with this source code.
8
+ #
9
+ # @author ProjectManager.com <support@projectmanager.com>
10
+ # @copyright ProjectManager.com, Inc.
11
+ # @link https://github.com/projectmgr/projectmanager-sdk-python
12
+ #
13
+
14
+ from ProjectManagerSdk.models.astroresult import AstroResult
15
+ from ProjectManagerSdk.models.nptstatuscreatedto import NptStatusCreateDto
16
+ from ProjectManagerSdk.models.nptstatusdto import NptStatusDto
17
+ from ProjectManagerSdk.models.nptstatusupdatedto import NptStatusUpdateDto
18
+ from typing import List
19
+ from ProjectManagerSdk.tools import remove_empty_elements
20
+ import dataclasses
21
+ import json
22
+ import dacite
23
+
24
+ class NptStatusClient:
25
+ """
26
+ API methods related to NptStatus
27
+ """
28
+ from ProjectManagerSdk.projectmanagerclient import ProjectManagerClient
29
+
30
+ def __init__(self, client: ProjectManagerClient):
31
+ self.client = client
32
+
33
+ def get_npt_task_statuses(self) -> AstroResult[List[NptStatusDto]]:
34
+ """
35
+ Get a list of task statuses that can be used by non-protect
36
+ tasks.
37
+
38
+ Parameters
39
+ ----------
40
+ """
41
+ path = "/api/data/non-project-tasks/statuses"
42
+ queryParams = {}
43
+ result = self.client.send_request("GET", path, None, queryParams, None)
44
+ if result.status_code >= 200 and result.status_code < 300:
45
+ data = []
46
+ for dict in json.loads(result.content)['data']:
47
+ data.append(dacite.from_dict(data_class=NptStatusDto, data=dict))
48
+ return AstroResult[List[NptStatusDto]](None, True, False, result.status_code, data)
49
+ else:
50
+ response = AstroResult[List[NptStatusDto]](None, False, True, result.status_code, None)
51
+ response.load_error(result)
52
+ return response
53
+
54
+ def create_npt_task_status(self, body: NptStatusCreateDto) -> AstroResult[NptStatusDto]:
55
+ """
56
+ Creates a new status level for non-project tasks.
57
+
58
+ Parameters
59
+ ----------
60
+ body : NptStatusCreateDto
61
+ Information about the new status level to create
62
+ """
63
+ path = "/api/data/non-project-tasks/statuses"
64
+ queryParams = {}
65
+ result = self.client.send_request("POST", path, remove_empty_elements(dataclasses.asdict(body)), queryParams, None)
66
+ if result.status_code >= 200 and result.status_code < 300:
67
+ data = dacite.from_dict(data_class=NptStatusDto, data=json.loads(result.content)['data'])
68
+ return AstroResult[NptStatusDto](None, True, False, result.status_code, data)
69
+ else:
70
+ response = AstroResult[NptStatusDto](None, False, True, result.status_code, None)
71
+ response.load_error(result)
72
+ return response
73
+
74
+ def update_npt_task_status(self, nptStatusId: str, body: NptStatusUpdateDto) -> AstroResult[NptStatusDto]:
75
+ """
76
+ Updates an existing status level for non-project tasks.
77
+
78
+ Parameters
79
+ ----------
80
+ nptStatusId : str
81
+ The unique identifier of the status to update
82
+ body : NptStatusUpdateDto
83
+ Information about the status level to update
84
+ """
85
+ path = f"/api/data/non-project-tasks/statuses/{nptStatusId}"
86
+ queryParams = {}
87
+ result = self.client.send_request("PUT", path, remove_empty_elements(dataclasses.asdict(body)), queryParams, None)
88
+ if result.status_code >= 200 and result.status_code < 300:
89
+ data = dacite.from_dict(data_class=NptStatusDto, data=json.loads(result.content)['data'])
90
+ return AstroResult[NptStatusDto](None, True, False, result.status_code, data)
91
+ else:
92
+ response = AstroResult[NptStatusDto](None, False, True, result.status_code, None)
93
+ response.load_error(result)
94
+ return response
95
+
96
+ def delete_npt_task_status(self, nptStatusId: str) -> AstroResult[object]:
97
+ """
98
+ Deletes an existing status level for non-project tasks. You will
99
+ not be able to delete a status if there are tasks assigned to it
100
+ or if it is the default status level.
101
+
102
+ Parameters
103
+ ----------
104
+ nptStatusId : str
105
+ The unique identifier of the status to delete
106
+ """
107
+ path = f"/api/data/non-project-tasks/statuses/{nptStatusId}"
108
+ queryParams = {}
109
+ result = self.client.send_request("DELETE", path, None, queryParams, None)
110
+ if result.status_code >= 200 and result.status_code < 300:
111
+ data = dacite.from_dict(data_class=object, data=json.loads(result.content)['data'])
112
+ return AstroResult[object](None, True, False, result.status_code, data)
113
+ else:
114
+ response = AstroResult[object](None, False, True, result.status_code, None)
115
+ response.load_error(result)
116
+ return response
@@ -14,6 +14,7 @@
14
14
  from ProjectManagerSdk.models.astroresult import AstroResult
15
15
  from ProjectManagerSdk.models.projectcreatedto import ProjectCreateDto
16
16
  from ProjectManagerSdk.models.projectdto import ProjectDto
17
+ from ProjectManagerSdk.models.projectreopenstatusdto import ProjectReopenStatusDto
17
18
  from ProjectManagerSdk.models.projectupdatedto import ProjectUpdateDto
18
19
  from typing import List
19
20
  from ProjectManagerSdk.tools import remove_empty_elements
@@ -131,11 +132,7 @@ class ProjectClient:
131
132
  towards a goal. Within a Project, Tasks represent individual
132
133
  items of work that team members must complete. The sum total of
133
134
  Tasks within a Project represents the work to be completed for
134
- that Project. Multiple users can be working on data at the same
135
- time. When you call an API to update an object, this call is
136
- converted into a Changeset that is then applied sequentially.
137
- You can use RetrieveChangeset to see the status of an individual
138
- Changeset.
135
+ that Project.
139
136
 
140
137
  Parameters
141
138
  ----------
@@ -184,26 +181,26 @@ class ProjectClient:
184
181
  response.load_error(result)
185
182
  return response
186
183
 
187
- def restore_project(self, projectId: str) -> AstroResult[object]:
184
+ def reopen_project_status(self, projectId: str) -> AstroResult[ProjectReopenStatusDto]:
188
185
  """
189
- Restore a soft deleted project based on its unique identifier. A
190
- Project is a collection of Tasks that contributes towards a
191
- goal. Within a Project, Tasks represent individual items of work
192
- that team members must complete. The sum total of Tasks within a
193
- Project represents the work to be completed for that Project.
186
+ Check if a project is in a valid state so that it can be
187
+ reopened without any side effects. For example, if Rates have
188
+ changed for this project, reopening it will result is project
189
+ costs being recalculated which will adjust costs. This endpoint
190
+ will return what side effects may occur if it is reopened.
194
191
 
195
192
  Parameters
196
193
  ----------
197
194
  projectId : str
198
- The unique identifier of the Project to delete
195
+ The unique identifier of the project to check.
199
196
  """
200
- path = f"/api/data/projects/{projectId}/restore"
197
+ path = f"/api/data/projects/{projectId}/reopen/status"
201
198
  queryParams = {}
202
- result = self.client.send_request("PUT", path, None, queryParams, None)
199
+ result = self.client.send_request("GET", path, None, queryParams, None)
203
200
  if result.status_code >= 200 and result.status_code < 300:
204
- data = dacite.from_dict(data_class=object, data=json.loads(result.content)['data'])
205
- return AstroResult[object](None, True, False, result.status_code, data)
201
+ data = dacite.from_dict(data_class=ProjectReopenStatusDto, data=json.loads(result.content)['data'])
202
+ return AstroResult[ProjectReopenStatusDto](None, True, False, result.status_code, data)
206
203
  else:
207
- response = AstroResult[object](None, False, True, result.status_code, None)
204
+ response = AstroResult[ProjectReopenStatusDto](None, False, True, result.status_code, None)
208
205
  response.load_error(result)
209
206
  return response
@@ -97,18 +97,18 @@ class ResourceSkillClient:
97
97
  response.load_error(result)
98
98
  return response
99
99
 
100
- def update_resource_skill(self, skillId: str, body: UpdateResourceSkillDto) -> AstroResult[ResourceSkillDto]:
100
+ def update_resource_skill(self, resourceSkillId: str, body: UpdateResourceSkillDto) -> AstroResult[ResourceSkillDto]:
101
101
  """
102
102
  Update a Resource Skill.
103
103
 
104
104
  Parameters
105
105
  ----------
106
- skillId : str
106
+ resourceSkillId : str
107
107
  The id of the skill to update.
108
108
  body : UpdateResourceSkillDto
109
109
  The data of the skill to update.
110
110
  """
111
- path = f"/api/data/resources/skills/{skillId}"
111
+ path = f"/api/data/resources/skills/{resourceSkillId}"
112
112
  queryParams = {}
113
113
  result = self.client.send_request("PUT", path, remove_empty_elements(dataclasses.asdict(body)), queryParams, None)
114
114
  if result.status_code >= 200 and result.status_code < 300:
@@ -117,18 +117,18 @@ class ResourceTeamClient:
117
117
  response.load_error(result)
118
118
  return response
119
119
 
120
- def update_resource_team(self, teamresourceId: str, body: UpdateResourceTeamDto) -> AstroResult[ResourceTeamDto]:
120
+ def update_resource_team(self, resourceTeamId: str, body: UpdateResourceTeamDto) -> AstroResult[ResourceTeamDto]:
121
121
  """
122
122
  Update a Resource Team.
123
123
 
124
124
  Parameters
125
125
  ----------
126
- teamresourceId : str
126
+ resourceTeamId : str
127
127
  The id of the resource team
128
128
  body : UpdateResourceTeamDto
129
129
  The name of the team to Update.
130
130
  """
131
- path = f"/api/data/resources/teams/{teamresourceId}"
131
+ path = f"/api/data/resources/teams/{resourceTeamId}"
132
132
  queryParams = {}
133
133
  result = self.client.send_request("PUT", path, remove_empty_elements(dataclasses.asdict(body)), queryParams, None)
134
134
  if result.status_code >= 200 and result.status_code < 300:
@@ -129,7 +129,7 @@ class RiskClient:
129
129
  response.load_error(result)
130
130
  return response
131
131
 
132
- def create_risk(self, projectId: str, body: RiskCreateDto) -> AstroResult[RiskDto]:
132
+ def create_project_risk(self, projectId: str, body: RiskCreateDto) -> AstroResult[RiskDto]:
133
133
  """
134
134
  Creates a new Risk within the specified Project. The Risk will
135
135
  inherit Project context such as access permissions and workspace
@@ -143,7 +143,7 @@ class RiskClient:
143
143
  body : RiskCreateDto
144
144
  The data used to create the Risk
145
145
  """
146
- path = f"/api/data/risks/{projectId}"
146
+ path = f"/api/data/risks/projects/{projectId}"
147
147
  queryParams = {}
148
148
  result = self.client.send_request("POST", path, remove_empty_elements(dataclasses.asdict(body)), queryParams, None)
149
149
  if result.status_code >= 200 and result.status_code < 300:
@@ -0,0 +1,146 @@
1
+ #
2
+ # ProjectManager API for Python
3
+ #
4
+ # (c) ProjectManager.com, Inc.
5
+ #
6
+ # For the full copyright and license information, please view the LICENSE
7
+ # file that was distributed with this source code.
8
+ #
9
+ # @author ProjectManager.com <support@projectmanager.com>
10
+ # @copyright ProjectManager.com, Inc.
11
+ # @link https://github.com/projectmgr/projectmanager-sdk-python
12
+ #
13
+
14
+ from ProjectManagerSdk.models.astroresult import AstroResult
15
+ from ProjectManagerSdk.models.businessroleslistdto import BusinessRolesListDto
16
+ from ProjectManagerSdk.models.rolecreatedto import RoleCreateDto
17
+ from ProjectManagerSdk.models.roledto import RoleDto
18
+ from ProjectManagerSdk.models.roleupdatechangeitemdto import RoleUpdateChangeItemDto
19
+ from typing import List
20
+ from ProjectManagerSdk.tools import remove_empty_elements
21
+ import dataclasses
22
+ import json
23
+ import dacite
24
+
25
+ class SecurityClient:
26
+ """
27
+ API methods related to Security
28
+ """
29
+ from ProjectManagerSdk.projectmanagerclient import ProjectManagerClient
30
+
31
+ def __init__(self, client: ProjectManagerClient):
32
+ self.client = client
33
+
34
+ def list_business_roles(self) -> AstroResult[BusinessRolesListDto]:
35
+ """
36
+ Returns every business role in the current workspace, including
37
+ built-in and custom roles. Each role includes a permissions
38
+ object with entitlement and grant state for the account security
39
+ matrix.
40
+
41
+ Parameters
42
+ ----------
43
+ """
44
+ path = "/api/data/security/businessroles"
45
+ queryParams = {}
46
+ result = self.client.send_request("GET", path, None, queryParams, None)
47
+ if result.status_code >= 200 and result.status_code < 300:
48
+ data = dacite.from_dict(data_class=BusinessRolesListDto, data=json.loads(result.content)['data'])
49
+ return AstroResult[BusinessRolesListDto](None, True, False, result.status_code, data)
50
+ else:
51
+ response = AstroResult[BusinessRolesListDto](None, False, True, result.status_code, None)
52
+ response.load_error(result)
53
+ return response
54
+
55
+ def create_business_role(self, body: RoleCreateDto) -> AstroResult[RoleDto]:
56
+ """
57
+ Chargebee entitlements are evaluated read-only when saving
58
+ permission grants; this call does not change subscription state.
59
+
60
+ Parameters
61
+ ----------
62
+ body : RoleCreateDto
63
+ Role name, optional description, and permission settings for
64
+ the new role.
65
+ """
66
+ path = "/api/data/security/businessroles"
67
+ queryParams = {}
68
+ result = self.client.send_request("POST", path, remove_empty_elements(dataclasses.asdict(body)), queryParams, None)
69
+ if result.status_code >= 200 and result.status_code < 300:
70
+ data = dacite.from_dict(data_class=RoleDto, data=json.loads(result.content)['data'])
71
+ return AstroResult[RoleDto](None, True, False, result.status_code, data)
72
+ else:
73
+ response = AstroResult[RoleDto](None, False, True, result.status_code, None)
74
+ response.load_error(result)
75
+ return response
76
+
77
+ def update_business_role(self, roleId: str, body: List[RoleUpdateChangeItemDto]) -> AstroResult[RoleDto]:
78
+ """
79
+ Send property change sets using the same pattern as other
80
+ workspace batch-update APIs. For permissions, include a
81
+ permissions property with a partial or full permissions object;
82
+ omitted keys are merged with the current role. Keys may use the
83
+ same names as GET `permissions` (e.g. `editUsers`) or RetrieveMe
84
+ / POST-create style (e.g. `editUser`). The response body matches
85
+ create when successful.
86
+
87
+ Parameters
88
+ ----------
89
+ roleId : str
90
+ Business role identifier.
91
+ body : List[RoleUpdateChangeItemDto]
92
+ List of property name and value pairs to apply.
93
+ """
94
+ path = f"/api/data/security/businessroles/{roleId}"
95
+ queryParams = {}
96
+ bodyArray = []
97
+ for item in body:
98
+ bodyArray.append(remove_empty_elements(dataclasses.asdict(item)))
99
+ result = self.client.send_request("PUT", path, bodyArray, queryParams, None)
100
+ if result.status_code >= 200 and result.status_code < 300:
101
+ data = dacite.from_dict(data_class=RoleDto, data=json.loads(result.content)['data'])
102
+ return AstroResult[RoleDto](None, True, False, result.status_code, data)
103
+ else:
104
+ response = AstroResult[RoleDto](None, False, True, result.status_code, None)
105
+ response.load_error(result)
106
+ return response
107
+
108
+ def delete_business_role(self, roleId: str) -> AstroResult[object]:
109
+ """
110
+ Built-in roles cannot be deleted. Users assigned to the role may
111
+ need to be reassigned before the role can be removed.
112
+
113
+ Parameters
114
+ ----------
115
+ roleId : str
116
+ Identifier of the custom role to remove.
117
+ """
118
+ path = f"/api/data/security/businessroles/{roleId}"
119
+ queryParams = {}
120
+ result = self.client.send_request("DELETE", path, None, queryParams, None)
121
+ if result.status_code >= 200 and result.status_code < 300:
122
+ data = dacite.from_dict(data_class=object, data=json.loads(result.content)['data'])
123
+ return AstroResult[object](None, True, False, result.status_code, data)
124
+ else:
125
+ response = AstroResult[object](None, False, True, result.status_code, None)
126
+ response.load_error(result)
127
+ return response
128
+
129
+ def resend_email_validation(self) -> AstroResult[object]:
130
+ """
131
+ Sends another validation email to the authenticated user's
132
+ workspace email address.
133
+
134
+ Parameters
135
+ ----------
136
+ """
137
+ path = "/api/data/security/email/validation/resend"
138
+ queryParams = {}
139
+ result = self.client.send_request("GET", path, None, queryParams, None)
140
+ if result.status_code >= 200 and result.status_code < 300:
141
+ data = dacite.from_dict(data_class=object, data=json.loads(result.content)['data'])
142
+ return AstroResult[object](None, True, False, result.status_code, data)
143
+ else:
144
+ response = AstroResult[object](None, False, True, result.status_code, None)
145
+ response.load_error(result)
146
+ return response
@@ -121,3 +121,23 @@ class TagClient:
121
121
  response = AstroResult[TagDto](None, False, True, result.status_code, None)
122
122
  response.load_error(result)
123
123
  return response
124
+
125
+ def delete_tag(self, tagId: str) -> AstroResult[object]:
126
+ """
127
+ Permanently removes the specified Tag.
128
+
129
+ Parameters
130
+ ----------
131
+ tagId : str
132
+ The id of the tag to delete
133
+ """
134
+ path = f"/api/data/tags/{tagId}"
135
+ queryParams = {}
136
+ result = self.client.send_request("DELETE", path, None, queryParams, None)
137
+ if result.status_code >= 200 and result.status_code < 300:
138
+ data = dacite.from_dict(data_class=object, data=json.loads(result.content)['data'])
139
+ return AstroResult[object](None, True, False, result.status_code, data)
140
+ else:
141
+ response = AstroResult[object](None, False, True, result.status_code, None)
142
+ response.load_error(result)
143
+ return response