@23blocks/block-content 1.0.4 → 2.0.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.
Files changed (76) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.esm.js +577 -0
  3. package/dist/src/index.d.ts +7 -0
  4. package/dist/src/index.d.ts.map +1 -0
  5. package/dist/src/lib/block-content.d.ts +2 -0
  6. package/dist/src/lib/block-content.d.ts.map +1 -0
  7. package/dist/src/lib/content.block.d.ts +15 -0
  8. package/dist/src/lib/content.block.d.ts.map +1 -0
  9. package/dist/src/lib/mappers/category.mapper.d.ts +4 -0
  10. package/dist/src/lib/mappers/category.mapper.d.ts.map +1 -0
  11. package/dist/src/lib/mappers/comment.mapper.d.ts +4 -0
  12. package/dist/src/lib/mappers/comment.mapper.d.ts.map +1 -0
  13. package/dist/{lib/mappers/index.js → src/lib/mappers/index.d.ts} +1 -2
  14. package/dist/src/lib/mappers/index.d.ts.map +1 -0
  15. package/dist/src/lib/mappers/post.mapper.d.ts +4 -0
  16. package/dist/src/lib/mappers/post.mapper.d.ts.map +1 -0
  17. package/dist/src/lib/mappers/tag.mapper.d.ts +4 -0
  18. package/dist/src/lib/mappers/tag.mapper.d.ts.map +1 -0
  19. package/dist/src/lib/mappers/utils.d.ts +29 -0
  20. package/dist/src/lib/mappers/utils.d.ts.map +1 -0
  21. package/dist/src/lib/services/categories.service.d.ts +15 -0
  22. package/dist/src/lib/services/categories.service.d.ts.map +1 -0
  23. package/dist/src/lib/services/comments.service.d.ts +15 -0
  24. package/dist/src/lib/services/comments.service.d.ts.map +1 -0
  25. package/dist/{lib/services/index.js → src/lib/services/index.d.ts} +1 -2
  26. package/dist/src/lib/services/index.d.ts.map +1 -0
  27. package/dist/src/lib/services/posts.service.d.ts +20 -0
  28. package/dist/src/lib/services/posts.service.d.ts.map +1 -0
  29. package/dist/src/lib/services/tags.service.d.ts +13 -0
  30. package/dist/src/lib/services/tags.service.d.ts.map +1 -0
  31. package/dist/src/lib/types/category.d.ts +51 -0
  32. package/dist/src/lib/types/category.d.ts.map +1 -0
  33. package/dist/src/lib/types/comment.d.ts +59 -0
  34. package/dist/src/lib/types/comment.d.ts.map +1 -0
  35. package/dist/{lib/types/index.js → src/lib/types/index.d.ts} +1 -2
  36. package/dist/src/lib/types/index.d.ts.map +1 -0
  37. package/dist/src/lib/types/post.d.ts +84 -0
  38. package/dist/src/lib/types/post.d.ts.map +1 -0
  39. package/dist/src/lib/types/tag.d.ts +37 -0
  40. package/dist/src/lib/types/tag.d.ts.map +1 -0
  41. package/package.json +10 -8
  42. package/dist/index.js +0 -7
  43. package/dist/index.js.map +0 -1
  44. package/dist/lib/block-content.js +0 -5
  45. package/dist/lib/block-content.js.map +0 -1
  46. package/dist/lib/content.block.js +0 -22
  47. package/dist/lib/content.block.js.map +0 -1
  48. package/dist/lib/mappers/category.mapper.js +0 -38
  49. package/dist/lib/mappers/category.mapper.js.map +0 -1
  50. package/dist/lib/mappers/comment.mapper.js +0 -43
  51. package/dist/lib/mappers/comment.mapper.js.map +0 -1
  52. package/dist/lib/mappers/index.js.map +0 -1
  53. package/dist/lib/mappers/post.mapper.js +0 -51
  54. package/dist/lib/mappers/post.mapper.js.map +0 -1
  55. package/dist/lib/mappers/tag.mapper.js +0 -21
  56. package/dist/lib/mappers/tag.mapper.js.map +0 -1
  57. package/dist/lib/mappers/utils.js +0 -75
  58. package/dist/lib/mappers/utils.js.map +0 -1
  59. package/dist/lib/services/categories.service.js +0 -69
  60. package/dist/lib/services/categories.service.js.map +0 -1
  61. package/dist/lib/services/comments.service.js +0 -73
  62. package/dist/lib/services/comments.service.js.map +0 -1
  63. package/dist/lib/services/index.js.map +0 -1
  64. package/dist/lib/services/posts.service.js +0 -127
  65. package/dist/lib/services/posts.service.js.map +0 -1
  66. package/dist/lib/services/tags.service.js +0 -59
  67. package/dist/lib/services/tags.service.js.map +0 -1
  68. package/dist/lib/types/category.js +0 -3
  69. package/dist/lib/types/category.js.map +0 -1
  70. package/dist/lib/types/comment.js +0 -3
  71. package/dist/lib/types/comment.js.map +0 -1
  72. package/dist/lib/types/index.js.map +0 -1
  73. package/dist/lib/types/post.js +0 -3
  74. package/dist/lib/types/post.js.map +0 -1
  75. package/dist/lib/types/tag.js +0 -3
  76. package/dist/lib/types/tag.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag.mapper.d.ts","sourceRoot":"","sources":["../../../../src/lib/mappers/tag.mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAGxC,eAAO,MAAM,SAAS,EAAE,cAAc,CAAC,GAAG,CAkBzC,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Parse a string value, returning undefined for empty/undefined
3
+ */
4
+ export declare function parseString(value: unknown): string | undefined;
5
+ /**
6
+ * Parse a date value
7
+ */
8
+ export declare function parseDate(value: unknown): Date | undefined;
9
+ /**
10
+ * Parse a boolean value
11
+ */
12
+ export declare function parseBoolean(value: unknown): boolean;
13
+ /**
14
+ * Parse an array of strings
15
+ */
16
+ export declare function parseStringArray(value: unknown): string[] | undefined;
17
+ /**
18
+ * Parse a number value
19
+ */
20
+ export declare function parseNumber(value: unknown): number;
21
+ /**
22
+ * Parse an optional number value
23
+ */
24
+ export declare function parseOptionalNumber(value: unknown): number | undefined;
25
+ /**
26
+ * Parse entity status
27
+ */
28
+ export declare function parseStatus(value: unknown): 'active' | 'inactive' | 'pending' | 'archived' | 'deleted';
29
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/lib/mappers/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAM9D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAe1D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAQpD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAQrE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAMlD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAMtE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAMtG"}
@@ -0,0 +1,15 @@
1
+ import type { Transport, PageResult } from '@23blocks/contracts';
2
+ import type { Category, CreateCategoryRequest, UpdateCategoryRequest, ListCategoriesParams } from '../types/category';
3
+ export interface CategoriesService {
4
+ list(params?: ListCategoriesParams): Promise<PageResult<Category>>;
5
+ get(uniqueId: string): Promise<Category>;
6
+ create(data: CreateCategoryRequest): Promise<Category>;
7
+ update(uniqueId: string, data: UpdateCategoryRequest): Promise<Category>;
8
+ delete(uniqueId: string): Promise<void>;
9
+ recover(uniqueId: string): Promise<Category>;
10
+ getChildren(uniqueId: string): Promise<Category[]>;
11
+ }
12
+ export declare function createCategoriesService(transport: Transport, _config: {
13
+ appId: string;
14
+ }): CategoriesService;
15
+ //# sourceMappingURL=categories.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"categories.service.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/categories.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,KAAK,EACV,QAAQ,EACR,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAG3B,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnE,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzE,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;CACpD;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,iBAAiB,CA+D3G"}
@@ -0,0 +1,15 @@
1
+ import type { Transport, PageResult } from '@23blocks/contracts';
2
+ import type { Comment, CreateCommentRequest, UpdateCommentRequest, ListCommentsParams } from '../types/comment';
3
+ export interface CommentsService {
4
+ list(params?: ListCommentsParams): Promise<PageResult<Comment>>;
5
+ get(uniqueId: string): Promise<Comment>;
6
+ create(data: CreateCommentRequest): Promise<Comment>;
7
+ update(uniqueId: string, data: UpdateCommentRequest): Promise<Comment>;
8
+ delete(uniqueId: string): Promise<void>;
9
+ like(uniqueId: string): Promise<Comment>;
10
+ dislike(uniqueId: string): Promise<Comment>;
11
+ }
12
+ export declare function createCommentsService(transport: Transport, _config: {
13
+ appId: string;
14
+ }): CommentsService;
15
+ //# sourceMappingURL=comments.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comments.service.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/comments.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,KAAK,EACV,OAAO,EACP,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAG1B,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvE,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAGxC,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7C;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,eAAe,CAmEvG"}
@@ -2,5 +2,4 @@ export * from './posts.service';
2
2
  export * from './comments.service';
3
3
  export * from './categories.service';
4
4
  export * from './tags.service';
5
-
6
- //# sourceMappingURL=index.js.map
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { Transport, PageResult } from '@23blocks/contracts';
2
+ import type { Post, CreatePostRequest, UpdatePostRequest, ListPostsParams } from '../types/post';
3
+ export interface PostsService {
4
+ list(params?: ListPostsParams): Promise<PageResult<Post>>;
5
+ get(uniqueId: string): Promise<Post>;
6
+ create(data: CreatePostRequest): Promise<Post>;
7
+ update(uniqueId: string, data: UpdatePostRequest): Promise<Post>;
8
+ delete(uniqueId: string): Promise<void>;
9
+ recover(uniqueId: string): Promise<Post>;
10
+ search(query: string, params?: ListPostsParams): Promise<PageResult<Post>>;
11
+ listDeleted(params?: ListPostsParams): Promise<PageResult<Post>>;
12
+ like(uniqueId: string): Promise<Post>;
13
+ dislike(uniqueId: string): Promise<Post>;
14
+ save(uniqueId: string): Promise<Post>;
15
+ follow(uniqueId: string): Promise<Post>;
16
+ }
17
+ export declare function createPostsService(transport: Transport, _config: {
18
+ appId: string;
19
+ }): PostsService;
20
+ //# sourceMappingURL=posts.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"posts.service.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/posts.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,KAAK,EACV,IAAI,EACJ,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EAChB,MAAM,eAAe,CAAC;AAGvB,MAAM,WAAW,YAAY;IAE3B,IAAI,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3E,WAAW,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAGjE,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,CAwHjG"}
@@ -0,0 +1,13 @@
1
+ import type { Transport, PageResult } from '@23blocks/contracts';
2
+ import type { Tag, CreateTagRequest, UpdateTagRequest, ListTagsParams } from '../types/tag';
3
+ export interface TagsService {
4
+ list(params?: ListTagsParams): Promise<PageResult<Tag>>;
5
+ get(uniqueId: string): Promise<Tag>;
6
+ create(data: CreateTagRequest): Promise<Tag>;
7
+ update(uniqueId: string, data: UpdateTagRequest): Promise<Tag>;
8
+ delete(uniqueId: string): Promise<void>;
9
+ }
10
+ export declare function createTagsService(transport: Transport, _config: {
11
+ appId: string;
12
+ }): TagsService;
13
+ //# sourceMappingURL=tags.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tags.service.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/tags.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,KAAK,EACV,GAAG,EACH,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACf,MAAM,cAAc,CAAC;AAGtB,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/D,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,WAAW,CAmD/F"}
@@ -0,0 +1,51 @@
1
+ import type { IdentityCore, EntityStatus } from '@23blocks/contracts';
2
+ export interface Category extends IdentityCore {
3
+ code: string;
4
+ name: string;
5
+ description?: string;
6
+ parentId?: string;
7
+ parentUniqueId?: string;
8
+ displayOrder?: number;
9
+ iconUrl?: string;
10
+ imageUrl?: string;
11
+ contentUrl?: string;
12
+ slug?: string;
13
+ status: EntityStatus;
14
+ enabled: boolean;
15
+ metaTitle?: string;
16
+ metaDescription?: string;
17
+ metaKeywords?: string;
18
+ source?: string;
19
+ sourceAlias?: string;
20
+ sourceId?: string;
21
+ sourceType?: string;
22
+ payload?: Record<string, unknown>;
23
+ children?: Category[];
24
+ postCount?: number;
25
+ }
26
+ export interface CreateCategoryRequest {
27
+ name: string;
28
+ description?: string;
29
+ parentUniqueId?: string;
30
+ displayOrder?: number;
31
+ imageUrl?: string;
32
+ iconUrl?: string;
33
+ }
34
+ export interface UpdateCategoryRequest {
35
+ name?: string;
36
+ description?: string;
37
+ parentUniqueId?: string;
38
+ displayOrder?: number;
39
+ imageUrl?: string;
40
+ iconUrl?: string;
41
+ enabled?: boolean;
42
+ status?: EntityStatus;
43
+ }
44
+ export interface ListCategoriesParams {
45
+ page?: number;
46
+ perPage?: number;
47
+ parentUniqueId?: string;
48
+ withChildren?: boolean;
49
+ withPosts?: boolean;
50
+ }
51
+ //# sourceMappingURL=category.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"category.d.ts","sourceRoot":"","sources":["../../../../src/lib/types/category.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEtE,MAAM,WAAW,QAAS,SAAQ,YAAY;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IAGjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAGlC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB"}
@@ -0,0 +1,59 @@
1
+ import type { IdentityCore, EntityStatus } from '@23blocks/contracts';
2
+ export interface Comment extends IdentityCore {
3
+ uniqueId: string;
4
+ postUniqueId: string;
5
+ postVersion?: number;
6
+ content: string;
7
+ thumbnailUrl?: string;
8
+ imageUrl?: string;
9
+ contentUrl?: string;
10
+ mediaUrl?: string;
11
+ userUniqueId?: string;
12
+ userName?: string;
13
+ userAlias?: string;
14
+ userAvatarUrl?: string;
15
+ payload?: Record<string, unknown>;
16
+ status: EntityStatus;
17
+ enabled: boolean;
18
+ parentId?: string;
19
+ likes?: number;
20
+ dislikes?: number;
21
+ followers?: number;
22
+ savers?: number;
23
+ aiGenerated?: boolean;
24
+ aiModel?: string;
25
+ moderated?: boolean;
26
+ moderatedBy?: string;
27
+ moderatedAt?: Date;
28
+ moderationReason?: string;
29
+ moderationDecision?: string;
30
+ }
31
+ export interface CreateCommentRequest {
32
+ postUniqueId: string;
33
+ content: string;
34
+ thumbnailUrl?: string;
35
+ imageUrl?: string;
36
+ contentUrl?: string;
37
+ mediaUrl?: string;
38
+ parentId?: string;
39
+ payload?: Record<string, unknown>;
40
+ }
41
+ export interface UpdateCommentRequest {
42
+ content?: string;
43
+ thumbnailUrl?: string;
44
+ imageUrl?: string;
45
+ contentUrl?: string;
46
+ mediaUrl?: string;
47
+ enabled?: boolean;
48
+ status?: EntityStatus;
49
+ payload?: Record<string, unknown>;
50
+ }
51
+ export interface ListCommentsParams {
52
+ page?: number;
53
+ perPage?: number;
54
+ postUniqueId?: string;
55
+ userUniqueId?: string;
56
+ parentId?: string;
57
+ status?: EntityStatus;
58
+ }
59
+ //# sourceMappingURL=comment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comment.d.ts","sourceRoot":"","sources":["../../../../src/lib/types/comment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEtE,MAAM,WAAW,OAAQ,SAAQ,YAAY;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IAGjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAGD,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB"}
@@ -2,5 +2,4 @@ export * from './post';
2
2
  export * from './comment';
3
3
  export * from './category';
4
4
  export * from './tag';
5
-
6
- //# sourceMappingURL=index.js.map
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,OAAO,CAAC"}
@@ -0,0 +1,84 @@
1
+ import type { IdentityCore, EntityStatus } from '@23blocks/contracts';
2
+ export interface Post extends IdentityCore {
3
+ uniqueId: string;
4
+ postVersionUniqueId?: string;
5
+ title: string;
6
+ abstract?: string;
7
+ keywords?: string;
8
+ content?: string;
9
+ thumbnailUrl?: string;
10
+ imageUrl?: string;
11
+ mediaUrl?: string;
12
+ payload?: Record<string, unknown>;
13
+ status: EntityStatus;
14
+ enabled: boolean;
15
+ publishAt?: Date;
16
+ publishUntil?: Date;
17
+ userUniqueId?: string;
18
+ userName?: string;
19
+ userAlias?: string;
20
+ userAvatarUrl?: string;
21
+ isPublic?: boolean;
22
+ version?: number;
23
+ likes?: number;
24
+ dislikes?: number;
25
+ comments?: number;
26
+ followers?: number;
27
+ savers?: number;
28
+ slug?: string;
29
+ aiGenerated?: boolean;
30
+ aiModel?: string;
31
+ moderated?: boolean;
32
+ moderatedBy?: string;
33
+ moderatedAt?: Date;
34
+ moderationReason?: string;
35
+ moderationDecision?: string;
36
+ }
37
+ export interface CreatePostRequest {
38
+ title: string;
39
+ abstract?: string;
40
+ keywords?: string;
41
+ content?: string;
42
+ thumbnailUrl?: string;
43
+ imageUrl?: string;
44
+ mediaUrl?: string;
45
+ categoryUniqueIds?: string[];
46
+ tagUniqueIds?: string[];
47
+ isPublic?: boolean;
48
+ publishAt?: Date;
49
+ publishUntil?: Date;
50
+ payload?: Record<string, unknown>;
51
+ }
52
+ export interface UpdatePostRequest {
53
+ title?: string;
54
+ abstract?: string;
55
+ keywords?: string;
56
+ content?: string;
57
+ thumbnailUrl?: string;
58
+ imageUrl?: string;
59
+ mediaUrl?: string;
60
+ categoryUniqueIds?: string[];
61
+ tagUniqueIds?: string[];
62
+ isPublic?: boolean;
63
+ publishAt?: Date;
64
+ publishUntil?: Date;
65
+ enabled?: boolean;
66
+ status?: EntityStatus;
67
+ payload?: Record<string, unknown>;
68
+ }
69
+ export interface ListPostsParams {
70
+ page?: number;
71
+ perPage?: number;
72
+ status?: EntityStatus;
73
+ categoryUniqueId?: string;
74
+ tagUniqueId?: string;
75
+ userUniqueId?: string;
76
+ search?: string;
77
+ withComments?: boolean;
78
+ withCategories?: boolean;
79
+ withTags?: boolean;
80
+ isPublic?: boolean;
81
+ sortBy?: string;
82
+ sortOrder?: 'asc' | 'desc';
83
+ }
84
+ //# sourceMappingURL=post.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../../src/lib/types/post.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { IdentityCore, EntityStatus } from '@23blocks/contracts';
2
+ export interface Tag extends IdentityCore {
3
+ uniqueId: string;
4
+ tag: string;
5
+ thumbnailUrl?: string;
6
+ imageUrl?: string;
7
+ contentUrl?: string;
8
+ mediaUrl?: string;
9
+ payload?: Record<string, unknown>;
10
+ status: EntityStatus;
11
+ enabled: boolean;
12
+ slug?: string;
13
+ }
14
+ export interface CreateTagRequest {
15
+ tag: string;
16
+ thumbnailUrl?: string;
17
+ imageUrl?: string;
18
+ contentUrl?: string;
19
+ mediaUrl?: string;
20
+ payload?: Record<string, unknown>;
21
+ }
22
+ export interface UpdateTagRequest {
23
+ tag?: string;
24
+ thumbnailUrl?: string;
25
+ imageUrl?: string;
26
+ contentUrl?: string;
27
+ mediaUrl?: string;
28
+ enabled?: boolean;
29
+ status?: EntityStatus;
30
+ payload?: Record<string, unknown>;
31
+ }
32
+ export interface ListTagsParams {
33
+ page?: number;
34
+ perPage?: number;
35
+ search?: string;
36
+ }
37
+ //# sourceMappingURL=tag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../../../src/lib/types/tag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEtE,MAAM,WAAW,GAAI,SAAQ,YAAY;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAGD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
package/package.json CHANGED
@@ -1,21 +1,21 @@
1
1
  {
2
2
  "name": "@23blocks/block-content",
3
- "version": "1.0.4",
3
+ "version": "2.0.0",
4
4
  "type": "module",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/23blocks-OS/frontend-sdk.git",
8
8
  "directory": "packages/block-content"
9
9
  },
10
- "main": "./dist/index.js",
11
- "module": "./dist/index.js",
10
+ "main": "./dist/index.esm.js",
11
+ "module": "./dist/index.esm.js",
12
12
  "types": "./dist/index.d.ts",
13
13
  "exports": {
14
14
  "./package.json": "./package.json",
15
15
  ".": {
16
16
  "types": "./dist/index.d.ts",
17
- "import": "./dist/index.js",
18
- "default": "./dist/index.js"
17
+ "import": "./dist/index.esm.js",
18
+ "default": "./dist/index.esm.js"
19
19
  }
20
20
  },
21
21
  "files": [
@@ -26,7 +26,7 @@
26
26
  "sourceRoot": "packages/block-content/src",
27
27
  "targets": {
28
28
  "build": {
29
- "executor": "@nx/js:swc",
29
+ "executor": "@nx/rollup:rollup",
30
30
  "outputs": [
31
31
  "{options.outputPath}"
32
32
  ],
@@ -34,8 +34,10 @@
34
34
  "outputPath": "packages/block-content/dist",
35
35
  "main": "packages/block-content/src/index.ts",
36
36
  "tsConfig": "packages/block-content/tsconfig.lib.json",
37
- "skipTypeCheck": true,
38
- "stripLeadingPaths": true
37
+ "compiler": "swc",
38
+ "format": [
39
+ "esm"
40
+ ]
39
41
  }
40
42
  }
41
43
  }
package/dist/index.js DELETED
@@ -1,7 +0,0 @@
1
- // Block factory and metadata
2
- export { createContentBlock, contentBlockMetadata } from './lib/content.block';
3
- export { createPostsService, createCommentsService, createCategoriesService, createTagsService } from './lib/services';
4
- // Mappers (for advanced use cases)
5
- export { postMapper, commentMapper, categoryMapper, tagMapper } from './lib/mappers';
6
-
7
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["// Block factory and metadata\nexport { createContentBlock, contentBlockMetadata } from './lib/content.block';\nexport type { ContentBlock, ContentBlockConfig } from './lib/content.block';\n\n// Types\nexport type {\n // Post types\n Post,\n CreatePostRequest,\n UpdatePostRequest,\n ListPostsParams,\n // Comment types\n Comment,\n CreateCommentRequest,\n UpdateCommentRequest,\n ListCommentsParams,\n // Category types\n Category,\n CreateCategoryRequest,\n UpdateCategoryRequest,\n ListCategoriesParams,\n // Tag types\n Tag,\n CreateTagRequest,\n UpdateTagRequest,\n ListTagsParams,\n} from './lib/types';\n\n// Services\nexport type {\n PostsService,\n CommentsService,\n CategoriesService,\n TagsService,\n} from './lib/services';\n\nexport {\n createPostsService,\n createCommentsService,\n createCategoriesService,\n createTagsService,\n} from './lib/services';\n\n// Mappers (for advanced use cases)\nexport {\n postMapper,\n commentMapper,\n categoryMapper,\n tagMapper,\n} from './lib/mappers';\n"],"names":["createContentBlock","contentBlockMetadata","createPostsService","createCommentsService","createCategoriesService","createTagsService","postMapper","commentMapper","categoryMapper","tagMapper"],"rangeMappings":";;;;","mappings":"AAAA,6BAA6B;AAC7B,SAASA,kBAAkB,EAAEC,oBAAoB,QAAQ,sBAAsB;AAmC/E,SACEC,kBAAkB,EAClBC,qBAAqB,EACrBC,uBAAuB,EACvBC,iBAAiB,QACZ,iBAAiB;AAExB,mCAAmC;AACnC,SACEC,UAAU,EACVC,aAAa,EACbC,cAAc,EACdC,SAAS,QACJ,gBAAgB"}
@@ -1,5 +0,0 @@
1
- export function blockContent() {
2
- return 'block-content';
3
- }
4
-
5
- //# sourceMappingURL=block-content.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/lib/block-content.ts"],"sourcesContent":["export function blockContent(): string {\n return 'block-content';\n}\n"],"names":["blockContent"],"rangeMappings":";;","mappings":"AAAA,OAAO,SAASA;IACd,OAAO;AACT"}
@@ -1,22 +0,0 @@
1
- import { createPostsService, createCommentsService, createCategoriesService, createTagsService } from './services';
2
- export function createContentBlock(transport, config) {
3
- return {
4
- posts: createPostsService(transport, config),
5
- comments: createCommentsService(transport, config),
6
- categories: createCategoriesService(transport, config),
7
- tags: createTagsService(transport, config)
8
- };
9
- }
10
- export const contentBlockMetadata = {
11
- name: 'content',
12
- version: '0.1.0',
13
- description: 'Content management for posts, comments, categories, and tags',
14
- resourceTypes: [
15
- 'Post',
16
- 'Comment',
17
- 'Category',
18
- 'Tag'
19
- ]
20
- };
21
-
22
- //# sourceMappingURL=content.block.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/lib/content.block.ts"],"sourcesContent":["import type { Transport, BlockConfig, BlockMetadata } from '@23blocks/contracts';\nimport {\n createPostsService,\n createCommentsService,\n createCategoriesService,\n createTagsService,\n type PostsService,\n type CommentsService,\n type CategoriesService,\n type TagsService,\n} from './services';\n\nexport interface ContentBlockConfig extends BlockConfig {\n appId: string;\n tenantId?: string;\n}\n\nexport interface ContentBlock {\n posts: PostsService;\n comments: CommentsService;\n categories: CategoriesService;\n tags: TagsService;\n}\n\nexport function createContentBlock(\n transport: Transport,\n config: ContentBlockConfig\n): ContentBlock {\n return {\n posts: createPostsService(transport, config),\n comments: createCommentsService(transport, config),\n categories: createCategoriesService(transport, config),\n tags: createTagsService(transport, config),\n };\n}\n\nexport const contentBlockMetadata: BlockMetadata = {\n name: 'content',\n version: '0.1.0',\n description: 'Content management for posts, comments, categories, and tags',\n resourceTypes: [\n 'Post',\n 'Comment',\n 'Category',\n 'Tag',\n ],\n};\n"],"names":["createPostsService","createCommentsService","createCategoriesService","createTagsService","createContentBlock","transport","config","posts","comments","categories","tags","contentBlockMetadata","name","version","description","resourceTypes"],"rangeMappings":";;;;;;;;;;;;;;;;;;;","mappings":"AACA,SACEA,kBAAkB,EAClBC,qBAAqB,EACrBC,uBAAuB,EACvBC,iBAAiB,QAKZ,aAAa;AAcpB,OAAO,SAASC,mBACdC,SAAoB,EACpBC,MAA0B;IAE1B,OAAO;QACLC,OAAOP,mBAAmBK,WAAWC;QACrCE,UAAUP,sBAAsBI,WAAWC;QAC3CG,YAAYP,wBAAwBG,WAAWC;QAC/CI,MAAMP,kBAAkBE,WAAWC;IACrC;AACF;AAEA,OAAO,MAAMK,uBAAsC;IACjDC,MAAM;IACNC,SAAS;IACTC,aAAa;IACbC,eAAe;QACb;QACA;QACA;QACA;KACD;AACH,EAAE"}
@@ -1,38 +0,0 @@
1
- import { parseString, parseDate, parseBoolean, parseOptionalNumber, parseStatus } from './utils';
2
- export const categoryMapper = {
3
- type: 'Category',
4
- map: (resource)=>({
5
- id: resource.id,
6
- uniqueId: parseString(resource.attributes['unique_id']) || resource.id,
7
- createdAt: parseDate(resource.attributes['created_at']) || new Date(),
8
- updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),
9
- code: parseString(resource.attributes['code']) || '',
10
- name: parseString(resource.attributes['name']) || '',
11
- description: parseString(resource.attributes['description']),
12
- parentId: parseString(resource.attributes['parent_id']),
13
- parentUniqueId: parseString(resource.attributes['parent_unique_id']),
14
- // Display
15
- displayOrder: parseOptionalNumber(resource.attributes['display_order']),
16
- iconUrl: parseString(resource.attributes['icon_url']),
17
- imageUrl: parseString(resource.attributes['image_url']),
18
- contentUrl: parseString(resource.attributes['content_url']),
19
- slug: parseString(resource.attributes['slug']),
20
- // Business Logic
21
- status: parseStatus(resource.attributes['status']),
22
- enabled: parseBoolean(resource.attributes['enabled']),
23
- // SEO
24
- metaTitle: parseString(resource.attributes['meta_title']),
25
- metaDescription: parseString(resource.attributes['meta_description']),
26
- metaKeywords: parseString(resource.attributes['meta_keywords']),
27
- // Source
28
- source: parseString(resource.attributes['source']),
29
- sourceAlias: parseString(resource.attributes['source_alias']),
30
- sourceId: parseString(resource.attributes['source_id']),
31
- sourceType: parseString(resource.attributes['source_type']),
32
- // Extra
33
- payload: resource.attributes['payload'],
34
- postCount: parseOptionalNumber(resource.attributes['post_count'])
35
- })
36
- };
37
-
38
- //# sourceMappingURL=category.mapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/lib/mappers/category.mapper.ts"],"sourcesContent":["import type { ResourceMapper } from '@23blocks/jsonapi-codec';\nimport type { Category } from '../types/category';\nimport { parseString, parseDate, parseBoolean, parseOptionalNumber, parseStatus } from './utils';\n\nexport const categoryMapper: ResourceMapper<Category> = {\n type: 'Category',\n map: (resource) => ({\n id: resource.id,\n uniqueId: parseString(resource.attributes['unique_id']) || resource.id,\n createdAt: parseDate(resource.attributes['created_at']) || new Date(),\n updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),\n\n code: parseString(resource.attributes['code']) || '',\n name: parseString(resource.attributes['name']) || '',\n description: parseString(resource.attributes['description']),\n parentId: parseString(resource.attributes['parent_id']),\n parentUniqueId: parseString(resource.attributes['parent_unique_id']),\n\n // Display\n displayOrder: parseOptionalNumber(resource.attributes['display_order']),\n iconUrl: parseString(resource.attributes['icon_url']),\n imageUrl: parseString(resource.attributes['image_url']),\n contentUrl: parseString(resource.attributes['content_url']),\n slug: parseString(resource.attributes['slug']),\n\n // Business Logic\n status: parseStatus(resource.attributes['status']),\n enabled: parseBoolean(resource.attributes['enabled']),\n\n // SEO\n metaTitle: parseString(resource.attributes['meta_title']),\n metaDescription: parseString(resource.attributes['meta_description']),\n metaKeywords: parseString(resource.attributes['meta_keywords']),\n\n // Source\n source: parseString(resource.attributes['source']),\n sourceAlias: parseString(resource.attributes['source_alias']),\n sourceId: parseString(resource.attributes['source_id']),\n sourceType: parseString(resource.attributes['source_type']),\n\n // Extra\n payload: resource.attributes['payload'] as Record<string, unknown> | undefined,\n postCount: parseOptionalNumber(resource.attributes['post_count']),\n }),\n};\n"],"names":["parseString","parseDate","parseBoolean","parseOptionalNumber","parseStatus","categoryMapper","type","map","resource","id","uniqueId","attributes","createdAt","Date","updatedAt","code","name","description","parentId","parentUniqueId","displayOrder","iconUrl","imageUrl","contentUrl","slug","status","enabled","metaTitle","metaDescription","metaKeywords","source","sourceAlias","sourceId","sourceType","payload","postCount"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,WAAW,EAAEC,SAAS,EAAEC,YAAY,EAAEC,mBAAmB,EAAEC,WAAW,QAAQ,UAAU;AAEjG,OAAO,MAAMC,iBAA2C;IACtDC,MAAM;IACNC,KAAK,CAACC,WAAc,CAAA;YAClBC,IAAID,SAASC,EAAE;YACfC,UAAUV,YAAYQ,SAASG,UAAU,CAAC,YAAY,KAAKH,SAASC,EAAE;YACtEG,WAAWX,UAAUO,SAASG,UAAU,CAAC,aAAa,KAAK,IAAIE;YAC/DC,WAAWb,UAAUO,SAASG,UAAU,CAAC,aAAa,KAAK,IAAIE;YAE/DE,MAAMf,YAAYQ,SAASG,UAAU,CAAC,OAAO,KAAK;YAClDK,MAAMhB,YAAYQ,SAASG,UAAU,CAAC,OAAO,KAAK;YAClDM,aAAajB,YAAYQ,SAASG,UAAU,CAAC,cAAc;YAC3DO,UAAUlB,YAAYQ,SAASG,UAAU,CAAC,YAAY;YACtDQ,gBAAgBnB,YAAYQ,SAASG,UAAU,CAAC,mBAAmB;YAEnE,UAAU;YACVS,cAAcjB,oBAAoBK,SAASG,UAAU,CAAC,gBAAgB;YACtEU,SAASrB,YAAYQ,SAASG,UAAU,CAAC,WAAW;YACpDW,UAAUtB,YAAYQ,SAASG,UAAU,CAAC,YAAY;YACtDY,YAAYvB,YAAYQ,SAASG,UAAU,CAAC,cAAc;YAC1Da,MAAMxB,YAAYQ,SAASG,UAAU,CAAC,OAAO;YAE7C,iBAAiB;YACjBc,QAAQrB,YAAYI,SAASG,UAAU,CAAC,SAAS;YACjDe,SAASxB,aAAaM,SAASG,UAAU,CAAC,UAAU;YAEpD,MAAM;YACNgB,WAAW3B,YAAYQ,SAASG,UAAU,CAAC,aAAa;YACxDiB,iBAAiB5B,YAAYQ,SAASG,UAAU,CAAC,mBAAmB;YACpEkB,cAAc7B,YAAYQ,SAASG,UAAU,CAAC,gBAAgB;YAE9D,SAAS;YACTmB,QAAQ9B,YAAYQ,SAASG,UAAU,CAAC,SAAS;YACjDoB,aAAa/B,YAAYQ,SAASG,UAAU,CAAC,eAAe;YAC5DqB,UAAUhC,YAAYQ,SAASG,UAAU,CAAC,YAAY;YACtDsB,YAAYjC,YAAYQ,SAASG,UAAU,CAAC,cAAc;YAE1D,QAAQ;YACRuB,SAAS1B,SAASG,UAAU,CAAC,UAAU;YACvCwB,WAAWhC,oBAAoBK,SAASG,UAAU,CAAC,aAAa;QAClE,CAAA;AACF,EAAE"}
@@ -1,43 +0,0 @@
1
- import { parseString, parseDate, parseBoolean, parseOptionalNumber, parseStatus } from './utils';
2
- export const commentMapper = {
3
- type: 'Comment',
4
- map: (resource)=>({
5
- id: resource.id,
6
- uniqueId: parseString(resource.attributes['unique_id']) || resource.id,
7
- createdAt: parseDate(resource.attributes['created_at']) || new Date(),
8
- updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),
9
- postUniqueId: parseString(resource.attributes['post_unique_id']) || '',
10
- postVersion: parseOptionalNumber(resource.attributes['post_version']),
11
- content: parseString(resource.attributes['content']) || '',
12
- thumbnailUrl: parseString(resource.attributes['thumbnail_url']),
13
- imageUrl: parseString(resource.attributes['image_url']),
14
- contentUrl: parseString(resource.attributes['content_url']),
15
- mediaUrl: parseString(resource.attributes['media_url']),
16
- // User
17
- userUniqueId: parseString(resource.attributes['user_unique_id']),
18
- userName: parseString(resource.attributes['user_name']),
19
- userAlias: parseString(resource.attributes['user_alias']),
20
- userAvatarUrl: parseString(resource.attributes['user_avatar_url']),
21
- payload: resource.attributes['payload'],
22
- status: parseStatus(resource.attributes['status']),
23
- enabled: parseBoolean(resource.attributes['enabled']),
24
- // Threading
25
- parentId: parseString(resource.attributes['parent_id']),
26
- // Engagement
27
- likes: parseOptionalNumber(resource.attributes['likes']),
28
- dislikes: parseOptionalNumber(resource.attributes['dislikes']),
29
- followers: parseOptionalNumber(resource.attributes['followers']),
30
- savers: parseOptionalNumber(resource.attributes['savers']),
31
- // AI
32
- aiGenerated: parseBoolean(resource.attributes['ai_generated']),
33
- aiModel: parseString(resource.attributes['ai_model']),
34
- // Moderation
35
- moderated: parseBoolean(resource.attributes['moderated']),
36
- moderatedBy: parseString(resource.attributes['moderated_by']),
37
- moderatedAt: parseDate(resource.attributes['moderated_at']),
38
- moderationReason: parseString(resource.attributes['moderation_reason']),
39
- moderationDecision: parseString(resource.attributes['moderation_decision'])
40
- })
41
- };
42
-
43
- //# sourceMappingURL=comment.mapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/lib/mappers/comment.mapper.ts"],"sourcesContent":["import type { ResourceMapper } from '@23blocks/jsonapi-codec';\nimport type { Comment } from '../types/comment';\nimport { parseString, parseDate, parseBoolean, parseOptionalNumber, parseStatus } from './utils';\n\nexport const commentMapper: ResourceMapper<Comment> = {\n type: 'Comment',\n map: (resource) => ({\n id: resource.id,\n uniqueId: parseString(resource.attributes['unique_id']) || resource.id,\n createdAt: parseDate(resource.attributes['created_at']) || new Date(),\n updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),\n\n postUniqueId: parseString(resource.attributes['post_unique_id']) || '',\n postVersion: parseOptionalNumber(resource.attributes['post_version']),\n content: parseString(resource.attributes['content']) || '',\n thumbnailUrl: parseString(resource.attributes['thumbnail_url']),\n imageUrl: parseString(resource.attributes['image_url']),\n contentUrl: parseString(resource.attributes['content_url']),\n mediaUrl: parseString(resource.attributes['media_url']),\n\n // User\n userUniqueId: parseString(resource.attributes['user_unique_id']),\n userName: parseString(resource.attributes['user_name']),\n userAlias: parseString(resource.attributes['user_alias']),\n userAvatarUrl: parseString(resource.attributes['user_avatar_url']),\n\n payload: resource.attributes['payload'] as Record<string, unknown> | undefined,\n status: parseStatus(resource.attributes['status']),\n enabled: parseBoolean(resource.attributes['enabled']),\n\n // Threading\n parentId: parseString(resource.attributes['parent_id']),\n\n // Engagement\n likes: parseOptionalNumber(resource.attributes['likes']),\n dislikes: parseOptionalNumber(resource.attributes['dislikes']),\n followers: parseOptionalNumber(resource.attributes['followers']),\n savers: parseOptionalNumber(resource.attributes['savers']),\n\n // AI\n aiGenerated: parseBoolean(resource.attributes['ai_generated']),\n aiModel: parseString(resource.attributes['ai_model']),\n\n // Moderation\n moderated: parseBoolean(resource.attributes['moderated']),\n moderatedBy: parseString(resource.attributes['moderated_by']),\n moderatedAt: parseDate(resource.attributes['moderated_at']),\n moderationReason: parseString(resource.attributes['moderation_reason']),\n moderationDecision: parseString(resource.attributes['moderation_decision']),\n }),\n};\n"],"names":["parseString","parseDate","parseBoolean","parseOptionalNumber","parseStatus","commentMapper","type","map","resource","id","uniqueId","attributes","createdAt","Date","updatedAt","postUniqueId","postVersion","content","thumbnailUrl","imageUrl","contentUrl","mediaUrl","userUniqueId","userName","userAlias","userAvatarUrl","payload","status","enabled","parentId","likes","dislikes","followers","savers","aiGenerated","aiModel","moderated","moderatedBy","moderatedAt","moderationReason","moderationDecision"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,WAAW,EAAEC,SAAS,EAAEC,YAAY,EAAEC,mBAAmB,EAAEC,WAAW,QAAQ,UAAU;AAEjG,OAAO,MAAMC,gBAAyC;IACpDC,MAAM;IACNC,KAAK,CAACC,WAAc,CAAA;YAClBC,IAAID,SAASC,EAAE;YACfC,UAAUV,YAAYQ,SAASG,UAAU,CAAC,YAAY,KAAKH,SAASC,EAAE;YACtEG,WAAWX,UAAUO,SAASG,UAAU,CAAC,aAAa,KAAK,IAAIE;YAC/DC,WAAWb,UAAUO,SAASG,UAAU,CAAC,aAAa,KAAK,IAAIE;YAE/DE,cAAcf,YAAYQ,SAASG,UAAU,CAAC,iBAAiB,KAAK;YACpEK,aAAab,oBAAoBK,SAASG,UAAU,CAAC,eAAe;YACpEM,SAASjB,YAAYQ,SAASG,UAAU,CAAC,UAAU,KAAK;YACxDO,cAAclB,YAAYQ,SAASG,UAAU,CAAC,gBAAgB;YAC9DQ,UAAUnB,YAAYQ,SAASG,UAAU,CAAC,YAAY;YACtDS,YAAYpB,YAAYQ,SAASG,UAAU,CAAC,cAAc;YAC1DU,UAAUrB,YAAYQ,SAASG,UAAU,CAAC,YAAY;YAEtD,OAAO;YACPW,cAActB,YAAYQ,SAASG,UAAU,CAAC,iBAAiB;YAC/DY,UAAUvB,YAAYQ,SAASG,UAAU,CAAC,YAAY;YACtDa,WAAWxB,YAAYQ,SAASG,UAAU,CAAC,aAAa;YACxDc,eAAezB,YAAYQ,SAASG,UAAU,CAAC,kBAAkB;YAEjEe,SAASlB,SAASG,UAAU,CAAC,UAAU;YACvCgB,QAAQvB,YAAYI,SAASG,UAAU,CAAC,SAAS;YACjDiB,SAAS1B,aAAaM,SAASG,UAAU,CAAC,UAAU;YAEpD,YAAY;YACZkB,UAAU7B,YAAYQ,SAASG,UAAU,CAAC,YAAY;YAEtD,aAAa;YACbmB,OAAO3B,oBAAoBK,SAASG,UAAU,CAAC,QAAQ;YACvDoB,UAAU5B,oBAAoBK,SAASG,UAAU,CAAC,WAAW;YAC7DqB,WAAW7B,oBAAoBK,SAASG,UAAU,CAAC,YAAY;YAC/DsB,QAAQ9B,oBAAoBK,SAASG,UAAU,CAAC,SAAS;YAEzD,KAAK;YACLuB,aAAahC,aAAaM,SAASG,UAAU,CAAC,eAAe;YAC7DwB,SAASnC,YAAYQ,SAASG,UAAU,CAAC,WAAW;YAEpD,aAAa;YACbyB,WAAWlC,aAAaM,SAASG,UAAU,CAAC,YAAY;YACxD0B,aAAarC,YAAYQ,SAASG,UAAU,CAAC,eAAe;YAC5D2B,aAAarC,UAAUO,SAASG,UAAU,CAAC,eAAe;YAC1D4B,kBAAkBvC,YAAYQ,SAASG,UAAU,CAAC,oBAAoB;YACtE6B,oBAAoBxC,YAAYQ,SAASG,UAAU,CAAC,sBAAsB;QAC5E,CAAA;AACF,EAAE"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/lib/mappers/index.ts"],"sourcesContent":["export * from './post.mapper';\nexport * from './comment.mapper';\nexport * from './category.mapper';\nexport * from './tag.mapper';\n"],"names":[],"rangeMappings":";;;","mappings":"AAAA,cAAc,gBAAgB;AAC9B,cAAc,mBAAmB;AACjC,cAAc,oBAAoB;AAClC,cAAc,eAAe"}