@ttt-productions/ttt-core 0.1.1

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 (77) hide show
  1. package/dist/constants/business.d.ts +26 -0
  2. package/dist/constants/business.d.ts.map +1 -0
  3. package/dist/constants/business.js +29 -0
  4. package/dist/constants/business.js.map +1 -0
  5. package/dist/constants/index.d.ts +3 -0
  6. package/dist/constants/index.d.ts.map +1 -0
  7. package/dist/constants/index.js +3 -0
  8. package/dist/constants/index.js.map +1 -0
  9. package/dist/constants/moderation.d.ts +12 -0
  10. package/dist/constants/moderation.d.ts.map +1 -0
  11. package/dist/constants/moderation.js +13 -0
  12. package/dist/constants/moderation.js.map +1 -0
  13. package/dist/index.d.ts +4 -0
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/index.js +4 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/paths/collection-groups.d.ts +16 -0
  18. package/dist/paths/collection-groups.d.ts.map +1 -0
  19. package/dist/paths/collection-groups.js +21 -0
  20. package/dist/paths/collection-groups.js.map +1 -0
  21. package/dist/paths/collection-refs.d.ts +24 -0
  22. package/dist/paths/collection-refs.d.ts.map +1 -0
  23. package/dist/paths/collection-refs.js +35 -0
  24. package/dist/paths/collection-refs.js.map +1 -0
  25. package/dist/paths/collections.d.ts +102 -0
  26. package/dist/paths/collections.d.ts.map +1 -0
  27. package/dist/paths/collections.js +116 -0
  28. package/dist/paths/collections.js.map +1 -0
  29. package/dist/paths/index.d.ts +6 -0
  30. package/dist/paths/index.d.ts.map +1 -0
  31. package/dist/paths/index.js +6 -0
  32. package/dist/paths/index.js.map +1 -0
  33. package/dist/paths/path-builders.d.ts +60 -0
  34. package/dist/paths/path-builders.d.ts.map +1 -0
  35. package/dist/paths/path-builders.js +76 -0
  36. package/dist/paths/path-builders.js.map +1 -0
  37. package/dist/paths/utils.d.ts +2 -0
  38. package/dist/paths/utils.d.ts.map +1 -0
  39. package/dist/paths/utils.js +7 -0
  40. package/dist/paths/utils.js.map +1 -0
  41. package/dist/types/admin.d.ts +54 -0
  42. package/dist/types/admin.d.ts.map +1 -0
  43. package/dist/types/admin.js +3 -0
  44. package/dist/types/admin.js.map +1 -0
  45. package/dist/types/content.d.ts +216 -0
  46. package/dist/types/content.d.ts.map +1 -0
  47. package/dist/types/content.js +5 -0
  48. package/dist/types/content.js.map +1 -0
  49. package/dist/types/index.d.ts +9 -0
  50. package/dist/types/index.d.ts.map +1 -0
  51. package/dist/types/index.js +9 -0
  52. package/dist/types/index.js.map +1 -0
  53. package/dist/types/jobs.d.ts +71 -0
  54. package/dist/types/jobs.d.ts.map +1 -0
  55. package/dist/types/jobs.js +3 -0
  56. package/dist/types/jobs.js.map +1 -0
  57. package/dist/types/messaging.d.ts +99 -0
  58. package/dist/types/messaging.d.ts.map +1 -0
  59. package/dist/types/messaging.js +3 -0
  60. package/dist/types/messaging.js.map +1 -0
  61. package/dist/types/moderation.d.ts +72 -0
  62. package/dist/types/moderation.d.ts.map +1 -0
  63. package/dist/types/moderation.js +3 -0
  64. package/dist/types/moderation.js.map +1 -0
  65. package/dist/types/project.d.ts +110 -0
  66. package/dist/types/project.d.ts.map +1 -0
  67. package/dist/types/project.js +3 -0
  68. package/dist/types/project.js.map +1 -0
  69. package/dist/types/social.d.ts +72 -0
  70. package/dist/types/social.d.ts.map +1 -0
  71. package/dist/types/social.js +3 -0
  72. package/dist/types/social.js.map +1 -0
  73. package/dist/types/user.d.ts +65 -0
  74. package/dist/types/user.d.ts.map +1 -0
  75. package/dist/types/user.js +3 -0
  76. package/dist/types/user.js.map +1 -0
  77. package/package.json +47 -0
@@ -0,0 +1,76 @@
1
+ // Document path builders — returns tuples of path segments.
2
+ //
3
+ // Frontend (Web SDK): doc(db, ...PATH_BUILDERS.userProfile(userId))
4
+ // Backend (Admin SDK): db.doc(toPath(PATH_BUILDERS.userProfile(userId)))
5
+ import { COLLECTIONS, USER_SUBCOLLECTIONS, PROJECT_SUBCOLLECTIONS, NESTED_SUBCOLLECTIONS, SPECIAL_DOCS, } from './collections.js';
6
+ export const PATH_BUILDERS = {
7
+ // ===== USER PATHS =====
8
+ userProfile: (userId) => [COLLECTIONS.USER_PROFILES, userId],
9
+ userSkill: (userId, skillId) => [COLLECTIONS.USER_PROFILES, userId, USER_SUBCOLLECTIONS.PROFILE_SKILLS, skillId],
10
+ userPrivateData: (userId) => [COLLECTIONS.USER_PROFILES, userId, USER_SUBCOLLECTIONS.PRIVATE_DATA, userId],
11
+ userMetadata: (userId) => [COLLECTIONS.USER_PROFILES, userId, USER_SUBCOLLECTIONS.USER_METADATA, SPECIAL_DOCS.NOTIFICATION_SETTINGS],
12
+ userFollow: (userId, followDocId) => [COLLECTIONS.USER_PROFILES, userId, USER_SUBCOLLECTIONS.USER_FOLLOWS, followDocId],
13
+ followedUser: (userId, followedUserId) => [COLLECTIONS.USER_PROFILES, userId, USER_SUBCOLLECTIONS.USER_FOLLOWS, NESTED_SUBCOLLECTIONS.FOLLOW_HISTORY, NESTED_SUBCOLLECTIONS.FOLLOWED_USERS, followedUserId],
14
+ userLike: (userId, postId) => [COLLECTIONS.USER_PROFILES, userId, USER_SUBCOLLECTIONS.USER_LIKES, NESTED_SUBCOLLECTIONS.LIKE_HISTORY, NESTED_SUBCOLLECTIONS.STREETZ_LIKES, postId],
15
+ userDonation: (userId, donationId) => [COLLECTIONS.USER_PROFILES, userId, USER_SUBCOLLECTIONS.USER_DONATIONS, donationId],
16
+ userOpportunityVote: (userId, opportunityId) => [COLLECTIONS.USER_PROFILES, userId, USER_SUBCOLLECTIONS.OPPORTUNITY_VOTES, opportunityId],
17
+ // ===== PROJECT PATHS =====
18
+ project: (projectId) => [COLLECTIONS.ALL_PROJECTS, projectId],
19
+ projectPublicData: (projectId, publicId) => [COLLECTIONS.ALL_PROJECTS, projectId, PROJECT_SUBCOLLECTIONS.PUBLIC_DATA, publicId],
20
+ projectPost: (projectId, postId) => [COLLECTIONS.ALL_PROJECTS, projectId, PROJECT_SUBCOLLECTIONS.PROJECT_POSTS, postId],
21
+ projectTale: (projectId, taleId) => [COLLECTIONS.ALL_PROJECTS, projectId, PROJECT_SUBCOLLECTIONS.PROJECT_TALES, taleId],
22
+ taleChapter: (projectId, taleId, chapterId) => [COLLECTIONS.ALL_PROJECTS, projectId, PROJECT_SUBCOLLECTIONS.PROJECT_TALES, taleId, NESTED_SUBCOLLECTIONS.TALE_CHAPTERS, chapterId],
23
+ projectTune: (projectId, tuneId) => [COLLECTIONS.ALL_PROJECTS, projectId, PROJECT_SUBCOLLECTIONS.PROJECT_TUNES, tuneId],
24
+ tuneSong: (projectId, tuneId, songId) => [COLLECTIONS.ALL_PROJECTS, projectId, PROJECT_SUBCOLLECTIONS.PROJECT_TUNES, tuneId, NESTED_SUBCOLLECTIONS.TUNE_SONGS, songId],
25
+ projectTelevision: (projectId, televisionId) => [COLLECTIONS.ALL_PROJECTS, projectId, PROJECT_SUBCOLLECTIONS.PROJECT_TELEVISION, televisionId],
26
+ tvShow: (projectId, televisionId, showId) => [COLLECTIONS.ALL_PROJECTS, projectId, PROJECT_SUBCOLLECTIONS.PROJECT_TELEVISION, televisionId, NESTED_SUBCOLLECTIONS.TV_SHOWS, showId],
27
+ projectShare: (projectId, shareId) => [COLLECTIONS.ALL_PROJECTS, projectId, PROJECT_SUBCOLLECTIONS.SHARE_HISTORY, shareId],
28
+ chatChannel: (projectId, channelId) => [COLLECTIONS.ALL_PROJECTS, projectId, PROJECT_SUBCOLLECTIONS.CHAT_CHANNELS, channelId],
29
+ channelMessage: (projectId, channelId, messageId) => [COLLECTIONS.ALL_PROJECTS, projectId, PROJECT_SUBCOLLECTIONS.CHAT_CHANNELS, channelId, NESTED_SUBCOLLECTIONS.CHANNEL_MESSAGES, messageId],
30
+ // ===== STREETZ PATHS =====
31
+ pendingPost: (postId) => [COLLECTIONS.STREETZ_FEED, NESTED_SUBCOLLECTIONS.PENDING_POSTS, NESTED_SUBCOLLECTIONS.SOCIAL_POSTS, postId],
32
+ activePost: (postId) => [COLLECTIONS.STREETZ_FEED, NESTED_SUBCOLLECTIONS.ACTIVE_POSTS, NESTED_SUBCOLLECTIONS.SOCIAL_POSTS, postId],
33
+ trendingPosts: () => [COLLECTIONS.STREETZ_FEED, NESTED_SUBCOLLECTIONS.TRENDING_POSTS],
34
+ // ===== LIBRARY PATHS =====
35
+ pendingLibraryItem: (libraryId) => [COLLECTIONS.CONTENT_LIBRARY, NESTED_SUBCOLLECTIONS.PENDING_ITEMS, NESTED_SUBCOLLECTIONS.LIBRARY_ITEMS, libraryId],
36
+ publishedLibraryItem: (libraryId) => [COLLECTIONS.CONTENT_LIBRARY, NESTED_SUBCOLLECTIONS.PUBLISHED_ITEMS, NESTED_SUBCOLLECTIONS.LIBRARY_ITEMS, libraryId],
37
+ publishedLibraryItemType: (libraryId, projectType, itemId) => [COLLECTIONS.CONTENT_LIBRARY, NESTED_SUBCOLLECTIONS.PUBLISHED_ITEMS, NESTED_SUBCOLLECTIONS.LIBRARY_ITEMS, libraryId, projectType, itemId],
38
+ // ===== JOB PATHS =====
39
+ jobListing: (jobId) => [COLLECTIONS.JOB_LISTINGS, jobId],
40
+ jobApplication: (jobId, replyId) => [COLLECTIONS.JOB_LISTINGS, jobId, NESTED_SUBCOLLECTIONS.APPLICATION_REPLIES, replyId],
41
+ // ===== OPPORTUNITY PATHS =====
42
+ opportunity: (opportunityId) => [COLLECTIONS.OPPORTUNITY_BOARD, opportunityId],
43
+ opportunityReply: (opportunityId, replyId) => [COLLECTIONS.OPPORTUNITY_BOARD, opportunityId, NESTED_SUBCOLLECTIONS.SUBMITTED_REPLIES, replyId],
44
+ // ===== UNIVERSE PATHS =====
45
+ universe: (universeId) => [COLLECTIONS.STORY_UNIVERSES, universeId],
46
+ // ===== ADMIN & SYSTEM PATHS =====
47
+ adminMessage: (messageId) => [COLLECTIONS.PENDING_ADMIN_MESSAGES, messageId],
48
+ adminConversationMessage: (messageId, individualMessageId) => [COLLECTIONS.PENDING_ADMIN_MESSAGES, messageId, NESTED_SUBCOLLECTIONS.CONVERSATION_MESSAGES, individualMessageId],
49
+ projectInvite: (inviteId) => [COLLECTIONS.PROJECT_INVITE_CONVERSATIONS, inviteId],
50
+ inviteMessage: (inviteId, messageId) => [COLLECTIONS.PROJECT_INVITE_CONVERSATIONS, inviteId, NESTED_SUBCOLLECTIONS.INVITE_MESSAGES, messageId],
51
+ contentReport: (reportId) => [COLLECTIONS.CONTENT_REPORTS, reportId],
52
+ activeReportGroup: (groupKey) => [COLLECTIONS.ACTIVE_REPORT_GROUPS, groupKey],
53
+ contentViolation: (violationId) => [COLLECTIONS.CONTENT_VIOLATIONS, violationId],
54
+ adminTask: (taskId) => [COLLECTIONS.ADMIN_TASKS, taskId],
55
+ adminTaskForItem: (taskType, itemId) => [COLLECTIONS.ADMIN_TASKS, `${taskType}-${itemId}`],
56
+ adminActivityLog: (logId) => [COLLECTIONS.ADMIN_ACTIVITY_LOG, logId],
57
+ // ===== UTILITY PATHS =====
58
+ reservedDisplayName: (displayNameUppercase) => [COLLECTIONS.RESERVED_DISPLAY_NAMES, displayNameUppercase],
59
+ shortLink: (shortId) => [COLLECTIONS.SHORT_LINKS, shortId],
60
+ pendingMedia: (docId) => [COLLECTIONS.PENDING_MEDIA, docId],
61
+ notificationQueue: (notificationId) => [COLLECTIONS.NOTIFICATION_QUEUE, notificationId],
62
+ donationsSummary: () => [COLLECTIONS.DONATIONS_SUMMARY, SPECIAL_DOCS.SUMMARY],
63
+ recentDonation: (donationId) => [COLLECTIONS.RECENT_DONATIONS, donationId],
64
+ archivedDonation: (donationId) => [COLLECTIONS.ARCHIVED_DONATIONS, donationId],
65
+ // ===== FEEDBACK & SKILLS PATHS =====
66
+ feedbackSubmission: (feedbackType) => [COLLECTIONS.FEEDBACK_SUBMISSIONS, feedbackType],
67
+ userSuggestion: (feedbackType, suggestionId) => [COLLECTIONS.FEEDBACK_SUBMISSIONS, feedbackType, NESTED_SUBCOLLECTIONS.USER_SUGGESTIONS, suggestionId],
68
+ feedbackAlias: (aliasId) => [COLLECTIONS.FEEDBACK_ALIASES, aliasId],
69
+ feedbackDenylist: (deniedWord) => [COLLECTIONS.FEEDBACK_DENYLIST, deniedWord],
70
+ taggedSkill: (tag, compositeId) => [COLLECTIONS.SKILLS_BY_TAG, tag, NESTED_SUBCOLLECTIONS.TAGGED_SKILLS, compositeId],
71
+ // ===== SYSTEM DATA PATHS =====
72
+ adminList: () => [COLLECTIONS.SYSTEM_DATA, SPECIAL_DOCS.ADMIN_LIST],
73
+ futurePlans: () => [COLLECTIONS.SYSTEM_DATA, SPECIAL_DOCS.FUTURE_PLANS],
74
+ rulesAndAgreements: () => [COLLECTIONS.SYSTEM_DATA, SPECIAL_DOCS.RULES_AND_AGREEMENTS],
75
+ };
76
+ //# sourceMappingURL=path-builders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-builders.js","sourceRoot":"","sources":["../../src/paths/path-builders.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function toPath(segments: readonly string[]): string;
2
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/paths/utils.ts"],"names":[],"mappings":"AAIA,wBAAgB,MAAM,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAE1D"}
@@ -0,0 +1,7 @@
1
+ // Utility to convert path tuples to slash-delimited strings for Admin SDK.
2
+ //
3
+ // Usage: db.doc(toPath(PATH_BUILDERS.userProfile(userId)))
4
+ export function toPath(segments) {
5
+ return segments.join('/');
6
+ }
7
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/paths/utils.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,EAAE;AACF,2DAA2D;AAE3D,MAAM,UAAU,MAAM,CAAC,QAA2B;IAChD,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,54 @@
1
+ export type AdminTaskType = 'systemMessage' | 'libraryReview' | 'userReport' | 'content-appeal';
2
+ export type TaskPriority = 'critical' | 'high' | 'normal' | 'low';
3
+ export interface CheckoutDetails {
4
+ status: 'available' | 'checkedOut' | 'workLater';
5
+ userId: string;
6
+ userDisplayName: string;
7
+ userPhotoURL: string | null;
8
+ checkedOutAt: number;
9
+ expiresAt: number;
10
+ workLaterUntil: number | null;
11
+ }
12
+ export interface CheckoutableDocument {
13
+ checkoutDetails?: CheckoutDetails | null;
14
+ }
15
+ export interface AdminTask {
16
+ id: string;
17
+ taskType: AdminTaskType;
18
+ taskId: string;
19
+ originalPath: string;
20
+ status: 'pending' | 'checkedOut' | 'workLater' | 'completed';
21
+ checkoutDetails: {
22
+ userId: string;
23
+ userDisplayName: string;
24
+ userPhotoURL: string | null;
25
+ checkedOutAt: number;
26
+ expiresAt: number;
27
+ workLaterUntil: number | null;
28
+ } | null;
29
+ summary: string;
30
+ priority: number;
31
+ createdAt: number;
32
+ lastUpdatedAt: number;
33
+ completedAt?: number;
34
+ itemData?: any;
35
+ }
36
+ export interface CheckedOutTask extends AdminTask {
37
+ checkoutDetails: NonNullable<AdminTask['checkoutDetails']>;
38
+ }
39
+ export type ActivityAction = 'checkout' | 'checkin_resolved' | 'checkin_unresolved' | 'work_later' | 'auto_released' | 'manual_release';
40
+ export interface AdminActivityLog {
41
+ id: string;
42
+ adminUserId: string;
43
+ adminDisplayName: string;
44
+ action: ActivityAction;
45
+ taskType: AdminTaskType;
46
+ itemId: string;
47
+ itemPath: string;
48
+ itemSummary: string;
49
+ timestamp: number;
50
+ resolution?: string;
51
+ timeSpentMinutes?: number;
52
+ previousAdminId?: string;
53
+ }
54
+ //# sourceMappingURL=admin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/types/admin.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GACrB,eAAe,GACf,eAAe,GACf,YAAY,GACZ,gBAAgB,CAAC;AAErB,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAElE,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,WAAW,GAAG,YAAY,GAAG,WAAW,CAAC;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,oBAAoB;IACnC,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,WAAW,CAAC;IAC7D,eAAe,EAAE;QACf,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;KAC/B,GAAG,IAAI,CAAC;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB;AAED,MAAM,WAAW,cAAe,SAAQ,SAAS;IAC/C,eAAe,EAAE,WAAW,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC;CAC5D;AAED,MAAM,MAAM,cAAc,GACtB,UAAU,GACV,kBAAkB,GAClB,oBAAoB,GACpB,YAAY,GACZ,eAAe,GACf,gBAAgB,CAAC;AAErB,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B"}
@@ -0,0 +1,3 @@
1
+ // Admin system types: Task queue, Checkout, Activity log
2
+ export {};
3
+ //# sourceMappingURL=admin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/types/admin.ts"],"names":[],"mappings":"AAAA,yDAAyD"}
@@ -0,0 +1,216 @@
1
+ import type { ShortUser } from './user.js';
2
+ export type FullTale = {
3
+ uid: string;
4
+ title: string;
5
+ description: string;
6
+ createdOn: number;
7
+ coverPhotoSquare?: string;
8
+ coverPhotoPoster?: string;
9
+ coverPhotoCinematic?: string;
10
+ categories?: string[];
11
+ };
12
+ export type FullChapter = {
13
+ uid: string;
14
+ title: string;
15
+ content: string;
16
+ description: string;
17
+ order: number;
18
+ photoUrl?: string;
19
+ status: 'unpublished' | 'pending_approval' | 'published';
20
+ createdOn: number;
21
+ };
22
+ export type FullTune = {
23
+ uid: string;
24
+ title: string;
25
+ description: string;
26
+ coverPhotoSquare?: string;
27
+ coverPhotoPoster?: string;
28
+ coverPhotoCinematic?: string;
29
+ categories: string[];
30
+ createdOn: number;
31
+ };
32
+ export type FullSong = {
33
+ uid: string;
34
+ title: string;
35
+ description?: string;
36
+ fileUrl?: string;
37
+ mediaType?: string;
38
+ order: number;
39
+ photoUrl?: string;
40
+ status: 'unpublished' | 'pending_approval' | 'published';
41
+ createdOn: number;
42
+ };
43
+ export type FullTelevision = {
44
+ uid: string;
45
+ title: string;
46
+ description: string;
47
+ createdOn: number;
48
+ coverPhotoSquare?: string;
49
+ coverPhotoPoster?: string;
50
+ coverPhotoCinematic?: string;
51
+ categories: string[];
52
+ };
53
+ export type FullShow = {
54
+ uid: string;
55
+ title: string;
56
+ description?: string;
57
+ videoUrl: string;
58
+ mediaType?: string;
59
+ order: number;
60
+ photoUrl?: string;
61
+ status: 'unpublished' | 'pending_approval' | 'published';
62
+ createdOn: number;
63
+ };
64
+ export declare const LIBRARY_TYPE_KEYS: readonly ["entertainment", "educational", "newsPolitical"];
65
+ export type LibraryItemType = (typeof LIBRARY_TYPE_KEYS)[number];
66
+ /** LibraryItemType with 'All' filter option — for UI filtering only, not stored in Firestore */
67
+ export type LibraryItemTypeFilter = LibraryItemType | 'All';
68
+ export declare const PROJECT_TYPE_KEYS: readonly ["Tales", "Tunes", "Television"];
69
+ export type ProjectType = (typeof PROJECT_TYPE_KEYS)[number];
70
+ /** ProjectType with 'All' filter option — for UI filtering only, not stored in Firestore */
71
+ export type ProjectTypeFilter = ProjectType | 'All';
72
+ export type ItemsKey = 'songs' | 'chapters' | 'shows';
73
+ export interface SubmittedItem {
74
+ itemId: string;
75
+ order: number;
76
+ reviewStatus: 'pending' | 'approved' | 'needs_revision' | 'rejected';
77
+ adminNotes?: string;
78
+ reviewedAt?: number;
79
+ reviewedBy?: string;
80
+ approvedAt?: number;
81
+ publishedAt?: number;
82
+ }
83
+ export interface PendingLibraryDoc {
84
+ libraryId: string;
85
+ projectId: string;
86
+ projectType: ProjectType;
87
+ status: 'reviewing' | 'partially_published' | 'fully_published';
88
+ createdOn: number;
89
+ ownedBy: ShortUser;
90
+ submittedItems: {
91
+ songs?: SubmittedItem[];
92
+ chapters?: SubmittedItem[];
93
+ shows?: SubmittedItem[];
94
+ };
95
+ libraryType: LibraryItemType;
96
+ publishedItemCount?: number;
97
+ totalItemCount?: number;
98
+ }
99
+ export interface PublishedLibraryItem {
100
+ libraryId: string;
101
+ projectId: string;
102
+ projectType: ProjectType;
103
+ status: 'partial' | 'published';
104
+ createdOn: number;
105
+ publishedAt?: number;
106
+ ownedBy: ShortUser;
107
+ libraryType: LibraryItemType;
108
+ publishedItemCount: number;
109
+ totalItemCount: number;
110
+ tales?: {
111
+ title: string;
112
+ description: string;
113
+ coverPhotoUrl: string;
114
+ categories: string[];
115
+ };
116
+ tunes?: {
117
+ title: string;
118
+ description: string;
119
+ coverPhotoUrl: string;
120
+ categories: string[];
121
+ };
122
+ television?: {
123
+ title: string;
124
+ description: string;
125
+ coverPhotoUrl: string;
126
+ categories: string[];
127
+ };
128
+ totalDonations?: number;
129
+ donationCount?: number;
130
+ viewCount?: number;
131
+ followerCount?: number;
132
+ }
133
+ export interface PublishedSong {
134
+ uid: string;
135
+ title: string;
136
+ order: number;
137
+ description?: string;
138
+ fileUrl: string;
139
+ photoUrl?: string;
140
+ }
141
+ export interface PublishedChapter {
142
+ uid: string;
143
+ title: string;
144
+ order: number;
145
+ description?: string;
146
+ content: string;
147
+ photoUrl?: string;
148
+ }
149
+ export interface PublishedShow {
150
+ uid: string;
151
+ title: string;
152
+ order: number;
153
+ description?: string;
154
+ videoUrl: string;
155
+ photoUrl?: string;
156
+ }
157
+ export type LibraryPreferences = {
158
+ userId: string;
159
+ hiddenItems: string[];
160
+ followedItems: string[];
161
+ bookmarkedItems: string[];
162
+ inProgressItems: string[];
163
+ recentlyViewed: Array<{
164
+ itemId: string;
165
+ viewedAt: number;
166
+ }>;
167
+ lastUpdated: number;
168
+ };
169
+ export type LibraryUserStatus = {
170
+ followed: boolean;
171
+ bookmarked: boolean;
172
+ inProgress: boolean;
173
+ };
174
+ export type LibrarySortOption = 'newest' | 'oldest' | 'most_donated' | 'most_viewed';
175
+ export type LibraryFilters = {
176
+ category?: string;
177
+ libraryType: LibraryItemTypeFilter;
178
+ projectType: ProjectTypeFilter;
179
+ sortBy: LibrarySortOption;
180
+ };
181
+ export type FuturePlanItem = {
182
+ id: string;
183
+ title: string;
184
+ description: string;
185
+ order: number;
186
+ videoUrl?: string;
187
+ mediaType?: 'video' | 'image' | 'audio' | 'other';
188
+ };
189
+ export type FuturePlansDocument = {
190
+ lastUpdated: number;
191
+ plans: FuturePlanItem[];
192
+ };
193
+ export type RuleGroup = 'generic' | 'projectType' | 'libraryType' | 'universe' | 'merchandising';
194
+ export type RuleSubgroup = 'Tales' | 'Tunes' | 'Television' | 'entertainment' | 'educational' | 'newsPolitical';
195
+ export type Rule = {
196
+ id: string;
197
+ title: string;
198
+ description: string;
199
+ videoUrl?: string;
200
+ group?: RuleGroup;
201
+ subgroup?: RuleSubgroup;
202
+ order: number;
203
+ };
204
+ export type AgreementCategory = {
205
+ points: string[];
206
+ videoUrl?: string;
207
+ };
208
+ export type RulesAndAgreements = {
209
+ rules: Rule[];
210
+ agreements: {
211
+ tales?: AgreementCategory;
212
+ tunes?: AgreementCategory;
213
+ television?: AgreementCategory;
214
+ };
215
+ };
216
+ //# sourceMappingURL=content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/types/content.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ // Content types: Tales, Tunes, Television, Library
2
+ // --- Library Types ---
3
+ export const LIBRARY_TYPE_KEYS = ['entertainment', 'educational', 'newsPolitical'];
4
+ export const PROJECT_TYPE_KEYS = ['Tales', 'Tunes', 'Television'];
5
+ //# sourceMappingURL=content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/types/content.ts"],"names":[],"mappings":"AAAA,mDAAmD;AA0EnD,wBAAwB;AAExB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,eAAe,EAAE,aAAa,EAAE,eAAe,CAAU,CAAC;AAM5F,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,CAAU,CAAC"}
@@ -0,0 +1,9 @@
1
+ export * from './user.js';
2
+ export * from './project.js';
3
+ export * from './content.js';
4
+ export * from './social.js';
5
+ export * from './jobs.js';
6
+ export * from './messaging.js';
7
+ export * from './moderation.js';
8
+ export * from './admin.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC"}
@@ -0,0 +1,9 @@
1
+ export * from './user.js';
2
+ export * from './project.js';
3
+ export * from './content.js';
4
+ export * from './social.js';
5
+ export * from './jobs.js';
6
+ export * from './messaging.js';
7
+ export * from './moderation.js';
8
+ export * from './admin.js';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC"}
@@ -0,0 +1,71 @@
1
+ import type { ShortUser } from './user.js';
2
+ import type { ShortProject } from './project.js';
3
+ export type JobFile = {
4
+ pendingMediaId?: string;
5
+ name: string;
6
+ url: string;
7
+ type: 'image' | 'video' | 'audio' | 'other' | string;
8
+ size: number;
9
+ };
10
+ export type FullJob = {
11
+ jobId: string;
12
+ title: string;
13
+ description: string;
14
+ jobFile?: JobFile;
15
+ requiredProfessions: string[];
16
+ sharesOffered: number;
17
+ createdAt: number;
18
+ createdBy: ShortUser;
19
+ projectAssociatedWith: ShortProject;
20
+ status: 'open' | 'closed';
21
+ savedApplicants: string[];
22
+ };
23
+ export type FullJobReply = {
24
+ replyId: string;
25
+ jobId: string;
26
+ projectId: string;
27
+ reply: string;
28
+ replyFile?: string;
29
+ replyFileType?: string;
30
+ createdBy: ShortUser;
31
+ createdOn: number;
32
+ status: 'open' | 'accepted' | 'rejected';
33
+ acceptedOn?: string;
34
+ };
35
+ export type OpportunityType = 'SystemInput' | 'SponsoredProjects' | 'ProjectInput';
36
+ export type Opportunity = {
37
+ opportunityId: string;
38
+ type: OpportunityType;
39
+ title: string;
40
+ description: string;
41
+ videoUrl: string;
42
+ mediaType?: 'video' | 'image' | 'audio' | 'other';
43
+ openTill: number;
44
+ createdOn: number;
45
+ createdBy: ShortUser;
46
+ projectId?: string;
47
+ projectAmountUSD?: number;
48
+ sharesOffered?: number;
49
+ status: 'open' | 'closed' | 'pendingReview';
50
+ replyCount?: number;
51
+ shortId?: string;
52
+ shortUrl?: string;
53
+ };
54
+ export interface OpportunityReply {
55
+ replyId: string;
56
+ opportunityId: string;
57
+ projectId?: string;
58
+ videoUrl: string;
59
+ mediaType?: 'video' | 'image' | 'other';
60
+ createdBy: ShortUser;
61
+ createdAt: number;
62
+ votes: number;
63
+ shortId?: string;
64
+ shortUrl?: string;
65
+ }
66
+ export interface UserOpportunityVote {
67
+ votedForReplyId: string;
68
+ votedOn: number;
69
+ replyCreator: ShortUser;
70
+ }
71
+ //# sourceMappingURL=jobs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../src/types/jobs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ // Job board and Opportunity types
2
+ export {};
3
+ //# sourceMappingURL=jobs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../src/types/jobs.ts"],"names":[],"mappings":"AAAA,kCAAkC"}
@@ -0,0 +1,99 @@
1
+ import type { ShortUser } from './user.js';
2
+ export interface MessageAttachment {
3
+ id: string;
4
+ name: string;
5
+ url: string;
6
+ type: 'image' | 'document' | 'video' | 'audio';
7
+ size: number;
8
+ storagePath: string;
9
+ }
10
+ export interface ChatChannel {
11
+ channelId: string;
12
+ projectId: string;
13
+ channelName: string;
14
+ description?: string;
15
+ requiredRoles: string[];
16
+ allowedUserIds: string[];
17
+ createdAt: number;
18
+ createdBy: string;
19
+ createdByUsername: string;
20
+ lastMessageAt?: string;
21
+ lastMessage?: string;
22
+ lastMessageSender?: string;
23
+ messageCount: number;
24
+ isArchived: boolean;
25
+ }
26
+ export interface ChatMessage {
27
+ messageId: string;
28
+ channelId: string;
29
+ projectId: string;
30
+ senderId: string;
31
+ senderUsername: string;
32
+ senderProfilePicture?: string;
33
+ text: string;
34
+ createdAt: number;
35
+ editedAt?: string;
36
+ attachments?: MessageAttachment[];
37
+ replyTo?: {
38
+ messageId: string;
39
+ senderUsername: string;
40
+ messagePreview: string;
41
+ };
42
+ isSystemMessage?: boolean;
43
+ }
44
+ export interface ProjectInviteConversation {
45
+ inviteId: string;
46
+ projectId: string;
47
+ relatedUserIds: string[];
48
+ projectTitle: string;
49
+ project: {
50
+ projectId: string;
51
+ workingTitle: string;
52
+ type: string;
53
+ workingDescription: string;
54
+ };
55
+ projectOwner: ShortUser;
56
+ sender: ShortUser;
57
+ recipient: ShortUser;
58
+ sharesOffered: number;
59
+ status: 'pending' | 'accepted' | 'declined' | 'finalized' | 'error';
60
+ createdAt: number;
61
+ updatedAt: number;
62
+ finalizedAt?: number;
63
+ senderConfirmed: boolean;
64
+ recipientConfirmed: boolean;
65
+ lastMessage?: string;
66
+ lastMessageAt?: string;
67
+ }
68
+ export interface ProjectInviteMessage {
69
+ messageId: string;
70
+ inviteId: string;
71
+ senderId: string;
72
+ senderUsername: string;
73
+ senderProfilePicture?: string;
74
+ message: string;
75
+ createdAt: number;
76
+ attachments?: MessageAttachment[];
77
+ replyTo?: {
78
+ messageId: string;
79
+ senderUsername: string;
80
+ messagePreview: string;
81
+ };
82
+ }
83
+ export interface AdminMessage {
84
+ messageId: string;
85
+ userId: string;
86
+ userUsername: string;
87
+ initiatorUsername: string;
88
+ initiatorUserId: string;
89
+ initiatedBy: 'user' | 'admin';
90
+ subject: string;
91
+ status: 'open' | 'user_reply' | 'admin_reply' | 'closed_resolved' | 'closed_unresolved';
92
+ createdAt: number;
93
+ lastUpdatedAt: number;
94
+ readByAdmin: boolean;
95
+ readByUser: boolean;
96
+ closedBy?: ShortUser;
97
+ }
98
+ export type MessageStatus = 'pending' | 'active' | 'accepted' | 'declined' | 'finalized' | 'closed_resolved' | 'closed_unresolved';
99
+ //# sourceMappingURL=messaging.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messaging.d.ts","sourceRoot":"","sources":["../../src/types/messaging.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ // Messaging types: Chat channels, Invite conversations, Admin messages
2
+ export {};
3
+ //# sourceMappingURL=messaging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messaging.js","sourceRoot":"","sources":["../../src/types/messaging.ts"],"names":[],"mappings":"AAAA,uEAAuE"}