web server
This commit is contained in:
131
web-server/database/03_views.sql
Normal file
131
web-server/database/03_views.sql
Normal file
@@ -0,0 +1,131 @@
|
||||
USE [RobotInstaller];
|
||||
GO
|
||||
|
||||
CREATE OR ALTER VIEW dbo.vw_PackageList
|
||||
AS
|
||||
SELECT
|
||||
p.Id,
|
||||
p.PackageCode,
|
||||
p.PackageName,
|
||||
p.PackageType,
|
||||
p.Description,
|
||||
p.IsActive,
|
||||
p.CreatedAt,
|
||||
p.UpdatedAt,
|
||||
p.CreatedByUserId,
|
||||
u.Username AS CreatedByUsername,
|
||||
latest.Id AS LatestVersionId,
|
||||
latest.Version AS LatestVersion,
|
||||
latest.ReleaseDate AS LatestReleaseDate,
|
||||
latest.FilePath AS LatestFilePath,
|
||||
latest.DockerImage AS LatestDockerImage,
|
||||
version_count.VersionCount
|
||||
FROM dbo.Packages AS p
|
||||
INNER JOIN dbo.Users AS u
|
||||
ON u.Id = p.CreatedByUserId
|
||||
OUTER APPLY
|
||||
(
|
||||
SELECT TOP (1)
|
||||
pv.Id,
|
||||
pv.Version,
|
||||
pv.ReleaseDate,
|
||||
pv.FilePath,
|
||||
pv.DockerImage
|
||||
FROM dbo.PackageVersions AS pv
|
||||
WHERE pv.PackageId = p.Id
|
||||
ORDER BY pv.IsLatest DESC, pv.ReleaseDate DESC, pv.UploadedAt DESC
|
||||
) AS latest
|
||||
OUTER APPLY
|
||||
(
|
||||
SELECT COUNT_BIG(*) AS VersionCount
|
||||
FROM dbo.PackageVersions AS pv
|
||||
WHERE pv.PackageId = p.Id
|
||||
) AS version_count;
|
||||
GO
|
||||
|
||||
CREATE OR ALTER VIEW dbo.vw_PackageVersionList
|
||||
AS
|
||||
SELECT
|
||||
pv.Id,
|
||||
pv.PackageId,
|
||||
p.PackageCode,
|
||||
p.PackageName,
|
||||
p.PackageType,
|
||||
pv.Version,
|
||||
pv.FilePath,
|
||||
pv.DockerImage,
|
||||
pv.FileChecksumSha256,
|
||||
pv.FileSizeBytes,
|
||||
pv.ChangeLog,
|
||||
pv.ReleaseDate,
|
||||
pv.UploadedAt,
|
||||
pv.IsLatest,
|
||||
pv.IsDeprecated
|
||||
FROM dbo.PackageVersions AS pv
|
||||
INNER JOIN dbo.Packages AS p
|
||||
ON p.Id = pv.PackageId;
|
||||
GO
|
||||
|
||||
CREATE OR ALTER VIEW dbo.vw_ApplicationList
|
||||
AS
|
||||
SELECT
|
||||
a.Id,
|
||||
a.AppCode,
|
||||
a.AppName,
|
||||
a.AppVersion,
|
||||
a.Description,
|
||||
a.Status,
|
||||
a.Notes,
|
||||
a.CreatedAt,
|
||||
a.UpdatedAt,
|
||||
a.CreatedByUserId,
|
||||
u.Username AS CreatedByUsername,
|
||||
COUNT_BIG(ap.Id) AS PackageCount
|
||||
FROM dbo.Applications AS a
|
||||
INNER JOIN dbo.Users AS u
|
||||
ON u.Id = a.CreatedByUserId
|
||||
LEFT JOIN dbo.ApplicationPackages AS ap
|
||||
ON ap.ApplicationId = a.Id
|
||||
GROUP BY
|
||||
a.Id,
|
||||
a.AppCode,
|
||||
a.AppName,
|
||||
a.AppVersion,
|
||||
a.Description,
|
||||
a.Status,
|
||||
a.Notes,
|
||||
a.CreatedAt,
|
||||
a.UpdatedAt,
|
||||
a.CreatedByUserId,
|
||||
u.Username;
|
||||
GO
|
||||
|
||||
CREATE OR ALTER VIEW dbo.vw_ApplicationPackageDetails
|
||||
AS
|
||||
SELECT
|
||||
ap.Id,
|
||||
ap.ApplicationId,
|
||||
a.AppCode,
|
||||
a.AppName,
|
||||
a.AppVersion,
|
||||
ap.PackageId,
|
||||
p.PackageCode,
|
||||
p.PackageName,
|
||||
p.PackageType,
|
||||
ap.SelectedVersionId,
|
||||
pv.Version AS SelectedVersion,
|
||||
pv.FilePath,
|
||||
pv.DockerImage,
|
||||
ap.AddedAt,
|
||||
ap.Notes
|
||||
FROM dbo.ApplicationPackages AS ap
|
||||
INNER JOIN dbo.Applications AS a
|
||||
ON a.Id = ap.ApplicationId
|
||||
INNER JOIN dbo.Packages AS p
|
||||
ON p.Id = ap.PackageId
|
||||
LEFT JOIN dbo.PackageVersions AS pv
|
||||
ON pv.Id = ap.SelectedVersionId;
|
||||
GO
|
||||
|
||||
PRINT N'RobotInstaller views were created successfully.';
|
||||
GO
|
||||
Reference in New Issue
Block a user