Skip to content

Commit 7139eff

Browse files
authored
Organization integration database / repository logic (#5602)
* Organization integration creation, update, and deletion database logic * Additional procs and entity tweaks * Use check * Couple newlines * Forgot to script the two org procs
1 parent 0d7363c commit 7139eff

17 files changed

+539
-14
lines changed

Diff for: src/Core/AdminConsole/Entities/OrganizationIntegration.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public class OrganizationIntegration : ITableObject<Guid>
1212
public Guid OrganizationId { get; set; }
1313
public IntegrationType Type { get; set; }
1414
public string? Configuration { get; set; }
15-
public DateTime CreationDate { get; set; } = DateTime.UtcNow;
15+
public DateTime CreationDate { get; internal set; } = DateTime.UtcNow;
1616
public DateTime RevisionDate { get; set; } = DateTime.UtcNow;
1717
public void SetNewId() => Id = CoreHelpers.GenerateComb();
1818
}

Diff for: src/Core/AdminConsole/Entities/OrganizationIntegrationConfiguration.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public class OrganizationIntegrationConfiguration : ITableObject<Guid>
1313
public EventType EventType { get; set; }
1414
public string? Configuration { get; set; }
1515
public string? Template { get; set; }
16-
public DateTime CreationDate { get; set; } = DateTime.UtcNow;
16+
public DateTime CreationDate { get; internal set; } = DateTime.UtcNow;
1717
public DateTime RevisionDate { get; set; } = DateTime.UtcNow;
1818
public void SetNewId() => Id = CoreHelpers.GenerateComb();
1919
}

Diff for: src/Infrastructure.EntityFramework/AdminConsole/Configurations/OrganizationIntegrationConfigurationEntityTypeConfiguration.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ public class OrganizationIntegrationConfigurationEntityTypeConfiguration : IEnti
99
public void Configure(EntityTypeBuilder<OrganizationIntegrationConfiguration> builder)
1010
{
1111
builder
12-
.Property(p => p.Id)
12+
.Property(oic => oic.Id)
1313
.ValueGeneratedNever();
1414

1515
builder.ToTable(nameof(OrganizationIntegrationConfiguration));

Diff for: src/Infrastructure.EntityFramework/AdminConsole/Configurations/OrganizationIntegrationEntityTypeConfiguration.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,15 @@ public class OrganizationIntegrationEntityTypeConfiguration : IEntityTypeConfigu
99
public void Configure(EntityTypeBuilder<OrganizationIntegration> builder)
1010
{
1111
builder
12-
.Property(p => p.Id)
12+
.Property(oi => oi.Id)
1313
.ValueGeneratedNever();
1414

1515
builder
16-
.HasIndex(p => p.OrganizationId)
16+
.HasIndex(oi => oi.OrganizationId)
1717
.IsClustered(false);
1818

1919
builder
20-
.HasIndex(p => new { p.OrganizationId, p.Type })
20+
.HasIndex(oi => new { oi.OrganizationId, oi.Type })
2121
.IsUnique()
2222
.IsClustered(false);
2323

Diff for: src/Infrastructure.EntityFramework/AdminConsole/Repositories/OrganizationRepository.cs

+2
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,8 @@ await dbContext.OrganizationUsers.Where(ou => ou.OrganizationId == organization.
199199
.ExecuteDeleteAsync();
200200
await dbContext.ProviderOrganizations.Where(po => po.OrganizationId == organization.Id)
201201
.ExecuteDeleteAsync();
202+
await dbContext.OrganizationIntegrations.Where(oi => oi.OrganizationId == organization.Id)
203+
.ExecuteDeleteAsync();
202204

203205
await dbContext.GroupServiceAccountAccessPolicy.Where(ap => ap.GrantedServiceAccount.OrganizationId == organization.Id)
204206
.ExecuteDeleteAsync();
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
CREATE PROCEDURE [dbo].[OrganizationIntegrationConfiguration_Create]
2+
@Id UNIQUEIDENTIFIER OUTPUT,
3+
@OrganizationIntegrationId UNIQUEIDENTIFIER,
4+
@EventType SMALLINT,
5+
@Configuration VARCHAR(MAX),
6+
@Template VARCHAR(MAX),
7+
@CreationDate DATETIME2(7),
8+
@RevisionDate DATETIME2(7)
9+
AS
10+
BEGIN
11+
SET NOCOUNT ON
12+
13+
INSERT INTO [dbo].[OrganizationIntegrationConfiguration]
14+
(
15+
[Id],
16+
[OrganizationIntegrationId],
17+
[EventType],
18+
[Configuration],
19+
[Template],
20+
[CreationDate],
21+
[RevisionDate]
22+
)
23+
VALUES
24+
(
25+
@Id,
26+
@OrganizationIntegrationId,
27+
@EventType,
28+
@Configuration,
29+
@Template,
30+
@CreationDate,
31+
@RevisionDate
32+
)
33+
END
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
CREATE PROCEDURE [dbo].[OrganizationIntegrationConfiguration_DeleteById]
2+
@Id UNIQUEIDENTIFIER
3+
AS
4+
BEGIN
5+
SET NOCOUNT ON
6+
7+
DELETE
8+
FROM
9+
[dbo].[OrganizationIntegrationConfiguration]
10+
WHERE
11+
[Id] = @Id
12+
END
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
CREATE PROCEDURE [dbo].[OrganizationIntegrationConfiguration_ReadById]
2+
@Id UNIQUEIDENTIFIER
3+
AS
4+
BEGIN
5+
SET NOCOUNT ON
6+
7+
SELECT
8+
*
9+
FROM
10+
[dbo].[OrganizationIntegrationConfiguration]
11+
WHERE
12+
[Id] = @Id
13+
END
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
CREATE PROCEDURE [dbo].[OrganizationIntegrationConfiguration_Update]
2+
@Id UNIQUEIDENTIFIER OUTPUT,
3+
@OrganizationIntegrationId UNIQUEIDENTIFIER,
4+
@EventType SMALLINT,
5+
@Configuration VARCHAR(MAX),
6+
@Template VARCHAR(MAX),
7+
@CreationDate DATETIME2(7),
8+
@RevisionDate DATETIME2(7)
9+
AS
10+
BEGIN
11+
SET NOCOUNT ON
12+
13+
UPDATE
14+
[dbo].[OrganizationIntegrationConfiguration]
15+
SET
16+
[OrganizationIntegrationId] = @OrganizationIntegrationId,
17+
[EventType] = @EventType,
18+
[Configuration] = @Configuration,
19+
[Template] = @Template,
20+
[CreationDate] = @CreationDate,
21+
[RevisionDate] = @RevisionDate
22+
WHERE
23+
[Id] = @Id
24+
END
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
CREATE PROCEDURE [dbo].[OrganizationIntegration_Create]
2+
@Id UNIQUEIDENTIFIER OUTPUT,
3+
@OrganizationId UNIQUEIDENTIFIER,
4+
@Type SMALLINT,
5+
@Configuration VARCHAR(MAX),
6+
@CreationDate DATETIME2(7),
7+
@RevisionDate DATETIME2(7)
8+
AS
9+
BEGIN
10+
SET NOCOUNT ON
11+
12+
INSERT INTO [dbo].[OrganizationIntegration]
13+
(
14+
[Id],
15+
[OrganizationId],
16+
[Type],
17+
[Configuration],
18+
[CreationDate],
19+
[RevisionDate]
20+
)
21+
VALUES
22+
(
23+
@Id,
24+
@OrganizationId,
25+
@Type,
26+
@Configuration,
27+
@CreationDate,
28+
@RevisionDate
29+
)
30+
END
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
CREATE PROCEDURE [dbo].[OrganizationIntegration_DeleteById]
2+
@Id UNIQUEIDENTIFIER
3+
AS
4+
BEGIN
5+
SET NOCOUNT ON
6+
7+
DELETE
8+
FROM
9+
[dbo].[OrganizationIntegration]
10+
WHERE
11+
[Id] = @Id
12+
END
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
CREATE PROCEDURE [dbo].[OrganizationIntegration_OrganizationDeleted]
2+
@OrganizationId UNIQUEIDENTIFIER
3+
AS
4+
BEGIN
5+
SET NOCOUNT ON
6+
7+
DELETE
8+
FROM
9+
[dbo].[OrganizationIntegration]
10+
WHERE
11+
[OrganizationId] = @OrganizationId
12+
END
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
CREATE PROCEDURE [dbo].[OrganizationIntegration_ReadById]
2+
@Id UNIQUEIDENTIFIER
3+
AS
4+
BEGIN
5+
SET NOCOUNT ON
6+
7+
SELECT
8+
*
9+
FROM
10+
[dbo].[OrganizationIntegration]
11+
WHERE
12+
[Id] = @Id
13+
END
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
CREATE PROCEDURE [dbo].[OrganizationIntegration_Update]
2+
@Id UNIQUEIDENTIFIER OUTPUT,
3+
@OrganizationId UNIQUEIDENTIFIER,
4+
@Type SMALLINT,
5+
@Configuration VARCHAR(MAX),
6+
@CreationDate DATETIME2(7),
7+
@RevisionDate DATETIME2(7)
8+
AS
9+
BEGIN
10+
SET NOCOUNT ON
11+
12+
UPDATE
13+
[dbo].[OrganizationIntegration]
14+
SET
15+
[OrganizationId] = @OrganizationId,
16+
[Type] = @Type,
17+
[Configuration] = @Configuration,
18+
[CreationDate] = @CreationDate,
19+
[RevisionDate] = @RevisionDate
20+
WHERE
21+
[Id] = @Id
22+
END

Diff for: src/Sql/dbo/Stored Procedures/Organization_DeleteById.sql

+8-7
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,11 @@ BEGIN
4545
[OrganizationId] = @Id
4646

4747
DELETE CU
48-
FROM
48+
FROM
4949
[dbo].[CollectionUser] CU
50-
INNER JOIN
50+
INNER JOIN
5151
[dbo].[OrganizationUser] OU ON [CU].[OrganizationUserId] = [OU].[Id]
52-
WHERE
52+
WHERE
5353
[OU].[OrganizationId] = @Id
5454

5555
DELETE AP
@@ -69,9 +69,9 @@ BEGIN
6969
[OU].[OrganizationId] = @Id
7070

7171
DELETE
72-
FROM
72+
FROM
7373
[dbo].[OrganizationUser]
74-
WHERE
74+
WHERE
7575
[OrganizationId] = @Id
7676

7777
DELETE
@@ -84,6 +84,7 @@ BEGIN
8484
EXEC [dbo].[OrganizationConnection_OrganizationDeleted] @Id
8585
EXEC [dbo].[OrganizationSponsorship_OrganizationDeleted] @Id
8686
EXEC [dbo].[OrganizationDomain_OrganizationDeleted] @Id
87+
EXEC [dbo].[OrganizationIntegration_OrganizationDeleted] @Id
8788

8889
DELETE
8990
FROM
@@ -128,14 +129,14 @@ BEGIN
128129
[dbo].[Notification] N ON N.[Id] = NS.[NotificationId]
129130
WHERE
130131
N.[OrganizationId] = @Id
131-
132+
132133
-- Delete Notification
133134
DELETE
134135
FROM
135136
[dbo].[Notification]
136137
WHERE
137138
[OrganizationId] = @Id
138-
139+
139140
DELETE
140141
FROM
141142
[dbo].[Organization]

Diff for: src/Sql/dbo/Tables/OrganizationIntegrationConfiguration.sql

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ CREATE TABLE [dbo].[OrganizationIntegrationConfiguration]
88
[CreationDate] DATETIME2 (7) NOT NULL,
99
[RevisionDate] DATETIME2 (7) NOT NULL,
1010
CONSTRAINT [PK_OrganizationIntegrationConfiguration] PRIMARY KEY CLUSTERED ([Id] ASC),
11-
CONSTRAINT [FK_OrganizationIntegrationConfiguration_OrganizationIntegration] FOREIGN KEY ([OrganizationIntegrationId]) REFERENCES [dbo].[OrganizationIntegration] ([Id])
11+
CONSTRAINT [FK_OrganizationIntegrationConfiguration_OrganizationIntegration] FOREIGN KEY ([OrganizationIntegrationId]) REFERENCES [dbo].[OrganizationIntegration] ([Id]) ON DELETE CASCADE
1212
);
1313
GO

0 commit comments

Comments
 (0)