< Summary

Information
Class: Api.Works.DTOs.TagQueryDTO
Assembly: Api
File(s): /home/runner/work/ProjectRead.ing/ProjectRead.ing/Api/Works/DTOs/TagDTOs.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 8
Coverable lines: 8
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
 013public record class TagQueryDTO(
 014        string[] TagTypes,
 015        TagSortOption[] SortOptions,
 016        Guid[] WorkIds,
 017        Guid[] TagIds,
 018        [Range(0, 1000)] int PageSize = 30,
 019        [Range(1, int.MaxValue)] int Page = 1
 020        );
 21
 22public enum TagSortOption
 23{
 24    Id,
 25    TagType,
 26    TagName
 27}
 28
 29public record TagGetDTO(
 30        Guid Id,
 31        int RowVersion,
 32        NodaTime.Instant MetadataAddedAt,
 33        NodaTime.Instant MetadataUpdatedAt,
 34
 35        string TagType,
 36        string TagName
 37        ) : IEntityMetadata;
 38
 39[Mapper]
 40public static partial class TagGetDTOMapper
 41{
 42    public static partial IQueryable<TagGetDTO> ProjectToDTO(this IQueryable<WorkTag> q);
 43}