Coverage for api/serializers/project.py: 100.00%

157 statements  

« prev     ^ index     » next       coverage.py v7.8.0, created at 2025-06-06 22:17 +0000

1from rest_framework import serializers 

2 

3from project.models.git_repository import GitRepository, GitRepositoryData 

4from project.models.issue_type import BuiltInIssueType, CustomIssueType 

5from project.models.issue import Issue 

6from project.models.priority import BuiltInIssuePriority, CustomIssuePriority, CustomIssuePriorityData 

7from project.models.project import Project, ProjectData 

8from project.models.status import BuiltInIssueStatus, CustomIssueStatus, CustomIssueStatusData 

9from project.models.severity import BuiltInIssueSeverity, CustomIssueSeverity, CustomIssueSeverityData 

10from project.models.component import Component, ComponentData 

11from project.models.version import Version, VersionData 

12 

13from .core import DeletedModelDataSerializer 

14from .user import CoreUserSerializer 

15 

16 

17class GitRepositoryDataSerializer(serializers.HyperlinkedModelSerializer): 

18 class Meta: 

19 model = GitRepositoryData 

20 fields = [ 

21 'id', 

22 'created_by', 

23 'created_on', 

24 'deleted', 

25 'name', 

26 'description', 

27 'url' 

28 ] 

29 

30 created_by = CoreUserSerializer() 

31 deleted = DeletedModelDataSerializer() 

32 

33 

34class GitRepositorySerializer(serializers.HyperlinkedModelSerializer): 

35 class Meta: 

36 model = GitRepository 

37 fields = [ 

38 'id', 

39 'created_by', 

40 'created_on', 

41 'deleted', 

42 'current' 

43 ] 

44 

45 created_by = CoreUserSerializer() 

46 deleted = DeletedModelDataSerializer() 

47 current = GitRepositoryDataSerializer() 

48 

49 

50class BuiltInIssuePrioritySerializer(serializers.HyperlinkedModelSerializer): 

51 class Meta: 

52 model = BuiltInIssuePriority 

53 fields = [ 

54 'id', 

55 'created_by', 

56 'created_on', 

57 'deleted', 

58 'name', 

59 'description' 

60 ] 

61 

62 created_by = CoreUserSerializer() 

63 deleted = DeletedModelDataSerializer() 

64 

65 

66class BuiltInIssueSeveritySerializer(serializers.HyperlinkedModelSerializer): 

67 class Meta: 

68 model = BuiltInIssueSeverity 

69 fields = [ 

70 'id', 

71 'created_by', 

72 'created_on', 

73 'deleted', 

74 'name', 

75 'description' 

76 ] 

77 

78 created_by = CoreUserSerializer() 

79 deleted = DeletedModelDataSerializer() 

80 

81 

82class BuiltInIssueStatusSerializer(serializers.HyperlinkedModelSerializer): 

83 class Meta: 

84 model = BuiltInIssueStatus 

85 fields = [ 

86 'id', 

87 'created_by', 

88 'created_on', 

89 'deleted', 

90 'name', 

91 'description' 

92 ] 

93 

94 created_by = CoreUserSerializer() 

95 deleted = DeletedModelDataSerializer() 

96 

97 

98class BuiltInIssueTypeSerializer(serializers.HyperlinkedModelSerializer): 

99 class Meta: 

100 model = BuiltInIssueType 

101 fields = [ 

102 'id', 

103 'created_by', 

104 'created_on', 

105 'deleted', 

106 'type', 

107 'description' 

108 ] 

109 

110 created_by = CoreUserSerializer() 

111 deleted = DeletedModelDataSerializer() 

112 

113 

114class ComponentDataSerializer(serializers.HyperlinkedModelSerializer): 

115 class Meta: 

116 model = ComponentData 

117 fields = [ 

118 'id', 

119 'created_by', 

120 'created_on', 

121 'deleted', 

122 'name', 

123 'description', 

124 'label', 

125 'is_active' 

126 ] 

127 

128 created_by = CoreUserSerializer() 

129 deleted = DeletedModelDataSerializer() 

130 

131 

132class CustomIssuePriorityDataSerializer(serializers.HyperlinkedModelSerializer): 

133 class Meta: 

134 model = CustomIssuePriorityData 

135 fields = [ 

136 'id', 

137 'created_by', 

138 'created_on', 

139 'deleted', 

140 'name', 

141 'description' 

142 ] 

143 

144 created_by = CoreUserSerializer() 

145 deleted = DeletedModelDataSerializer() 

146 

147 

148class CustomIssuePrioritySerializer(serializers.HyperlinkedModelSerializer): 

149 class Meta: 

150 model = CustomIssuePriority 

151 fields = [ 

152 'id', 

153 'created_by', 

154 'created_on', 

155 'deleted', 

156 'current' 

157 ] 

158 

159 created_by = CoreUserSerializer() 

160 deleted = DeletedModelDataSerializer() 

161 current = CustomIssuePriorityDataSerializer() 

162 

163 

164class CustomIssueSeverityDataSerializer(serializers.HyperlinkedModelSerializer): 

165 class Meta: 

166 model = CustomIssueSeverityData 

167 fields = [ 

168 'id', 

169 'created_by', 

170 'created_on', 

171 'deleted', 

172 'name', 

173 'description' 

174 ] 

175 

176 created_by = CoreUserSerializer() 

177 deleted = DeletedModelDataSerializer() 

178 

179 

180class CustomIssueSeveritySerializer(serializers.HyperlinkedModelSerializer): 

181 class Meta: 

182 model = CustomIssueSeverity 

183 fields = [ 

184 'id', 

185 'created_by', 

186 'created_on', 

187 'deleted', 

188 'current' 

189 ] 

190 

191 created_by = CoreUserSerializer() 

192 deleted = DeletedModelDataSerializer() 

193 current = CustomIssueSeverityDataSerializer() 

194 

195 

196class CustomIssueStatusDataSerializer(serializers.HyperlinkedModelSerializer): 

197 class Meta: 

198 model = CustomIssueStatusData 

199 fields = [ 

200 'id', 

201 'created_by', 

202 'created_on', 

203 'deleted', 

204 'name', 

205 'description' 

206 ] 

207 

208 created_by = CoreUserSerializer() 

209 deleted = DeletedModelDataSerializer() 

210 

211 

212class CustomIssueStatusSerializer(serializers.HyperlinkedModelSerializer): 

213 class Meta: 

214 model = CustomIssueStatus 

215 fields = [ 

216 'id', 

217 'created_by', 

218 'created_on', 

219 'deleted', 

220 'current' 

221 ] 

222 

223 created_by = CoreUserSerializer() 

224 deleted = DeletedModelDataSerializer() 

225 current = CustomIssueStatusDataSerializer() 

226 

227 

228class CustomIssueTypeDataSerializer(serializers.HyperlinkedModelSerializer): 

229 class Meta: 

230 model = CustomIssueType 

231 fields = [ 

232 'id', 

233 'created_by', 

234 'created_on', 

235 'deleted', 

236 'name', 

237 'description' 

238 ] 

239 

240 created_by = CoreUserSerializer() 

241 deleted = DeletedModelDataSerializer() 

242 

243 

244class CustomIssueTypeSerializer(serializers.HyperlinkedModelSerializer): 

245 class Meta: 

246 model = CustomIssueType 

247 fields = [ 

248 'id', 

249 'created_by', 

250 'created_on', 

251 'deleted', 

252 'current' 

253 ] 

254 

255 created_by = CoreUserSerializer() 

256 deleted = DeletedModelDataSerializer() 

257 current = CustomIssueTypeDataSerializer() 

258 

259 

260class IssueDataSerializer(serializers.HyperlinkedModelSerializer): 

261 class Meta: 

262 model = Issue 

263 fields = [ 

264 'id', 

265 'created_by', 

266 'created_on', 

267 'deleted', 

268 'summary', 

269 'description' 

270 ] 

271 

272 created_by = CoreUserSerializer() 

273 deleted = DeletedModelDataSerializer() 

274 

275 

276class IssueSerializer(serializers.HyperlinkedModelSerializer): 

277 class Meta: 

278 model = Issue 

279 fields = [ 

280 'id', 

281 'created_by', 

282 'created_on', 

283 'deleted', 

284 'current' 

285 ] # TODO: add all the issue fields 

286 

287 created_by = CoreUserSerializer() 

288 deleted = DeletedModelDataSerializer() 

289 current = IssueDataSerializer() 

290 

291 

292class ProjectDataSerializer(serializers.HyperlinkedModelSerializer): 

293 class Meta: 

294 model = ProjectData 

295 fields = [ 

296 'id', 

297 'created_by', 

298 'created_on', 

299 'deleted', 

300 'name', 

301 'description', 

302 'start_date', 

303 'end_date', 

304 'is_active', 

305 'is_private', 

306 ] 

307 

308 created_by = CoreUserSerializer() 

309 deleted = DeletedModelDataSerializer() 

310 

311 

312class ProjectSerializer(serializers.HyperlinkedModelSerializer): 

313 class Meta: 

314 model = Project 

315 fields = [ 

316 'id', 

317 'created_by', 

318 'created_on', 

319 'deleted', 

320 'current', 

321 'git_repositories', 

322 'users', 

323 ] 

324 

325 created_by = CoreUserSerializer() 

326 deleted = DeletedModelDataSerializer() 

327 current = ProjectDataSerializer() 

328 git_repositories = GitRepositorySerializer(many=True) 

329 users = CoreUserSerializer(many=True) 

330 

331 

332class VersionDataSerializer(serializers.HyperlinkedModelSerializer): 

333 class Meta: 

334 model = VersionData 

335 fields = [ 

336 'id', 

337 'created_by', 

338 'created_on', 

339 'deleted', 

340 'name', 

341 'description', 

342 'release_date', 

343 'is_active', 

344 ] 

345 

346 created_by = CoreUserSerializer() 

347 deleted = DeletedModelDataSerializer() 

348 

349 

350class VersionSerializer(serializers.HyperlinkedModelSerializer): 

351 class Meta: 

352 model = Version 

353 fields = [ 

354 'id', 

355 'created_by', 

356 'created_on', 

357 'deleted', 

358 'current', 

359 'project' 

360 ] 

361 

362 created_by = CoreUserSerializer() 

363 deleted = DeletedModelDataSerializer() 

364 current = VersionDataSerializer() 

365 project = ProjectSerializer() 

366 

367 

368class ComponentSerializer(serializers.HyperlinkedModelSerializer): 

369 class Meta: 

370 model = Component 

371 fields = [ 

372 'id', 

373 'created_by', 

374 'created_on', 

375 'deleted', 

376 'current', 

377 'project' 

378 ] 

379 

380 created_by = CoreUserSerializer() 

381 deleted = DeletedModelDataSerializer() 

382 current = ComponentDataSerializer() 

383 project = ProjectSerializer()