@zlooks.cn/blog-server 1.0.3 → 1.0.5

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.
Files changed (53) hide show
  1. package/dist/blog/blog-application.d.ts +2 -1
  2. package/dist/blog/blog-application.d.ts.map +1 -1
  3. package/dist/blog/blog-application.js +4 -4
  4. package/dist/blog/blog-application.js.map +1 -1
  5. package/dist/config/schema.d.ts.map +1 -1
  6. package/dist/config/schema.js +1 -1
  7. package/dist/config/schema.js.map +1 -1
  8. package/dist/contracts/mcp.d.ts +4 -0
  9. package/dist/contracts/mcp.d.ts.map +1 -1
  10. package/dist/contracts/mcp.js +4 -0
  11. package/dist/contracts/mcp.js.map +1 -1
  12. package/dist/events/blog-domain-events.d.ts +312 -0
  13. package/dist/events/blog-domain-events.d.ts.map +1 -0
  14. package/dist/events/blog-domain-events.js +100 -0
  15. package/dist/events/blog-domain-events.js.map +1 -0
  16. package/dist/mcp/blog-prompts.d.ts +52 -0
  17. package/dist/mcp/blog-prompts.d.ts.map +1 -1
  18. package/dist/mcp/blog-prompts.js +8 -3
  19. package/dist/mcp/blog-prompts.js.map +1 -1
  20. package/dist/mcp/blog-provider.d.ts.map +1 -1
  21. package/dist/mcp/blog-provider.js +2 -0
  22. package/dist/mcp/blog-provider.js.map +1 -1
  23. package/dist/mcp/blog-resources.d.ts +25 -0
  24. package/dist/mcp/blog-resources.d.ts.map +1 -0
  25. package/dist/mcp/blog-resources.js +95 -0
  26. package/dist/mcp/blog-resources.js.map +1 -0
  27. package/dist/mcp/blog-theme-authoring-prompt.d.ts +2 -0
  28. package/dist/mcp/blog-theme-authoring-prompt.d.ts.map +1 -1
  29. package/dist/mcp/blog-theme-authoring-prompt.js +96 -61
  30. package/dist/mcp/blog-theme-authoring-prompt.js.map +1 -1
  31. package/dist/mcp/tool-support.d.ts.map +1 -1
  32. package/dist/mcp/tool-support.js +11 -2
  33. package/dist/mcp/tool-support.js.map +1 -1
  34. package/dist/persistence/comment-store.d.ts +3 -1
  35. package/dist/persistence/comment-store.d.ts.map +1 -1
  36. package/dist/persistence/comment-store.js +36 -12
  37. package/dist/persistence/comment-store.js.map +1 -1
  38. package/dist/persistence/entities.d.ts +3 -0
  39. package/dist/persistence/entities.d.ts.map +1 -1
  40. package/dist/persistence/entities.js +6 -0
  41. package/dist/persistence/entities.js.map +1 -1
  42. package/dist/persistence/page-store.d.ts +3 -1
  43. package/dist/persistence/page-store.d.ts.map +1 -1
  44. package/dist/persistence/page-store.js +42 -9
  45. package/dist/persistence/page-store.js.map +1 -1
  46. package/dist/persistence/post-store.d.ts +3 -1
  47. package/dist/persistence/post-store.d.ts.map +1 -1
  48. package/dist/persistence/post-store.js +56 -13
  49. package/dist/persistence/post-store.js.map +1 -1
  50. package/dist/services/blog-runtime.service.d.ts.map +1 -1
  51. package/dist/services/blog-runtime.service.js +4 -1
  52. package/dist/services/blog-runtime.service.js.map +1 -1
  53. package/package.json +9 -5
@@ -1,4 +1,5 @@
1
1
  import type { DataSource } from 'typeorm';
2
+ import type { DomainEventPublisher } from '@zlooks.cn/event-client';
2
3
  import { type CategoryInput } from '../persistence/category-store.js';
3
4
  import { type FriendLinkInput } from '../persistence/friend-link-store.js';
4
5
  import { type PostInput } from '../persistence/post-store.js';
@@ -8,7 +9,7 @@ import type { BlogCommentStatus } from '../persistence/entities.js';
8
9
  export type PostContentAuditRequest = Readonly<Pick<PostInput, 'categoryId' | 'title' | 'summary' | 'content' | 'tagIds'>>;
9
10
  export declare class BlogApplication {
10
11
  #private;
11
- constructor(dataSource: DataSource, clock?: () => Date);
12
+ constructor(dataSource: DataSource, events: DomainEventPublisher, clock?: () => Date);
12
13
  listCategories: (signal?: AbortSignal) => Promise<import("../persistence/entities.js").BlogCategoryRow[]>;
13
14
  listCategoryPage: (limit: number, cursor?: string, signal?: AbortSignal) => Promise<{
14
15
  items: import("../persistence/entities.js").BlogCategoryRow[];
@@ -1 +1 @@
1
- {"version":3,"file":"blog-application.d.ts","sourceRoot":"","sources":["../../src/blog/blog-application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blog-application.d.ts","sourceRoot":"","sources":["../../src/blog/blog-application.ts"],"names":[],"mappings":"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"}
@@ -15,14 +15,14 @@ export class BlogApplication {
15
15
  #comments;
16
16
  #friendLinks;
17
17
  #pages;
18
- constructor(dataSource, clock = () => new Date()) {
18
+ constructor(dataSource, events, clock = () => new Date()) {
19
19
  this.#categories = new CategoryStore(dataSource);
20
20
  this.#tags = new TagStore(dataSource);
21
- this.#posts = new PostStore(dataSource, clock);
21
+ this.#posts = new PostStore(dataSource, events, clock);
22
22
  this.#engagement = new PostEngagementStore(dataSource);
23
- this.#comments = new CommentStore(dataSource, clock);
23
+ this.#comments = new CommentStore(dataSource, events, clock);
24
24
  this.#friendLinks = new FriendLinkStore(dataSource);
25
- this.#pages = new PageStore(dataSource, clock);
25
+ this.#pages = new PageStore(dataSource, events, clock);
26
26
  }
27
27
  listCategories = (signal) => this.#categories.list(500, signal);
28
28
  listCategoryPage = (limit, cursor, signal) => this.#categories.listPage(limit, cursor, signal);
@@ -1 +1 @@
1
- {"version":3,"file":"blog-application.js","sourceRoot":"","sources":["../../src/blog/blog-application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blog-application.js","sourceRoot":"","sources":["../../src/blog/blog-application.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EACkC,KAAK,cAAc,EAAE,KAAK,WAAW,EAC7E,MAAM,2BAA2B,CAAC;AAInC,MAAM,WAAW,uBAAuB;IAAG,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;CAAE;AAC9H,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,cAAc,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;KAAE,CAAC;IAC5F,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,SAAS,EAAE;YAAE,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC;YAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAA;SAAE,CAAC;QACzH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,uBAAuB,GAAG,gBAAgB,CActF"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAIzH,MAAM,WAAW,uBAAuB;IAAG,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;CAAE;AAC9H,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,cAAc,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;KAAE,CAAC;IAC5F,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,SAAS,EAAE;YAAE,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC;YAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAA;SAAE,CAAC;QACzH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,uBAAuB,GAAG,gBAAgB,CActF"}
@@ -1,4 +1,4 @@
1
- import { parsePostgresConfig, parseRedisConfig, } from '@zlooks.cn/infrastructure';
1
+ import { parsePostgresConfig, parseRedisConfig } from '@zlooks.cn/infrastructure';
2
2
  import { parsePublicHostConfig } from '@zlooks.cn/public-host-contract';
3
3
  import { joinKeyPrefix } from '@zlooks.cn/utils';
4
4
  export function parseBlogServerConfig(input) {
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EAAE,gBAAgB,GACtC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAYjD,MAAM,UAAU,qBAAqB,CAAC,KAA8B;IAClE,MAAM,UAAU,GAAG,qBAAqB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5C,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC;YAC5B,QAAQ,EAAE,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC;YAC7C,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;SACtF,CAAC;QACF,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;QACpD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;YACnG,OAAO,EAAE,MAAM;SAChB,CAAC;KACH,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAyC,MAAM,2BAA2B,CAAC;AACzH,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAYjD,MAAM,UAAU,qBAAqB,CAAC,KAA8B;IAClE,MAAM,UAAU,GAAG,qBAAqB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5C,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC;YAC5B,QAAQ,EAAE,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC;YAC7C,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;SACtF,CAAC;QACF,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;QACpD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;YACnG,OAAO,EAAE,MAAM;SAChB,CAAC;KACH,CAAC,CAAC;AACL,CAAC"}
@@ -48,6 +48,10 @@ export declare const BLOG_MCP_TOOLS: Readonly<{
48
48
  selectTheme: "select-theme";
49
49
  readThemeStatus: "read-theme-status";
50
50
  }>;
51
+ export declare const BLOG_MCP_RESOURCES: Readonly<{
52
+ themeAuthoringContract: "theme-authoring-contract";
53
+ eventCatalog: "event-catalog";
54
+ }>;
51
55
  export declare const BLOG_MCP_PROMPTS: Readonly<{
52
56
  reviewAndPublishPost: "review-and-publish-post";
53
57
  moderatePendingComments: "moderate-pending-comments";
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/contracts/mcp.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB,SAAiB,CAAC;AACnD,eAAO,MAAM,mBAAmB,cAAc,CAAC;AAC/C,eAAO,MAAM,oBAAoB,eAAe,CAAC;AACjD,eAAO,MAAM,uBAAuB,kBAAkB,CAAC;AAEvD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBzB,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;EAiB3B,CAAC"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/contracts/mcp.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB,SAAiB,CAAC;AACnD,eAAO,MAAM,mBAAmB,cAAc,CAAC;AAC/C,eAAO,MAAM,oBAAoB,eAAe,CAAC;AACjD,eAAO,MAAM,uBAAuB,kBAAkB,CAAC;AAEvD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBzB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;EAG7B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;EAiB3B,CAAC"}
@@ -20,6 +20,10 @@ export const BLOG_MCP_TOOLS = Object.freeze({
20
20
  listThemes: 'list-theme', readThemeSelection: 'read-theme-selection',
21
21
  selectTheme: 'select-theme', readThemeStatus: 'read-theme-status',
22
22
  });
23
+ export const BLOG_MCP_RESOURCES = Object.freeze({
24
+ themeAuthoringContract: 'theme-authoring-contract',
25
+ eventCatalog: 'event-catalog',
26
+ });
23
27
  export const BLOG_MCP_PROMPTS = Object.freeze({
24
28
  reviewAndPublishPost: 'review-and-publish-post',
25
29
  moderatePendingComments: 'moderate-pending-comments',
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/contracts/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAC;AACnD,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;AAC/C,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAAC;AACjD,MAAM,CAAC,MAAM,uBAAuB,GAAG,eAAe,CAAC;AAEvD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1C,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe;IAC9D,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,iBAAiB;IACvG,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY;IAClE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY;IAChD,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,mBAAmB,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,UAAU,EAAE,aAAa;IAClL,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc;IAC9G,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa;IACxE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc;IAC9G,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,iBAAiB;IAC5F,aAAa,EAAE,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB;IAC/F,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,kBAAkB;IACvE,gBAAgB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,oBAAoB;IAC9E,gBAAgB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,oBAAoB;IACxH,UAAU,EAAE,YAAY,EAAE,kBAAkB,EAAE,sBAAsB;IACpE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,mBAAmB;CAClE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5C,oBAAoB,EAAE,yBAAyB;IAC/C,uBAAuB,EAAE,2BAA2B;IACpD,eAAe,EAAE,mBAAmB;IACpC,eAAe,EAAE,mBAAmB;IACpC,wBAAwB,EAAE,6BAA6B;IACvD,sBAAsB,EAAE,2BAA2B;IACnD,oBAAoB,EAAE,yBAAyB;IAC/C,uBAAuB,EAAE,6BAA6B;IACtD,uBAAuB,EAAE,6BAA6B;IACtD,0BAA0B,EAAE,gCAAgC;IAC5D,0BAA0B,EAAE,gCAAgC;IAC5D,2BAA2B,EAAE,iCAAiC;IAC9D,sBAAsB,EAAE,4BAA4B;IACpD,0BAA0B,EAAE,gCAAgC;IAC5D,2BAA2B,EAAE,gCAAgC;IAC7D,2BAA2B,EAAE,gCAAgC;CAC9D,CAAC,CAAC"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/contracts/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAC;AACnD,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;AAC/C,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAAC;AACjD,MAAM,CAAC,MAAM,uBAAuB,GAAG,eAAe,CAAC;AAEvD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1C,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe;IAC9D,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,iBAAiB;IACvG,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY;IAClE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY;IAChD,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,mBAAmB,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,UAAU,EAAE,aAAa;IAClL,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc;IAC9G,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa;IACxE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc;IAC9G,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,iBAAiB;IAC5F,aAAa,EAAE,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB;IAC/F,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,kBAAkB;IACvE,gBAAgB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,oBAAoB;IAC9E,gBAAgB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,oBAAoB;IACxH,UAAU,EAAE,YAAY,EAAE,kBAAkB,EAAE,sBAAsB;IACpE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,mBAAmB;CAClE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9C,sBAAsB,EAAE,0BAA0B;IAClD,YAAY,EAAE,eAAe;CAC9B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5C,oBAAoB,EAAE,yBAAyB;IAC/C,uBAAuB,EAAE,2BAA2B;IACpD,eAAe,EAAE,mBAAmB;IACpC,eAAe,EAAE,mBAAmB;IACpC,wBAAwB,EAAE,6BAA6B;IACvD,sBAAsB,EAAE,2BAA2B;IACnD,oBAAoB,EAAE,yBAAyB;IAC/C,uBAAuB,EAAE,6BAA6B;IACtD,uBAAuB,EAAE,6BAA6B;IACtD,0BAA0B,EAAE,gCAAgC;IAC5D,0BAA0B,EAAE,gCAAgC;IAC5D,2BAA2B,EAAE,iCAAiC;IAC9D,sBAAsB,EAAE,4BAA4B;IACpD,0BAA0B,EAAE,gCAAgC;IAC5D,2BAA2B,EAAE,gCAAgC;IAC7D,2BAA2B,EAAE,gCAAgC;CAC9D,CAAC,CAAC"}
@@ -0,0 +1,312 @@
1
+ import { type BlogPageChangedField, type BlogPostChangedField } from '@zlooks.cn/blog-shared';
2
+ import type { EntityManager } from 'typeorm';
3
+ import { type BlogCommentRow, type BlogPageRow, type BlogPostRow, type BlogTagRow } from '../persistence/entities.js';
4
+ type PostWithTags = BlogPostRow & {
5
+ readonly tags: readonly BlogTagRow[];
6
+ };
7
+ export declare function buildBlogPostPublishedEvent(manager: EntityManager, post: PostWithTags, occurredAt: Date): Promise<Readonly<{
8
+ protocol: 'zlooks.event';
9
+ protocolVersion: 1;
10
+ eventId: string;
11
+ type: "cn.zlooks.blog.post-published.v1";
12
+ producer: string;
13
+ aggregate: Readonly<{
14
+ type: string;
15
+ id: string;
16
+ }>;
17
+ occurredAt: string;
18
+ data: Readonly<{
19
+ post: Readonly<{
20
+ id: string;
21
+ title: string;
22
+ slug: string;
23
+ summary: string | null;
24
+ coverUrl: string | null;
25
+ publishedAt: string;
26
+ updatedAt: string;
27
+ category: Readonly<{
28
+ id: string;
29
+ name: string;
30
+ slug: string;
31
+ description: string | null;
32
+ sortOrder: number;
33
+ }>;
34
+ tags: readonly Readonly<{
35
+ id: string;
36
+ name: string;
37
+ slug: string;
38
+ }>[];
39
+ status: "archived" | "published";
40
+ contentSha256: string;
41
+ version: number;
42
+ }>;
43
+ }>;
44
+ }>>;
45
+ export declare function buildBlogPostPublicationUpdatedEvent(manager: EntityManager, post: PostWithTags, changedFields: readonly BlogPostChangedField[], occurredAt: Date): Promise<Readonly<{
46
+ protocol: 'zlooks.event';
47
+ protocolVersion: 1;
48
+ eventId: string;
49
+ type: "cn.zlooks.blog.post-publication-updated.v1";
50
+ producer: string;
51
+ aggregate: Readonly<{
52
+ type: string;
53
+ id: string;
54
+ }>;
55
+ occurredAt: string;
56
+ data: Readonly<{
57
+ post: Readonly<{
58
+ id: string;
59
+ title: string;
60
+ slug: string;
61
+ summary: string | null;
62
+ coverUrl: string | null;
63
+ publishedAt: string;
64
+ updatedAt: string;
65
+ category: Readonly<{
66
+ id: string;
67
+ name: string;
68
+ slug: string;
69
+ description: string | null;
70
+ sortOrder: number;
71
+ }>;
72
+ tags: readonly Readonly<{
73
+ id: string;
74
+ name: string;
75
+ slug: string;
76
+ }>[];
77
+ status: "archived" | "published";
78
+ contentSha256: string;
79
+ version: number;
80
+ }>;
81
+ changedFields: readonly ("categoryId" | "content" | "coverUrl" | "slug" | "summary" | "tagIds" | "title")[];
82
+ }>;
83
+ }>>;
84
+ export declare function buildBlogPostArchivedEvent(manager: EntityManager, post: PostWithTags, occurredAt: Date): Promise<Readonly<{
85
+ protocol: 'zlooks.event';
86
+ protocolVersion: 1;
87
+ eventId: string;
88
+ type: "cn.zlooks.blog.post-archived.v1";
89
+ producer: string;
90
+ aggregate: Readonly<{
91
+ type: string;
92
+ id: string;
93
+ }>;
94
+ occurredAt: string;
95
+ data: Readonly<{
96
+ post: Readonly<{
97
+ id: string;
98
+ title: string;
99
+ slug: string;
100
+ summary: string | null;
101
+ coverUrl: string | null;
102
+ publishedAt: string;
103
+ updatedAt: string;
104
+ category: Readonly<{
105
+ id: string;
106
+ name: string;
107
+ slug: string;
108
+ description: string | null;
109
+ sortOrder: number;
110
+ }>;
111
+ tags: readonly Readonly<{
112
+ id: string;
113
+ name: string;
114
+ slug: string;
115
+ }>[];
116
+ status: "archived" | "published";
117
+ contentSha256: string;
118
+ version: number;
119
+ }>;
120
+ }>;
121
+ }>>;
122
+ export declare function buildBlogPagePublishedEvent(manager: EntityManager, page: BlogPageRow, occurredAt: Date): Promise<Readonly<{
123
+ protocol: 'zlooks.event';
124
+ protocolVersion: 1;
125
+ eventId: string;
126
+ type: "cn.zlooks.blog.page-published.v1";
127
+ producer: string;
128
+ aggregate: Readonly<{
129
+ type: string;
130
+ id: string;
131
+ }>;
132
+ occurredAt: string;
133
+ data: Readonly<{
134
+ page: Readonly<{
135
+ id: string;
136
+ title: string;
137
+ slug: string;
138
+ summary: string;
139
+ status: "archived" | "published";
140
+ position: "navigation" | "sidebar" | null;
141
+ sortOrder: number;
142
+ publishedAt: string;
143
+ updatedAt: string;
144
+ contentSha256: string;
145
+ version: number;
146
+ }>;
147
+ }>;
148
+ }>>;
149
+ export declare function buildBlogPagePublicationUpdatedEvent(manager: EntityManager, page: BlogPageRow, changedFields: readonly BlogPageChangedField[], occurredAt: Date): Promise<Readonly<{
150
+ protocol: 'zlooks.event';
151
+ protocolVersion: 1;
152
+ eventId: string;
153
+ type: "cn.zlooks.blog.page-publication-updated.v1";
154
+ producer: string;
155
+ aggregate: Readonly<{
156
+ type: string;
157
+ id: string;
158
+ }>;
159
+ occurredAt: string;
160
+ data: Readonly<{
161
+ page: Readonly<{
162
+ id: string;
163
+ title: string;
164
+ slug: string;
165
+ summary: string;
166
+ status: "archived" | "published";
167
+ position: "navigation" | "sidebar" | null;
168
+ sortOrder: number;
169
+ publishedAt: string;
170
+ updatedAt: string;
171
+ contentSha256: string;
172
+ version: number;
173
+ }>;
174
+ changedFields: readonly ("content" | "position" | "slug" | "sortOrder" | "summary" | "title")[];
175
+ }>;
176
+ }>>;
177
+ export declare function buildBlogPageArchivedEvent(manager: EntityManager, page: BlogPageRow, occurredAt: Date): Promise<Readonly<{
178
+ protocol: 'zlooks.event';
179
+ protocolVersion: 1;
180
+ eventId: string;
181
+ type: "cn.zlooks.blog.page-archived.v1";
182
+ producer: string;
183
+ aggregate: Readonly<{
184
+ type: string;
185
+ id: string;
186
+ }>;
187
+ occurredAt: string;
188
+ data: Readonly<{
189
+ page: Readonly<{
190
+ id: string;
191
+ title: string;
192
+ slug: string;
193
+ summary: string;
194
+ status: "archived" | "published";
195
+ position: "navigation" | "sidebar" | null;
196
+ sortOrder: number;
197
+ publishedAt: string;
198
+ updatedAt: string;
199
+ contentSha256: string;
200
+ version: number;
201
+ }>;
202
+ }>;
203
+ }>>;
204
+ export declare function buildBlogCommentSubmittedEvent(manager: EntityManager, comment: BlogCommentRow, occurredAt: Date): Promise<Readonly<{
205
+ protocol: 'zlooks.event';
206
+ protocolVersion: 1;
207
+ eventId: string;
208
+ type: "cn.zlooks.blog.comment-submitted.v1";
209
+ producer: string;
210
+ aggregate: Readonly<{
211
+ type: string;
212
+ id: string;
213
+ }>;
214
+ occurredAt: string;
215
+ data: Readonly<{
216
+ comment: Readonly<{
217
+ id: string;
218
+ postId: string;
219
+ userId: string;
220
+ content: string;
221
+ status: "approved" | "pending" | "rejected";
222
+ replyContent: string | null;
223
+ repliedAt: string | null;
224
+ location: string | null;
225
+ client: string | null;
226
+ createdAt: string;
227
+ updatedAt: string;
228
+ version: number;
229
+ }>;
230
+ }>;
231
+ }>>;
232
+ export declare function buildBlogCommentStatusChangedEvent(manager: EntityManager, comment: BlogCommentRow, previousStatus: BlogCommentRow['status'], occurredAt: Date): Promise<Readonly<{
233
+ protocol: 'zlooks.event';
234
+ protocolVersion: 1;
235
+ eventId: string;
236
+ type: "cn.zlooks.blog.comment-status-changed.v1";
237
+ producer: string;
238
+ aggregate: Readonly<{
239
+ type: string;
240
+ id: string;
241
+ }>;
242
+ occurredAt: string;
243
+ data: Readonly<{
244
+ comment: Readonly<{
245
+ id: string;
246
+ postId: string;
247
+ userId: string;
248
+ content: string;
249
+ status: "approved" | "pending" | "rejected";
250
+ replyContent: string | null;
251
+ repliedAt: string | null;
252
+ location: string | null;
253
+ client: string | null;
254
+ createdAt: string;
255
+ updatedAt: string;
256
+ version: number;
257
+ }>;
258
+ previousStatus: "approved" | "pending" | "rejected";
259
+ }>;
260
+ }>>;
261
+ export declare function buildBlogCommentReplyChangedEvent(manager: EntityManager, comment: BlogCommentRow, occurredAt: Date): Promise<Readonly<{
262
+ protocol: 'zlooks.event';
263
+ protocolVersion: 1;
264
+ eventId: string;
265
+ type: "cn.zlooks.blog.comment-reply-changed.v1";
266
+ producer: string;
267
+ aggregate: Readonly<{
268
+ type: string;
269
+ id: string;
270
+ }>;
271
+ occurredAt: string;
272
+ data: Readonly<{
273
+ comment: Readonly<{
274
+ id: string;
275
+ postId: string;
276
+ userId: string;
277
+ content: string;
278
+ status: "approved" | "pending" | "rejected";
279
+ replyContent: string | null;
280
+ repliedAt: string | null;
281
+ location: string | null;
282
+ client: string | null;
283
+ createdAt: string;
284
+ updatedAt: string;
285
+ version: number;
286
+ }>;
287
+ }>;
288
+ }>>;
289
+ export declare function buildBlogCommentDeletedEvent(manager: EntityManager, comment: BlogCommentRow, occurredAt: Date): Promise<Readonly<{
290
+ protocol: 'zlooks.event';
291
+ protocolVersion: 1;
292
+ eventId: string;
293
+ type: "cn.zlooks.blog.comment-deleted.v1";
294
+ producer: string;
295
+ aggregate: Readonly<{
296
+ type: string;
297
+ id: string;
298
+ }>;
299
+ occurredAt: string;
300
+ data: Readonly<{
301
+ comment: Readonly<{
302
+ id: string;
303
+ postId: string;
304
+ userId: string;
305
+ status: "approved" | "pending" | "rejected";
306
+ version: number;
307
+ }>;
308
+ deletedAt: string;
309
+ }>;
310
+ }>>;
311
+ export {};
312
+ //# sourceMappingURL=blog-domain-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blog-domain-events.d.ts","sourceRoot":"","sources":["../../src/events/blog-domain-events.ts"],"names":[],"mappings":"AAEA,OAAO,EAaL,KAAK,oBAAoB,EAEzB,KAAK,oBAAoB,EAE1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,UAAU,EAChB,MAAM,4BAA4B,CAAC;AAEpC,KAAK,YAAY,GAAG,WAAW,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,UAAU,EAAE,CAAA;CAAE,CAAC;AAE3E,wBAAsB,2BAA2B,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAE7G;AAED,wBAAsB,oCAAoC,CACxD,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,YAAY,EAClB,aAAa,EAAE,SAAS,oBAAoB,EAAE,EAC9C,UAAU,EAAE,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKjB;AAED,wBAAsB,0BAA0B,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAE5G;AAED,wBAAsB,2BAA2B,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;IAE5G;AAED,wBAAsB,oCAAoC,CACxD,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,WAAW,EACjB,aAAa,EAAE,SAAS,oBAAoB,EAAE,EAC9C,UAAU,EAAE,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKjB;AAED,wBAAsB,0BAA0B,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;IAE3G;AAED,wBAAsB,8BAA8B,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;IAErH;AAED,wBAAsB,kCAAkC,CACtD,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,cAAc,EACvB,cAAc,EAAE,cAAc,CAAC,QAAQ,CAAC,EACxC,UAAU,EAAE,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKjB;AAED,wBAAsB,iCAAiC,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;IAExH;AAED,wBAAsB,4BAA4B,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI;;;;;;;;;;;;;;;;;;;;;IAMnH"}
@@ -0,0 +1,100 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { createDomainEventId } from '@zlooks.cn/event-bus';
3
+ import { BLOG_SERVICE_NAMESPACE, blogCommentDeletedEvent, blogCommentReplyChangedEvent, blogCommentStatusChangedEvent, blogCommentSubmittedEvent, blogPageArchivedEvent, blogPagePublicationUpdatedEvent, blogPagePublishedEvent, blogPostArchivedEvent, blogPostPublicationUpdatedEvent, blogPostPublishedEvent, } from '@zlooks.cn/blog-shared';
4
+ import { BlogCategoryEntity, } from '../persistence/entities.js';
5
+ export async function buildBlogPostPublishedEvent(manager, post, occurredAt) {
6
+ return build(blogPostPublishedEvent, post.id, post.version, { post: await toPostSnapshot(manager, post) }, occurredAt);
7
+ }
8
+ export async function buildBlogPostPublicationUpdatedEvent(manager, post, changedFields, occurredAt) {
9
+ return build(blogPostPublicationUpdatedEvent, post.id, post.version, {
10
+ post: await toPostSnapshot(manager, post), changedFields,
11
+ }, occurredAt);
12
+ }
13
+ export async function buildBlogPostArchivedEvent(manager, post, occurredAt) {
14
+ return build(blogPostArchivedEvent, post.id, post.version, { post: await toPostSnapshot(manager, post) }, occurredAt);
15
+ }
16
+ export async function buildBlogPagePublishedEvent(manager, page, occurredAt) {
17
+ return build(blogPagePublishedEvent, page.id, page.version, { page: toPageSnapshot(page) }, occurredAt);
18
+ }
19
+ export async function buildBlogPagePublicationUpdatedEvent(manager, page, changedFields, occurredAt) {
20
+ return build(blogPagePublicationUpdatedEvent, page.id, page.version, {
21
+ page: toPageSnapshot(page), changedFields,
22
+ }, occurredAt);
23
+ }
24
+ export async function buildBlogPageArchivedEvent(manager, page, occurredAt) {
25
+ return build(blogPageArchivedEvent, page.id, page.version, { page: toPageSnapshot(page) }, occurredAt);
26
+ }
27
+ export async function buildBlogCommentSubmittedEvent(manager, comment, occurredAt) {
28
+ return build(blogCommentSubmittedEvent, comment.id, comment.version, { comment: toCommentSnapshot(comment) }, occurredAt);
29
+ }
30
+ export async function buildBlogCommentStatusChangedEvent(manager, comment, previousStatus, occurredAt) {
31
+ return build(blogCommentStatusChangedEvent, comment.id, comment.version, {
32
+ comment: toCommentSnapshot(comment), previousStatus,
33
+ }, occurredAt);
34
+ }
35
+ export async function buildBlogCommentReplyChangedEvent(manager, comment, occurredAt) {
36
+ return build(blogCommentReplyChangedEvent, comment.id, comment.version, { comment: toCommentSnapshot(comment) }, occurredAt);
37
+ }
38
+ export async function buildBlogCommentDeletedEvent(manager, comment, occurredAt) {
39
+ const version = comment.version + 1;
40
+ return build(blogCommentDeletedEvent, comment.id, version, {
41
+ comment: { id: comment.id, postId: comment.postId, userId: comment.userId, status: comment.status, version },
42
+ deletedAt: occurredAt.toISOString(),
43
+ }, occurredAt);
44
+ }
45
+ function build(definition, aggregateId, aggregateVersion, data, occurredAt) {
46
+ return definition.parse({
47
+ protocol: 'zlooks.event', protocolVersion: 1,
48
+ eventId: createDomainEventId(definition.type, aggregateId, aggregateVersion),
49
+ type: definition.type, producer: BLOG_SERVICE_NAMESPACE,
50
+ aggregate: { type: aggregateType(definition.type), id: aggregateId },
51
+ occurredAt: occurredAt.toISOString(), data,
52
+ });
53
+ }
54
+ function aggregateType(eventType) {
55
+ if (eventType.includes('.post-'))
56
+ return 'post';
57
+ if (eventType.includes('.page-'))
58
+ return 'page';
59
+ return 'comment';
60
+ }
61
+ async function toPostSnapshot(manager, post) {
62
+ if (!post.publishedAt)
63
+ throw new TypeError('Public post event requires a publication timestamp');
64
+ const category = await manager.getRepository(BlogCategoryEntity).findOneByOrFail({ id: post.categoryId });
65
+ return {
66
+ id: post.id,
67
+ category: {
68
+ id: category.id, name: category.name, slug: category.slug,
69
+ description: category.description, sortOrder: category.sortOrder,
70
+ },
71
+ title: post.title, slug: post.slug, summary: post.summary, coverUrl: post.coverUrl,
72
+ status: post.status === 'archived' ? 'archived' : 'published',
73
+ publishedAt: post.publishedAt.toISOString(), updatedAt: post.updatedAt.toISOString(),
74
+ tags: post.tags.map(({ id, name, slug }) => ({ id, name, slug })),
75
+ contentSha256: createHash('sha256').update(post.content).digest('hex'),
76
+ version: post.version,
77
+ };
78
+ }
79
+ function toPageSnapshot(page) {
80
+ if (!page.publishedAt)
81
+ throw new TypeError('Public page event requires a publication timestamp');
82
+ return {
83
+ id: page.id, title: page.title, slug: page.slug, summary: page.summary,
84
+ status: page.status === 'archived' ? 'archived' : 'published',
85
+ position: page.position, sortOrder: page.sortOrder,
86
+ publishedAt: page.publishedAt.toISOString(), updatedAt: page.updatedAt.toISOString(),
87
+ contentSha256: createHash('sha256').update(page.content).digest('hex'), version: page.version,
88
+ };
89
+ }
90
+ function toCommentSnapshot(comment) {
91
+ return {
92
+ id: comment.id, postId: comment.postId, userId: comment.userId, content: comment.content,
93
+ status: comment.status, replyContent: comment.replyContent,
94
+ repliedAt: comment.repliedAt?.toISOString() ?? null,
95
+ location: comment.ipLocation, client: comment.clientLabel,
96
+ createdAt: comment.createdAt.toISOString(), updatedAt: comment.updatedAt.toISOString(),
97
+ version: comment.version,
98
+ };
99
+ }
100
+ //# sourceMappingURL=blog-domain-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blog-domain-events.js","sourceRoot":"","sources":["../../src/events/blog-domain-events.ts"],"names":[],"mappings":"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"}