memi-board 0.21.0 → 0.22.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.
@@ -50,6 +50,7 @@ export declare function useMemiBoardPosts(boardId: MaybeRefOrGetter<string>): {
50
50
  }>;
51
51
  createPost: (input: CreatePostInput) => Promise<string>;
52
52
  updatePost: (id: string, input: UpdatePostInput) => Promise<void>;
53
+ publishPost: (id: string) => Promise<void>;
53
54
  deletePost: (id: string) => Promise<void>;
54
55
  };
55
56
  export declare function useMemiBoardPostList(boardId: MaybeRefOrGetter<string>, options?: {
@@ -0,0 +1,18 @@
1
+ import { MaybeRefOrGetter } from 'vue';
2
+ import { UserPostModel } from '../types';
3
+ /**
4
+ * 작성자 uid로 모든 보드를 가로질러 글을 모은다 (collectionGroup 'posts').
5
+ * 공개 글만 — canReadPost rules와 같은 기준(listed && isPublished)이라
6
+ * 본인이 아니면 숨김 보드·미게시 글은 애초에 안 온다.
7
+ */
8
+ export declare function useMemiBoardUserPosts(uid: MaybeRefOrGetter<string>, options?: {
9
+ pageSize?: number;
10
+ }): {
11
+ posts: import('vue').ComputedRef<UserPostModel[]>;
12
+ postsPending: import('vue').Ref<boolean, boolean>;
13
+ hasMore: import('vue').Ref<boolean, boolean>;
14
+ loadingMore: import('vue').Ref<boolean, boolean>;
15
+ loadError: import('vue').Ref<string, string>;
16
+ loadMore: () => Promise<void>;
17
+ };
18
+ export type { UserPostModel };
package/dist/index.d.ts CHANGED
@@ -11,6 +11,7 @@ export { useMemiBoardAuth } from './composables/useMemiBoardAuth';
11
11
  export { useMemiBoardPosts, useMemiBoardPostList, useMemiBoardPost } from './composables/useMemiBoardPosts';
12
12
  export type { CreatePostInput, UpdatePostInput, GetPostBySlugResult } from './composables/useMemiBoardPosts';
13
13
  export { isFirestorePermissionDenied } from './composables/useMemiBoardPosts';
14
+ export { useMemiBoardUserPosts } from './composables/useMemiBoardUserPosts';
14
15
  export { COMMENT_BODY_MAX_LENGTH, useMemiBoardComments, useMemiBoardReplies } from './composables/useMemiBoardComments';
15
16
  export type { AddCommentInput, AddReplyInput } from './composables/useMemiBoardComments';
16
17
  export { useMemiBoardLikes } from './composables/useMemiBoardLikes';
@@ -24,7 +25,7 @@ export type { VersionHistoryEntry } from './data/versionHistory';
24
25
  export { formatDate, formatFullDate, formatRelativeDate, formatTimestampDetails } from './utils/formatDate';
25
26
  export { slugify } from './utils/slugify';
26
27
  export { DEFAULT_BLOCK_BAN_THRESHOLD, DEFAULT_BLOCK_BAN_DECAY_MS, effectiveModerationBlockCount, isModerationWriteRestricted, moderationWriteRestrictedUntilMs, formatRestrictedUntilLabel, } from './utils/moderation-strike';
27
- export type { Attachment, EditorImageEntry, ModerationStatus, PostModel, PostDetail, CommentModel, BoardUserRole, BoardUserModel, BoardCategory, BoardModel, BoardListView, BoardWriteRole, BoardVisibility, BoardSettingsModel, ModerationResult, } from './types';
28
+ export type { Attachment, EditorImageEntry, ModerationStatus, PostModel, PostDetail, UserPostModel, CommentModel, BoardUserRole, BoardUserModel, BoardCategory, BoardModel, BoardListView, BoardWriteRole, BoardVisibility, BoardSettingsModel, ModerationResult, } from './types';
28
29
  export { plainTextFromHtml, hasBodyText, hasBodyImage, isContentEmpty, titleFromBody, } from './utils/postBody';
29
30
  export { compressImage } from './utils/compressImage';
30
31
  export { extractEditorImageUrls } from './utils/extractEditorImageUrls';