< Summary

Information
Class: Api.Works.DTOs.TagGetDTO
Assembly: Api
File(s): /home/runner/work/ProjectRead.ing/ProjectRead.ing/Api/Works/DTOs/TagDTOs.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 9
Coverable lines: 9
Total lines: 43
Line coverage: 0%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%210%

File(s)

/home/runner/work/ProjectRead.ing/ProjectRead.ing/Api/Works/DTOs/TagDTOs.cs

#LineLine coverage
 1// SPDX-FileCopyrightText: 2026 Alper Çelik <[email protected]>
 2//
 3// SPDX-License-Identifier: AGPL-3.0-or-later
 4
 5using System.ComponentModel.DataAnnotations;
 6
 7using Api.Works.Models;
 8
 9using Riok.Mapperly.Abstractions;
 10
 11namespace Api.Works.DTOs;
 12
 13public record class TagQueryDTO(
 14        string[] TagTypes,
 15        TagSortOption[] SortOptions,
 16        Guid[] WorkIds,
 17        Guid[] TagIds,
 18        [Range(0, 1000)] int PageSize = 30,
 19        [Range(1, int.MaxValue)] int Page = 1
 20        );
 21
 22public enum TagSortOption
 23{
 24    Id,
 25    TagType,
 26    TagName
 27}
 28
 029public record TagGetDTO(
 030        Guid Id,
 031        int RowVersion,
 032        NodaTime.Instant MetadataAddedAt,
 033        NodaTime.Instant MetadataUpdatedAt,
 034
 035        string TagType,
 036        string TagName
 037        ) : IEntityMetadata;
 38
 39[Mapper]
 40public static partial class TagGetDTOMapper
 41{
 42    public static partial IQueryable<TagGetDTO> ProjectToDTO(this IQueryable<WorkTag> q);
 43}