mirror of
https://github.com/bitwarden/server.git
synced 2025-05-22 20:11:04 -05:00

* Extract OrganizationService.SignupClientAsync into new ResellerClientOrganizationSignUpCommand * Refactor ResellerClientOrganizationSignUpCommand to remove unused dependencies and simplify SignupClientAsync method signature * Add unit tests for ResellerClientOrganizationSignUpCommand * Rename SignUpProviderClientOrganizationCommand * Rename ProviderClientOrganizationSignUpCommand * Register ProviderClientOrganizationSignUpCommand for dependency injection * Refactor ProviderService to use IProviderClientOrganizationSignUpCommand for organization signup process * Refactor error handling in ProviderClientOrganizationSignUpCommand to use constants for error messages * Remove SignupClientAsync method from IOrganizationService and OrganizationService, along with associated unit tests
55 lines
3.7 KiB
C#
55 lines
3.7 KiB
C#
using System.Security.Claims;
|
|
using Bit.Core.AdminConsole.Entities;
|
|
using Bit.Core.AdminConsole.Models.Business;
|
|
using Bit.Core.Auth.Enums;
|
|
using Bit.Core.Entities;
|
|
using Bit.Core.Enums;
|
|
using Bit.Core.Models.Business;
|
|
using Bit.Core.Models.Data;
|
|
|
|
namespace Bit.Core.Services;
|
|
|
|
public interface IOrganizationService
|
|
{
|
|
Task CancelSubscriptionAsync(Guid organizationId, bool? endOfPeriod = null);
|
|
Task ReinstateSubscriptionAsync(Guid organizationId);
|
|
Task<string> AdjustStorageAsync(Guid organizationId, short storageAdjustmentGb);
|
|
Task UpdateSubscription(Guid organizationId, int seatAdjustment, int? maxAutoscaleSeats);
|
|
Task AutoAddSeatsAsync(Organization organization, int seatsToAdd);
|
|
Task<string> AdjustSeatsAsync(Guid organizationId, int seatAdjustment);
|
|
Task VerifyBankAsync(Guid organizationId, int amount1, int amount2);
|
|
/// <summary>
|
|
/// Create a new organization on a self-hosted instance
|
|
/// </summary>
|
|
Task<(Organization organization, OrganizationUser organizationUser)> SignUpAsync(OrganizationLicense license, User owner,
|
|
string ownerKey, string collectionName, string publicKey, string privateKey);
|
|
Task UpdateExpirationDateAsync(Guid organizationId, DateTime? expirationDate);
|
|
Task UpdateAsync(Organization organization, bool updateBilling = false, EventType eventType = EventType.Organization_Updated);
|
|
Task UpdateTwoFactorProviderAsync(Organization organization, TwoFactorProviderType type);
|
|
Task DisableTwoFactorProviderAsync(Organization organization, TwoFactorProviderType type);
|
|
Task<OrganizationUser> InviteUserAsync(Guid organizationId, Guid? invitingUserId, EventSystemUser? systemUser,
|
|
OrganizationUserInvite invite, string externalId);
|
|
Task<List<OrganizationUser>> InviteUsersAsync(Guid organizationId, Guid? invitingUserId, EventSystemUser? systemUser,
|
|
IEnumerable<(OrganizationUserInvite invite, string externalId)> invites);
|
|
Task<IEnumerable<Tuple<OrganizationUser, string>>> ResendInvitesAsync(Guid organizationId, Guid? invitingUserId, IEnumerable<Guid> organizationUsersId);
|
|
Task ResendInviteAsync(Guid organizationId, Guid? invitingUserId, Guid organizationUserId, bool initOrganization = false);
|
|
Task UpdateUserResetPasswordEnrollmentAsync(Guid organizationId, Guid userId, string resetPasswordKey, Guid? callingUserId);
|
|
Task ImportAsync(Guid organizationId, IEnumerable<ImportedGroup> groups,
|
|
IEnumerable<ImportedOrganizationUser> newUsers, IEnumerable<string> removeUserExternalIds,
|
|
bool overwriteExisting, EventSystemUser eventSystemUser);
|
|
Task DeleteSsoUserAsync(Guid userId, Guid? organizationId);
|
|
Task RevokeUserAsync(OrganizationUser organizationUser, Guid? revokingUserId);
|
|
Task RevokeUserAsync(OrganizationUser organizationUser, EventSystemUser systemUser);
|
|
Task<List<Tuple<OrganizationUser, string>>> RevokeUsersAsync(Guid organizationId,
|
|
IEnumerable<Guid> organizationUserIds, Guid? revokingUserId);
|
|
Task CreatePendingOrganization(Organization organization, string ownerEmail, ClaimsPrincipal user, IUserService userService, bool salesAssistedTrialStarted);
|
|
Task ReplaceAndUpdateCacheAsync(Organization org, EventType? orgEvent = null);
|
|
Task<(bool canScale, string failureReason)> CanScaleAsync(Organization organization, int seatsToAdd);
|
|
|
|
void ValidatePasswordManagerPlan(Models.StaticStore.Plan plan, OrganizationUpgrade upgrade);
|
|
void ValidateSecretsManagerPlan(Models.StaticStore.Plan plan, OrganizationUpgrade upgrade);
|
|
Task ValidateOrganizationUserUpdatePermissions(Guid organizationId, OrganizationUserType newType,
|
|
OrganizationUserType? oldType, Permissions permissions);
|
|
Task ValidateOrganizationCustomPermissionsEnabledAsync(Guid organizationId, OrganizationUserType newType);
|
|
}
|