Review fixes

Signed-off-by: Émile Ré <nemile.re@gmail.com>
This commit is contained in:
Émile Ré
2025-12-11 14:51:16 +01:00
parent 78d7207403
commit 5c41a5bdb1
3 changed files with 418 additions and 418 deletions

View File

@@ -1,6 +1,6 @@
import { Column, Row, Text } from '@react-email/components'; import { Text } from '@react-email/components';
import * as React from 'react'; import * as React from 'react';
import EmailLayout, { bodyText, footerText } from './components/EmailLayout'; import EmailLayout, { bodyText } from './components/EmailLayout';
export const TrustCenterDocumentAccessRejected = () => { export const TrustCenterDocumentAccessRejected = () => {
return ( return (

View File

@@ -132,22 +132,22 @@ func (p *Document) LoadByIDWithFilter(
filter *DocumentFilter, filter *DocumentFilter,
) error { ) error {
q := ` q := `
SELECT SELECT
id, id,
organization_id, organization_id,
owner_id, owner_id,
title, title,
document_type, document_type,
classification, classification,
current_published_version, current_published_version,
trust_center_visibility, trust_center_visibility,
created_at, created_at,
updated_at updated_at
FROM FROM
documents documents
WHERE WHERE
%s %s
AND deleted_at IS NULL AND deleted_at IS NULL
AND id = @document_id AND id = @document_id
AND %s AND %s
LIMIT 1; LIMIT 1;
@@ -186,22 +186,22 @@ func (p *Documents) LoadByIDs(
) error { ) error {
q := ` q := `
SELECT SELECT
id, id,
organization_id, organization_id,
owner_id, owner_id,
title, title,
document_type, document_type,
classification, classification,
current_published_version, current_published_version,
trust_center_visibility, trust_center_visibility,
created_at, created_at,
updated_at updated_at
FROM FROM
documents documents
WHERE WHERE
%s %s
AND deleted_at IS NULL AND deleted_at IS NULL
AND id = ANY(@document_ids) AND id = ANY(@document_ids)
` `
q = fmt.Sprintf(q, scope.SQLFragment()) q = fmt.Sprintf(q, scope.SQLFragment())

View File

@@ -77,20 +77,20 @@ func (tcda *TrustCenterDocumentAccess) LoadByID(
) error { ) error {
q := ` q := `
SELECT SELECT
id, id,
organization_id, organization_id,
trust_center_access_id, trust_center_access_id,
document_id, document_id,
report_id, report_id,
trust_center_file_id, trust_center_file_id,
status, status,
created_at, created_at,
updated_at updated_at
FROM FROM
trust_center_document_accesses trust_center_document_accesses
WHERE WHERE
%s %s
AND id = @access_id AND id = @access_id
LIMIT 1; LIMIT 1;
` `
@@ -126,21 +126,21 @@ func (tcda *TrustCenterDocumentAccess) LoadByTrustCenterAccessIDAndDocumentID(
) error { ) error {
q := ` q := `
SELECT SELECT
id, id,
organization_id, organization_id,
trust_center_access_id, trust_center_access_id,
document_id, document_id,
report_id, report_id,
trust_center_file_id, trust_center_file_id,
status, status,
created_at, created_at,
updated_at updated_at
FROM FROM
trust_center_document_accesses trust_center_document_accesses
WHERE WHERE
%s %s
AND trust_center_access_id = @trust_center_access_id AND trust_center_access_id = @trust_center_access_id
AND document_id = @document_id AND document_id = @document_id
LIMIT 1; LIMIT 1;
` `
@@ -176,21 +176,21 @@ func (tcda *TrustCenterDocumentAccess) LoadByTrustCenterAccessIDAndReportID(
) error { ) error {
q := ` q := `
SELECT SELECT
id, id,
organization_id, organization_id,
trust_center_access_id, trust_center_access_id,
document_id, document_id,
report_id, report_id,
trust_center_file_id, trust_center_file_id,
status, status,
created_at, created_at,
updated_at updated_at
FROM FROM
trust_center_document_accesses trust_center_document_accesses
WHERE WHERE
%s %s
AND trust_center_access_id = @trust_center_access_id AND trust_center_access_id = @trust_center_access_id
AND report_id = @report_id AND report_id = @report_id
LIMIT 1; LIMIT 1;
` `
@@ -224,27 +224,27 @@ func (tcda *TrustCenterDocumentAccess) Insert(
) error { ) error {
q := ` q := `
INSERT INTO trust_center_document_accesses ( INSERT INTO trust_center_document_accesses (
id, id,
tenant_id, tenant_id,
organization_id, organization_id,
trust_center_access_id, trust_center_access_id,
document_id, document_id,
report_id, report_id,
trust_center_file_id, trust_center_file_id,
status, status,
created_at, created_at,
updated_at updated_at
) VALUES ( ) VALUES (
@id, @id,
@tenant_id, @tenant_id,
@organization_id, @organization_id,
@trust_center_access_id, @trust_center_access_id,
@document_id, @document_id,
@report_id, @report_id,
@trust_center_file_id, @trust_center_file_id,
@status::trust_center_document_access_status, @status::trust_center_document_access_status,
@created_at, @created_at,
@updated_at @updated_at
) )
` `
@@ -295,11 +295,11 @@ func (tcda *TrustCenterDocumentAccess) Update(
) error { ) error {
q := ` q := `
UPDATE trust_center_document_accesses SET UPDATE trust_center_document_accesses SET
status = @status::trust_center_document_access_status, status = @status::trust_center_document_access_status,
updated_at = @updated_at updated_at = @updated_at
WHERE WHERE
%s %s
AND id = @id AND id = @id
` `
q = fmt.Sprintf(q, scope.SQLFragment()) q = fmt.Sprintf(q, scope.SQLFragment())
@@ -327,8 +327,8 @@ func (tcda *TrustCenterDocumentAccess) Delete(
q := ` q := `
DELETE FROM trust_center_document_accesses DELETE FROM trust_center_document_accesses
WHERE WHERE
%s %s
AND id = @id AND id = @id
` `
q = fmt.Sprintf(q, scope.SQLFragment()) q = fmt.Sprintf(q, scope.SQLFragment())
@@ -354,12 +354,12 @@ func (tcdas *TrustCenterDocumentAccesses) CountByTrustCenterAccessID(
) (int, error) { ) (int, error) {
q := ` q := `
SELECT SELECT
COUNT(id) COUNT(id)
FROM FROM
trust_center_document_accesses trust_center_document_accesses
WHERE WHERE
%s %s
AND trust_center_access_id = @trust_center_access_id AND trust_center_access_id = @trust_center_access_id
` `
q = fmt.Sprintf(q, scope.SQLFragment()) q = fmt.Sprintf(q, scope.SQLFragment())
@@ -387,14 +387,14 @@ func (tcdas *TrustCenterDocumentAccesses) CountPendingRequestByTrustCenterAccess
) (int, error) { ) (int, error) {
q := ` q := `
SELECT SELECT
COUNT(id) COUNT(id)
FROM FROM
trust_center_document_accesses trust_center_document_accesses
WHERE WHERE
%s %s
AND trust_center_access_id = @trust_center_access_id AND trust_center_access_id = @trust_center_access_id
AND requested = true AND requested = true
AND status = 'REQUESTED'::trust_center_document_access_status AND status = 'REQUESTED'::trust_center_document_access_status
` `
q = fmt.Sprintf(q, scope.SQLFragment()) q = fmt.Sprintf(q, scope.SQLFragment())
@@ -422,13 +422,13 @@ func (tcdas *TrustCenterDocumentAccesses) CountActiveByTrustCenterAccessID(
) (int, error) { ) (int, error) {
q := ` q := `
SELECT SELECT
COUNT(id) COUNT(id)
FROM FROM
trust_center_document_accesses trust_center_document_accesses
WHERE WHERE
%s %s
AND trust_center_access_id = @trust_center_access_id AND trust_center_access_id = @trust_center_access_id
AND status = 'GRANTED'::trust_center_document_access_status AND status = 'GRANTED'::trust_center_document_access_status
` `
q = fmt.Sprintf(q, scope.SQLFragment()) q = fmt.Sprintf(q, scope.SQLFragment())
@@ -457,92 +457,92 @@ func (tcdas *TrustCenterDocumentAccesses) LoadAvailableByTrustCenterAccessID(
) error { ) error {
q := ` q := `
WITH organization AS ( WITH organization AS (
SELECT tc.organization_id SELECT tc.organization_id
FROM trust_center_accesses tca FROM trust_center_accesses tca
INNER JOIN trust_centers tc ON tca.trust_center_id = tc.id INNER JOIN trust_centers tc ON tca.trust_center_id = tc.id
WHERE tca.tenant_id = @tenant_id WHERE tca.tenant_id = @tenant_id
AND tca.id = @trust_center_access_id AND tca.id = @trust_center_access_id
), ),
tenant_organization AS ( tenant_organization AS (
SELECT o.id AS organization_id SELECT o.id AS organization_id
FROM organizations o FROM organizations o
WHERE %s WHERE %s
), ),
all_items AS ( all_items AS (
SELECT SELECT
d.id AS item_id, d.id AS item_id,
d.id AS document_id, d.id AS document_id,
NULL::text AS report_id, NULL::text AS report_id,
NULL::text AS trust_center_file_id, NULL::text AS trust_center_file_id,
d.created_at AS item_created_at, d.created_at AS item_created_at,
d.updated_at AS item_updated_at d.updated_at AS item_updated_at
FROM documents d, tenant_organization o FROM documents d, tenant_organization o
WHERE d.organization_id = o.organization_id WHERE d.organization_id = o.organization_id
AND d.deleted_at IS NULL AND d.deleted_at IS NULL
AND d.trust_center_visibility = 'PRIVATE'::trust_center_visibility AND d.trust_center_visibility = 'PRIVATE'::trust_center_visibility
UNION ALL UNION ALL
SELECT SELECT
r.report_id AS item_id, r.report_id AS item_id,
NULL::text AS document_id, NULL::text AS document_id,
r.report_id AS report_id, r.report_id AS report_id,
NULL::text AS trust_center_file_id, NULL::text AS trust_center_file_id,
r.created_at AS item_created_at, r.created_at AS item_created_at,
r.updated_at AS item_updated_at r.updated_at AS item_updated_at
FROM audits r, tenant_organization o FROM audits r, tenant_organization o
WHERE r.organization_id = o.organization_id WHERE r.organization_id = o.organization_id
AND r.trust_center_visibility = 'PRIVATE'::trust_center_visibility AND r.trust_center_visibility = 'PRIVATE'::trust_center_visibility
AND r.report_id IS NOT NULL AND r.report_id IS NOT NULL
UNION ALL UNION ALL
SELECT SELECT
tcf.id AS item_id, tcf.id AS item_id,
NULL::text AS document_id, NULL::text AS document_id,
NULL::text AS report_id, NULL::text AS report_id,
tcf.id AS trust_center_file_id, tcf.id AS trust_center_file_id,
tcf.created_at AS item_created_at, tcf.created_at AS item_created_at,
tcf.updated_at AS item_updated_at tcf.updated_at AS item_updated_at
FROM trust_center_files tcf, tenant_organization o FROM trust_center_files tcf, tenant_organization o
WHERE tcf.organization_id = o.organization_id WHERE tcf.organization_id = o.organization_id
AND ( AND (
tcf.trust_center_visibility = 'PRIVATE'::trust_center_visibility tcf.trust_center_visibility = 'PRIVATE'::trust_center_visibility
OR tcf.trust_center_visibility = 'NONE'::trust_center_visibility OR tcf.trust_center_visibility = 'NONE'::trust_center_visibility
) )
), ),
final_items AS ( final_items AS (
SELECT SELECT
COALESCE(tcda.id, ai.item_id) AS id, COALESCE(tcda.id, ai.item_id) AS id,
tcda.tenant_id, tcda.tenant_id,
(SELECT organization_id FROM organization) AS organization_id, (SELECT organization_id FROM organization) AS organization_id,
@trust_center_access_id AS trust_center_access_id, @trust_center_access_id AS trust_center_access_id,
ai.document_id, ai.document_id,
ai.report_id, ai.report_id,
ai.trust_center_file_id, ai.trust_center_file_id,
COALESCE(tcda.status, 'REQUESTED'::trust_center_document_access_status) AS status, COALESCE(tcda.status, 'REQUESTED'::trust_center_document_access_status) AS status,
COALESCE(tcda.created_at, ai.item_created_at) AS created_at, COALESCE(tcda.created_at, ai.item_created_at) AS created_at,
COALESCE(tcda.updated_at, ai.item_updated_at) AS updated_at COALESCE(tcda.updated_at, ai.item_updated_at) AS updated_at
FROM all_items ai FROM all_items ai
LEFT JOIN trust_center_document_accesses tcda ON ( LEFT JOIN trust_center_document_accesses tcda ON (
tcda.trust_center_access_id = @trust_center_access_id tcda.trust_center_access_id = @trust_center_access_id
AND ( AND (
(tcda.document_id = ai.document_id AND ai.document_id IS NOT NULL) (tcda.document_id = ai.document_id AND ai.document_id IS NOT NULL)
OR (tcda.report_id = ai.report_id AND ai.report_id IS NOT NULL) OR (tcda.report_id = ai.report_id AND ai.report_id IS NOT NULL)
OR (tcda.trust_center_file_id = ai.trust_center_file_id AND ai.trust_center_file_id IS NOT NULL) OR (tcda.trust_center_file_id = ai.trust_center_file_id AND ai.trust_center_file_id IS NOT NULL)
) )
) )
) )
SELECT SELECT
id, id,
organization_id, organization_id,
trust_center_access_id, trust_center_access_id,
document_id, document_id,
report_id, report_id,
trust_center_file_id, trust_center_file_id,
status, status,
created_at, created_at,
updated_at updated_at
FROM final_items FROM final_items
WHERE %s WHERE %s
` `
@@ -578,20 +578,20 @@ func (tcdas *TrustCenterDocumentAccesses) LoadAllByTrustCenterAccessID(
) error { ) error {
q := ` q := `
SELECT SELECT
id, id,
organization_id, organization_id,
trust_center_access_id, trust_center_access_id,
document_id, document_id,
report_id, report_id,
trust_center_file_id, trust_center_file_id,
status, status,
created_at, created_at,
updated_at updated_at
FROM FROM
trust_center_document_accesses trust_center_document_accesses
WHERE WHERE
%s %s
AND trust_center_access_id = @trust_center_access_id AND trust_center_access_id = @trust_center_access_id
ORDER BY id ASC ORDER BY id ASC
` `
@@ -629,9 +629,9 @@ func GrantByDocumentIDs(
UPDATE trust_center_document_accesses UPDATE trust_center_document_accesses
SET status = 'GRANTED'::trust_center_document_access_status, updated_at = @updated_at SET status = 'GRANTED'::trust_center_document_access_status, updated_at = @updated_at
WHERE WHERE
%s %s
AND trust_center_access_id = @trust_center_access_id AND trust_center_access_id = @trust_center_access_id
AND document_id = ANY(@document_ids) AND document_id = ANY(@document_ids)
` `
q = fmt.Sprintf(q, scope.SQLFragment()) q = fmt.Sprintf(q, scope.SQLFragment())
@@ -662,15 +662,15 @@ func RejectOrRevokeByDocumentIDs(
q := ` q := `
UPDATE trust_center_document_accesses UPDATE trust_center_document_accesses
SET SET
status = CASE status = CASE
WHEN status = 'GRANTED'::trust_center_document_access_status THEN 'REVOKED'::trust_center_document_access_status WHEN status = 'GRANTED'::trust_center_document_access_status THEN 'REVOKED'::trust_center_document_access_status
ELSE 'REJECTED'::trust_center_document_access_status ELSE 'REJECTED'::trust_center_document_access_status
END, END,
updated_at = @updated_at updated_at = @updated_at
WHERE WHERE
%s %s
AND trust_center_access_id = @trust_center_access_id AND trust_center_access_id = @trust_center_access_id
AND document_id = ANY(@document_ids) AND document_id = ANY(@document_ids)
` `
q = fmt.Sprintf(q, scope.SQLFragment()) q = fmt.Sprintf(q, scope.SQLFragment())
@@ -702,9 +702,9 @@ func GrantByReportIDs(
UPDATE trust_center_document_accesses UPDATE trust_center_document_accesses
SET status = 'GRANTED'::trust_center_document_access_status, updated_at = @updated_at SET status = 'GRANTED'::trust_center_document_access_status, updated_at = @updated_at
WHERE WHERE
%s %s
AND trust_center_access_id = @trust_center_access_id AND trust_center_access_id = @trust_center_access_id
AND report_id = ANY(@report_ids) AND report_id = ANY(@report_ids)
` `
q = fmt.Sprintf(q, scope.SQLFragment()) q = fmt.Sprintf(q, scope.SQLFragment())
@@ -735,15 +735,15 @@ func RejectOrRevokeByReportIDs(
q := ` q := `
UPDATE trust_center_document_accesses UPDATE trust_center_document_accesses
SET SET
status = CASE status = CASE
WHEN status = 'GRANTED'::trust_center_document_access_status THEN 'REVOKED'::trust_center_document_access_status WHEN status = 'GRANTED'::trust_center_document_access_status THEN 'REVOKED'::trust_center_document_access_status
ELSE 'REJECTED'::trust_center_document_access_status ELSE 'REJECTED'::trust_center_document_access_status
END, END,
updated_at = @updated_at updated_at = @updated_at
WHERE WHERE
%s %s
AND trust_center_access_id = @trust_center_access_id AND trust_center_access_id = @trust_center_access_id
AND report_id = ANY(@report_ids) AND report_id = ANY(@report_ids)
` `
q = fmt.Sprintf(q, scope.SQLFragment()) q = fmt.Sprintf(q, scope.SQLFragment())
@@ -778,51 +778,51 @@ func (tcdas TrustCenterDocumentAccesses) MergeDocumentAccesses(
) error { ) error {
q := ` q := `
WITH data AS ( WITH data AS (
SELECT SELECT
t.* t.*
FROM json_to_recordset(@data) FROM json_to_recordset(@data)
AS t( AS t(
id text, id text,
status trust_center_document_access_status status trust_center_document_access_status
) )
) )
MERGE INTO trust_center_document_accesses AS tcda MERGE INTO trust_center_document_accesses AS tcda
USING data USING data
ON data.id = tcda.document_id ON data.id = tcda.document_id
AND tcda.tenant_id = @tenant_id AND tcda.tenant_id = @tenant_id
AND tcda.trust_center_access_id = @trust_center_access_id AND tcda.trust_center_access_id = @trust_center_access_id
WHEN MATCHED WHEN MATCHED
THEN UPDATE SET status = data.status, updated_at = @now::timestamptz THEN UPDATE SET status = data.status, updated_at = @now::timestamptz
WHEN NOT MATCHED BY SOURCE WHEN NOT MATCHED BY SOURCE
AND tcda.tenant_id = @tenant_id AND tcda.tenant_id = @tenant_id
AND tcda.trust_center_access_id = @trust_center_access_id AND tcda.trust_center_access_id = @trust_center_access_id
AND tcda.document_id IS NOT NULL AND tcda.document_id IS NOT NULL
THEN DELETE THEN DELETE
WHEN NOT MATCHED WHEN NOT MATCHED
THEN INSERT ( THEN INSERT (
id, id,
tenant_id, tenant_id,
organization_id, organization_id,
trust_center_access_id, trust_center_access_id,
document_id, document_id,
report_id, report_id,
trust_center_file_id, trust_center_file_id,
status, status,
created_at, created_at,
updated_at updated_at
) )
VALUES ( VALUES (
generate_gid(decode_base64_unpadded(@tenant_id), @trust_center_document_access_entity_type), generate_gid(decode_base64_unpadded(@tenant_id), @trust_center_document_access_entity_type),
@tenant_id, @tenant_id,
@organization_id, @organization_id,
@trust_center_access_id, @trust_center_access_id,
data.id, data.id,
NULL, NULL,
NULL, NULL,
data.status, data.status,
@now::timestamptz, @now::timestamptz,
@now::timestamptz @now::timestamptz
) )
` `
args := pgx.StrictNamedArgs{ args := pgx.StrictNamedArgs{
@@ -857,29 +857,29 @@ func (tcdas TrustCenterDocumentAccesses) BulkInsertDocumentAccesses(
q := ` q := `
WITH document_access_data AS ( WITH document_access_data AS (
SELECT SELECT
generate_gid(decode_base64_unpadded(@tenant_id), @trust_center_document_access_entity_type) AS id, generate_gid(decode_base64_unpadded(@tenant_id), @trust_center_document_access_entity_type) AS id,
@tenant_id AS tenant_id, @tenant_id AS tenant_id,
@organization_id AS organization_id, @organization_id AS organization_id,
@trust_center_access_id AS trust_center_access_id, @trust_center_access_id AS trust_center_access_id,
unnest(@document_ids::text[]) AS document_id, unnest(@document_ids::text[]) AS document_id,
null::text AS report_id, null::text AS report_id,
null::text AS trust_center_file_id, null::text AS trust_center_file_id,
@status::trust_center_document_access_status AS status, @status::trust_center_document_access_status AS status,
@created_at::timestamptz AS created_at, @created_at::timestamptz AS created_at,
@updated_at::timestamptz AS updated_at @updated_at::timestamptz AS updated_at
) )
INSERT INTO trust_center_document_accesses ( INSERT INTO trust_center_document_accesses (
id, id,
tenant_id, tenant_id,
organization_id, organization_id,
trust_center_access_id, trust_center_access_id,
document_id, document_id,
report_id, report_id,
trust_center_file_id, trust_center_file_id,
status, status,
created_at, created_at,
updated_at updated_at
) )
SELECT * FROM document_access_data SELECT * FROM document_access_data
ON CONFLICT DO NOTHING ON CONFLICT DO NOTHING
@@ -913,51 +913,51 @@ func (tcdas TrustCenterDocumentAccesses) MergeReportAccesses(
) error { ) error {
q := ` q := `
WITH data AS ( WITH data AS (
SELECT SELECT
t.* t.*
FROM json_to_recordset(@data) FROM json_to_recordset(@data)
AS t( AS t(
id text, id text,
status trust_center_document_access_status status trust_center_document_access_status
) )
) )
MERGE INTO trust_center_document_accesses AS tcda MERGE INTO trust_center_document_accesses AS tcda
USING data USING data
ON data.id = tcda.report_id ON data.id = tcda.report_id
AND tcda.tenant_id = @tenant_id AND tcda.tenant_id = @tenant_id
AND tcda.trust_center_access_id = @trust_center_access_id AND tcda.trust_center_access_id = @trust_center_access_id
WHEN MATCHED WHEN MATCHED
THEN UPDATE SET status = data.status, updated_at = @now::timestamptz THEN UPDATE SET status = data.status, updated_at = @now::timestamptz
WHEN NOT MATCHED BY SOURCE WHEN NOT MATCHED BY SOURCE
AND tcda.tenant_id = @tenant_id AND tcda.tenant_id = @tenant_id
AND tcda.trust_center_access_id = @trust_center_access_id AND tcda.trust_center_access_id = @trust_center_access_id
AND tcda.report_id IS NOT NULL AND tcda.report_id IS NOT NULL
THEN DELETE THEN DELETE
WHEN NOT MATCHED WHEN NOT MATCHED
THEN INSERT ( THEN INSERT (
id, id,
tenant_id, tenant_id,
organization_id, organization_id,
trust_center_access_id, trust_center_access_id,
document_id, document_id,
report_id, report_id,
trust_center_file_id, trust_center_file_id,
status, status,
created_at, created_at,
updated_at updated_at
) )
VALUES ( VALUES (
generate_gid(decode_base64_unpadded(@tenant_id), @trust_center_document_access_entity_type), generate_gid(decode_base64_unpadded(@tenant_id), @trust_center_document_access_entity_type),
@tenant_id, @tenant_id,
@organization_id, @organization_id,
@trust_center_access_id, @trust_center_access_id,
NULL, NULL,
data.id, data.id,
NULL, NULL,
data.status, data.status,
@now::timestamptz, @now::timestamptz,
@now::timestamptz @now::timestamptz
) )
` `
args := pgx.StrictNamedArgs{ args := pgx.StrictNamedArgs{
@@ -992,29 +992,29 @@ func (tcdas TrustCenterDocumentAccesses) BulkInsertReportAccesses(
q := ` q := `
WITH report_access_data AS ( WITH report_access_data AS (
SELECT SELECT
generate_gid(decode_base64_unpadded(@tenant_id), @trust_center_document_access_entity_type) AS id, generate_gid(decode_base64_unpadded(@tenant_id), @trust_center_document_access_entity_type) AS id,
@tenant_id AS tenant_id, @tenant_id AS tenant_id,
@organization_id AS organization_id, @organization_id AS organization_id,
@trust_center_access_id AS trust_center_access_id, @trust_center_access_id AS trust_center_access_id,
null::text AS document_id, null::text AS document_id,
unnest(@report_ids::text[]) AS report_id, unnest(@report_ids::text[]) AS report_id,
null::text AS trust_center_file_id, null::text AS trust_center_file_id,
@status::trust_center_document_access_status AS status, @status::trust_center_document_access_status AS status,
@created_at::timestamptz AS created_at, @created_at::timestamptz AS created_at,
@updated_at::timestamptz AS updated_at @updated_at::timestamptz AS updated_at
) )
INSERT INTO trust_center_document_accesses ( INSERT INTO trust_center_document_accesses (
id, id,
tenant_id, tenant_id,
organization_id, organization_id,
trust_center_access_id, trust_center_access_id,
document_id, document_id,
report_id, report_id,
trust_center_file_id, trust_center_file_id,
status, status,
created_at, created_at,
updated_at updated_at
) )
SELECT * FROM report_access_data SELECT * FROM report_access_data
ON CONFLICT DO NOTHING ON CONFLICT DO NOTHING
@@ -1047,20 +1047,20 @@ func (tcda *TrustCenterDocumentAccess) LoadByTrustCenterAccessIDAndTrustCenterFi
) error { ) error {
q := ` q := `
SELECT SELECT
id, id,
trust_center_access_id, trust_center_access_id,
document_id, document_id,
report_id, report_id,
trust_center_file_id, trust_center_file_id,
status, status,
created_at, created_at,
updated_at updated_at
FROM FROM
trust_center_document_accesses trust_center_document_accesses
WHERE WHERE
%s %s
AND trust_center_access_id = @trust_center_access_id AND trust_center_access_id = @trust_center_access_id
AND trust_center_file_id = @trust_center_file_id AND trust_center_file_id = @trust_center_file_id
LIMIT 1; LIMIT 1;
` `
@@ -1099,9 +1099,9 @@ func GrantByTrustCenterFileIDs(
UPDATE trust_center_document_accesses UPDATE trust_center_document_accesses
SET status = 'GRANTED'::trust_center_document_access_status, updated_at = @updated_at SET status = 'GRANTED'::trust_center_document_access_status, updated_at = @updated_at
WHERE WHERE
%s %s
AND trust_center_access_id = @trust_center_access_id AND trust_center_access_id = @trust_center_access_id
AND trust_center_file_id = ANY(@trust_center_file_ids) AND trust_center_file_id = ANY(@trust_center_file_ids)
` `
q = fmt.Sprintf(q, scope.SQLFragment()) q = fmt.Sprintf(q, scope.SQLFragment())
@@ -1132,15 +1132,15 @@ func RejectOrRevokeByTrustCenterFileIDs(
q := ` q := `
UPDATE trust_center_document_accesses UPDATE trust_center_document_accesses
SET SET
status = CASE status = CASE
WHEN status = 'GRANTED'::trust_center_document_access_status THEN 'REVOKED'::trust_center_document_access_status WHEN status = 'GRANTED'::trust_center_document_access_status THEN 'REVOKED'::trust_center_document_access_status
ELSE 'REJECTED'::trust_center_document_access_status ELSE 'REJECTED'::trust_center_document_access_status
END, END,
updated_at = @updated_at updated_at = @updated_at
WHERE WHERE
%s %s
AND trust_center_access_id = @trust_center_access_id AND trust_center_access_id = @trust_center_access_id
AND trust_center_file_id = ANY(@trust_center_file_ids) AND trust_center_file_id = ANY(@trust_center_file_ids)
` `
q = fmt.Sprintf(q, scope.SQLFragment()) q = fmt.Sprintf(q, scope.SQLFragment())
@@ -1170,51 +1170,51 @@ func (tcdas TrustCenterDocumentAccesses) MergeTrustCenterFileAccesses(
) error { ) error {
q := ` q := `
WITH data AS ( WITH data AS (
SELECT SELECT
t.* t.*
FROM json_to_recordset(@data) FROM json_to_recordset(@data)
AS t( AS t(
id text, id text,
status trust_center_document_access_status status trust_center_document_access_status
) )
) )
MERGE INTO trust_center_document_accesses AS tcda MERGE INTO trust_center_document_accesses AS tcda
USING data USING data
ON data.id = tcda.trust_center_file_id ON data.id = tcda.trust_center_file_id
AND tcda.tenant_id = @tenant_id AND tcda.tenant_id = @tenant_id
AND tcda.trust_center_access_id = @trust_center_access_id AND tcda.trust_center_access_id = @trust_center_access_id
WHEN MATCHED WHEN MATCHED
THEN UPDATE SET status = data.status, updated_at = @now::timestamptz THEN UPDATE SET status = data.status, updated_at = @now::timestamptz
WHEN NOT MATCHED BY SOURCE WHEN NOT MATCHED BY SOURCE
AND tcda.tenant_id = @tenant_id AND tcda.tenant_id = @tenant_id
AND tcda.trust_center_access_id = @trust_center_access_id AND tcda.trust_center_access_id = @trust_center_access_id
AND tcda.trust_center_file_id IS NOT NULL AND tcda.trust_center_file_id IS NOT NULL
THEN DELETE THEN DELETE
WHEN NOT MATCHED WHEN NOT MATCHED
THEN INSERT ( THEN INSERT (
id, id,
tenant_id, tenant_id,
organization_id, organization_id,
trust_center_access_id, trust_center_access_id,
document_id, document_id,
report_id, report_id,
trust_center_file_id, trust_center_file_id,
status, status,
created_at, created_at,
updated_at updated_at
) )
VALUES ( VALUES (
generate_gid(decode_base64_unpadded(@tenant_id), @trust_center_document_access_entity_type), generate_gid(decode_base64_unpadded(@tenant_id), @trust_center_document_access_entity_type),
@tenant_id, @tenant_id,
@organization_id, @organization_id,
@trust_center_access_id, @trust_center_access_id,
NULL, NULL,
NULL, NULL,
data.id, data.id,
data.status, data.status,
@now::timestamptz, @now::timestamptz,
@now::timestamptz @now::timestamptz
) )
` `
args := pgx.StrictNamedArgs{ args := pgx.StrictNamedArgs{
@@ -1245,29 +1245,29 @@ func (tcdas TrustCenterDocumentAccesses) BulkInsertTrustCenterFileAccesses(
) error { ) error {
q := ` q := `
WITH trust_center_file_access_data AS ( WITH trust_center_file_access_data AS (
SELECT SELECT
generate_gid(decode_base64_unpadded(@tenant_id), @trust_center_document_access_entity_type) AS id, generate_gid(decode_base64_unpadded(@tenant_id), @trust_center_document_access_entity_type) AS id,
@tenant_id AS tenant_id, @tenant_id AS tenant_id,
@organization_id AS organization_id, @organization_id AS organization_id,
@trust_center_access_id AS trust_center_access_id, @trust_center_access_id AS trust_center_access_id,
null::text AS document_id, null::text AS document_id,
null::text AS report_id, null::text AS report_id,
unnest(@trust_center_file_ids::text[]) AS trust_center_file_id, unnest(@trust_center_file_ids::text[]) AS trust_center_file_id,
@status::trust_center_document_access_status AS status, @status::trust_center_document_access_status AS status,
@created_at::timestamptz AS created_at, @created_at::timestamptz AS created_at,
@updated_at::timestamptz AS updated_at @updated_at::timestamptz AS updated_at
) )
INSERT INTO trust_center_document_accesses ( INSERT INTO trust_center_document_accesses (
id, id,
tenant_id, tenant_id,
organization_id, organization_id,
trust_center_access_id, trust_center_access_id,
document_id, document_id,
report_id, report_id,
trust_center_file_id, trust_center_file_id,
status, status,
created_at, created_at,
updated_at updated_at
) )
SELECT * FROM trust_center_file_access_data SELECT * FROM trust_center_file_access_data
ON CONFLICT DO NOTHING ON CONFLICT DO NOTHING