-- Add UseInviteLinks column to Organization table
IF COL_LENGTH('[dbo].[Organization]', 'UseInviteLinks') IS NULL
BEGIN
    ALTER TABLE [dbo].[Organization]
    ADD [UseInviteLinks] BIT NOT NULL CONSTRAINT [DF_Organization_UseInviteLinks] DEFAULT (0);
END
GO

-- Update Organization_Create stored procedure to include UseInviteLinks
CREATE OR ALTER PROCEDURE [dbo].[Organization_Create]
    @Id UNIQUEIDENTIFIER OUTPUT,
    @Identifier NVARCHAR(50),
    @Name NVARCHAR(50),
    @BusinessName NVARCHAR(50),
    @BusinessAddress1 NVARCHAR(50),
    @BusinessAddress2 NVARCHAR(50),
    @BusinessAddress3 NVARCHAR(50),
    @BusinessCountry VARCHAR(2),
    @BusinessTaxNumber NVARCHAR(30),
    @BillingEmail NVARCHAR(256),
    @Plan NVARCHAR(50),
    @PlanType TINYINT,
    @Seats INT,
    @MaxCollections SMALLINT,
    @UsePolicies BIT,
    @UseSso BIT,
    @UseGroups BIT,
    @UseDirectory BIT,
    @UseEvents BIT,
    @UseTotp BIT,
    @Use2fa BIT,
    @UseApi BIT,
    @UseResetPassword BIT,
    @SelfHost BIT,
    @UsersGetPremium BIT,
    @Storage BIGINT,
    @MaxStorageGb SMALLINT,
    @Gateway TINYINT,
    @GatewayCustomerId VARCHAR(50),
    @GatewaySubscriptionId VARCHAR(50),
    @ReferenceData VARCHAR(MAX),
    @Enabled BIT,
    @LicenseKey VARCHAR(100),
    @PublicKey VARCHAR(MAX),
    @PrivateKey VARCHAR(MAX),
    @TwoFactorProviders NVARCHAR(MAX),
    @ExpirationDate DATETIME2(7),
    @CreationDate DATETIME2(7),
    @RevisionDate DATETIME2(7),
    @OwnersNotifiedOfAutoscaling DATETIME2(7),
    @MaxAutoscaleSeats INT,
    @UseKeyConnector BIT = 0,
    @UseScim BIT = 0,
    @UseCustomPermissions BIT = 0,
    @UseSecretsManager BIT = 0,
    @Status TINYINT = 0,
    @UsePasswordManager BIT = 1,
    @SmSeats INT = null,
    @SmServiceAccounts INT = null,
    @MaxAutoscaleSmSeats INT= null,
    @MaxAutoscaleSmServiceAccounts INT = null,
    @SecretsManagerBeta BIT = 0,
    @LimitCollectionCreation BIT = NULL,
    @LimitCollectionDeletion BIT = NULL,
    @AllowAdminAccessToAllCollectionItems BIT = 0,
    @UseRiskInsights BIT = 0,
    @LimitItemDeletion BIT = 0,
    @UseOrganizationDomains BIT = 0,
    @UseAdminSponsoredFamilies BIT = 0,
    @SyncSeats BIT = 0,
    @UseAutomaticUserConfirmation BIT = 0,
    @UsePhishingBlocker BIT = 0,
    @UseDisableSmAdsForUsers BIT = 0,
    @UseMyItems BIT = 0,
    @ExemptFromBillingAutomation BIT = 0,
    @UseInviteLinks BIT = 0
AS
BEGIN
    SET NOCOUNT ON

    INSERT INTO [dbo].[Organization]
    (
        [Id],
        [Identifier],
        [Name],
        [BusinessName],
        [BusinessAddress1],
        [BusinessAddress2],
        [BusinessAddress3],
        [BusinessCountry],
        [BusinessTaxNumber],
        [BillingEmail],
        [Plan],
        [PlanType],
        [Seats],
        [MaxCollections],
        [UsePolicies],
        [UseSso],
        [UseGroups],
        [UseDirectory],
        [UseEvents],
        [UseTotp],
        [Use2fa],
        [UseApi],
        [UseResetPassword],
        [SelfHost],
        [UsersGetPremium],
        [Storage],
        [MaxStorageGb],
        [Gateway],
        [GatewayCustomerId],
        [GatewaySubscriptionId],
        [ReferenceData],
        [Enabled],
        [LicenseKey],
        [PublicKey],
        [PrivateKey],
        [TwoFactorProviders],
        [ExpirationDate],
        [CreationDate],
        [RevisionDate],
        [OwnersNotifiedOfAutoscaling],
        [MaxAutoscaleSeats],
        [UseKeyConnector],
        [UseScim],
        [UseCustomPermissions],
        [UseSecretsManager],
        [Status],
        [UsePasswordManager],
        [SmSeats],
        [SmServiceAccounts],
        [MaxAutoscaleSmSeats],
        [MaxAutoscaleSmServiceAccounts],
        [SecretsManagerBeta],
        [LimitCollectionCreation],
        [LimitCollectionDeletion],
        [AllowAdminAccessToAllCollectionItems],
        [UseRiskInsights],
        [LimitItemDeletion],
        [UseOrganizationDomains],
        [UseAdminSponsoredFamilies],
        [SyncSeats],
        [UseAutomaticUserConfirmation],
        [UsePhishingBlocker],
        [MaxStorageGbIncreased],
        [UseDisableSmAdsForUsers],
        [UseMyItems],
        [ExemptFromBillingAutomation],
        [UseInviteLinks]
    )
    VALUES
        (
            @Id,
            @Identifier,
            @Name,
            @BusinessName,
            @BusinessAddress1,
            @BusinessAddress2,
            @BusinessAddress3,
            @BusinessCountry,
            @BusinessTaxNumber,
            @BillingEmail,
            @Plan,
            @PlanType,
            @Seats,
            @MaxCollections,
            @UsePolicies,
            @UseSso,
            @UseGroups,
            @UseDirectory,
            @UseEvents,
            @UseTotp,
            @Use2fa,
            @UseApi,
            @UseResetPassword,
            @SelfHost,
            @UsersGetPremium,
            @Storage,
            @MaxStorageGb,
            @Gateway,
            @GatewayCustomerId,
            @GatewaySubscriptionId,
            @ReferenceData,
            @Enabled,
            @LicenseKey,
            @PublicKey,
            @PrivateKey,
            @TwoFactorProviders,
            @ExpirationDate,
            @CreationDate,
            @RevisionDate,
            @OwnersNotifiedOfAutoscaling,
            @MaxAutoscaleSeats,
            @UseKeyConnector,
            @UseScim,
            @UseCustomPermissions,
            @UseSecretsManager,
            @Status,
            @UsePasswordManager,
            @SmSeats,
            @SmServiceAccounts,
            @MaxAutoscaleSmSeats,
            @MaxAutoscaleSmServiceAccounts,
            @SecretsManagerBeta,
            @LimitCollectionCreation,
            @LimitCollectionDeletion,
            @AllowAdminAccessToAllCollectionItems,
            @UseRiskInsights,
            @LimitItemDeletion,
            @UseOrganizationDomains,
            @UseAdminSponsoredFamilies,
            @SyncSeats,
            @UseAutomaticUserConfirmation,
            @UsePhishingBlocker,
            @MaxStorageGb,
            @UseDisableSmAdsForUsers,
            @UseMyItems,
            @ExemptFromBillingAutomation,
            @UseInviteLinks
        );
END
GO

-- Update Organization_Update stored procedure to include UseInviteLinks
CREATE OR ALTER PROCEDURE [dbo].[Organization_Update]
    @Id UNIQUEIDENTIFIER,
    @Identifier NVARCHAR(50),
    @Name NVARCHAR(50),
    @BusinessName NVARCHAR(50),
    @BusinessAddress1 NVARCHAR(50),
    @BusinessAddress2 NVARCHAR(50),
    @BusinessAddress3 NVARCHAR(50),
    @BusinessCountry VARCHAR(2),
    @BusinessTaxNumber NVARCHAR(30),
    @BillingEmail NVARCHAR(256),
    @Plan NVARCHAR(50),
    @PlanType TINYINT,
    @Seats INT,
    @MaxCollections SMALLINT,
    @UsePolicies BIT,
    @UseSso BIT,
    @UseGroups BIT,
    @UseDirectory BIT,
    @UseEvents BIT,
    @UseTotp BIT,
    @Use2fa BIT,
    @UseApi BIT,
    @UseResetPassword BIT,
    @SelfHost BIT,
    @UsersGetPremium BIT,
    @Storage BIGINT,
    @MaxStorageGb SMALLINT,
    @Gateway TINYINT,
    @GatewayCustomerId VARCHAR(50),
    @GatewaySubscriptionId VARCHAR(50),
    @ReferenceData VARCHAR(MAX),
    @Enabled BIT,
    @LicenseKey VARCHAR(100),
    @PublicKey VARCHAR(MAX),
    @PrivateKey VARCHAR(MAX),
    @TwoFactorProviders NVARCHAR(MAX),
    @ExpirationDate DATETIME2(7),
    @CreationDate DATETIME2(7),
    @RevisionDate DATETIME2(7),
    @OwnersNotifiedOfAutoscaling DATETIME2(7),
    @MaxAutoscaleSeats INT,
    @UseKeyConnector BIT = 0,
    @UseScim BIT = 0,
    @UseCustomPermissions BIT = 0,
    @UseSecretsManager BIT = 0,
    @Status TINYINT = 0,
    @UsePasswordManager BIT = 1,
    @SmSeats INT = null,
    @SmServiceAccounts INT = null,
    @MaxAutoscaleSmSeats INT = null,
    @MaxAutoscaleSmServiceAccounts INT = null,
    @SecretsManagerBeta BIT = 0,
    @LimitCollectionCreation BIT = null,
    @LimitCollectionDeletion BIT = null,
    @AllowAdminAccessToAllCollectionItems BIT = 0,
    @UseRiskInsights BIT = 0,
    @LimitItemDeletion BIT = 0,
    @UseOrganizationDomains BIT = 0,
    @UseAdminSponsoredFamilies BIT = 0,
    @SyncSeats BIT = 0,
    @UseAutomaticUserConfirmation BIT = 0,
    @UsePhishingBlocker BIT = 0,
    @UseDisableSmAdsForUsers BIT = 0,
    @UseMyItems BIT = 0,
    @ExemptFromBillingAutomation BIT = 0,
    @UseInviteLinks BIT = 0
AS
BEGIN
    SET NOCOUNT ON

    UPDATE
        [dbo].[Organization]
    SET
        [Identifier] = @Identifier,
        [Name] = @Name,
        [BusinessName] = @BusinessName,
        [BusinessAddress1] = @BusinessAddress1,
        [BusinessAddress2] = @BusinessAddress2,
        [BusinessAddress3] = @BusinessAddress3,
        [BusinessCountry] = @BusinessCountry,
        [BusinessTaxNumber] = @BusinessTaxNumber,
        [BillingEmail] = @BillingEmail,
        [Plan] = @Plan,
        [PlanType] = @PlanType,
        [Seats] = @Seats,
        [MaxCollections] = @MaxCollections,
        [UsePolicies] = @UsePolicies,
        [UseSso] = @UseSso,
        [UseGroups] = @UseGroups,
        [UseDirectory] = @UseDirectory,
        [UseEvents] = @UseEvents,
        [UseTotp] = @UseTotp,
        [Use2fa] = @Use2fa,
        [UseApi] = @UseApi,
        [UseResetPassword] = @UseResetPassword,
        [SelfHost] = @SelfHost,
        [UsersGetPremium] = @UsersGetPremium,
        [Storage] = @Storage,
        [MaxStorageGb] = @MaxStorageGb,
        [Gateway] = @Gateway,
        [GatewayCustomerId] = @GatewayCustomerId,
        [GatewaySubscriptionId] = @GatewaySubscriptionId,
        [ReferenceData] = @ReferenceData,
        [Enabled] = @Enabled,
        [LicenseKey] = @LicenseKey,
        [PublicKey] = @PublicKey,
        [PrivateKey] = @PrivateKey,
        [TwoFactorProviders] = @TwoFactorProviders,
        [ExpirationDate] = @ExpirationDate,
        [CreationDate] = @CreationDate,
        [RevisionDate] = @RevisionDate,
        [OwnersNotifiedOfAutoscaling] = @OwnersNotifiedOfAutoscaling,
        [MaxAutoscaleSeats] = @MaxAutoscaleSeats,
        [UseKeyConnector] = @UseKeyConnector,
        [UseScim] = @UseScim,
        [UseCustomPermissions] = @UseCustomPermissions,
        [UseSecretsManager] = @UseSecretsManager,
        [Status] = @Status,
        [UsePasswordManager] = @UsePasswordManager,
        [SmSeats] = @SmSeats,
        [SmServiceAccounts] = @SmServiceAccounts,
        [MaxAutoscaleSmSeats] = @MaxAutoscaleSmSeats,
        [MaxAutoscaleSmServiceAccounts] = @MaxAutoscaleSmServiceAccounts,
        [SecretsManagerBeta] = @SecretsManagerBeta,
        [LimitCollectionCreation] = @LimitCollectionCreation,
        [LimitCollectionDeletion] = @LimitCollectionDeletion,
        [AllowAdminAccessToAllCollectionItems] = @AllowAdminAccessToAllCollectionItems,
        [UseRiskInsights] = @UseRiskInsights,
        [LimitItemDeletion] = @LimitItemDeletion,
        [UseOrganizationDomains] = @UseOrganizationDomains,
        [UseAdminSponsoredFamilies] = @UseAdminSponsoredFamilies,
        [SyncSeats] = @SyncSeats,
        [UseAutomaticUserConfirmation] = @UseAutomaticUserConfirmation,
        [UsePhishingBlocker] = @UsePhishingBlocker,
        [MaxStorageGbIncreased] = @MaxStorageGb,
        [UseDisableSmAdsForUsers] = @UseDisableSmAdsForUsers,
        [UseMyItems] = @UseMyItems,
        [ExemptFromBillingAutomation] = @ExemptFromBillingAutomation,
        [UseInviteLinks] = @UseInviteLinks
    WHERE
        [Id] = @Id;
END
GO

-- Update Organization_ReadAbilities stored procedure to include UseInviteLinks
CREATE OR ALTER PROCEDURE [dbo].[Organization_ReadAbilities]
AS
BEGIN
    SET NOCOUNT ON

    SELECT
        [Id],
        [UseEvents],
        [Use2fa],
        CASE
        WHEN [Use2fa] = 1 AND [TwoFactorProviders] IS NOT NULL AND [TwoFactorProviders] != '{}' THEN
            1
        ELSE
            0
        END AS [Using2fa],
        [UsersGetPremium],
        [UseCustomPermissions],
        [UseSso],
        [UseKeyConnector],
        [UseScim],
        [UseResetPassword],
        [UsePolicies],
        [Enabled],
        [LimitCollectionCreation],
        [LimitCollectionDeletion],
        [AllowAdminAccessToAllCollectionItems],
        [UseRiskInsights],
        [LimitItemDeletion],
        [UseOrganizationDomains],
        [UseAdminSponsoredFamilies],
        [UseAutomaticUserConfirmation],
        [UsePhishingBlocker],
        [UseDisableSmAdsForUsers],
        [UseMyItems],
        [UseInviteLinks]
    FROM
        [dbo].[Organization]
END
GO

-- Update OrganizationView to include UseInviteLinks
CREATE OR ALTER VIEW [dbo].[OrganizationView]
AS
SELECT
    [Id],
    [Identifier],
    [Name],
    [BusinessName],
    [BusinessAddress1],
    [BusinessAddress2],
    [BusinessAddress3],
    [BusinessCountry],
    [BusinessTaxNumber],
    [BillingEmail],
    [Plan],
    [PlanType],
    [Seats],
    [MaxCollections],
    [UsePolicies],
    [UseSso],
    [UseGroups],
    [UseDirectory],
    [UseEvents],
    [UseTotp],
    [Use2fa],
    [UseApi],
    [UseResetPassword],
    [SelfHost],
    [UsersGetPremium],
    [Storage],
    COALESCE([MaxStorageGbIncreased], [MaxStorageGb]) AS [MaxStorageGb],
    [Gateway],
    [GatewayCustomerId],
    [GatewaySubscriptionId],
    [ReferenceData],
    [Enabled],
    [LicenseKey],
    [PublicKey],
    [PrivateKey],
    [TwoFactorProviders],
    [ExpirationDate],
    [CreationDate],
    [RevisionDate],
    [OwnersNotifiedOfAutoscaling],
    [MaxAutoscaleSeats],
    [UseKeyConnector],
    [UseScim],
    [UseCustomPermissions],
    [UseSecretsManager],
    [Status],
    [UsePasswordManager],
    [SmSeats],
    [SmServiceAccounts],
    [MaxAutoscaleSmSeats],
    [MaxAutoscaleSmServiceAccounts],
    [SecretsManagerBeta],
    [LimitCollectionCreation],
    [LimitCollectionDeletion],
    [LimitItemDeletion],
    [AllowAdminAccessToAllCollectionItems],
    [UseRiskInsights],
    [UseOrganizationDomains],
    [UseAdminSponsoredFamilies],
    [SyncSeats],
    [UseAutomaticUserConfirmation],
    [UsePhishingBlocker],
    [UseDisableSmAdsForUsers],
    [UseMyItems],
    [ExemptFromBillingAutomation],
    [UseInviteLinks]
FROM
    [dbo].[Organization]
GO

-- Update OrganizationAbilityView to include UseInviteLinks
CREATE OR ALTER VIEW [dbo].[OrganizationAbilityView]
AS
SELECT
    [Id],
    [UseEvents],
    [Use2fa],
    IIF([Use2fa] = 1 AND [TwoFactorProviders] IS NOT NULL AND [TwoFactorProviders] != '{}', 1, 0) AS [Using2fa],
    [UsersGetPremium],
    [Enabled],
    [UseSso],
    [UseKeyConnector],
    [UseScim],
    [UseResetPassword],
    [UseCustomPermissions],
    [UsePolicies],
    [LimitCollectionCreation],
    [LimitCollectionDeletion],
    [LimitItemDeletion],
    [AllowAdminAccessToAllCollectionItems],
    [UseRiskInsights],
    [UseOrganizationDomains],
    [UseAdminSponsoredFamilies],
    [UseAutomaticUserConfirmation],
    [UseDisableSmAdsForUsers],
    [UsePhishingBlocker],
    [UseMyItems],
    [UseInviteLinks]
FROM
    [dbo].[Organization]
GO

-- Update OrganizationUserOrganizationDetailsView to include UseInviteLinks
CREATE OR ALTER VIEW [dbo].[OrganizationUserOrganizationDetailsView]
AS
SELECT
    OU.[UserId],
    OU.[OrganizationId],
    OU.[Id] OrganizationUserId,
    O.[Name],
    O.[Enabled],
    O.[PlanType],
    O.[UsePolicies],
    O.[UseSso],
    O.[UseKeyConnector],
    O.[UseScim],
    O.[UseGroups],
    O.[UseDirectory],
    O.[UseEvents],
    O.[UseTotp],
    O.[Use2fa],
    O.[UseApi],
    O.[UseResetPassword],
    O.[SelfHost],
    O.[UsersGetPremium],
    O.[UseCustomPermissions],
    O.[UseSecretsManager],
    O.[Seats],
    O.[MaxCollections],
    COALESCE(O.[MaxStorageGbIncreased], O.[MaxStorageGb]) AS [MaxStorageGb],
    O.[Identifier],
    OU.[Key],
    OU.[ResetPasswordKey],
    O.[PublicKey],
    O.[PrivateKey],
    OU.[Status],
    OU.[Type],
    SU.[ExternalId] SsoExternalId,
    OU.[Permissions],
    PO.[ProviderId],
    P.[Name] ProviderName,
    P.[Type] ProviderType,
    SS.[Enabled] SsoEnabled,
    SS.[Data] SsoConfig,
    OS.[FriendlyName] FamilySponsorshipFriendlyName,
    OS.[LastSyncDate] FamilySponsorshipLastSyncDate,
    OS.[ToDelete] FamilySponsorshipToDelete,
    OS.[ValidUntil] FamilySponsorshipValidUntil,
    OU.[AccessSecretsManager],
    O.[UsePasswordManager],
    O.[SmSeats],
    O.[SmServiceAccounts],
    O.[LimitCollectionCreation],
    O.[LimitCollectionDeletion],
    O.[AllowAdminAccessToAllCollectionItems],
    O.[UseRiskInsights],
    O.[LimitItemDeletion],
    O.[UseAdminSponsoredFamilies],
    O.[UseOrganizationDomains],
    OS.[IsAdminInitiated],
    O.[UseAutomaticUserConfirmation],
    O.[UsePhishingBlocker],
    O.[UseDisableSmAdsForUsers],
    O.[UseMyItems],
    O.[UseInviteLinks],
    OU.[RevocationReason]
FROM
    [dbo].[OrganizationUser] OU
LEFT JOIN
    [dbo].[Organization] O ON O.[Id] = OU.[OrganizationId]
LEFT JOIN
    [dbo].[SsoUser] SU ON SU.[UserId] = OU.[UserId] AND SU.[OrganizationId] = OU.[OrganizationId]
LEFT JOIN
    [dbo].[ProviderOrganization] PO ON PO.[OrganizationId] = O.[Id]
LEFT JOIN
    [dbo].[Provider] P ON P.[Id] = PO.[ProviderId]
LEFT JOIN
    [dbo].[SsoConfig] SS ON SS.[OrganizationId] = OU.[OrganizationId]
LEFT JOIN
    [dbo].[OrganizationSponsorship] OS ON OS.[SponsoringOrganizationUserID] = OU.[Id]
GO

-- Update ProviderUserProviderOrganizationDetailsView to include UseInviteLinks
CREATE OR ALTER VIEW [dbo].[ProviderUserProviderOrganizationDetailsView]
AS
SELECT
    PU.[UserId],
    PO.[OrganizationId],
    O.[Name],
    O.[Enabled],
    O.[UsePolicies],
    O.[UseSso],
    O.[UseKeyConnector],
    O.[UseScim],
    O.[UseGroups],
    O.[UseDirectory],
    O.[UseEvents],
    O.[UseTotp],
    O.[Use2fa],
    O.[UseApi],
    O.[UseResetPassword],
    O.[UseSecretsManager],
    O.[UsePasswordManager],
    O.[SelfHost],
    O.[UsersGetPremium],
    O.[UseCustomPermissions],
    O.[Seats],
    O.[MaxCollections],
    COALESCE(O.[MaxStorageGbIncreased], O.[MaxStorageGb]) AS [MaxStorageGb],
    O.[Identifier],
    PO.[Key],
    O.[PublicKey],
    O.[PrivateKey],
    PU.[Status],
    PU.[Type],
    PO.[ProviderId],
    PU.[Id] ProviderUserId,
    P.[Name] ProviderName,
    O.[PlanType],
    O.[LimitCollectionCreation],
    O.[LimitCollectionDeletion],
    O.[AllowAdminAccessToAllCollectionItems],
    O.[UseRiskInsights],
    O.[UseAdminSponsoredFamilies],
    P.[Type] ProviderType,
    O.[LimitItemDeletion],
    O.[UseOrganizationDomains],
    O.[UseAutomaticUserConfirmation],
    SS.[Enabled] SsoEnabled,
    SS.[Data] SsoConfig,
    O.[UsePhishingBlocker],
    O.[UseDisableSmAdsForUsers],
    O.[UseMyItems],
    O.[UseInviteLinks]
FROM
    [dbo].[ProviderUser] PU
INNER JOIN
    [dbo].[ProviderOrganization] PO ON PO.[ProviderId] = PU.[ProviderId]
INNER JOIN
    [dbo].[Organization] O ON O.[Id] = PO.[OrganizationId]
INNER JOIN
    [dbo].[Provider] P ON P.[Id] = PU.[ProviderId]
LEFT JOIN
    [dbo].[SsoConfig] SS ON SS.[OrganizationId] = O.[Id]
GO

-- Refresh dependent views
EXEC sp_refreshview '[dbo].[OrganizationCipherDetailsCollectionsView]';
GO

EXEC sp_refreshview '[dbo].[ProviderOrganizationOrganizationDetailsView]';
GO

EXEC sp_refreshview '[dbo].[UserPremiumAccessView]';
GO

-- Update Organization_ReadManyByIds to include UseInviteLinks
CREATE OR ALTER PROCEDURE [dbo].[Organization_ReadManyByIds] @OrganizationIds AS [dbo].[GuidIdArray] READONLY
AS
BEGIN
    SET NOCOUNT ON

    SELECT o.[Id],
           o.[Identifier],
           o.[Name],
           o.[BusinessName],
           o.[BusinessAddress1],
           o.[BusinessAddress2],
           o.[BusinessAddress3],
           o.[BusinessCountry],
           o.[BusinessTaxNumber],
           o.[BillingEmail],
           o.[Plan],
           o.[PlanType],
           o.[Seats],
           o.[MaxCollections],
           o.[UsePolicies],
           o.[UseSso],
           o.[UseGroups],
           o.[UseDirectory],
           o.[UseEvents],
           o.[UseTotp],
           o.[Use2fa],
           o.[UseApi],
           o.[UseResetPassword],
           o.[SelfHost],
           o.[UsersGetPremium],
           o.[Storage],
           o.[MaxStorageGb],
           o.[Gateway],
           o.[GatewayCustomerId],
           o.[GatewaySubscriptionId],
           o.[ReferenceData],
           o.[Enabled],
           o.[LicenseKey],
           o.[PublicKey],
           o.[PrivateKey],
           o.[TwoFactorProviders],
           o.[ExpirationDate],
           o.[CreationDate],
           o.[RevisionDate],
           o.[OwnersNotifiedOfAutoscaling],
           o.[MaxAutoscaleSeats],
           o.[UseKeyConnector],
           o.[UseScim],
           o.[UseCustomPermissions],
           o.[UseSecretsManager],
           o.[Status],
           o.[UsePasswordManager],
           o.[SmSeats],
           o.[SmServiceAccounts],
           o.[MaxAutoscaleSmSeats],
           o.[MaxAutoscaleSmServiceAccounts],
           o.[SecretsManagerBeta],
           o.[LimitCollectionCreation],
           o.[LimitCollectionDeletion],
           o.[LimitItemDeletion],
           o.[AllowAdminAccessToAllCollectionItems],
           o.[UseRiskInsights],
           o.[UseInviteLinks]
    FROM [dbo].[OrganizationView] o
    INNER JOIN @OrganizationIds ids ON o.[Id] = ids.[Id]
END
GO
