@oktis-works/core 0.6.1 → 0.7.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/dist/cache/tags.d.ts +12 -0
- package/dist/cache/tags.d.ts.map +1 -0
- package/dist/cache/tags.js +55 -0
- package/dist/cache/tags.js.map +1 -0
- package/dist/comments/service.d.ts +54 -0
- package/dist/comments/service.d.ts.map +1 -0
- package/dist/comments/service.js +166 -0
- package/dist/comments/service.js.map +1 -0
- package/dist/content/service.d.ts.map +1 -1
- package/dist/content/service.js +24 -14
- package/dist/content/service.js.map +1 -1
- package/dist/fields/location-rules.d.ts +3 -1
- package/dist/fields/location-rules.d.ts.map +1 -1
- package/dist/fields/location-rules.js +1 -0
- package/dist/fields/location-rules.js.map +1 -1
- package/dist/fields/service.d.ts +5 -1
- package/dist/fields/service.d.ts.map +1 -1
- package/dist/fields/service.js +10 -3
- package/dist/fields/service.js.map +1 -1
- package/dist/fields/types/registry.d.ts +2 -0
- package/dist/fields/types/registry.d.ts.map +1 -1
- package/dist/fields/types/registry.js.map +1 -1
- package/dist/hooks/points.d.ts +6 -0
- package/dist/hooks/points.d.ts.map +1 -1
- package/dist/hooks/points.js +7 -0
- package/dist/hooks/points.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/mail/service.d.ts +26 -0
- package/dist/mail/service.d.ts.map +1 -0
- package/dist/mail/service.js +117 -0
- package/dist/mail/service.js.map +1 -0
- package/dist/plugin/load.d.ts +78 -10
- package/dist/plugin/load.d.ts.map +1 -1
- package/dist/plugin/load.js +277 -58
- package/dist/plugin/load.js.map +1 -1
- package/dist/queue/producer.d.ts +12 -1
- package/dist/queue/producer.d.ts.map +1 -1
- package/dist/queue/producer.js +92 -0
- package/dist/queue/producer.js.map +1 -1
- package/dist/role/plugin-roles.d.ts +39 -0
- package/dist/role/plugin-roles.d.ts.map +1 -0
- package/dist/role/plugin-roles.js +161 -0
- package/dist/role/plugin-roles.js.map +1 -0
- package/dist/webhooks/service.d.ts +33 -0
- package/dist/webhooks/service.d.ts.map +1 -0
- package/dist/webhooks/service.js +57 -0
- package/dist/webhooks/service.js.map +1 -0
- package/package.json +6 -6
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { CacheAdapter } from './index.js';
|
|
2
|
+
export declare class TaggedCacheIndex {
|
|
3
|
+
private cache;
|
|
4
|
+
constructor(cache: CacheAdapter);
|
|
5
|
+
/** Writes the entry and registers it under every tag. */
|
|
6
|
+
setWithTags<T>(key: string, value: T, tags: readonly string[], ttl?: number): Promise<void>;
|
|
7
|
+
/** Deletes every key registered under the tag plus the tag entry. */
|
|
8
|
+
invalidateTag(tag: string): Promise<number>;
|
|
9
|
+
}
|
|
10
|
+
/** Shared index over the process cache (same adapter as getCache()). */
|
|
11
|
+
export declare function getTaggedCacheIndex(): TaggedCacheIndex;
|
|
12
|
+
//# sourceMappingURL=tags.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../src/cache/tags.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAK/C,qBAAa,gBAAgB;IACf,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,YAAY;IAEvC,yDAAyD;IACnD,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAejG,qEAAqE;IAC/D,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAYlD;AAID,wEAAwE;AACxE,wBAAgB,mBAAmB,IAAI,gBAAgB,CAKtD"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
// @oktis-works/core - Tagged cache invalidation (Item 23 do plano de performance)
|
|
2
|
+
//
|
|
3
|
+
// Tag→keys index over any CacheAdapter: entries written via setWithTags are
|
|
4
|
+
// registered under each tag (`tag:<name>` → key list, read-modify-write) and
|
|
5
|
+
// invalidateTag removes every registered key plus the tag entry itself.
|
|
6
|
+
// Race note: concurrent writers may lose a key registration (last write
|
|
7
|
+
// wins) — acceptable for cache semantics (worst case: a stale entry until
|
|
8
|
+
// its TTL).
|
|
9
|
+
import { getCache } from './index.js';
|
|
10
|
+
const TAG_KEY_PREFIX = 'tag:';
|
|
11
|
+
export class TaggedCacheIndex {
|
|
12
|
+
cache;
|
|
13
|
+
constructor(cache) {
|
|
14
|
+
this.cache = cache;
|
|
15
|
+
}
|
|
16
|
+
/** Writes the entry and registers it under every tag. */
|
|
17
|
+
async setWithTags(key, value, tags, ttl) {
|
|
18
|
+
await this.cache.set(key, value, ttl);
|
|
19
|
+
for (const tag of tags) {
|
|
20
|
+
if (!tag)
|
|
21
|
+
continue;
|
|
22
|
+
const indexKey = `${TAG_KEY_PREFIX}${tag}`;
|
|
23
|
+
const existing = (await this.cache.get(indexKey)) ?? [];
|
|
24
|
+
if (!existing.includes(key)) {
|
|
25
|
+
existing.push(key);
|
|
26
|
+
}
|
|
27
|
+
// Tag index outlives the entry by a small margin so late readers can
|
|
28
|
+
// still find (and delete) the key before it expires naturally.
|
|
29
|
+
await this.cache.set(indexKey, existing, (ttl ?? 60) + 30);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/** Deletes every key registered under the tag plus the tag entry. */
|
|
33
|
+
async invalidateTag(tag) {
|
|
34
|
+
if (!tag)
|
|
35
|
+
return 0;
|
|
36
|
+
const indexKey = `${TAG_KEY_PREFIX}${tag}`;
|
|
37
|
+
const keys = (await this.cache.get(indexKey)) ?? [];
|
|
38
|
+
let removed = 0;
|
|
39
|
+
for (const key of keys) {
|
|
40
|
+
await this.cache.del(key);
|
|
41
|
+
removed += 1;
|
|
42
|
+
}
|
|
43
|
+
await this.cache.del(indexKey);
|
|
44
|
+
return removed;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
let _taggedIndex = null;
|
|
48
|
+
/** Shared index over the process cache (same adapter as getCache()). */
|
|
49
|
+
export function getTaggedCacheIndex() {
|
|
50
|
+
if (!_taggedIndex) {
|
|
51
|
+
_taggedIndex = new TaggedCacheIndex(getCache());
|
|
52
|
+
}
|
|
53
|
+
return _taggedIndex;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=tags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../src/cache/tags.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,EAAE;AACF,4EAA4E;AAC5E,6EAA6E;AAC7E,wEAAwE;AACxE,wEAAwE;AACxE,0EAA0E;AAC1E,YAAY;AAGZ,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,cAAc,GAAG,MAAM,CAAC;AAE9B,MAAM,OAAO,gBAAgB;IACP;IAApB,YAAoB,KAAmB;QAAnB,UAAK,GAAL,KAAK,CAAc;IAAG,CAAC;IAE3C,yDAAyD;IACzD,KAAK,CAAC,WAAW,CAAI,GAAW,EAAE,KAAQ,EAAE,IAAuB,EAAE,GAAY;QAC/E,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACtC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,MAAM,QAAQ,GAAG,GAAG,cAAc,GAAG,GAAG,EAAE,CAAC;YAC3C,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAW,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YAClE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;YACD,qEAAqE;YACrE,+DAA+D;YAC/D,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,KAAK,CAAC,aAAa,CAAC,GAAW;QAC7B,IAAI,CAAC,GAAG;YAAE,OAAO,CAAC,CAAC;QACnB,MAAM,QAAQ,GAAG,GAAG,cAAc,GAAG,GAAG,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAW,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9D,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC,CAAC;QACf,CAAC;QACD,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/B,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAED,IAAI,YAAY,GAA4B,IAAI,CAAC;AAEjD,wEAAwE;AACxE,MAAM,UAAU,mBAAmB;IACjC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,YAAY,GAAG,IAAI,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { Comment, CommentStatus } from '@oktis-works/types';
|
|
2
|
+
export interface CreateCommentInput {
|
|
3
|
+
contentId: string;
|
|
4
|
+
parentId?: string | null;
|
|
5
|
+
authorName: string;
|
|
6
|
+
authorEmail?: string | null;
|
|
7
|
+
authorUrl?: string | null;
|
|
8
|
+
authorId?: string | null;
|
|
9
|
+
body: string;
|
|
10
|
+
status?: CommentStatus;
|
|
11
|
+
ipAddress?: string | null;
|
|
12
|
+
userAgent?: string | null;
|
|
13
|
+
}
|
|
14
|
+
export interface CommentListFilter {
|
|
15
|
+
status?: CommentStatus;
|
|
16
|
+
contentId?: string;
|
|
17
|
+
parentId?: string | null;
|
|
18
|
+
search?: string;
|
|
19
|
+
limit?: number;
|
|
20
|
+
offset?: number;
|
|
21
|
+
}
|
|
22
|
+
export declare class CommentService {
|
|
23
|
+
/** Public approved list for a content item (site rendering / REST). */
|
|
24
|
+
listApprovedByContent(contentId: string, limit?: number): Promise<Comment[]>;
|
|
25
|
+
/** Moderation list (admin) with optional filters. */
|
|
26
|
+
list(filter?: CommentListFilter): Promise<Comment[]>;
|
|
27
|
+
getById(id: string): Promise<Comment | null>;
|
|
28
|
+
/** Counts per status for the moderation dashboard. */
|
|
29
|
+
countByStatus(): Promise<Record<CommentStatus, number>>;
|
|
30
|
+
/**
|
|
31
|
+
* Creates a comment. `comment:before_save` (filter) runs BEFORE validation
|
|
32
|
+
* — antispam plugins may stamp `status: 'SPAM'`. Defaults to PENDING
|
|
33
|
+
* (moderation queue) unless explicitly approved.
|
|
34
|
+
*/
|
|
35
|
+
create(input: CreateCommentInput): Promise<Comment>;
|
|
36
|
+
/** Updates author/body fields (moderation edit). */
|
|
37
|
+
update(id: string, patch: {
|
|
38
|
+
authorName?: string;
|
|
39
|
+
authorEmail?: string | null;
|
|
40
|
+
authorUrl?: string | null;
|
|
41
|
+
body?: string;
|
|
42
|
+
}): Promise<Comment | null>;
|
|
43
|
+
/**
|
|
44
|
+
* Moderation status transition. Fires `comment:approved` / `comment:spammed`
|
|
45
|
+
* side-effect hooks (notify author, learn spam corpus, …).
|
|
46
|
+
*/
|
|
47
|
+
setStatus(id: string, status: CommentStatus): Promise<Comment | null>;
|
|
48
|
+
delete(id: string): Promise<boolean>;
|
|
49
|
+
getMeta(commentId: string, key: string): Promise<unknown>;
|
|
50
|
+
setMeta(commentId: string, key: string, value: unknown): Promise<void>;
|
|
51
|
+
deleteMeta(commentId: string, key: string): Promise<void>;
|
|
52
|
+
}
|
|
53
|
+
export declare const commentService: CommentService;
|
|
54
|
+
//# sourceMappingURL=service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/comments/service.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAIjE,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,cAAc;IACzB,uEAAuE;IACjE,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAS9E,qDAAqD;IAC/C,IAAI,CAAC,MAAM,GAAE,iBAAsB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAuCxD,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAMlD,sDAAsD;IAChD,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAU7D;;;;OAIG;IACG,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAmCzD,oDAAoD;IAC9C,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAmBxJ;;;OAGG;IACG,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAsBrE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAYpC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUzD,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAStE,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAIhE;AAED,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
// @oktis-works/core - Comments service (Item 11 do plugin-parity-plan)
|
|
2
|
+
//
|
|
3
|
+
// WordPress-parity comments: threaded (parent_id), moderated
|
|
4
|
+
// (PENDING → APPROVED | SPAM | TRASHED), tenant-scoped via RLS. Antispam is
|
|
5
|
+
// hook-based: `comment:before_save` is a FILTER over the comment input — a
|
|
6
|
+
// plugin (Akismet-style) can set `status: 'SPAM'` before persisting.
|
|
7
|
+
import { randomUUID } from 'node:crypto';
|
|
8
|
+
import { getConnection } from '@oktis-works/database';
|
|
9
|
+
import { getHookRegistry } from '@oktis-works/plugin-runtime';
|
|
10
|
+
import { HOOK_POINTS } from '../hooks/points.js';
|
|
11
|
+
export class CommentService {
|
|
12
|
+
/** Public approved list for a content item (site rendering / REST). */
|
|
13
|
+
async listApprovedByContent(contentId, limit = 50) {
|
|
14
|
+
const sql = getConnection();
|
|
15
|
+
const rows = await sql.unsafe(`SELECT * FROM comments WHERE content_id = $1 AND status = 'APPROVED' ORDER BY created_at ASC LIMIT $2`, [contentId, Math.min(Math.max(limit, 1), 200)]);
|
|
16
|
+
return rows;
|
|
17
|
+
}
|
|
18
|
+
/** Moderation list (admin) with optional filters. */
|
|
19
|
+
async list(filter = {}) {
|
|
20
|
+
const sql = getConnection();
|
|
21
|
+
const clauses = [];
|
|
22
|
+
const params = [];
|
|
23
|
+
if (filter.status) {
|
|
24
|
+
params.push(filter.status);
|
|
25
|
+
clauses.push(`status = $${params.length}`);
|
|
26
|
+
}
|
|
27
|
+
if (filter.contentId) {
|
|
28
|
+
params.push(filter.contentId);
|
|
29
|
+
clauses.push(`content_id = $${params.length}`);
|
|
30
|
+
}
|
|
31
|
+
if (filter.parentId !== undefined) {
|
|
32
|
+
if (filter.parentId === null) {
|
|
33
|
+
clauses.push('parent_id IS NULL');
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
params.push(filter.parentId);
|
|
37
|
+
clauses.push(`parent_id = $${params.length}`);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
if (filter.search) {
|
|
41
|
+
params.push(`%${filter.search}%`);
|
|
42
|
+
clauses.push(`(body ILIKE $${params.length} OR author_name ILIKE $${params.length} OR author_email ILIKE $${params.length})`);
|
|
43
|
+
}
|
|
44
|
+
const where = clauses.length > 0 ? `WHERE ${clauses.join(' AND ')}` : '';
|
|
45
|
+
params.push(Math.min(Math.max(filter.limit ?? 50, 1), 200));
|
|
46
|
+
const limitParam = `$${params.length}`;
|
|
47
|
+
params.push(Math.max(filter.offset ?? 0, 0));
|
|
48
|
+
const offsetParam = `$${params.length}`;
|
|
49
|
+
const rows = await sql.unsafe(`SELECT * FROM comments ${where} ORDER BY created_at DESC LIMIT ${limitParam} OFFSET ${offsetParam}`, params);
|
|
50
|
+
return rows;
|
|
51
|
+
}
|
|
52
|
+
async getById(id) {
|
|
53
|
+
const sql = getConnection();
|
|
54
|
+
const rows = await sql.unsafe('SELECT * FROM comments WHERE id = $1', [id]);
|
|
55
|
+
return rows[0] ?? null;
|
|
56
|
+
}
|
|
57
|
+
/** Counts per status for the moderation dashboard. */
|
|
58
|
+
async countByStatus() {
|
|
59
|
+
const sql = getConnection();
|
|
60
|
+
const rows = await sql.unsafe('SELECT status, COUNT(*)::int AS count FROM comments GROUP BY status', []);
|
|
61
|
+
const counts = { PENDING: 0, APPROVED: 0, SPAM: 0, TRASHED: 0 };
|
|
62
|
+
for (const row of rows) {
|
|
63
|
+
if (row.status in counts)
|
|
64
|
+
counts[row.status] = Number(row.count);
|
|
65
|
+
}
|
|
66
|
+
return counts;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Creates a comment. `comment:before_save` (filter) runs BEFORE validation
|
|
70
|
+
* — antispam plugins may stamp `status: 'SPAM'`. Defaults to PENDING
|
|
71
|
+
* (moderation queue) unless explicitly approved.
|
|
72
|
+
*/
|
|
73
|
+
async create(input) {
|
|
74
|
+
const sql = getConnection();
|
|
75
|
+
const filtered = (await getHookRegistry().applyFiltersAsync(HOOK_POINTS.COMMENT_BEFORE_SAVE, { ...input, status: input.status ?? 'PENDING' }, { contentId: input.contentId }));
|
|
76
|
+
const status = filtered.status ?? 'PENDING';
|
|
77
|
+
const id = randomUUID();
|
|
78
|
+
const rows = await sql.unsafe(`INSERT INTO comments (id, content_id, parent_id, author_name, author_email, author_url, author_id, body, status, ip_address, user_agent)
|
|
79
|
+
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11)
|
|
80
|
+
RETURNING *`, [
|
|
81
|
+
id,
|
|
82
|
+
filtered.contentId,
|
|
83
|
+
filtered.parentId ?? null,
|
|
84
|
+
filtered.authorName,
|
|
85
|
+
filtered.authorEmail ?? null,
|
|
86
|
+
filtered.authorUrl ?? null,
|
|
87
|
+
filtered.authorId ?? null,
|
|
88
|
+
filtered.body,
|
|
89
|
+
status,
|
|
90
|
+
filtered.ipAddress ?? null,
|
|
91
|
+
filtered.userAgent ?? null,
|
|
92
|
+
]);
|
|
93
|
+
const comment = rows[0];
|
|
94
|
+
await getHookRegistry().doAction(HOOK_POINTS.COMMENT_AFTER_SAVE, comment, { isNew: true, status });
|
|
95
|
+
return comment;
|
|
96
|
+
}
|
|
97
|
+
/** Updates author/body fields (moderation edit). */
|
|
98
|
+
async update(id, patch) {
|
|
99
|
+
const sql = getConnection();
|
|
100
|
+
const existing = await this.getById(id);
|
|
101
|
+
if (!existing)
|
|
102
|
+
return null;
|
|
103
|
+
const rows = await sql.unsafe(`UPDATE comments SET author_name = $1, author_email = $2, author_url = $3, body = $4, updated_at = NOW()
|
|
104
|
+
WHERE id = $5 RETURNING *`, [
|
|
105
|
+
patch.authorName ?? existing.authorName,
|
|
106
|
+
patch.authorEmail ?? existing.authorEmail ?? null,
|
|
107
|
+
patch.authorUrl ?? existing.authorUrl ?? null,
|
|
108
|
+
patch.body ?? existing.body,
|
|
109
|
+
id,
|
|
110
|
+
]);
|
|
111
|
+
return rows[0] ?? null;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Moderation status transition. Fires `comment:approved` / `comment:spammed`
|
|
115
|
+
* side-effect hooks (notify author, learn spam corpus, …).
|
|
116
|
+
*/
|
|
117
|
+
async setStatus(id, status) {
|
|
118
|
+
const sql = getConnection();
|
|
119
|
+
const existing = await this.getById(id);
|
|
120
|
+
if (!existing)
|
|
121
|
+
return null;
|
|
122
|
+
const rows = await sql.unsafe(`UPDATE comments SET status = $1, updated_at = NOW() WHERE id = $2 RETURNING *`, [status, id]);
|
|
123
|
+
const updated = rows[0] ?? null;
|
|
124
|
+
if (!updated)
|
|
125
|
+
return null;
|
|
126
|
+
const registry = getHookRegistry();
|
|
127
|
+
if (status === 'APPROVED' && existing.status !== 'APPROVED') {
|
|
128
|
+
await registry.doAction(HOOK_POINTS.COMMENT_APPROVED, updated, { previousStatus: existing.status });
|
|
129
|
+
}
|
|
130
|
+
if (status === 'SPAM' && existing.status !== 'SPAM') {
|
|
131
|
+
await registry.doAction(HOOK_POINTS.COMMENT_SPAMMED, updated, { previousStatus: existing.status });
|
|
132
|
+
}
|
|
133
|
+
return updated;
|
|
134
|
+
}
|
|
135
|
+
async delete(id) {
|
|
136
|
+
const sql = getConnection();
|
|
137
|
+
const existing = await this.getById(id);
|
|
138
|
+
if (!existing)
|
|
139
|
+
return false;
|
|
140
|
+
await getHookRegistry().doAction(HOOK_POINTS.COMMENT_BEFORE_DELETE, existing, {});
|
|
141
|
+
await sql.unsafe('DELETE FROM comments WHERE id = $1', [id]);
|
|
142
|
+
await getHookRegistry().doAction(HOOK_POINTS.COMMENT_DELETED, existing, {});
|
|
143
|
+
return true;
|
|
144
|
+
}
|
|
145
|
+
// ── comment_meta (key/value JSONB) ──────────────────────────────────────
|
|
146
|
+
async getMeta(commentId, key) {
|
|
147
|
+
const sql = getConnection();
|
|
148
|
+
const rows = await sql.unsafe('SELECT value FROM comment_meta WHERE comment_id = $1 AND key = $2', [
|
|
149
|
+
commentId,
|
|
150
|
+
key,
|
|
151
|
+
]);
|
|
152
|
+
const row = rows[0];
|
|
153
|
+
return row?.value ?? null;
|
|
154
|
+
}
|
|
155
|
+
async setMeta(commentId, key, value) {
|
|
156
|
+
const sql = getConnection();
|
|
157
|
+
await sql.unsafe(`INSERT INTO comment_meta (id, comment_id, key, value) VALUES ($1, $2, $3, $4::jsonb)
|
|
158
|
+
ON CONFLICT (comment_id, key) DO UPDATE SET value = EXCLUDED.value`, [randomUUID(), commentId, key, value ?? null]);
|
|
159
|
+
}
|
|
160
|
+
async deleteMeta(commentId, key) {
|
|
161
|
+
const sql = getConnection();
|
|
162
|
+
await sql.unsafe('DELETE FROM comment_meta WHERE comment_id = $1 AND key = $2', [commentId, key]);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
export const commentService = new CommentService();
|
|
166
|
+
//# sourceMappingURL=service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/comments/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/content/service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/content/service.ts"],"names":[],"mappings":"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"}
|
package/dist/content/service.js
CHANGED
|
@@ -5,6 +5,7 @@ import { getHookRegistry } from '@oktis-works/plugin-runtime';
|
|
|
5
5
|
import { getEventBus } from '../events/bus.js';
|
|
6
6
|
import { getCache } from '../cache/index.js';
|
|
7
7
|
import { HOOK_POINTS } from '../hooks/points.js';
|
|
8
|
+
import { getTaggedCacheIndex } from '../cache/tags.js';
|
|
8
9
|
import { postTypeRegistry } from './post-types.js';
|
|
9
10
|
import { fieldGroupService } from '../fields/service.js';
|
|
10
11
|
const FIELD_SUPPORT_REQUIREMENT = {
|
|
@@ -44,6 +45,18 @@ function generateSlug(title) {
|
|
|
44
45
|
.replace(/[^a-z0-9]+/g, '-')
|
|
45
46
|
.replace(/(^-|-$)/g, '');
|
|
46
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* Item 23: invalida as entradas de cache de um conteúdo pelas TAGS sob as
|
|
50
|
+
* quais foram gravadas (por id e por tipo) — sem enumerar formas de chave.
|
|
51
|
+
*/
|
|
52
|
+
async function invalidateContentCache(id, slug, type) {
|
|
53
|
+
const index = getTaggedCacheIndex();
|
|
54
|
+
await index.invalidateTag(`content:${id}`);
|
|
55
|
+
if (type)
|
|
56
|
+
await index.invalidateTag(`content:type:${type}`);
|
|
57
|
+
if (slug)
|
|
58
|
+
await index.invalidateTag(`content:slug:${slug}`);
|
|
59
|
+
}
|
|
47
60
|
export class ContentService {
|
|
48
61
|
async getSingleton(type, tenantId) {
|
|
49
62
|
const definition = await postTypeRegistry.getBySlug(type);
|
|
@@ -98,8 +111,11 @@ export class ContentService {
|
|
|
98
111
|
LEFT JOIN media m ON m.id = c.featured_image_id
|
|
99
112
|
WHERE c.id = $1`, [id]);
|
|
100
113
|
const content = result[0] ?? null;
|
|
101
|
-
if (content)
|
|
102
|
-
|
|
114
|
+
if (content) {
|
|
115
|
+
// Item 23: entrada registrada sob tags de conteúdo — save/publish/delete
|
|
116
|
+
// invalidam por tag em vez de adivinhar chaves derivadas.
|
|
117
|
+
await getTaggedCacheIndex().setWithTags(cacheKey, content, [`content:${id}`, `content:type:${content.type}`], 60);
|
|
118
|
+
}
|
|
103
119
|
return content;
|
|
104
120
|
}
|
|
105
121
|
async getByIdBatch(ids) {
|
|
@@ -172,9 +188,9 @@ export class ContentService {
|
|
|
172
188
|
processed: false,
|
|
173
189
|
createdAt: new Date(),
|
|
174
190
|
});
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
await
|
|
191
|
+
// Item 23: invalidação por tag — pega qualquer chave derivada registrada
|
|
192
|
+
// (por id e por tipo) sem enumerar formas de chave manualmente.
|
|
193
|
+
await invalidateContentCache(content.id, content.slug, content.type);
|
|
178
194
|
return content;
|
|
179
195
|
}
|
|
180
196
|
async update(id, input) {
|
|
@@ -260,9 +276,7 @@ export class ContentService {
|
|
|
260
276
|
processed: false,
|
|
261
277
|
createdAt: new Date(),
|
|
262
278
|
});
|
|
263
|
-
|
|
264
|
-
await cache.del(`content:${content.id}`);
|
|
265
|
-
await cache.del(`content:slug:${content.slug}`);
|
|
279
|
+
await invalidateContentCache(content.id, content.slug, content.type);
|
|
266
280
|
return content;
|
|
267
281
|
}
|
|
268
282
|
async delete(id) {
|
|
@@ -284,9 +298,7 @@ export class ContentService {
|
|
|
284
298
|
processed: false,
|
|
285
299
|
createdAt: new Date(),
|
|
286
300
|
});
|
|
287
|
-
|
|
288
|
-
await cache.del(`content:${id}`);
|
|
289
|
-
await cache.del(`content:slug:${existing.slug}`);
|
|
301
|
+
await invalidateContentCache(id, existing.slug, existing.type);
|
|
290
302
|
return true;
|
|
291
303
|
}
|
|
292
304
|
async getVersions(contentId) {
|
|
@@ -346,9 +358,7 @@ export class ContentService {
|
|
|
346
358
|
processed: false,
|
|
347
359
|
createdAt: new Date(),
|
|
348
360
|
});
|
|
349
|
-
|
|
350
|
-
await cache.del(`content:${contentId}`);
|
|
351
|
-
await cache.del(`content:slug:${restored.slug}`);
|
|
361
|
+
await invalidateContentCache(contentId, restored.slug, restored.type);
|
|
352
362
|
return restored;
|
|
353
363
|
}
|
|
354
364
|
async recordSnapshot(content) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/content/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/content/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type LocationParam = 'content_type' | 'content_slug' | 'taxonomy' | 'term' | 'user_role' | 'page_template' | 'post_status';
|
|
1
|
+
export type LocationParam = 'content_type' | 'content_slug' | 'taxonomy' | 'term' | 'user_role' | 'page_template' | 'post_status' | 'block';
|
|
2
2
|
export interface LocationRule {
|
|
3
3
|
param: LocationParam;
|
|
4
4
|
operator: 'eq' | 'neq';
|
|
@@ -12,6 +12,8 @@ export interface LocationContext {
|
|
|
12
12
|
userRole?: string;
|
|
13
13
|
pageTemplate?: string;
|
|
14
14
|
postStatus?: string;
|
|
15
|
+
/** Editor block type being rendered/edited (E7) — namespaced `namespace/block`. */
|
|
16
|
+
block?: string;
|
|
15
17
|
}
|
|
16
18
|
export declare function matchLocationRules(groups: LocationRule[][], context: LocationContext): boolean;
|
|
17
19
|
//# sourceMappingURL=location-rules.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"location-rules.d.ts","sourceRoot":"","sources":["../../src/fields/location-rules.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GACrB,cAAc,GACd,cAAc,GACd,UAAU,GACV,MAAM,GACN,WAAW,GACX,eAAe,GACf,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"location-rules.d.ts","sourceRoot":"","sources":["../../src/fields/location-rules.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GACrB,cAAc,GACd,cAAc,GACd,UAAU,GACV,MAAM,GACN,WAAW,GACX,eAAe,GACf,aAAa,GACb,OAAO,CAAC;AAEZ,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,IAAI,GAAG,KAAK,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mFAAmF;IACnF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAuBD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAoB9F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"location-rules.js","sourceRoot":"","sources":["../../src/fields/location-rules.ts"],"names":[],"mappings":"AAAA,iDAAiD;
|
|
1
|
+
{"version":3,"file":"location-rules.js","sourceRoot":"","sources":["../../src/fields/location-rules.ts"],"names":[],"mappings":"AAAA,iDAAiD;AA8BjD,SAAS,WAAW,CAAC,IAAkB,EAAE,OAAwB;IAC/D,MAAM,MAAM,GAA8C;QACxD,YAAY,EAAE,OAAO,CAAC,WAAW;QACjC,YAAY,EAAE,OAAO,CAAC,WAAW;QACjC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,IAAI,EAAE,OAAO,CAAC,QAAQ;QACtB,SAAS,EAAE,OAAO,CAAC,QAAQ;QAC3B,aAAa,EAAE,OAAO,CAAC,YAAY;QACnC,WAAW,EAAE,OAAO,CAAC,UAAU;QAC/B,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEpC,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;QAC5B,OAAO,QAAQ,KAAK,IAAI,CAAC,KAAK,CAAC;IACjC,CAAC;IAED,OAAO,QAAQ,KAAK,IAAI,CAAC,KAAK,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAwB,EAAE,OAAwB;IACnF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAEjD,oEAAoE;IACpE,uCAAuC;IACvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,MAA4C,CAAC;QAC/D,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CACvE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC1D,KAAK,EAAE,KAAsB;gBAC7B,QAAQ,EAAE,IAAa;gBACvB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;aACrB,CAAC,CAAC,CACJ,CAAC;QACF,OAAO,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAC3B,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAC7E,CAAC;AACJ,CAAC"}
|
package/dist/fields/service.d.ts
CHANGED
|
@@ -140,8 +140,12 @@ export declare class FieldTypeExtensionService {
|
|
|
140
140
|
/**
|
|
141
141
|
* Sync plugin field types to the in-memory registry.
|
|
142
142
|
* Called during plugin bootstrap to make types available globally.
|
|
143
|
+
* Item 25: types flagged `lazy` only sync on first use — pass
|
|
144
|
+
* `{ includeLazy: true }` from the field-types endpoint (the first use).
|
|
143
145
|
*/
|
|
144
|
-
syncToRegistry(
|
|
146
|
+
syncToRegistry(options?: {
|
|
147
|
+
includeLazy?: boolean;
|
|
148
|
+
}): Promise<void>;
|
|
145
149
|
}
|
|
146
150
|
export declare const fieldTypeExtensionService: FieldTypeExtensionService;
|
|
147
151
|
export declare const fieldGroupService: FieldGroupService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/fields/service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/fields/service.ts"],"names":[],"mappings":"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"}
|
package/dist/fields/service.js
CHANGED
|
@@ -479,8 +479,8 @@ export class FieldTypeExtensionService {
|
|
|
479
479
|
*/
|
|
480
480
|
async register(definition) {
|
|
481
481
|
const sql = getConnection();
|
|
482
|
-
await sql.unsafe(`INSERT INTO field_type_extensions (plugin_name, type, label, category, icon, supports_conditions, is_layout, admin_component_path, admin_renderer_path, config_schema)
|
|
483
|
-
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10::jsonb)
|
|
482
|
+
await sql.unsafe(`INSERT INTO field_type_extensions (plugin_name, type, label, category, icon, supports_conditions, is_layout, admin_component_path, admin_renderer_path, config_schema, lazy)
|
|
483
|
+
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10::jsonb, $11)
|
|
484
484
|
ON CONFLICT (type) DO UPDATE SET
|
|
485
485
|
plugin_name = EXCLUDED.plugin_name,
|
|
486
486
|
label = EXCLUDED.label,
|
|
@@ -491,6 +491,7 @@ export class FieldTypeExtensionService {
|
|
|
491
491
|
admin_component_path = EXCLUDED.admin_component_path,
|
|
492
492
|
admin_renderer_path = EXCLUDED.admin_renderer_path,
|
|
493
493
|
config_schema = EXCLUDED.config_schema,
|
|
494
|
+
lazy = EXCLUDED.lazy,
|
|
494
495
|
updated_at = NOW()`, [
|
|
495
496
|
definition.pluginName,
|
|
496
497
|
definition.type,
|
|
@@ -502,6 +503,7 @@ export class FieldTypeExtensionService {
|
|
|
502
503
|
definition.adminComponentPath ?? null,
|
|
503
504
|
definition.adminRendererPath ?? null,
|
|
504
505
|
definition.configSchema ? JSON.stringify(definition.configSchema) : null,
|
|
506
|
+
definition.lazy ?? false,
|
|
505
507
|
]);
|
|
506
508
|
}
|
|
507
509
|
/**
|
|
@@ -536,6 +538,7 @@ export class FieldTypeExtensionService {
|
|
|
536
538
|
adminComponentPath: String(row['admin_component_path']),
|
|
537
539
|
adminRendererPath: row['admin_renderer_path'] ? String(row['admin_renderer_path']) : undefined,
|
|
538
540
|
configSchema: row['config_schema'],
|
|
541
|
+
lazy: Boolean(row['lazy']),
|
|
539
542
|
isPluginType: true,
|
|
540
543
|
pluginName: String(row['plugin_name']),
|
|
541
544
|
}));
|
|
@@ -586,11 +589,15 @@ export class FieldTypeExtensionService {
|
|
|
586
589
|
/**
|
|
587
590
|
* Sync plugin field types to the in-memory registry.
|
|
588
591
|
* Called during plugin bootstrap to make types available globally.
|
|
592
|
+
* Item 25: types flagged `lazy` only sync on first use — pass
|
|
593
|
+
* `{ includeLazy: true }` from the field-types endpoint (the first use).
|
|
589
594
|
*/
|
|
590
|
-
async syncToRegistry() {
|
|
595
|
+
async syncToRegistry(options) {
|
|
591
596
|
const types = await this.listAll();
|
|
592
597
|
const { registerFieldType } = await import('./types/registry.js');
|
|
593
598
|
for (const type of types) {
|
|
599
|
+
if (type.lazy && !options?.includeLazy)
|
|
600
|
+
continue;
|
|
594
601
|
registerFieldType(type);
|
|
595
602
|
}
|
|
596
603
|
}
|