@23blocks/angular 1.0.3 → 1.1.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/lib/assets/assets.service.js +43 -30
- package/dist/lib/assets/assets.service.js.map +1 -1
- package/dist/lib/authentication/authentication.service.js +49 -32
- package/dist/lib/authentication/authentication.service.js.map +1 -1
- package/dist/lib/campaigns/campaigns.service.js +51 -38
- package/dist/lib/campaigns/campaigns.service.js.map +1 -1
- package/dist/lib/company/company.service.js +50 -37
- package/dist/lib/company/company.service.js.map +1 -1
- package/dist/lib/content/content.service.js +52 -39
- package/dist/lib/content/content.service.js.map +1 -1
- package/dist/lib/conversations/conversations.service.js +59 -46
- package/dist/lib/conversations/conversations.service.js.map +1 -1
- package/dist/lib/crm/crm.service.js +69 -56
- package/dist/lib/crm/crm.service.js.map +1 -1
- package/dist/lib/files/files.service.js +42 -29
- package/dist/lib/files/files.service.js.map +1 -1
- package/dist/lib/forms/forms.service.js +45 -32
- package/dist/lib/forms/forms.service.js.map +1 -1
- package/dist/lib/geolocation/geolocation.service.js +78 -65
- package/dist/lib/geolocation/geolocation.service.js.map +1 -1
- package/dist/lib/index.js +4 -1
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/jarvis/jarvis.service.js +54 -41
- package/dist/lib/jarvis/jarvis.service.js.map +1 -1
- package/dist/lib/onboarding/onboarding.service.js +45 -32
- package/dist/lib/onboarding/onboarding.service.js.map +1 -1
- package/dist/lib/products/products.service.js +80 -67
- package/dist/lib/products/products.service.js.map +1 -1
- package/dist/lib/rewards/rewards.service.js +47 -34
- package/dist/lib/rewards/rewards.service.js.map +1 -1
- package/dist/lib/sales/sales.service.js +47 -34
- package/dist/lib/sales/sales.service.js.map +1 -1
- package/dist/lib/search/search.service.js +31 -18
- package/dist/lib/search/search.service.js.map +1 -1
- package/dist/lib/simple-providers.js +96 -15
- package/dist/lib/simple-providers.js.map +1 -1
- package/dist/lib/tokens.js +26 -1
- package/dist/lib/tokens.js.map +1 -1
- package/dist/lib/university/university.service.js +58 -45
- package/dist/lib/university/university.service.js.map +1 -1
- package/dist/lib/wallet/wallet.service.js +39 -26
- package/dist/lib/wallet/wallet.service.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,115 +1,123 @@
|
|
|
1
1
|
import { _ as _ts_decorate } from "@swc/helpers/_/_ts_decorate";
|
|
2
2
|
import { _ as _ts_metadata } from "@swc/helpers/_/_ts_metadata";
|
|
3
3
|
import { _ as _ts_param } from "@swc/helpers/_/_ts_param";
|
|
4
|
-
import { Injectable, Inject } from '@angular/core';
|
|
4
|
+
import { Injectable, Inject, Optional } from '@angular/core';
|
|
5
5
|
import { from } from 'rxjs';
|
|
6
6
|
import { createContentBlock } from '@23blocks/block-content';
|
|
7
|
-
import { TRANSPORT, CONTENT_CONFIG } from '../tokens.js';
|
|
7
|
+
import { TRANSPORT, CONTENT_TRANSPORT, CONTENT_CONFIG } from '../tokens.js';
|
|
8
8
|
export class ContentService {
|
|
9
|
+
/**
|
|
10
|
+
* Ensure the service is configured, throw helpful error if not
|
|
11
|
+
*/ ensureConfigured() {
|
|
12
|
+
if (!this.block) {
|
|
13
|
+
throw new Error('[23blocks] ContentService is not configured. ' + "Add 'urls.content' to your provideBlocks23() configuration.");
|
|
14
|
+
}
|
|
15
|
+
return this.block;
|
|
16
|
+
}
|
|
9
17
|
// ───────────────────────────────────────────────────────────────────────────
|
|
10
18
|
// Posts Service
|
|
11
19
|
// ───────────────────────────────────────────────────────────────────────────
|
|
12
20
|
listPosts(params) {
|
|
13
|
-
return from(this.
|
|
21
|
+
return from(this.ensureConfigured().posts.list(params));
|
|
14
22
|
}
|
|
15
23
|
getPost(uniqueId) {
|
|
16
|
-
return from(this.
|
|
24
|
+
return from(this.ensureConfigured().posts.get(uniqueId));
|
|
17
25
|
}
|
|
18
26
|
createPost(data) {
|
|
19
|
-
return from(this.
|
|
27
|
+
return from(this.ensureConfigured().posts.create(data));
|
|
20
28
|
}
|
|
21
29
|
updatePost(uniqueId, data) {
|
|
22
|
-
return from(this.
|
|
30
|
+
return from(this.ensureConfigured().posts.update(uniqueId, data));
|
|
23
31
|
}
|
|
24
32
|
deletePost(uniqueId) {
|
|
25
|
-
return from(this.
|
|
33
|
+
return from(this.ensureConfigured().posts.delete(uniqueId));
|
|
26
34
|
}
|
|
27
35
|
recoverPost(uniqueId) {
|
|
28
|
-
return from(this.
|
|
36
|
+
return from(this.ensureConfigured().posts.recover(uniqueId));
|
|
29
37
|
}
|
|
30
38
|
searchPosts(query, params) {
|
|
31
|
-
return from(this.
|
|
39
|
+
return from(this.ensureConfigured().posts.search(query, params));
|
|
32
40
|
}
|
|
33
41
|
listDeletedPosts(params) {
|
|
34
|
-
return from(this.
|
|
42
|
+
return from(this.ensureConfigured().posts.listDeleted(params));
|
|
35
43
|
}
|
|
36
44
|
likePost(uniqueId) {
|
|
37
|
-
return from(this.
|
|
45
|
+
return from(this.ensureConfigured().posts.like(uniqueId));
|
|
38
46
|
}
|
|
39
47
|
dislikePost(uniqueId) {
|
|
40
|
-
return from(this.
|
|
48
|
+
return from(this.ensureConfigured().posts.dislike(uniqueId));
|
|
41
49
|
}
|
|
42
50
|
savePost(uniqueId) {
|
|
43
|
-
return from(this.
|
|
51
|
+
return from(this.ensureConfigured().posts.save(uniqueId));
|
|
44
52
|
}
|
|
45
53
|
followPost(uniqueId) {
|
|
46
|
-
return from(this.
|
|
54
|
+
return from(this.ensureConfigured().posts.follow(uniqueId));
|
|
47
55
|
}
|
|
48
56
|
// ───────────────────────────────────────────────────────────────────────────
|
|
49
57
|
// Comments Service
|
|
50
58
|
// ───────────────────────────────────────────────────────────────────────────
|
|
51
59
|
listComments(params) {
|
|
52
|
-
return from(this.
|
|
60
|
+
return from(this.ensureConfigured().comments.list(params));
|
|
53
61
|
}
|
|
54
62
|
getComment(uniqueId) {
|
|
55
|
-
return from(this.
|
|
63
|
+
return from(this.ensureConfigured().comments.get(uniqueId));
|
|
56
64
|
}
|
|
57
65
|
createComment(data) {
|
|
58
|
-
return from(this.
|
|
66
|
+
return from(this.ensureConfigured().comments.create(data));
|
|
59
67
|
}
|
|
60
68
|
updateComment(uniqueId, data) {
|
|
61
|
-
return from(this.
|
|
69
|
+
return from(this.ensureConfigured().comments.update(uniqueId, data));
|
|
62
70
|
}
|
|
63
71
|
deleteComment(uniqueId) {
|
|
64
|
-
return from(this.
|
|
72
|
+
return from(this.ensureConfigured().comments.delete(uniqueId));
|
|
65
73
|
}
|
|
66
74
|
likeComment(uniqueId) {
|
|
67
|
-
return from(this.
|
|
75
|
+
return from(this.ensureConfigured().comments.like(uniqueId));
|
|
68
76
|
}
|
|
69
77
|
dislikeComment(uniqueId) {
|
|
70
|
-
return from(this.
|
|
78
|
+
return from(this.ensureConfigured().comments.dislike(uniqueId));
|
|
71
79
|
}
|
|
72
80
|
// ───────────────────────────────────────────────────────────────────────────
|
|
73
81
|
// Categories Service
|
|
74
82
|
// ───────────────────────────────────────────────────────────────────────────
|
|
75
83
|
listCategories(params) {
|
|
76
|
-
return from(this.
|
|
84
|
+
return from(this.ensureConfigured().categories.list(params));
|
|
77
85
|
}
|
|
78
86
|
getCategory(uniqueId) {
|
|
79
|
-
return from(this.
|
|
87
|
+
return from(this.ensureConfigured().categories.get(uniqueId));
|
|
80
88
|
}
|
|
81
89
|
createCategory(data) {
|
|
82
|
-
return from(this.
|
|
90
|
+
return from(this.ensureConfigured().categories.create(data));
|
|
83
91
|
}
|
|
84
92
|
updateCategory(uniqueId, data) {
|
|
85
|
-
return from(this.
|
|
93
|
+
return from(this.ensureConfigured().categories.update(uniqueId, data));
|
|
86
94
|
}
|
|
87
95
|
deleteCategory(uniqueId) {
|
|
88
|
-
return from(this.
|
|
96
|
+
return from(this.ensureConfigured().categories.delete(uniqueId));
|
|
89
97
|
}
|
|
90
98
|
recoverCategory(uniqueId) {
|
|
91
|
-
return from(this.
|
|
99
|
+
return from(this.ensureConfigured().categories.recover(uniqueId));
|
|
92
100
|
}
|
|
93
101
|
getCategoryChildren(uniqueId) {
|
|
94
|
-
return from(this.
|
|
102
|
+
return from(this.ensureConfigured().categories.getChildren(uniqueId));
|
|
95
103
|
}
|
|
96
104
|
// ───────────────────────────────────────────────────────────────────────────
|
|
97
105
|
// Tags Service
|
|
98
106
|
// ───────────────────────────────────────────────────────────────────────────
|
|
99
107
|
listTags(params) {
|
|
100
|
-
return from(this.
|
|
108
|
+
return from(this.ensureConfigured().tags.list(params));
|
|
101
109
|
}
|
|
102
110
|
getTag(uniqueId) {
|
|
103
|
-
return from(this.
|
|
111
|
+
return from(this.ensureConfigured().tags.get(uniqueId));
|
|
104
112
|
}
|
|
105
113
|
createTag(data) {
|
|
106
|
-
return from(this.
|
|
114
|
+
return from(this.ensureConfigured().tags.create(data));
|
|
107
115
|
}
|
|
108
116
|
updateTag(uniqueId, data) {
|
|
109
|
-
return from(this.
|
|
117
|
+
return from(this.ensureConfigured().tags.update(uniqueId, data));
|
|
110
118
|
}
|
|
111
119
|
deleteTag(uniqueId) {
|
|
112
|
-
return from(this.
|
|
120
|
+
return from(this.ensureConfigured().tags.delete(uniqueId));
|
|
113
121
|
}
|
|
114
122
|
// ───────────────────────────────────────────────────────────────────────────
|
|
115
123
|
// Direct Block Access (for advanced usage)
|
|
@@ -118,21 +126,26 @@ export class ContentService {
|
|
|
118
126
|
* Access the underlying block for advanced operations
|
|
119
127
|
* Use this when you need access to services not wrapped by this Angular service
|
|
120
128
|
*/ get rawBlock() {
|
|
121
|
-
return this.
|
|
129
|
+
return this.ensureConfigured();
|
|
122
130
|
}
|
|
123
|
-
constructor(
|
|
124
|
-
|
|
131
|
+
constructor(serviceTransport, legacyTransport, config){
|
|
132
|
+
const transport = serviceTransport != null ? serviceTransport : legacyTransport;
|
|
133
|
+
this.block = transport ? createContentBlock(transport, config) : null;
|
|
125
134
|
}
|
|
126
135
|
}
|
|
127
136
|
ContentService = _ts_decorate([
|
|
128
137
|
Injectable({
|
|
129
138
|
providedIn: 'root'
|
|
130
139
|
}),
|
|
131
|
-
_ts_param(0,
|
|
132
|
-
_ts_param(
|
|
140
|
+
_ts_param(0, Optional()),
|
|
141
|
+
_ts_param(0, Inject(CONTENT_TRANSPORT)),
|
|
142
|
+
_ts_param(1, Optional()),
|
|
143
|
+
_ts_param(1, Inject(TRANSPORT)),
|
|
144
|
+
_ts_param(2, Inject(CONTENT_CONFIG)),
|
|
133
145
|
_ts_metadata("design:type", Function),
|
|
134
146
|
_ts_metadata("design:paramtypes", [
|
|
135
|
-
|
|
147
|
+
Object,
|
|
148
|
+
Object,
|
|
136
149
|
typeof ContentBlockConfig === "undefined" ? Object : ContentBlockConfig
|
|
137
150
|
])
|
|
138
151
|
], ContentService);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/content/content.service.ts"],"sourcesContent":["import { Injectable, Inject } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createContentBlock,\n type ContentBlock,\n type ContentBlockConfig,\n type Post,\n type CreatePostRequest,\n type UpdatePostRequest,\n type ListPostsParams,\n type Comment,\n type CreateCommentRequest,\n type UpdateCommentRequest,\n type ListCommentsParams,\n type Category,\n type CreateCategoryRequest,\n type UpdateCategoryRequest,\n type ListCategoriesParams,\n type Tag,\n type CreateTagRequest,\n type UpdateTagRequest,\n type ListTagsParams,\n} from '@23blocks/block-content';\nimport { TRANSPORT, CONTENT_CONFIG } from '../tokens.js';\n\n/**\n * Angular service wrapping the Content block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class BlogComponent {\n * constructor(private content: ContentService) {}\n *\n * loadPosts() {\n * this.content.listPosts({ page: 1, perPage: 10 }).subscribe({\n * next: (result) => console.log('Posts:', result.data),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class ContentService {\n private readonly block: ContentBlock;\n\n constructor(\n @Inject(TRANSPORT) transport: Transport,\n @Inject(CONTENT_CONFIG) config: ContentBlockConfig\n ) {\n this.block = createContentBlock(transport, config);\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Posts Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listPosts(params?: ListPostsParams): Observable<PageResult<Post>> {\n return from(this.block.posts.list(params));\n }\n\n getPost(uniqueId: string): Observable<Post> {\n return from(this.block.posts.get(uniqueId));\n }\n\n createPost(data: CreatePostRequest): Observable<Post> {\n return from(this.block.posts.create(data));\n }\n\n updatePost(uniqueId: string, data: UpdatePostRequest): Observable<Post> {\n return from(this.block.posts.update(uniqueId, data));\n }\n\n deletePost(uniqueId: string): Observable<void> {\n return from(this.block.posts.delete(uniqueId));\n }\n\n recoverPost(uniqueId: string): Observable<Post> {\n return from(this.block.posts.recover(uniqueId));\n }\n\n searchPosts(query: string, params?: ListPostsParams): Observable<PageResult<Post>> {\n return from(this.block.posts.search(query, params));\n }\n\n listDeletedPosts(params?: ListPostsParams): Observable<PageResult<Post>> {\n return from(this.block.posts.listDeleted(params));\n }\n\n likePost(uniqueId: string): Observable<Post> {\n return from(this.block.posts.like(uniqueId));\n }\n\n dislikePost(uniqueId: string): Observable<Post> {\n return from(this.block.posts.dislike(uniqueId));\n }\n\n savePost(uniqueId: string): Observable<Post> {\n return from(this.block.posts.save(uniqueId));\n }\n\n followPost(uniqueId: string): Observable<Post> {\n return from(this.block.posts.follow(uniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Comments Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listComments(params?: ListCommentsParams): Observable<PageResult<Comment>> {\n return from(this.block.comments.list(params));\n }\n\n getComment(uniqueId: string): Observable<Comment> {\n return from(this.block.comments.get(uniqueId));\n }\n\n createComment(data: CreateCommentRequest): Observable<Comment> {\n return from(this.block.comments.create(data));\n }\n\n updateComment(uniqueId: string, data: UpdateCommentRequest): Observable<Comment> {\n return from(this.block.comments.update(uniqueId, data));\n }\n\n deleteComment(uniqueId: string): Observable<void> {\n return from(this.block.comments.delete(uniqueId));\n }\n\n likeComment(uniqueId: string): Observable<Comment> {\n return from(this.block.comments.like(uniqueId));\n }\n\n dislikeComment(uniqueId: string): Observable<Comment> {\n return from(this.block.comments.dislike(uniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Categories Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listCategories(params?: ListCategoriesParams): Observable<PageResult<Category>> {\n return from(this.block.categories.list(params));\n }\n\n getCategory(uniqueId: string): Observable<Category> {\n return from(this.block.categories.get(uniqueId));\n }\n\n createCategory(data: CreateCategoryRequest): Observable<Category> {\n return from(this.block.categories.create(data));\n }\n\n updateCategory(uniqueId: string, data: UpdateCategoryRequest): Observable<Category> {\n return from(this.block.categories.update(uniqueId, data));\n }\n\n deleteCategory(uniqueId: string): Observable<void> {\n return from(this.block.categories.delete(uniqueId));\n }\n\n recoverCategory(uniqueId: string): Observable<Category> {\n return from(this.block.categories.recover(uniqueId));\n }\n\n getCategoryChildren(uniqueId: string): Observable<Category[]> {\n return from(this.block.categories.getChildren(uniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Tags Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listTags(params?: ListTagsParams): Observable<PageResult<Tag>> {\n return from(this.block.tags.list(params));\n }\n\n getTag(uniqueId: string): Observable<Tag> {\n return from(this.block.tags.get(uniqueId));\n }\n\n createTag(data: CreateTagRequest): Observable<Tag> {\n return from(this.block.tags.create(data));\n }\n\n updateTag(uniqueId: string, data: UpdateTagRequest): Observable<Tag> {\n return from(this.block.tags.update(uniqueId, data));\n }\n\n deleteTag(uniqueId: string): Observable<void> {\n return from(this.block.tags.delete(uniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Direct Block Access (for advanced usage)\n // ───────────────────────────────────────────────────────────────────────────\n\n /**\n * Access the underlying block for advanced operations\n * Use this when you need access to services not wrapped by this Angular service\n */\n get rawBlock(): ContentBlock {\n return this.block;\n }\n}\n"],"names":["Injectable","Inject","from","createContentBlock","TRANSPORT","CONTENT_CONFIG","ContentService","listPosts","params","block","posts","list","getPost","uniqueId","get","createPost","data","create","updatePost","update","deletePost","delete","recoverPost","recover","searchPosts","query","search","listDeletedPosts","listDeleted","likePost","like","dislikePost","dislike","savePost","save","followPost","follow","listComments","comments","getComment","createComment","updateComment","deleteComment","likeComment","dislikeComment","listCategories","categories","getCategory","createCategory","updateCategory","deleteCategory","recoverCategory","getCategoryChildren","getChildren","listTags","tags","getTag","createTag","updateTag","deleteTag","rawBlock","constructor","transport","config","providedIn"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/content/content.service.ts"],"sourcesContent":["import { Injectable, Inject, Optional } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createContentBlock,\n type ContentBlock,\n type ContentBlockConfig,\n type Post,\n type CreatePostRequest,\n type UpdatePostRequest,\n type ListPostsParams,\n type Comment,\n type CreateCommentRequest,\n type UpdateCommentRequest,\n type ListCommentsParams,\n type Category,\n type CreateCategoryRequest,\n type UpdateCategoryRequest,\n type ListCategoriesParams,\n type Tag,\n type CreateTagRequest,\n type UpdateTagRequest,\n type ListTagsParams,\n} from '@23blocks/block-content';\nimport { TRANSPORT, CONTENT_TRANSPORT, CONTENT_CONFIG } from '../tokens.js';\n\n/**\n * Angular service wrapping the Content block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class BlogComponent {\n * constructor(private content: ContentService) {}\n *\n * loadPosts() {\n * this.content.listPosts({ page: 1, perPage: 10 }).subscribe({\n * next: (result) => console.log('Posts:', result.data),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class ContentService {\n private readonly block: ContentBlock | null;\n\n constructor(\n @Optional() @Inject(CONTENT_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(CONTENT_CONFIG) config: ContentBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createContentBlock(transport, config) : null;\n }\n\n /**\n * Ensure the service is configured, throw helpful error if not\n */\n private ensureConfigured(): ContentBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] ContentService is not configured. ' +\n \"Add 'urls.content' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Posts Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listPosts(params?: ListPostsParams): Observable<PageResult<Post>> {\n return from(this.ensureConfigured().posts.list(params));\n }\n\n getPost(uniqueId: string): Observable<Post> {\n return from(this.ensureConfigured().posts.get(uniqueId));\n }\n\n createPost(data: CreatePostRequest): Observable<Post> {\n return from(this.ensureConfigured().posts.create(data));\n }\n\n updatePost(uniqueId: string, data: UpdatePostRequest): Observable<Post> {\n return from(this.ensureConfigured().posts.update(uniqueId, data));\n }\n\n deletePost(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().posts.delete(uniqueId));\n }\n\n recoverPost(uniqueId: string): Observable<Post> {\n return from(this.ensureConfigured().posts.recover(uniqueId));\n }\n\n searchPosts(query: string, params?: ListPostsParams): Observable<PageResult<Post>> {\n return from(this.ensureConfigured().posts.search(query, params));\n }\n\n listDeletedPosts(params?: ListPostsParams): Observable<PageResult<Post>> {\n return from(this.ensureConfigured().posts.listDeleted(params));\n }\n\n likePost(uniqueId: string): Observable<Post> {\n return from(this.ensureConfigured().posts.like(uniqueId));\n }\n\n dislikePost(uniqueId: string): Observable<Post> {\n return from(this.ensureConfigured().posts.dislike(uniqueId));\n }\n\n savePost(uniqueId: string): Observable<Post> {\n return from(this.ensureConfigured().posts.save(uniqueId));\n }\n\n followPost(uniqueId: string): Observable<Post> {\n return from(this.ensureConfigured().posts.follow(uniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Comments Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listComments(params?: ListCommentsParams): Observable<PageResult<Comment>> {\n return from(this.ensureConfigured().comments.list(params));\n }\n\n getComment(uniqueId: string): Observable<Comment> {\n return from(this.ensureConfigured().comments.get(uniqueId));\n }\n\n createComment(data: CreateCommentRequest): Observable<Comment> {\n return from(this.ensureConfigured().comments.create(data));\n }\n\n updateComment(uniqueId: string, data: UpdateCommentRequest): Observable<Comment> {\n return from(this.ensureConfigured().comments.update(uniqueId, data));\n }\n\n deleteComment(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().comments.delete(uniqueId));\n }\n\n likeComment(uniqueId: string): Observable<Comment> {\n return from(this.ensureConfigured().comments.like(uniqueId));\n }\n\n dislikeComment(uniqueId: string): Observable<Comment> {\n return from(this.ensureConfigured().comments.dislike(uniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Categories Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listCategories(params?: ListCategoriesParams): Observable<PageResult<Category>> {\n return from(this.ensureConfigured().categories.list(params));\n }\n\n getCategory(uniqueId: string): Observable<Category> {\n return from(this.ensureConfigured().categories.get(uniqueId));\n }\n\n createCategory(data: CreateCategoryRequest): Observable<Category> {\n return from(this.ensureConfigured().categories.create(data));\n }\n\n updateCategory(uniqueId: string, data: UpdateCategoryRequest): Observable<Category> {\n return from(this.ensureConfigured().categories.update(uniqueId, data));\n }\n\n deleteCategory(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().categories.delete(uniqueId));\n }\n\n recoverCategory(uniqueId: string): Observable<Category> {\n return from(this.ensureConfigured().categories.recover(uniqueId));\n }\n\n getCategoryChildren(uniqueId: string): Observable<Category[]> {\n return from(this.ensureConfigured().categories.getChildren(uniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Tags Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listTags(params?: ListTagsParams): Observable<PageResult<Tag>> {\n return from(this.ensureConfigured().tags.list(params));\n }\n\n getTag(uniqueId: string): Observable<Tag> {\n return from(this.ensureConfigured().tags.get(uniqueId));\n }\n\n createTag(data: CreateTagRequest): Observable<Tag> {\n return from(this.ensureConfigured().tags.create(data));\n }\n\n updateTag(uniqueId: string, data: UpdateTagRequest): Observable<Tag> {\n return from(this.ensureConfigured().tags.update(uniqueId, data));\n }\n\n deleteTag(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().tags.delete(uniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Direct Block Access (for advanced usage)\n // ───────────────────────────────────────────────────────────────────────────\n\n /**\n * Access the underlying block for advanced operations\n * Use this when you need access to services not wrapped by this Angular service\n */\n get rawBlock(): ContentBlock {\n return this.ensureConfigured();\n }\n}\n"],"names":["Injectable","Inject","Optional","from","createContentBlock","TRANSPORT","CONTENT_TRANSPORT","CONTENT_CONFIG","ContentService","ensureConfigured","block","Error","listPosts","params","posts","list","getPost","uniqueId","get","createPost","data","create","updatePost","update","deletePost","delete","recoverPost","recover","searchPosts","query","search","listDeletedPosts","listDeleted","likePost","like","dislikePost","dislike","savePost","save","followPost","follow","listComments","comments","getComment","createComment","updateComment","deleteComment","likeComment","dislikeComment","listCategories","categories","getCategory","createCategory","updateCategory","deleteCategory","recoverCategory","getCategoryChildren","getChildren","listTags","tags","getTag","createTag","updateTag","deleteTag","rawBlock","constructor","serviceTransport","legacyTransport","config","transport","providedIn"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1,139 +1,147 @@
|
|
|
1
1
|
import { _ as _ts_decorate } from "@swc/helpers/_/_ts_decorate";
|
|
2
2
|
import { _ as _ts_metadata } from "@swc/helpers/_/_ts_metadata";
|
|
3
3
|
import { _ as _ts_param } from "@swc/helpers/_/_ts_param";
|
|
4
|
-
import { Injectable, Inject } from '@angular/core';
|
|
4
|
+
import { Injectable, Inject, Optional } from '@angular/core';
|
|
5
5
|
import { from } from 'rxjs';
|
|
6
6
|
import { createConversationsBlock } from '@23blocks/block-conversations';
|
|
7
|
-
import { TRANSPORT, CONVERSATIONS_CONFIG } from '../tokens.js';
|
|
7
|
+
import { TRANSPORT, CONVERSATIONS_TRANSPORT, CONVERSATIONS_CONFIG } from '../tokens.js';
|
|
8
8
|
export class ConversationsService {
|
|
9
|
+
/**
|
|
10
|
+
* Ensure the service is configured, throw helpful error if not
|
|
11
|
+
*/ ensureConfigured() {
|
|
12
|
+
if (!this.block) {
|
|
13
|
+
throw new Error('[23blocks] ConversationsService is not configured. ' + "Add 'urls.conversations' to your provideBlocks23() configuration.");
|
|
14
|
+
}
|
|
15
|
+
return this.block;
|
|
16
|
+
}
|
|
9
17
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
10
18
|
// Messages Service
|
|
11
19
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
12
20
|
listMessages(params) {
|
|
13
|
-
return from(this.
|
|
21
|
+
return from(this.ensureConfigured().messages.list(params));
|
|
14
22
|
}
|
|
15
23
|
getMessage(uniqueId) {
|
|
16
|
-
return from(this.
|
|
24
|
+
return from(this.ensureConfigured().messages.get(uniqueId));
|
|
17
25
|
}
|
|
18
26
|
createMessage(data) {
|
|
19
|
-
return from(this.
|
|
27
|
+
return from(this.ensureConfigured().messages.create(data));
|
|
20
28
|
}
|
|
21
29
|
updateMessage(uniqueId, data) {
|
|
22
|
-
return from(this.
|
|
30
|
+
return from(this.ensureConfigured().messages.update(uniqueId, data));
|
|
23
31
|
}
|
|
24
32
|
deleteMessage(uniqueId) {
|
|
25
|
-
return from(this.
|
|
33
|
+
return from(this.ensureConfigured().messages.delete(uniqueId));
|
|
26
34
|
}
|
|
27
35
|
recoverMessage(uniqueId) {
|
|
28
|
-
return from(this.
|
|
36
|
+
return from(this.ensureConfigured().messages.recover(uniqueId));
|
|
29
37
|
}
|
|
30
38
|
listMessagesByContext(contextId, params) {
|
|
31
|
-
return from(this.
|
|
39
|
+
return from(this.ensureConfigured().messages.listByContext(contextId, params));
|
|
32
40
|
}
|
|
33
41
|
listMessagesByParent(parentId, params) {
|
|
34
|
-
return from(this.
|
|
42
|
+
return from(this.ensureConfigured().messages.listByParent(parentId, params));
|
|
35
43
|
}
|
|
36
44
|
listDeletedMessages(params) {
|
|
37
|
-
return from(this.
|
|
45
|
+
return from(this.ensureConfigured().messages.listDeleted(params));
|
|
38
46
|
}
|
|
39
47
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
40
48
|
// Draft Messages Service
|
|
41
49
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
42
50
|
listDraftMessages(params) {
|
|
43
|
-
return from(this.
|
|
51
|
+
return from(this.ensureConfigured().draftMessages.list(params));
|
|
44
52
|
}
|
|
45
53
|
getDraftMessage(uniqueId) {
|
|
46
|
-
return from(this.
|
|
54
|
+
return from(this.ensureConfigured().draftMessages.get(uniqueId));
|
|
47
55
|
}
|
|
48
56
|
createDraftMessage(data) {
|
|
49
|
-
return from(this.
|
|
57
|
+
return from(this.ensureConfigured().draftMessages.create(data));
|
|
50
58
|
}
|
|
51
59
|
updateDraftMessage(uniqueId, data) {
|
|
52
|
-
return from(this.
|
|
60
|
+
return from(this.ensureConfigured().draftMessages.update(uniqueId, data));
|
|
53
61
|
}
|
|
54
62
|
deleteDraftMessage(uniqueId) {
|
|
55
|
-
return from(this.
|
|
63
|
+
return from(this.ensureConfigured().draftMessages.delete(uniqueId));
|
|
56
64
|
}
|
|
57
65
|
listDraftMessagesByContext(contextId, params) {
|
|
58
|
-
return from(this.
|
|
66
|
+
return from(this.ensureConfigured().draftMessages.listByContext(contextId, params));
|
|
59
67
|
}
|
|
60
68
|
publishDraftMessage(uniqueId) {
|
|
61
|
-
return from(this.
|
|
69
|
+
return from(this.ensureConfigured().draftMessages.publish(uniqueId));
|
|
62
70
|
}
|
|
63
71
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
64
72
|
// Groups Service
|
|
65
73
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
66
74
|
listGroups(params) {
|
|
67
|
-
return from(this.
|
|
75
|
+
return from(this.ensureConfigured().groups.list(params));
|
|
68
76
|
}
|
|
69
77
|
getGroup(uniqueId) {
|
|
70
|
-
return from(this.
|
|
78
|
+
return from(this.ensureConfigured().groups.get(uniqueId));
|
|
71
79
|
}
|
|
72
80
|
createGroup(data) {
|
|
73
|
-
return from(this.
|
|
81
|
+
return from(this.ensureConfigured().groups.create(data));
|
|
74
82
|
}
|
|
75
83
|
updateGroup(uniqueId, data) {
|
|
76
|
-
return from(this.
|
|
84
|
+
return from(this.ensureConfigured().groups.update(uniqueId, data));
|
|
77
85
|
}
|
|
78
86
|
deleteGroup(uniqueId) {
|
|
79
|
-
return from(this.
|
|
87
|
+
return from(this.ensureConfigured().groups.delete(uniqueId));
|
|
80
88
|
}
|
|
81
89
|
recoverGroup(uniqueId) {
|
|
82
|
-
return from(this.
|
|
90
|
+
return from(this.ensureConfigured().groups.recover(uniqueId));
|
|
83
91
|
}
|
|
84
92
|
searchGroups(query, params) {
|
|
85
|
-
return from(this.
|
|
93
|
+
return from(this.ensureConfigured().groups.search(query, params));
|
|
86
94
|
}
|
|
87
95
|
listDeletedGroups(params) {
|
|
88
|
-
return from(this.
|
|
96
|
+
return from(this.ensureConfigured().groups.listDeleted(params));
|
|
89
97
|
}
|
|
90
98
|
addGroupMember(uniqueId, memberId) {
|
|
91
|
-
return from(this.
|
|
99
|
+
return from(this.ensureConfigured().groups.addMember(uniqueId, memberId));
|
|
92
100
|
}
|
|
93
101
|
removeGroupMember(uniqueId, memberId) {
|
|
94
|
-
return from(this.
|
|
102
|
+
return from(this.ensureConfigured().groups.removeMember(uniqueId, memberId));
|
|
95
103
|
}
|
|
96
104
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
97
105
|
// Notifications Service
|
|
98
106
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
99
107
|
listNotifications(params) {
|
|
100
|
-
return from(this.
|
|
108
|
+
return from(this.ensureConfigured().notifications.list(params));
|
|
101
109
|
}
|
|
102
110
|
getNotification(uniqueId) {
|
|
103
|
-
return from(this.
|
|
111
|
+
return from(this.ensureConfigured().notifications.get(uniqueId));
|
|
104
112
|
}
|
|
105
113
|
createNotification(data) {
|
|
106
|
-
return from(this.
|
|
114
|
+
return from(this.ensureConfigured().notifications.create(data));
|
|
107
115
|
}
|
|
108
116
|
updateNotification(uniqueId, data) {
|
|
109
|
-
return from(this.
|
|
117
|
+
return from(this.ensureConfigured().notifications.update(uniqueId, data));
|
|
110
118
|
}
|
|
111
119
|
deleteNotification(uniqueId) {
|
|
112
|
-
return from(this.
|
|
120
|
+
return from(this.ensureConfigured().notifications.delete(uniqueId));
|
|
113
121
|
}
|
|
114
122
|
markNotificationAsRead(uniqueId) {
|
|
115
|
-
return from(this.
|
|
123
|
+
return from(this.ensureConfigured().notifications.markAsRead(uniqueId));
|
|
116
124
|
}
|
|
117
125
|
markNotificationAsUnread(uniqueId) {
|
|
118
|
-
return from(this.
|
|
126
|
+
return from(this.ensureConfigured().notifications.markAsUnread(uniqueId));
|
|
119
127
|
}
|
|
120
128
|
listNotificationsByTarget(targetId, params) {
|
|
121
|
-
return from(this.
|
|
129
|
+
return from(this.ensureConfigured().notifications.listByTarget(targetId, params));
|
|
122
130
|
}
|
|
123
131
|
listUnreadNotifications(params) {
|
|
124
|
-
return from(this.
|
|
132
|
+
return from(this.ensureConfigured().notifications.listUnread(params));
|
|
125
133
|
}
|
|
126
134
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
127
135
|
// Conversations Service
|
|
128
136
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
129
137
|
getConversation(params) {
|
|
130
|
-
return from(this.
|
|
138
|
+
return from(this.ensureConfigured().conversations.get(params));
|
|
131
139
|
}
|
|
132
140
|
listContexts() {
|
|
133
|
-
return from(this.
|
|
141
|
+
return from(this.ensureConfigured().conversations.listContexts());
|
|
134
142
|
}
|
|
135
143
|
deleteContext(context) {
|
|
136
|
-
return from(this.
|
|
144
|
+
return from(this.ensureConfigured().conversations.deleteContext(context));
|
|
137
145
|
}
|
|
138
146
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
139
147
|
// Direct Block Access (for advanced usage)
|
|
@@ -142,21 +150,26 @@ export class ConversationsService {
|
|
|
142
150
|
* Access the underlying block for advanced operations
|
|
143
151
|
* Use this when you need access to services not wrapped by this Angular service
|
|
144
152
|
*/ get rawBlock() {
|
|
145
|
-
return this.
|
|
153
|
+
return this.ensureConfigured();
|
|
146
154
|
}
|
|
147
|
-
constructor(
|
|
148
|
-
|
|
155
|
+
constructor(serviceTransport, legacyTransport, config){
|
|
156
|
+
const transport = serviceTransport != null ? serviceTransport : legacyTransport;
|
|
157
|
+
this.block = transport ? createConversationsBlock(transport, config) : null;
|
|
149
158
|
}
|
|
150
159
|
}
|
|
151
160
|
ConversationsService = _ts_decorate([
|
|
152
161
|
Injectable({
|
|
153
162
|
providedIn: 'root'
|
|
154
163
|
}),
|
|
155
|
-
_ts_param(0,
|
|
156
|
-
_ts_param(
|
|
164
|
+
_ts_param(0, Optional()),
|
|
165
|
+
_ts_param(0, Inject(CONVERSATIONS_TRANSPORT)),
|
|
166
|
+
_ts_param(1, Optional()),
|
|
167
|
+
_ts_param(1, Inject(TRANSPORT)),
|
|
168
|
+
_ts_param(2, Inject(CONVERSATIONS_CONFIG)),
|
|
157
169
|
_ts_metadata("design:type", Function),
|
|
158
170
|
_ts_metadata("design:paramtypes", [
|
|
159
|
-
|
|
171
|
+
Object,
|
|
172
|
+
Object,
|
|
160
173
|
typeof ConversationsBlockConfig === "undefined" ? Object : ConversationsBlockConfig
|
|
161
174
|
])
|
|
162
175
|
], ConversationsService);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/conversations/conversations.service.ts"],"sourcesContent":["import { Injectable, Inject } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createConversationsBlock,\n type ConversationsBlock,\n type ConversationsBlockConfig,\n type Message,\n type CreateMessageRequest,\n type UpdateMessageRequest,\n type ListMessagesParams,\n type DraftMessage,\n type CreateDraftMessageRequest,\n type UpdateDraftMessageRequest,\n type ListDraftMessagesParams,\n type Group,\n type CreateGroupRequest,\n type UpdateGroupRequest,\n type ListGroupsParams,\n type Notification,\n type CreateNotificationRequest,\n type UpdateNotificationRequest,\n type ListNotificationsParams,\n type Conversation,\n type GetConversationParams,\n} from '@23blocks/block-conversations';\nimport { TRANSPORT, CONVERSATIONS_CONFIG } from '../tokens.js';\n\n/**\n * Angular service wrapping the Conversations block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class ChatComponent {\n * constructor(private conversations: ConversationsService) {}\n *\n * sendMessage(contextId: string, content: string) {\n * this.conversations.createMessage({ contextId, content }).subscribe({\n * next: (message) => console.log('Message sent:', message),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class ConversationsService {\n private readonly block: ConversationsBlock;\n\n constructor(\n @Inject(TRANSPORT) transport: Transport,\n @Inject(CONVERSATIONS_CONFIG) config: ConversationsBlockConfig\n ) {\n this.block = createConversationsBlock(transport, config);\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Messages Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listMessages(params?: ListMessagesParams): Observable<PageResult<Message>> {\n return from(this.block.messages.list(params));\n }\n\n getMessage(uniqueId: string): Observable<Message> {\n return from(this.block.messages.get(uniqueId));\n }\n\n createMessage(data: CreateMessageRequest): Observable<Message> {\n return from(this.block.messages.create(data));\n }\n\n updateMessage(uniqueId: string, data: UpdateMessageRequest): Observable<Message> {\n return from(this.block.messages.update(uniqueId, data));\n }\n\n deleteMessage(uniqueId: string): Observable<void> {\n return from(this.block.messages.delete(uniqueId));\n }\n\n recoverMessage(uniqueId: string): Observable<Message> {\n return from(this.block.messages.recover(uniqueId));\n }\n\n listMessagesByContext(contextId: string, params?: ListMessagesParams): Observable<PageResult<Message>> {\n return from(this.block.messages.listByContext(contextId, params));\n }\n\n listMessagesByParent(parentId: string, params?: ListMessagesParams): Observable<PageResult<Message>> {\n return from(this.block.messages.listByParent(parentId, params));\n }\n\n listDeletedMessages(params?: ListMessagesParams): Observable<PageResult<Message>> {\n return from(this.block.messages.listDeleted(params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Draft Messages Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listDraftMessages(params?: ListDraftMessagesParams): Observable<PageResult<DraftMessage>> {\n return from(this.block.draftMessages.list(params));\n }\n\n getDraftMessage(uniqueId: string): Observable<DraftMessage> {\n return from(this.block.draftMessages.get(uniqueId));\n }\n\n createDraftMessage(data: CreateDraftMessageRequest): Observable<DraftMessage> {\n return from(this.block.draftMessages.create(data));\n }\n\n updateDraftMessage(uniqueId: string, data: UpdateDraftMessageRequest): Observable<DraftMessage> {\n return from(this.block.draftMessages.update(uniqueId, data));\n }\n\n deleteDraftMessage(uniqueId: string): Observable<void> {\n return from(this.block.draftMessages.delete(uniqueId));\n }\n\n listDraftMessagesByContext(contextId: string, params?: ListDraftMessagesParams): Observable<PageResult<DraftMessage>> {\n return from(this.block.draftMessages.listByContext(contextId, params));\n }\n\n publishDraftMessage(uniqueId: string): Observable<DraftMessage> {\n return from(this.block.draftMessages.publish(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Groups Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listGroups(params?: ListGroupsParams): Observable<PageResult<Group>> {\n return from(this.block.groups.list(params));\n }\n\n getGroup(uniqueId: string): Observable<Group> {\n return from(this.block.groups.get(uniqueId));\n }\n\n createGroup(data: CreateGroupRequest): Observable<Group> {\n return from(this.block.groups.create(data));\n }\n\n updateGroup(uniqueId: string, data: UpdateGroupRequest): Observable<Group> {\n return from(this.block.groups.update(uniqueId, data));\n }\n\n deleteGroup(uniqueId: string): Observable<void> {\n return from(this.block.groups.delete(uniqueId));\n }\n\n recoverGroup(uniqueId: string): Observable<Group> {\n return from(this.block.groups.recover(uniqueId));\n }\n\n searchGroups(query: string, params?: ListGroupsParams): Observable<PageResult<Group>> {\n return from(this.block.groups.search(query, params));\n }\n\n listDeletedGroups(params?: ListGroupsParams): Observable<PageResult<Group>> {\n return from(this.block.groups.listDeleted(params));\n }\n\n addGroupMember(uniqueId: string, memberId: string): Observable<Group> {\n return from(this.block.groups.addMember(uniqueId, memberId));\n }\n\n removeGroupMember(uniqueId: string, memberId: string): Observable<Group> {\n return from(this.block.groups.removeMember(uniqueId, memberId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Notifications Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listNotifications(params?: ListNotificationsParams): Observable<PageResult<Notification>> {\n return from(this.block.notifications.list(params));\n }\n\n getNotification(uniqueId: string): Observable<Notification> {\n return from(this.block.notifications.get(uniqueId));\n }\n\n createNotification(data: CreateNotificationRequest): Observable<Notification> {\n return from(this.block.notifications.create(data));\n }\n\n updateNotification(uniqueId: string, data: UpdateNotificationRequest): Observable<Notification> {\n return from(this.block.notifications.update(uniqueId, data));\n }\n\n deleteNotification(uniqueId: string): Observable<void> {\n return from(this.block.notifications.delete(uniqueId));\n }\n\n markNotificationAsRead(uniqueId: string): Observable<Notification> {\n return from(this.block.notifications.markAsRead(uniqueId));\n }\n\n markNotificationAsUnread(uniqueId: string): Observable<Notification> {\n return from(this.block.notifications.markAsUnread(uniqueId));\n }\n\n listNotificationsByTarget(targetId: string, params?: ListNotificationsParams): Observable<PageResult<Notification>> {\n return from(this.block.notifications.listByTarget(targetId, params));\n }\n\n listUnreadNotifications(params?: ListNotificationsParams): Observable<PageResult<Notification>> {\n return from(this.block.notifications.listUnread(params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Conversations Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n getConversation(params: GetConversationParams): Observable<Conversation> {\n return from(this.block.conversations.get(params));\n }\n\n listContexts(): Observable<string[]> {\n return from(this.block.conversations.listContexts());\n }\n\n deleteContext(context: string): Observable<void> {\n return from(this.block.conversations.deleteContext(context));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Direct Block Access (for advanced usage)\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Access the underlying block for advanced operations\n * Use this when you need access to services not wrapped by this Angular service\n */\n get rawBlock(): ConversationsBlock {\n return this.block;\n }\n}\n"],"names":["Injectable","Inject","from","createConversationsBlock","TRANSPORT","CONVERSATIONS_CONFIG","ConversationsService","listMessages","params","block","messages","list","getMessage","uniqueId","get","createMessage","data","create","updateMessage","update","deleteMessage","delete","recoverMessage","recover","listMessagesByContext","contextId","listByContext","listMessagesByParent","parentId","listByParent","listDeletedMessages","listDeleted","listDraftMessages","draftMessages","getDraftMessage","createDraftMessage","updateDraftMessage","deleteDraftMessage","listDraftMessagesByContext","publishDraftMessage","publish","listGroups","groups","getGroup","createGroup","updateGroup","deleteGroup","recoverGroup","searchGroups","query","search","listDeletedGroups","addGroupMember","memberId","addMember","removeGroupMember","removeMember","listNotifications","notifications","getNotification","createNotification","updateNotification","deleteNotification","markNotificationAsRead","markAsRead","markNotificationAsUnread","markAsUnread","listNotificationsByTarget","targetId","listByTarget","listUnreadNotifications","listUnread","getConversation","conversations","listContexts","deleteContext","context","rawBlock","constructor","transport","config","providedIn"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/conversations/conversations.service.ts"],"sourcesContent":["import { Injectable, Inject, Optional } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createConversationsBlock,\n type ConversationsBlock,\n type ConversationsBlockConfig,\n type Message,\n type CreateMessageRequest,\n type UpdateMessageRequest,\n type ListMessagesParams,\n type DraftMessage,\n type CreateDraftMessageRequest,\n type UpdateDraftMessageRequest,\n type ListDraftMessagesParams,\n type Group,\n type CreateGroupRequest,\n type UpdateGroupRequest,\n type ListGroupsParams,\n type Notification,\n type CreateNotificationRequest,\n type UpdateNotificationRequest,\n type ListNotificationsParams,\n type Conversation,\n type GetConversationParams,\n} from '@23blocks/block-conversations';\nimport { TRANSPORT, CONVERSATIONS_TRANSPORT, CONVERSATIONS_CONFIG } from '../tokens.js';\n\n/**\n * Angular service wrapping the Conversations block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class ChatComponent {\n * constructor(private conversations: ConversationsService) {}\n *\n * sendMessage(contextId: string, content: string) {\n * this.conversations.createMessage({ contextId, content }).subscribe({\n * next: (message) => console.log('Message sent:', message),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class ConversationsService {\n private readonly block: ConversationsBlock | null;\n\n constructor(\n @Optional() @Inject(CONVERSATIONS_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(CONVERSATIONS_CONFIG) config: ConversationsBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createConversationsBlock(transport, config) : null;\n }\n\n /**\n * Ensure the service is configured, throw helpful error if not\n */\n private ensureConfigured(): ConversationsBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] ConversationsService is not configured. ' +\n \"Add 'urls.conversations' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Messages Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listMessages(params?: ListMessagesParams): Observable<PageResult<Message>> {\n return from(this.ensureConfigured().messages.list(params));\n }\n\n getMessage(uniqueId: string): Observable<Message> {\n return from(this.ensureConfigured().messages.get(uniqueId));\n }\n\n createMessage(data: CreateMessageRequest): Observable<Message> {\n return from(this.ensureConfigured().messages.create(data));\n }\n\n updateMessage(uniqueId: string, data: UpdateMessageRequest): Observable<Message> {\n return from(this.ensureConfigured().messages.update(uniqueId, data));\n }\n\n deleteMessage(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().messages.delete(uniqueId));\n }\n\n recoverMessage(uniqueId: string): Observable<Message> {\n return from(this.ensureConfigured().messages.recover(uniqueId));\n }\n\n listMessagesByContext(contextId: string, params?: ListMessagesParams): Observable<PageResult<Message>> {\n return from(this.ensureConfigured().messages.listByContext(contextId, params));\n }\n\n listMessagesByParent(parentId: string, params?: ListMessagesParams): Observable<PageResult<Message>> {\n return from(this.ensureConfigured().messages.listByParent(parentId, params));\n }\n\n listDeletedMessages(params?: ListMessagesParams): Observable<PageResult<Message>> {\n return from(this.ensureConfigured().messages.listDeleted(params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Draft Messages Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listDraftMessages(params?: ListDraftMessagesParams): Observable<PageResult<DraftMessage>> {\n return from(this.ensureConfigured().draftMessages.list(params));\n }\n\n getDraftMessage(uniqueId: string): Observable<DraftMessage> {\n return from(this.ensureConfigured().draftMessages.get(uniqueId));\n }\n\n createDraftMessage(data: CreateDraftMessageRequest): Observable<DraftMessage> {\n return from(this.ensureConfigured().draftMessages.create(data));\n }\n\n updateDraftMessage(uniqueId: string, data: UpdateDraftMessageRequest): Observable<DraftMessage> {\n return from(this.ensureConfigured().draftMessages.update(uniqueId, data));\n }\n\n deleteDraftMessage(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().draftMessages.delete(uniqueId));\n }\n\n listDraftMessagesByContext(contextId: string, params?: ListDraftMessagesParams): Observable<PageResult<DraftMessage>> {\n return from(this.ensureConfigured().draftMessages.listByContext(contextId, params));\n }\n\n publishDraftMessage(uniqueId: string): Observable<DraftMessage> {\n return from(this.ensureConfigured().draftMessages.publish(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Groups Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listGroups(params?: ListGroupsParams): Observable<PageResult<Group>> {\n return from(this.ensureConfigured().groups.list(params));\n }\n\n getGroup(uniqueId: string): Observable<Group> {\n return from(this.ensureConfigured().groups.get(uniqueId));\n }\n\n createGroup(data: CreateGroupRequest): Observable<Group> {\n return from(this.ensureConfigured().groups.create(data));\n }\n\n updateGroup(uniqueId: string, data: UpdateGroupRequest): Observable<Group> {\n return from(this.ensureConfigured().groups.update(uniqueId, data));\n }\n\n deleteGroup(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().groups.delete(uniqueId));\n }\n\n recoverGroup(uniqueId: string): Observable<Group> {\n return from(this.ensureConfigured().groups.recover(uniqueId));\n }\n\n searchGroups(query: string, params?: ListGroupsParams): Observable<PageResult<Group>> {\n return from(this.ensureConfigured().groups.search(query, params));\n }\n\n listDeletedGroups(params?: ListGroupsParams): Observable<PageResult<Group>> {\n return from(this.ensureConfigured().groups.listDeleted(params));\n }\n\n addGroupMember(uniqueId: string, memberId: string): Observable<Group> {\n return from(this.ensureConfigured().groups.addMember(uniqueId, memberId));\n }\n\n removeGroupMember(uniqueId: string, memberId: string): Observable<Group> {\n return from(this.ensureConfigured().groups.removeMember(uniqueId, memberId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Notifications Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listNotifications(params?: ListNotificationsParams): Observable<PageResult<Notification>> {\n return from(this.ensureConfigured().notifications.list(params));\n }\n\n getNotification(uniqueId: string): Observable<Notification> {\n return from(this.ensureConfigured().notifications.get(uniqueId));\n }\n\n createNotification(data: CreateNotificationRequest): Observable<Notification> {\n return from(this.ensureConfigured().notifications.create(data));\n }\n\n updateNotification(uniqueId: string, data: UpdateNotificationRequest): Observable<Notification> {\n return from(this.ensureConfigured().notifications.update(uniqueId, data));\n }\n\n deleteNotification(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().notifications.delete(uniqueId));\n }\n\n markNotificationAsRead(uniqueId: string): Observable<Notification> {\n return from(this.ensureConfigured().notifications.markAsRead(uniqueId));\n }\n\n markNotificationAsUnread(uniqueId: string): Observable<Notification> {\n return from(this.ensureConfigured().notifications.markAsUnread(uniqueId));\n }\n\n listNotificationsByTarget(targetId: string, params?: ListNotificationsParams): Observable<PageResult<Notification>> {\n return from(this.ensureConfigured().notifications.listByTarget(targetId, params));\n }\n\n listUnreadNotifications(params?: ListNotificationsParams): Observable<PageResult<Notification>> {\n return from(this.ensureConfigured().notifications.listUnread(params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Conversations Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n getConversation(params: GetConversationParams): Observable<Conversation> {\n return from(this.ensureConfigured().conversations.get(params));\n }\n\n listContexts(): Observable<string[]> {\n return from(this.ensureConfigured().conversations.listContexts());\n }\n\n deleteContext(context: string): Observable<void> {\n return from(this.ensureConfigured().conversations.deleteContext(context));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Direct Block Access (for advanced usage)\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Access the underlying block for advanced operations\n * Use this when you need access to services not wrapped by this Angular service\n */\n get rawBlock(): ConversationsBlock {\n return this.ensureConfigured();\n }\n}\n"],"names":["Injectable","Inject","Optional","from","createConversationsBlock","TRANSPORT","CONVERSATIONS_TRANSPORT","CONVERSATIONS_CONFIG","ConversationsService","ensureConfigured","block","Error","listMessages","params","messages","list","getMessage","uniqueId","get","createMessage","data","create","updateMessage","update","deleteMessage","delete","recoverMessage","recover","listMessagesByContext","contextId","listByContext","listMessagesByParent","parentId","listByParent","listDeletedMessages","listDeleted","listDraftMessages","draftMessages","getDraftMessage","createDraftMessage","updateDraftMessage","deleteDraftMessage","listDraftMessagesByContext","publishDraftMessage","publish","listGroups","groups","getGroup","createGroup","updateGroup","deleteGroup","recoverGroup","searchGroups","query","search","listDeletedGroups","addGroupMember","memberId","addMember","removeGroupMember","removeMember","listNotifications","notifications","getNotification","createNotification","updateNotification","deleteNotification","markNotificationAsRead","markAsRead","markNotificationAsUnread","markAsUnread","listNotificationsByTarget","targetId","listByTarget","listUnreadNotifications","listUnread","getConversation","conversations","listContexts","deleteContext","context","rawBlock","constructor","serviceTransport","legacyTransport","config","transport","providedIn"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|