@paroicms/server 1.109.5 → 1.110.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ddl/main.ddl.sql +51 -10
- package/dist/admin-backend/account/account-role.queries.d.ts +3 -0
- package/dist/admin-backend/account/account-role.queries.js +18 -0
- package/dist/admin-backend/account/account-role.queries.js.map +1 -0
- package/dist/admin-backend/account/account-role.resolver.d.ts +3 -0
- package/dist/admin-backend/account/account-role.resolver.js +49 -0
- package/dist/admin-backend/account/account-role.resolver.js.map +1 -0
- package/dist/admin-backend/account/account.queries.d.ts +11 -2
- package/dist/admin-backend/account/account.queries.js +114 -25
- package/dist/admin-backend/account/account.queries.js.map +1 -1
- package/dist/admin-backend/account/account.resolver.js +126 -10
- package/dist/admin-backend/account/account.resolver.js.map +1 -1
- package/dist/admin-backend/account/author-account.queries.d.ts +12 -0
- package/dist/admin-backend/account/author-account.queries.js +110 -0
- package/dist/admin-backend/account/author-account.queries.js.map +1 -0
- package/dist/admin-backend/account/author-account.resolver.d.ts +3 -0
- package/dist/admin-backend/account/author-account.resolver.js +39 -0
- package/dist/admin-backend/account/author-account.resolver.js.map +1 -0
- package/dist/admin-backend/auth/auth.helper.d.ts +2 -0
- package/dist/admin-backend/auth/auth.helper.js +10 -2
- package/dist/admin-backend/auth/auth.helper.js.map +1 -1
- package/dist/admin-backend/auth/auth.service.d.ts +1 -1
- package/dist/admin-backend/auth/auth.service.js +147 -67
- package/dist/admin-backend/auth/auth.service.js.map +1 -1
- package/dist/admin-backend/auth/auth.types.d.ts +3 -1
- package/dist/admin-backend/auth/authorization.helper.d.ts +11 -0
- package/dist/admin-backend/auth/authorization.helper.js +37 -0
- package/dist/admin-backend/auth/authorization.helper.js.map +1 -0
- package/dist/admin-backend/auth/special-account.helper.d.ts +10 -0
- package/dist/admin-backend/auth/special-account.helper.js +38 -0
- package/dist/admin-backend/auth/special-account.helper.js.map +1 -0
- package/dist/admin-backend/backup/backup.resolver.js +2 -2
- package/dist/admin-backend/backup/backup.resolver.js.map +1 -1
- package/dist/admin-backend/document/document.resolver.extend.js +1 -3
- package/dist/admin-backend/document/document.resolver.extend.js.map +1 -1
- package/dist/admin-backend/document/document.resolver.js +95 -13
- package/dist/admin-backend/document/document.resolver.js.map +1 -1
- package/dist/admin-backend/event-log/event-log.queries.d.ts +24 -0
- package/dist/admin-backend/event-log/event-log.queries.js +84 -0
- package/dist/admin-backend/event-log/event-log.queries.js.map +1 -0
- package/dist/admin-backend/event-log/event-log.resolver.d.ts +3 -0
- package/dist/admin-backend/event-log/event-log.resolver.js +21 -0
- package/dist/admin-backend/event-log/event-log.resolver.js.map +1 -0
- package/dist/admin-backend/event-log/event-log.service.d.ts +11 -0
- package/dist/admin-backend/event-log/event-log.service.js +290 -0
- package/dist/admin-backend/event-log/event-log.service.js.map +1 -0
- package/dist/admin-backend/event-log/event-log.types.d.ts +142 -0
- package/dist/admin-backend/event-log/event-log.types.js +2 -0
- package/dist/admin-backend/event-log/event-log.types.js.map +1 -0
- package/dist/admin-backend/fields/fields.resolver.js +3 -2
- package/dist/admin-backend/fields/fields.resolver.js.map +1 -1
- package/dist/admin-backend/lnode/lnode-wrap.resolver.js +6 -6
- package/dist/admin-backend/lnode/lnode-wrap.resolver.js.map +1 -1
- package/dist/admin-backend/login/login.controller.js +32 -3
- package/dist/admin-backend/login/login.controller.js.map +1 -1
- package/dist/admin-backend/media/media-upload.controller.js +15 -0
- package/dist/admin-backend/media/media-upload.controller.js.map +1 -1
- package/dist/admin-backend/media/media.resolver.extend.js +1 -3
- package/dist/admin-backend/media/media.resolver.extend.js.map +1 -1
- package/dist/admin-backend/media/media.resolver.js +70 -11
- package/dist/admin-backend/media/media.resolver.js.map +1 -1
- package/dist/admin-backend/migration/migration.resolver.js +3 -3
- package/dist/admin-backend/migration/migration.resolver.js.map +1 -1
- package/dist/admin-backend/node/node.resolver.extend.js +1 -3
- package/dist/admin-backend/node/node.resolver.extend.js.map +1 -1
- package/dist/admin-backend/node/node.resolver.js +6 -5
- package/dist/admin-backend/node/node.resolver.js.map +1 -1
- package/dist/admin-backend/part/part.resolver.extend.js +2 -5
- package/dist/admin-backend/part/part.resolver.extend.js.map +1 -1
- package/dist/admin-backend/part/part.resolver.js +56 -10
- package/dist/admin-backend/part/part.resolver.js.map +1 -1
- package/dist/admin-backend/routing-cluster/routing-cluster.resolver.js +7 -7
- package/dist/admin-backend/routing-cluster/routing-cluster.resolver.js.map +1 -1
- package/dist/admin-backend/unprotected/unprotected.resolver.js +3 -2
- package/dist/admin-backend/unprotected/unprotected.resolver.js.map +1 -1
- package/dist/common/data-format.d.ts +5 -1
- package/dist/common/data-format.js +6 -2
- package/dist/common/data-format.js.map +1 -1
- package/dist/connector/app-conf/app-conf-formatter.js +4 -1
- package/dist/connector/app-conf/app-conf-formatter.js.map +1 -1
- package/dist/connector/app-conf/app-conf.types.d.ts +3 -3
- package/dist/connector/db-init/db-constants.d.ts +1 -1
- package/dist/connector/db-init/db-constants.js +1 -1
- package/dist/connector/db-init/db-init.d.ts +2 -0
- package/dist/connector/db-init/db-init.js +2 -2
- package/dist/connector/db-init/db-init.js.map +1 -1
- package/dist/connector/db-init/ddl-migration.d.ts +2 -0
- package/dist/connector/db-init/ddl-migration.js +191 -1
- package/dist/connector/db-init/ddl-migration.js.map +1 -1
- package/dist/connector/row-types.d.ts +5 -3
- package/dist/connector/site-schema/site-schema-factory.js +76 -0
- package/dist/connector/site-schema/site-schema-factory.js.map +1 -1
- package/dist/graphql/apollo-server-init.js +6 -0
- package/dist/graphql/apollo-server-init.js.map +1 -1
- package/dist/maintenance/maintenance-task.d.ts +1 -1
- package/dist/maintenance/maintenance-task.js +5 -0
- package/dist/maintenance/maintenance-task.js.map +1 -1
- package/dist/protected-site/protected-access-token.d.ts +3 -3
- package/dist/protected-site/protected-access-token.js +3 -3
- package/dist/protected-site/protected-access-token.js.map +1 -1
- package/dist/protected-site/protected-site.req-handler.js +4 -4
- package/dist/protected-site/protected-site.req-handler.js.map +1 -1
- package/dist/public-api/password-reset/password-reset.controller.js +4 -11
- package/dist/public-api/password-reset/password-reset.controller.js.map +1 -1
- package/dist/public-api/password-reset/password-reset.service.js +9 -6
- package/dist/public-api/password-reset/password-reset.service.js.map +1 -1
- package/dist/rendered-site/feed/feed-generator.js +2 -2
- package/dist/rendered-site/feed/feed-generator.js.map +1 -1
- package/dist/site-context/load-site-context.js +3 -5
- package/dist/site-context/load-site-context.js.map +1 -1
- package/dist/site-context/main-medias-databases.js +1 -1
- package/dist/site-context/main-medias-databases.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +11 -11
- package/schema.graphql +46 -2
- package/dist/helpers/special-account.helpers.d.ts +0 -9
- package/dist/helpers/special-account.helpers.js +0 -36
- package/dist/helpers/special-account.helpers.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-log.service.js","sourceRoot":"","sources":["../../../src/admin-backend/event-log/event-log.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import type { LoginMethod } from "@paroicms/public-anywhere-lib";
|
|
2
|
+
export type EventLogEntry = DocumentCreatedEventLogEntry | DocumentUpdatedEventLogEntry | DocumentDeletedEventLogEntry | PartMovedEventLogEntry | AccountCreatedEventLogEntry | AccountUpdatedEventLogEntry | AccountDeletedEventLogEntry | AccountLoginEventLogEntry | AccountLoginMethodChangedEventLogEntry | AccountDeactivatedEventLogEntry | MediaCreatedEventLogEntry | MediaUpdatedEventLogEntry | MediaDeletedEventLogEntry;
|
|
3
|
+
export interface EventLogEntryBase {
|
|
4
|
+
actorId?: string;
|
|
5
|
+
targetId: string;
|
|
6
|
+
}
|
|
7
|
+
export interface DocumentCreatedEventLogEntry extends EventLogEntryBase {
|
|
8
|
+
eventType: "document.create";
|
|
9
|
+
targetType: "document";
|
|
10
|
+
eventData: DocumentCreatedEventData;
|
|
11
|
+
}
|
|
12
|
+
export interface DocumentCreatedEventData {
|
|
13
|
+
nodeId: string;
|
|
14
|
+
typeName: string;
|
|
15
|
+
title?: string;
|
|
16
|
+
language: string;
|
|
17
|
+
}
|
|
18
|
+
export interface DocumentUpdatedEventLogEntry extends EventLogEntryBase {
|
|
19
|
+
eventType: "document.update";
|
|
20
|
+
targetType: "document";
|
|
21
|
+
eventData: DocumentUpdatedEventData;
|
|
22
|
+
}
|
|
23
|
+
export interface DocumentUpdatedEventData {
|
|
24
|
+
nodeId: string;
|
|
25
|
+
typeName: string;
|
|
26
|
+
title?: string;
|
|
27
|
+
language: string;
|
|
28
|
+
changedFields: string[];
|
|
29
|
+
}
|
|
30
|
+
export interface DocumentDeletedEventLogEntry extends EventLogEntryBase {
|
|
31
|
+
eventType: "document.delete";
|
|
32
|
+
targetType: "document";
|
|
33
|
+
eventData: DocumentDeletedEventData;
|
|
34
|
+
}
|
|
35
|
+
export interface DocumentDeletedEventData {
|
|
36
|
+
nodeId: string;
|
|
37
|
+
typeName: string;
|
|
38
|
+
title?: string;
|
|
39
|
+
language: string;
|
|
40
|
+
}
|
|
41
|
+
export interface PartMovedEventLogEntry extends EventLogEntryBase {
|
|
42
|
+
eventType: "part.move";
|
|
43
|
+
targetType: "documentNode";
|
|
44
|
+
eventData: PartMovedEventData;
|
|
45
|
+
}
|
|
46
|
+
export interface PartMovedEventData {
|
|
47
|
+
partNodeId: string;
|
|
48
|
+
documentNodeId: string;
|
|
49
|
+
typeName: string;
|
|
50
|
+
newParentNodeId: string;
|
|
51
|
+
newListName: string;
|
|
52
|
+
}
|
|
53
|
+
export interface AccountCreatedEventLogEntry extends EventLogEntryBase {
|
|
54
|
+
eventType: "account.create";
|
|
55
|
+
targetType: "account";
|
|
56
|
+
eventData: AccountCreatedEventData;
|
|
57
|
+
}
|
|
58
|
+
export interface AccountCreatedEventData {
|
|
59
|
+
accountId: string;
|
|
60
|
+
email: string;
|
|
61
|
+
name?: string;
|
|
62
|
+
}
|
|
63
|
+
export interface AccountUpdatedEventLogEntry extends EventLogEntryBase {
|
|
64
|
+
eventType: "account.update";
|
|
65
|
+
targetType: "account";
|
|
66
|
+
eventData: AccountUpdatedEventData;
|
|
67
|
+
}
|
|
68
|
+
export interface AccountUpdatedEventData {
|
|
69
|
+
accountId: string;
|
|
70
|
+
email: string;
|
|
71
|
+
changedFields: string[];
|
|
72
|
+
}
|
|
73
|
+
export interface AccountDeletedEventLogEntry extends EventLogEntryBase {
|
|
74
|
+
eventType: "account.delete";
|
|
75
|
+
targetType: "account";
|
|
76
|
+
eventData: AccountDeletedEventData;
|
|
77
|
+
}
|
|
78
|
+
export interface AccountDeletedEventData {
|
|
79
|
+
accountId: string;
|
|
80
|
+
email: string;
|
|
81
|
+
name?: string;
|
|
82
|
+
}
|
|
83
|
+
export interface AccountLoginEventLogEntry extends EventLogEntryBase {
|
|
84
|
+
eventType: "account.login";
|
|
85
|
+
targetType: "account";
|
|
86
|
+
eventData: AccountLoginEventData;
|
|
87
|
+
}
|
|
88
|
+
export interface AccountLoginEventData {
|
|
89
|
+
accountId: string;
|
|
90
|
+
email: string;
|
|
91
|
+
loginMethod: LoginMethod;
|
|
92
|
+
}
|
|
93
|
+
export interface AccountLoginMethodChangedEventLogEntry extends EventLogEntryBase {
|
|
94
|
+
eventType: "account.loginMethodChanged";
|
|
95
|
+
targetType: "account";
|
|
96
|
+
eventData: AccountLoginMethodChangedEventData;
|
|
97
|
+
}
|
|
98
|
+
export interface AccountLoginMethodChangedEventData {
|
|
99
|
+
accountId: string;
|
|
100
|
+
email: string;
|
|
101
|
+
oldLoginMethod?: LoginMethod;
|
|
102
|
+
newLoginMethod?: LoginMethod;
|
|
103
|
+
}
|
|
104
|
+
export interface AccountDeactivatedEventLogEntry extends EventLogEntryBase {
|
|
105
|
+
eventType: "account.deactivated";
|
|
106
|
+
targetType: "account";
|
|
107
|
+
eventData: AccountDeactivatedEventData;
|
|
108
|
+
}
|
|
109
|
+
export interface AccountDeactivatedEventData {
|
|
110
|
+
accountId: string;
|
|
111
|
+
email: string;
|
|
112
|
+
reason: string;
|
|
113
|
+
}
|
|
114
|
+
export interface MediaCreatedEventLogEntry extends EventLogEntryBase {
|
|
115
|
+
eventType: "media.create";
|
|
116
|
+
targetType: "media";
|
|
117
|
+
eventData: MediaCreatedEventData;
|
|
118
|
+
}
|
|
119
|
+
export interface MediaCreatedEventData {
|
|
120
|
+
mediaId: string;
|
|
121
|
+
filename: string;
|
|
122
|
+
mimeType: string;
|
|
123
|
+
sizeBytes: number;
|
|
124
|
+
}
|
|
125
|
+
export interface MediaUpdatedEventLogEntry extends EventLogEntryBase {
|
|
126
|
+
eventType: "media.update";
|
|
127
|
+
targetType: "media";
|
|
128
|
+
eventData: MediaUpdatedEventData;
|
|
129
|
+
}
|
|
130
|
+
export interface MediaUpdatedEventData {
|
|
131
|
+
mediaId: string;
|
|
132
|
+
changedFields: string[];
|
|
133
|
+
}
|
|
134
|
+
export interface MediaDeletedEventLogEntry extends EventLogEntryBase {
|
|
135
|
+
eventType: "media.delete";
|
|
136
|
+
targetType: "media";
|
|
137
|
+
eventData: MediaDeletedEventData;
|
|
138
|
+
}
|
|
139
|
+
export interface MediaDeletedEventData {
|
|
140
|
+
mediaId: string;
|
|
141
|
+
originalName?: string;
|
|
142
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-log.types.js","sourceRoot":"","sources":["../../../src/admin-backend/event-log/event-log.types.ts"],"names":[],"mappings":""}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { siteReadyGuard } from "../../graphql/graphql.types.js";
|
|
2
2
|
import { authGuard } from "../auth/auth.helper.js";
|
|
3
|
+
import { permissionGuard } from "../auth/authorization.helper.js";
|
|
3
4
|
import { getTypeNameOf } from "../node/node.queries.js";
|
|
4
5
|
import { getFieldValuesOfLNode, getFieldValuesOfOneList } from "./load-fields-of.queries.js";
|
|
5
6
|
import { getFieldTypesByNames, loadFieldValues, } from "./load-fields.queries.js";
|
|
@@ -7,8 +8,8 @@ import { parseFieldValues, saveFieldValues } from "./save-fields.queries.js";
|
|
|
7
8
|
export const fieldResolvers = {
|
|
8
9
|
Mutation: {
|
|
9
10
|
setFieldValues: async (_parent, { nodeId, language, values }, { siteContext, httpContext }) => {
|
|
10
|
-
authGuard(httpContext);
|
|
11
11
|
siteReadyGuard(siteContext);
|
|
12
|
+
await permissionGuard(siteContext, httpContext, "document.edit");
|
|
12
13
|
const typeName = await getTypeNameOf(siteContext, nodeId);
|
|
13
14
|
await saveFieldValues(siteContext, {
|
|
14
15
|
typeName,
|
|
@@ -19,8 +20,8 @@ export const fieldResolvers = {
|
|
|
19
20
|
return true;
|
|
20
21
|
},
|
|
21
22
|
setSiteFieldValues: async (_parent, { language, values }, { siteContext, httpContext }) => {
|
|
22
|
-
authGuard(httpContext);
|
|
23
23
|
siteReadyGuard(siteContext);
|
|
24
|
+
await permissionGuard(siteContext, httpContext, "site.editProperties");
|
|
24
25
|
await saveFieldValues(siteContext, {
|
|
25
26
|
typeName: "_site",
|
|
26
27
|
nodeId: siteContext.homeRoutingCluster.siteNodeId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fields.resolver.js","sourceRoot":"","sources":["../../../src/admin-backend/fields/fields.resolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAuB,MAAM,gCAAgC,CAAC;AAErF,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"fields.resolver.js","sourceRoot":"","sources":["../../../src/admin-backend/fields/fields.resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { createNoTracker } from "@paroicms/internal-server-lib";
|
|
|
2
2
|
import { encodeLNodeId, parseLNodeId } from "@paroicms/public-anywhere-lib";
|
|
3
3
|
import { type } from "arktype";
|
|
4
4
|
import { siteReadyGuard } from "../../graphql/graphql.types.js";
|
|
5
|
-
import {
|
|
5
|
+
import { permissionGuard } from "../auth/authorization.helper.js";
|
|
6
6
|
import { formatGqlOrderBy } from "./lnode-wrap.formatters.js";
|
|
7
7
|
import { findOneLNode, getBreadcrumb, getLNodeWraps, getParentLanguages, searchDocuments, setLNodeReady, } from "./lnode.queries.js";
|
|
8
8
|
const LNodeLanguageRowAT = type({
|
|
@@ -12,14 +12,14 @@ const LNodeLanguageRowAT = type({
|
|
|
12
12
|
export const lNodeWrapResolvers = {
|
|
13
13
|
Query: {
|
|
14
14
|
lNodeWrap: async (_parent, { lNodeId }, { siteContext, httpContext }) => {
|
|
15
|
-
authGuard(httpContext);
|
|
16
15
|
siteReadyGuard(siteContext);
|
|
16
|
+
await permissionGuard(siteContext, httpContext, "document.edit");
|
|
17
17
|
const parsedLNodeId = parseLNodeId(lNodeId);
|
|
18
18
|
return await findOneLNode(siteContext, parsedLNodeId);
|
|
19
19
|
},
|
|
20
20
|
pagedLNodeWraps: async (_parent, { parentLNodeId, offset, limit, sorting }, { siteContext, httpContext }) => {
|
|
21
|
-
authGuard(httpContext);
|
|
22
21
|
siteReadyGuard(siteContext);
|
|
22
|
+
await permissionGuard(siteContext, httpContext, "document.edit");
|
|
23
23
|
const parentId = parseLNodeId(parentLNodeId);
|
|
24
24
|
const result = await getLNodeWraps(siteContext, {
|
|
25
25
|
parentId,
|
|
@@ -39,8 +39,8 @@ export const lNodeWrapResolvers = {
|
|
|
39
39
|
};
|
|
40
40
|
},
|
|
41
41
|
searchDocuments: async (_parent, { language, queryString, offset, limit, sorting }, { siteContext, httpContext }) => {
|
|
42
|
-
authGuard(httpContext);
|
|
43
42
|
siteReadyGuard(siteContext);
|
|
43
|
+
await permissionGuard(siteContext, httpContext, "document.edit");
|
|
44
44
|
return await searchDocuments(siteContext, {
|
|
45
45
|
language,
|
|
46
46
|
queryString,
|
|
@@ -50,8 +50,8 @@ export const lNodeWrapResolvers = {
|
|
|
50
50
|
});
|
|
51
51
|
},
|
|
52
52
|
lNodeWraps: async (_parent, { parentLNodeId }, { siteContext, httpContext }) => {
|
|
53
|
-
authGuard(httpContext);
|
|
54
53
|
siteReadyGuard(siteContext);
|
|
54
|
+
await permissionGuard(siteContext, httpContext, "document.edit");
|
|
55
55
|
const parentId = parseLNodeId(parentLNodeId);
|
|
56
56
|
return (await getLNodeWraps(siteContext, {
|
|
57
57
|
parentId,
|
|
@@ -60,8 +60,8 @@ export const lNodeWrapResolvers = {
|
|
|
60
60
|
},
|
|
61
61
|
Mutation: {
|
|
62
62
|
setLNodeReady: async (_parent, { lNodeId, ready }, { siteContext, httpContext }) => {
|
|
63
|
-
authGuard(httpContext);
|
|
64
63
|
siteReadyGuard(siteContext);
|
|
64
|
+
await permissionGuard(siteContext, httpContext, "document.edit");
|
|
65
65
|
const parsedId = parseLNodeId(lNodeId);
|
|
66
66
|
await setLNodeReady(siteContext, {
|
|
67
67
|
lNodeId: parsedId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lnode-wrap.resolver.js","sourceRoot":"","sources":["../../../src/admin-backend/lnode/lnode-wrap.resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAuB,MAAM,gCAAgC,CAAC;AACrF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"lnode-wrap.resolver.js","sourceRoot":"","sources":["../../../src/admin-backend/lnode/lnode-wrap.resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +1,54 @@
|
|
|
1
1
|
import { ApiError } from "@paroicms/public-server-lib";
|
|
2
2
|
import { type } from "arktype";
|
|
3
|
-
import { getVerifiedAccountFromToken, loginByPlatformToken,
|
|
3
|
+
import { getVerifiedAccountFromToken, loginByPlatformToken, loginLocalUser, } from "../auth/auth.service.js";
|
|
4
|
+
import { recordEvent } from "../event-log/event-log.service.js";
|
|
4
5
|
export async function loginController(siteContext, httpContext, _routeParams) {
|
|
5
6
|
const defaultLanguage = siteContext.status === "migration"
|
|
6
7
|
? (siteContext.deprecatedSiteSchema.languages[0] ?? "en")
|
|
7
8
|
: siteContext.siteSchema.defaultLanguage;
|
|
8
9
|
const loginInput = formatLoginAction(httpContext.req.body);
|
|
9
10
|
if (loginInput.action === "loginWithPlatformToken") {
|
|
10
|
-
|
|
11
|
+
const result = await loginByPlatformToken(siteContext, {
|
|
11
12
|
token: loginInput.token,
|
|
12
13
|
defaultLanguage,
|
|
13
14
|
});
|
|
15
|
+
if ("loginMethod" in result && result.loginMethod) {
|
|
16
|
+
recordEvent(siteContext, {
|
|
17
|
+
eventType: "account.login",
|
|
18
|
+
actorId: result.id,
|
|
19
|
+
targetType: "account",
|
|
20
|
+
targetId: result.id,
|
|
21
|
+
eventData: {
|
|
22
|
+
accountId: result.id,
|
|
23
|
+
email: result.email,
|
|
24
|
+
loginMethod: result.loginMethod,
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
return result;
|
|
14
29
|
}
|
|
15
30
|
if (loginInput.action === "signIn") {
|
|
16
|
-
|
|
31
|
+
const result = await loginLocalUser(siteContext, {
|
|
17
32
|
user: {
|
|
18
33
|
email: loginInput.email,
|
|
19
34
|
password: loginInput.password,
|
|
20
35
|
},
|
|
21
36
|
defaultLanguage,
|
|
22
37
|
});
|
|
38
|
+
if ("loginMethod" in result && result.loginMethod) {
|
|
39
|
+
recordEvent(siteContext, {
|
|
40
|
+
eventType: "account.login",
|
|
41
|
+
actorId: result.id,
|
|
42
|
+
targetType: "account",
|
|
43
|
+
targetId: result.id,
|
|
44
|
+
eventData: {
|
|
45
|
+
accountId: result.id,
|
|
46
|
+
email: result.email,
|
|
47
|
+
loginMethod: result.loginMethod,
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
return result;
|
|
23
52
|
}
|
|
24
53
|
return getVerifiedAccountFromToken(siteContext, {
|
|
25
54
|
token: loginInput.token,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.controller.js","sourceRoot":"","sources":["../../../src/admin-backend/login/login.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,
|
|
1
|
+
{"version":3,"file":"login.controller.js","sourceRoot":"","sources":["../../../src/admin-backend/login/login.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,8 @@ import { ApiError } from "@paroicms/public-server-lib";
|
|
|
3
3
|
import { type } from "arktype";
|
|
4
4
|
import { makeDefaultThumbAvailableForAdminUi } from "../../common/medias/media-lib.js";
|
|
5
5
|
import { removeExtensionFromFileName } from "../../helpers/utils-helper.js";
|
|
6
|
+
import { permissionGuard } from "../auth/authorization.helper.js";
|
|
7
|
+
import { recordEvent } from "../event-log/event-log.service.js";
|
|
6
8
|
import { getTypeNameOf } from "../node/node.queries.js";
|
|
7
9
|
import { addMediaToNode } from "./add-media-to-node.js";
|
|
8
10
|
const UploadBodyAT = type({
|
|
@@ -17,6 +19,7 @@ const UploadBodyAT = type({
|
|
|
17
19
|
replace: d.replace === "1",
|
|
18
20
|
}));
|
|
19
21
|
export async function uploadMediaController(siteContext, httpContext) {
|
|
22
|
+
const authorizedAccount = await permissionGuard(siteContext, httpContext, "document.edit");
|
|
20
23
|
const { req } = httpContext;
|
|
21
24
|
const file = req.file;
|
|
22
25
|
const body = req.body;
|
|
@@ -38,6 +41,18 @@ export async function uploadMediaController(siteContext, httpContext) {
|
|
|
38
41
|
attachedData,
|
|
39
42
|
replace,
|
|
40
43
|
});
|
|
44
|
+
recordEvent(siteContext, {
|
|
45
|
+
eventType: "media.create",
|
|
46
|
+
actorId: authorizedAccount.accountId,
|
|
47
|
+
targetType: "media",
|
|
48
|
+
targetId: source.mediaId,
|
|
49
|
+
eventData: {
|
|
50
|
+
mediaId: source.mediaId,
|
|
51
|
+
filename: source.originalName ?? originalName,
|
|
52
|
+
mimeType: source.mediaType,
|
|
53
|
+
sizeBytes: weightB,
|
|
54
|
+
},
|
|
55
|
+
});
|
|
41
56
|
if (source.kind === "image") {
|
|
42
57
|
return {
|
|
43
58
|
kind: "image",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-upload.controller.js","sourceRoot":"","sources":["../../../src/admin-backend/media/media-upload.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGvF,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,mCAAmC,EAAE,MAAM,kCAAkC,CAAC;AACvF,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,YAAY,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,eAAe,EAAE,kBAAkB;IACnC,OAAO,EAAE,SAAS;IAClB,GAAG,EAAE,QAAQ;CACd,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACd,GAAG,CAAC;IACJ,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAmB,CAAC,CAAC,CAAC,SAAS;IACxF,OAAO,EAAE,CAAC,CAAC,OAAO,KAAK,GAAG;CAC3B,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,WAAwB,EACxB,WAA0B;IAE1B,MAAM,EAAE,GAAG,EAAE,GAAG,WAAW,CAAC;IAC5B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAW,CAAC;IAC7B,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IAEnD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE5E,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,iBAAiB,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACrE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAEzD,MAAM,YAAY,GAAG,2BAA2B,CAC9C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC1D,CAAC;IACF,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC;IACtC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,IAAI,QAAQ,CAAC,iCAAiC,OAAO,YAAY,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC;IAC5F,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,cAAc,CACjC,WAAW,EACX,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,EAChD;QACE,MAAM;QACN,QAAQ;QACR,MAAM;QACN,YAAY;QACZ,OAAO;KACR,CACF,CAAC;IAEF,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO;YACL,IAAI,EAAE,OAAO;YACb,MAAM;YACN,KAAK,EAAE,MAAM,mCAAmC,CAAC,WAAW,EAAE,MAAM,EAAE;gBACpE,WAAW,EAAE,IAAI;aAClB,CAAC;SACH,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,MAAM;KACP,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"media-upload.controller.js","sourceRoot":"","sources":["../../../src/admin-backend/media/media-upload.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { makeGqlMedia } from "../../common/medias/media-lib.js";
|
|
2
2
|
import { siteReadyGuard } from "../../graphql/graphql.types.js";
|
|
3
|
-
import { authGuard } from "../auth/auth.helper.js";
|
|
4
3
|
export const extendDocumentWithMediaResolver = {
|
|
5
4
|
Document: {
|
|
6
|
-
featuredImage: async (parent, _args, { siteContext
|
|
7
|
-
authGuard(httpContext);
|
|
5
|
+
featuredImage: async (parent, _args, { siteContext }) => {
|
|
8
6
|
siteReadyGuard(siteContext);
|
|
9
7
|
const media = await siteContext.mediaStorage.getMedia({
|
|
10
8
|
handle: parent.featuredImageHandle,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.resolver.extend.js","sourceRoot":"","sources":["../../../src/admin-backend/media/media.resolver.extend.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAuB,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"media.resolver.extend.js","sourceRoot":"","sources":["../../../src/admin-backend/media/media.resolver.extend.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAuB,MAAM,gCAAgC,CAAC;AAErF,MAAM,CAAC,MAAM,+BAA+B,GAAiC;IAC3E,QAAQ,EAAE;QACR,aAAa,EAAE,KAAK,EAClB,MAAoB,EACpB,KAAc,EACd,EAAE,WAAW,EAAkB,EAC/B,EAAE;YACF,cAAc,CAAC,WAAW,CAAC,CAAC;YAC5B,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC;gBACpD,MAAM,EAAE,MAAM,CAAC,mBAAmB;gBAClC,gBAAgB,EAAE,IAAI;aACvB,CAAC,CAAC;YACH,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC;YACxB,OAAO,MAAM,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;KACF;CACF,CAAC"}
|
|
@@ -5,74 +5,121 @@ import { makeGqlImageVariant, makeGqlMedia, makeGqlMedias } from "../../common/m
|
|
|
5
5
|
import { dependencyKeyOfMedia, invalidateMultipleDocumentsInCache, } from "../../common/text-cache.js";
|
|
6
6
|
import { adminUiOwnerHandle } from "../../context.js";
|
|
7
7
|
import { siteReadyGuard } from "../../graphql/graphql.types.js";
|
|
8
|
-
import {
|
|
8
|
+
import { permissionGuard } from "../auth/authorization.helper.js";
|
|
9
|
+
import { recordEvent } from "../event-log/event-log.service.js";
|
|
9
10
|
export const mediaResolvers = {
|
|
10
11
|
Query: {
|
|
11
12
|
medias: async (_parent, { handle }, { siteContext, httpContext }) => {
|
|
12
|
-
authGuard(httpContext);
|
|
13
13
|
siteReadyGuard(siteContext);
|
|
14
|
+
await permissionGuard(siteContext, httpContext, "document.edit");
|
|
14
15
|
const medias = await siteContext.mediaStorage.getMedias({ handle, withAttachedData: true });
|
|
15
16
|
return await makeGqlMedias(siteContext, medias);
|
|
16
17
|
},
|
|
17
18
|
media: async (_parent, { handle }, { siteContext, httpContext }) => {
|
|
18
|
-
authGuard(httpContext);
|
|
19
19
|
siteReadyGuard(siteContext);
|
|
20
|
+
await permissionGuard(siteContext, httpContext, "document.edit");
|
|
20
21
|
const media = await siteContext.mediaStorage.getMedia({ handle, withAttachedData: true });
|
|
21
22
|
if (!media)
|
|
22
23
|
return null;
|
|
23
24
|
return await makeGqlMedia(siteContext, media);
|
|
24
25
|
},
|
|
25
26
|
getUsedRawSizesByMedia: async (_parent, { mediaId }, { siteContext, httpContext }) => {
|
|
26
|
-
authGuard(httpContext);
|
|
27
27
|
siteReadyGuard(siteContext);
|
|
28
|
+
await permissionGuard(siteContext, httpContext, "document.edit");
|
|
28
29
|
return await siteContext.imageCache.getUsedRawSizesByMedia(mediaId);
|
|
29
30
|
},
|
|
30
31
|
},
|
|
31
32
|
Mutation: {
|
|
32
33
|
deleteMediaFromGallery: async (_parent, { mediaId, handle }, { siteContext, httpContext }) => {
|
|
33
|
-
authGuard(httpContext);
|
|
34
34
|
siteReadyGuard(siteContext);
|
|
35
|
+
const authorizedAccount = await permissionGuard(siteContext, httpContext, "document.edit");
|
|
36
|
+
const media = await siteContext.mediaStorage.getMedia({ mediaId, withAttachedData: false });
|
|
35
37
|
const deletedIds = await siteContext.mediaStorage.deleteMedia({ mediaId, handle });
|
|
36
38
|
await siteContext.imageCache.invalidate({ mediaIds: deletedIds });
|
|
37
39
|
const nodeId = extractNodeIdFromHandle(handle);
|
|
38
40
|
if (nodeId !== undefined)
|
|
39
41
|
await invalidateMultipleDocumentsInCache(siteContext, { nodeId });
|
|
42
|
+
if (media) {
|
|
43
|
+
recordEvent(siteContext, {
|
|
44
|
+
eventType: "media.delete",
|
|
45
|
+
actorId: authorizedAccount.accountId,
|
|
46
|
+
targetType: "media",
|
|
47
|
+
targetId: mediaId,
|
|
48
|
+
eventData: {
|
|
49
|
+
mediaId,
|
|
50
|
+
originalName: media.originalName,
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
}
|
|
40
54
|
return handle;
|
|
41
55
|
},
|
|
42
56
|
deleteMedia: async (_parent, { handle }, { siteContext, httpContext }) => {
|
|
43
|
-
authGuard(httpContext);
|
|
44
57
|
siteReadyGuard(siteContext);
|
|
58
|
+
const authorizedAccount = await permissionGuard(siteContext, httpContext, "document.edit");
|
|
59
|
+
const medias = await siteContext.mediaStorage.getMedias({ handle, withAttachedData: false });
|
|
45
60
|
const deletedIds = await siteContext.mediaStorage.deleteMedia({ handle });
|
|
46
61
|
await siteContext.imageCache.invalidate({ mediaIds: deletedIds });
|
|
47
62
|
const nodeId = extractNodeIdFromHandle(handle);
|
|
48
63
|
if (nodeId !== undefined)
|
|
49
64
|
await invalidateMultipleDocumentsInCache(siteContext, { nodeId });
|
|
65
|
+
for (const media of medias) {
|
|
66
|
+
recordEvent(siteContext, {
|
|
67
|
+
eventType: "media.delete",
|
|
68
|
+
actorId: authorizedAccount.accountId,
|
|
69
|
+
targetType: "media",
|
|
70
|
+
targetId: media.id,
|
|
71
|
+
eventData: {
|
|
72
|
+
mediaId: media.id,
|
|
73
|
+
originalName: media.originalName,
|
|
74
|
+
},
|
|
75
|
+
});
|
|
76
|
+
}
|
|
50
77
|
return handle;
|
|
51
78
|
},
|
|
52
79
|
updateMediaAttachedData: async (_parent, { mediaId, language, value }, { siteContext, httpContext }) => {
|
|
53
|
-
authGuard(httpContext);
|
|
54
80
|
siteReadyGuard(siteContext);
|
|
81
|
+
const authorizedAccount = await permissionGuard(siteContext, httpContext, "document.edit");
|
|
55
82
|
await siteContext.mediaStorage.setAttachedData({
|
|
56
83
|
mediaId,
|
|
57
84
|
language,
|
|
58
85
|
value: value ? JSON.parse(value) : null,
|
|
59
86
|
});
|
|
60
87
|
await siteContext.textCache.invalidate([dependencyKeyOfMedia(mediaId)]);
|
|
88
|
+
recordEvent(siteContext, {
|
|
89
|
+
eventType: "media.update",
|
|
90
|
+
actorId: authorizedAccount.accountId,
|
|
91
|
+
targetType: "media",
|
|
92
|
+
targetId: mediaId,
|
|
93
|
+
eventData: {
|
|
94
|
+
mediaId,
|
|
95
|
+
changedFields: ["attachedData"],
|
|
96
|
+
},
|
|
97
|
+
});
|
|
61
98
|
return true;
|
|
62
99
|
},
|
|
63
100
|
updateMediaPixelRatio: async (_parent, { mediaId, pixelRatio }, { siteContext, httpContext }) => {
|
|
64
|
-
authGuard(httpContext);
|
|
65
101
|
siteReadyGuard(siteContext);
|
|
102
|
+
const authorizedAccount = await permissionGuard(siteContext, httpContext, "document.edit");
|
|
66
103
|
await siteContext.mediaStorage.updatePixelRatio({
|
|
67
104
|
mediaId,
|
|
68
105
|
pixelRatio: pixelRatio ?? null,
|
|
69
106
|
});
|
|
70
107
|
await siteContext.textCache.invalidate([dependencyKeyOfMedia(mediaId)]);
|
|
108
|
+
recordEvent(siteContext, {
|
|
109
|
+
eventType: "media.update",
|
|
110
|
+
actorId: authorizedAccount.accountId,
|
|
111
|
+
targetType: "media",
|
|
112
|
+
targetId: mediaId,
|
|
113
|
+
eventData: {
|
|
114
|
+
mediaId,
|
|
115
|
+
changedFields: ["pixelRatio"],
|
|
116
|
+
},
|
|
117
|
+
});
|
|
71
118
|
return true;
|
|
72
119
|
},
|
|
73
120
|
reorderMedias: async (_parent, { input }, { siteContext, httpContext }) => {
|
|
74
|
-
authGuard(httpContext);
|
|
75
121
|
siteReadyGuard(siteContext);
|
|
122
|
+
const authorizedAccount = await permissionGuard(siteContext, httpContext, "document.edit");
|
|
76
123
|
const medias = await siteContext.mediaStorage.reorderMedias({
|
|
77
124
|
handle: input.handle,
|
|
78
125
|
mediaIds: input.mediaIds,
|
|
@@ -81,11 +128,23 @@ export const mediaResolvers = {
|
|
|
81
128
|
const nodeId = extractNodeIdFromHandle(input.handle);
|
|
82
129
|
if (nodeId !== undefined)
|
|
83
130
|
await invalidateMultipleDocumentsInCache(siteContext, { nodeId });
|
|
131
|
+
for (const mediaId of input.mediaIds) {
|
|
132
|
+
recordEvent(siteContext, {
|
|
133
|
+
eventType: "media.update",
|
|
134
|
+
actorId: authorizedAccount.accountId,
|
|
135
|
+
targetType: "media",
|
|
136
|
+
targetId: mediaId,
|
|
137
|
+
eventData: {
|
|
138
|
+
mediaId,
|
|
139
|
+
changedFields: ["order"],
|
|
140
|
+
},
|
|
141
|
+
});
|
|
142
|
+
}
|
|
84
143
|
return await makeGqlMedias(siteContext, medias);
|
|
85
144
|
},
|
|
86
145
|
useAdminUiImage: async (_parent, { input }, { siteContext, httpContext }) => {
|
|
87
|
-
authGuard(httpContext);
|
|
88
146
|
siteReadyGuard(siteContext);
|
|
147
|
+
await permissionGuard(siteContext, httpContext, "document.edit");
|
|
89
148
|
const { mediaId, resizeRule } = input;
|
|
90
149
|
if (!isResizeRule(resizeRule)) {
|
|
91
150
|
throw new ApiError(`invalid resize rule '${resizeRule}'`, 400);
|
|
@@ -108,8 +167,8 @@ export const mediaResolvers = {
|
|
|
108
167
|
});
|
|
109
168
|
},
|
|
110
169
|
useFTextImage: async (_parent, { input }, { siteContext, httpContext }) => {
|
|
111
|
-
authGuard(httpContext);
|
|
112
170
|
siteReadyGuard(siteContext);
|
|
171
|
+
await permissionGuard(siteContext, httpContext, "document.edit");
|
|
113
172
|
const { mediaId, resizeRule } = input;
|
|
114
173
|
if (!isResizeRule(resizeRule)) {
|
|
115
174
|
throw new ApiError(`invalid resize rule '${resizeRule}'`, 400);
|