32 lines
1.2 KiB
C#
32 lines
1.2 KiB
C#
// <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);
|
|
}
|