astral-api/Astral.Services/Interfaces/IUserGroupService.cs

33 lines
1.2 KiB
C#
Raw Permalink Normal View History

2024-12-11 21:36:30 +01:00
// <copyright file="IUserGroupService.cs" company="alveus.dev">
// Copyright (c) alveus.dev. All rights reserved. Licensed under the MIT License.
// </copyright>
using Astral.Core.Entities;
using Astral.Services.Dtos;
namespace Astral.Services.Interfaces;
/// <summary>
/// <see cref="UserGroup" /> service.
/// </summary>
public interface IUserGroupService
{
/// <summary>
/// Create a new user group.
/// </summary>
/// <param name="ownerUserId">The id of the owner <see cref="User" />.</param>
/// <param name="title">The title of the new group.</param>
/// <param name="description">The description of the new group.</param>
/// <returns>The new user group dto.</returns>
Task<UserGroupDto> CreateUserGroup(Guid ownerUserId, string title, string description);
/// <summary>
/// Create a new internal user group.
/// </summary>
/// <param name="ownerUserId">The id of the owner <see cref="User" />.</param>
/// <param name="title">The title of the new group.</param>
/// <param name="description">The description of the new group.</param>
/// <returns>The new user group dto.</returns>
Task<UserGroupDto> CreateInternalGroup(Guid ownerUserId, string title, string description);
}