1
0
mirror of https://github.com/bitwarden/server.git synced 2024-12-02 13:53:23 +01:00
bitwarden-server/src/Core/Services/IOrganizationService.cs

54 lines
3.5 KiB
C#
Raw Normal View History

using System.Threading.Tasks;
using Bit.Core.Models.Business;
2017-03-09 03:45:08 +01:00
using Bit.Core.Models.Table;
using System;
2017-03-10 05:58:43 +01:00
using System.Collections.Generic;
using Bit.Core.Enums;
2017-05-11 20:52:35 +02:00
using Bit.Core.Models.Data;
namespace Bit.Core.Services
{
public interface IOrganizationService
{
2019-02-26 18:45:34 +01:00
Task ReplacePaymentMethodAsync(Guid organizationId, string paymentToken, PaymentMethodType paymentMethodType);
2018-12-31 19:34:02 +01:00
Task CancelSubscriptionAsync(Guid organizationId, bool? endOfPeriod = null);
Task ReinstateSubscriptionAsync(Guid organizationId);
Task<Tuple<bool, string>> UpgradePlanAsync(Guid organizationId, OrganizationUpgrade upgrade);
Task<string> AdjustStorageAsync(Guid organizationId, short storageAdjustmentGb);
Task<string> AdjustSeatsAsync(Guid organizationId, int seatAdjustment);
2017-08-14 15:23:54 +02:00
Task VerifyBankAsync(Guid organizationId, int amount1, int amount2);
Task<Tuple<Organization, OrganizationUser>> SignUpAsync(OrganizationSignup organizationSignup);
2017-08-31 03:25:46 +02:00
Task<Tuple<Organization, OrganizationUser>> SignUpAsync(OrganizationLicense license, User owner,
string ownerKey, string collectionName);
2017-08-15 04:05:37 +02:00
Task UpdateLicenseAsync(Guid organizationId, OrganizationLicense license);
2017-04-11 16:52:28 +02:00
Task DeleteAsync(Organization organization);
Task EnableAsync(Guid organizationId, DateTime? expirationDate);
2017-08-13 04:16:42 +02:00
Task DisableAsync(Guid organizationId, DateTime? expirationDate);
Task UpdateExpirationDateAsync(Guid organizationId, DateTime? expirationDate);
Task EnableAsync(Guid organizationId);
2017-04-11 01:07:38 +02:00
Task UpdateAsync(Organization organization, bool updateBilling = false);
2018-04-03 05:18:26 +02:00
Task UpdateTwoFactorProviderAsync(Organization organization, TwoFactorProviderType type);
Task DisableTwoFactorProviderAsync(Organization organization, TwoFactorProviderType type);
2017-12-12 19:21:15 +01:00
Task<OrganizationUser> InviteUserAsync(Guid organizationId, Guid? invitingUserId, string email,
2017-05-16 06:11:21 +02:00
OrganizationUserType type, bool accessAll, string externalId, IEnumerable<SelectionReadOnly> collections);
2020-02-19 20:56:16 +01:00
Task<List<OrganizationUser>> InviteUserAsync(Guid organizationId, Guid? invitingUserId,
IEnumerable<string> emails, OrganizationUserType type, bool accessAll, string externalId,
IEnumerable<SelectionReadOnly> collections);
2019-10-07 22:23:38 +02:00
Task ResendInviteAsync(Guid organizationId, Guid? invitingUserId, Guid organizationUserId);
2020-02-19 20:56:16 +01:00
Task<OrganizationUser> AcceptUserAsync(Guid organizationUserId, User user, string token,
IUserService userService);
Task<OrganizationUser> ConfirmUserAsync(Guid organizationId, Guid organizationUserId, string key,
Guid confirmingUserId, IUserService userService);
2019-03-06 05:24:14 +01:00
Task SaveUserAsync(OrganizationUser user, Guid? savingUserId, IEnumerable<SelectionReadOnly> collections);
2017-12-12 19:21:15 +01:00
Task DeleteUserAsync(Guid organizationId, Guid organizationUserId, Guid? deletingUserId);
2017-04-12 16:07:27 +02:00
Task DeleteUserAsync(Guid organizationId, Guid userId);
Task UpdateUserGroupsAsync(OrganizationUser organizationUser, IEnumerable<Guid> groupIds);
Task<OrganizationLicense> GenerateLicenseAsync(Guid organizationId, Guid installationId);
Task<OrganizationLicense> GenerateLicenseAsync(Organization organization, Guid installationId);
2017-05-16 06:11:21 +02:00
Task ImportAsync(Guid organizationId, Guid importingUserId, IEnumerable<ImportedGroup> groups,
2019-05-07 03:31:20 +02:00
IEnumerable<ImportedOrganizationUser> newUsers, IEnumerable<string> removeUserExternalIds,
bool overwriteExisting);
2019-03-04 15:52:43 +01:00
Task RotateApiKeyAsync(Organization organization);
}
}