@ttt-productions/ttt-core 0.6.6 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (294) hide show
  1. package/dist/constants/business.d.ts +57 -57
  2. package/dist/constants/business.d.ts.map +1 -1
  3. package/dist/constants/business.js +71 -71
  4. package/dist/constants/business.js.map +1 -1
  5. package/dist/constants/options.d.ts +22 -22
  6. package/dist/constants/options.d.ts.map +1 -1
  7. package/dist/constants/options.js +28 -28
  8. package/dist/constants/options.js.map +1 -1
  9. package/dist/constants/pagination.d.ts +18 -18
  10. package/dist/constants/pagination.d.ts.map +1 -1
  11. package/dist/constants/pagination.js +20 -20
  12. package/dist/constants/pagination.js.map +1 -1
  13. package/dist/constants/retention.d.ts +5 -5
  14. package/dist/constants/retention.d.ts.map +1 -1
  15. package/dist/constants/retention.js +6 -6
  16. package/dist/constants/retention.js.map +1 -1
  17. package/dist/index.d.ts +1 -0
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +1 -0
  20. package/dist/index.js.map +1 -1
  21. package/dist/media/atoms.d.ts +9 -9
  22. package/dist/media/atoms.d.ts.map +1 -1
  23. package/dist/media/atoms.js +3 -3
  24. package/dist/media/atoms.js.map +1 -1
  25. package/dist/media/domain-events.d.ts +701 -701
  26. package/dist/media/domain-events.d.ts.map +1 -1
  27. package/dist/media/domain-events.js +145 -145
  28. package/dist/media/domain-events.js.map +1 -1
  29. package/dist/media/file-origin.d.ts +1 -1
  30. package/dist/media/file-origin.d.ts.map +1 -1
  31. package/dist/media/file-origin.js +16 -16
  32. package/dist/media/file-origin.js.map +1 -1
  33. package/dist/media/hall-library-target-fields.d.ts +13 -0
  34. package/dist/media/hall-library-target-fields.d.ts.map +1 -0
  35. package/dist/media/hall-library-target-fields.js +21 -0
  36. package/dist/media/hall-library-target-fields.js.map +1 -0
  37. package/dist/media/index.d.ts +2 -2
  38. package/dist/media/index.d.ts.map +1 -1
  39. package/dist/media/index.js +2 -2
  40. package/dist/media/index.js.map +1 -1
  41. package/dist/media/pending-media.d.ts +5774 -5774
  42. package/dist/media/start-upload.d.ts +3 -3
  43. package/dist/media/target-info.d.ts +150 -150
  44. package/dist/media/target-info.d.ts.map +1 -1
  45. package/dist/media/target-info.js +80 -80
  46. package/dist/media/target-info.js.map +1 -1
  47. package/dist/media/ttt-media-specs.js +16 -16
  48. package/dist/media/ttt-media-specs.js.map +1 -1
  49. package/dist/media/upload-tray-display.js +16 -16
  50. package/dist/media/upload-tray-display.js.map +1 -1
  51. package/dist/paths/collection-groups.d.ts +7 -7
  52. package/dist/paths/collection-groups.js +7 -7
  53. package/dist/paths/collection-groups.js.map +1 -1
  54. package/dist/paths/collection-refs.d.ts +14 -14
  55. package/dist/paths/collection-refs.d.ts.map +1 -1
  56. package/dist/paths/collection-refs.js +20 -20
  57. package/dist/paths/collection-refs.js.map +1 -1
  58. package/dist/paths/collections.d.ts +31 -31
  59. package/dist/paths/collections.d.ts.map +1 -1
  60. package/dist/paths/collections.js +34 -34
  61. package/dist/paths/collections.js.map +1 -1
  62. package/dist/paths/path-builders.d.ts +32 -32
  63. package/dist/paths/path-builders.d.ts.map +1 -1
  64. package/dist/paths/path-builders.js +43 -43
  65. package/dist/paths/path-builders.js.map +1 -1
  66. package/dist/permissions/guild-standing-assignment-policy.d.ts +17 -0
  67. package/dist/permissions/guild-standing-assignment-policy.d.ts.map +1 -0
  68. package/dist/permissions/guild-standing-assignment-policy.js +36 -0
  69. package/dist/permissions/guild-standing-assignment-policy.js.map +1 -0
  70. package/dist/permissions/index.d.ts +2 -2
  71. package/dist/permissions/index.d.ts.map +1 -1
  72. package/dist/permissions/index.js +2 -2
  73. package/dist/permissions/index.js.map +1 -1
  74. package/dist/permissions/work-project-permissions.d.ts +284 -0
  75. package/dist/permissions/work-project-permissions.d.ts.map +1 -0
  76. package/dist/permissions/work-project-permissions.js +294 -0
  77. package/dist/permissions/work-project-permissions.js.map +1 -0
  78. package/dist/schemas/{system-message-actions.d.ts → admin-dispatch-actions.d.ts} +15 -15
  79. package/dist/schemas/admin-dispatch-actions.d.ts.map +1 -0
  80. package/dist/schemas/{system-message-actions.js → admin-dispatch-actions.js} +7 -7
  81. package/dist/schemas/admin-dispatch-actions.js.map +1 -0
  82. package/dist/schemas/admin.d.ts +7 -7
  83. package/dist/schemas/admin.js +4 -4
  84. package/dist/schemas/admin.js.map +1 -1
  85. package/dist/schemas/atoms.d.ts +13 -12
  86. package/dist/schemas/atoms.d.ts.map +1 -1
  87. package/dist/schemas/atoms.js +13 -12
  88. package/dist/schemas/atoms.js.map +1 -1
  89. package/dist/schemas/auditions.d.ts +10 -0
  90. package/dist/schemas/auditions.d.ts.map +1 -0
  91. package/dist/schemas/auditions.js +6 -0
  92. package/dist/schemas/auditions.js.map +1 -0
  93. package/dist/schemas/chat.d.ts +47 -47
  94. package/dist/schemas/chat.d.ts.map +1 -1
  95. package/dist/schemas/chat.js +18 -18
  96. package/dist/schemas/chat.js.map +1 -1
  97. package/dist/schemas/commissions.d.ts +56 -0
  98. package/dist/schemas/commissions.d.ts.map +1 -0
  99. package/dist/schemas/commissions.js +29 -0
  100. package/dist/schemas/commissions.js.map +1 -0
  101. package/dist/schemas/craft-skills.d.ts +24 -0
  102. package/dist/schemas/craft-skills.d.ts.map +1 -0
  103. package/dist/schemas/craft-skills.js +11 -0
  104. package/dist/schemas/craft-skills.js.map +1 -0
  105. package/dist/schemas/{library.d.ts → hall-library.d.ts} +78 -78
  106. package/dist/schemas/hall-library.d.ts.map +1 -0
  107. package/dist/schemas/hall-library.js +86 -0
  108. package/dist/schemas/hall-library.js.map +1 -0
  109. package/dist/schemas/index.d.ts +7 -7
  110. package/dist/schemas/index.d.ts.map +1 -1
  111. package/dist/schemas/index.js +7 -7
  112. package/dist/schemas/index.js.map +1 -1
  113. package/dist/schemas/payments.js +2 -2
  114. package/dist/schemas/payments.js.map +1 -1
  115. package/dist/schemas/social.d.ts +16 -16
  116. package/dist/schemas/social.d.ts.map +1 -1
  117. package/dist/schemas/social.js +3 -3
  118. package/dist/schemas/social.js.map +1 -1
  119. package/dist/schemas/{share-operation.d.ts → stake-share-operation.d.ts} +25 -25
  120. package/dist/schemas/stake-share-operation.d.ts.map +1 -0
  121. package/dist/schemas/stake-share-operation.js +83 -0
  122. package/dist/schemas/stake-share-operation.js.map +1 -0
  123. package/dist/schemas/users.d.ts +4 -4
  124. package/dist/schemas/users.d.ts.map +1 -1
  125. package/dist/schemas/users.js +2 -2
  126. package/dist/schemas/users.js.map +1 -1
  127. package/dist/schemas/utility.d.ts +14 -14
  128. package/dist/schemas/utility.d.ts.map +1 -1
  129. package/dist/schemas/utility.js +5 -5
  130. package/dist/schemas/utility.js.map +1 -1
  131. package/dist/schemas/voting.d.ts +10 -10
  132. package/dist/schemas/voting.d.ts.map +1 -1
  133. package/dist/schemas/voting.js +4 -4
  134. package/dist/schemas/voting.js.map +1 -1
  135. package/dist/schemas/work-project-management.d.ts +454 -0
  136. package/dist/schemas/work-project-management.d.ts.map +1 -0
  137. package/dist/schemas/work-project-management.js +98 -0
  138. package/dist/schemas/work-project-management.js.map +1 -0
  139. package/dist/ttt-keys.d.ts +68 -0
  140. package/dist/ttt-keys.d.ts.map +1 -0
  141. package/dist/ttt-keys.js +24 -0
  142. package/dist/ttt-keys.js.map +1 -0
  143. package/dist/types/admin.d.ts +1 -1
  144. package/dist/types/admin.d.ts.map +1 -1
  145. package/dist/types/audit.d.ts +1 -1
  146. package/dist/types/audit.d.ts.map +1 -1
  147. package/dist/types/commissions.d.ts +84 -0
  148. package/dist/types/commissions.d.ts.map +1 -0
  149. package/dist/types/commissions.js +3 -0
  150. package/dist/types/commissions.js.map +1 -0
  151. package/dist/types/content.d.ts +37 -37
  152. package/dist/types/content.d.ts.map +1 -1
  153. package/dist/types/content.js +4 -4
  154. package/dist/types/content.js.map +1 -1
  155. package/dist/types/index.d.ts +3 -3
  156. package/dist/types/index.d.ts.map +1 -1
  157. package/dist/types/index.js +2 -2
  158. package/dist/types/index.js.map +1 -1
  159. package/dist/types/messaging.d.ts +16 -16
  160. package/dist/types/messaging.d.ts.map +1 -1
  161. package/dist/types/messaging.js +1 -1
  162. package/dist/types/messaging.js.map +1 -1
  163. package/dist/types/publicUser.d.ts +1 -1
  164. package/dist/types/publicUser.d.ts.map +1 -1
  165. package/dist/types/social.d.ts +13 -13
  166. package/dist/types/social.d.ts.map +1 -1
  167. package/dist/types/user.d.ts +17 -17
  168. package/dist/types/user.d.ts.map +1 -1
  169. package/dist/types/work-project.d.ts +85 -0
  170. package/dist/types/work-project.d.ts.map +1 -0
  171. package/dist/types/work-project.js +2 -0
  172. package/dist/types/work-project.js.map +1 -0
  173. package/dist/upload-variables/{apply-to-job-variables.d.ts → apply-to-commission-variables.d.ts} +6 -6
  174. package/dist/upload-variables/apply-to-commission-variables.d.ts.map +1 -0
  175. package/dist/upload-variables/apply-to-commission-variables.js +16 -0
  176. package/dist/upload-variables/apply-to-commission-variables.js.map +1 -0
  177. package/dist/upload-variables/{create-admin-opportunity-variables.d.ts → create-admin-audition-variables.d.ts} +9 -9
  178. package/dist/upload-variables/create-admin-audition-variables.d.ts.map +1 -0
  179. package/dist/upload-variables/{create-admin-opportunity-variables.js → create-admin-audition-variables.js} +4 -4
  180. package/dist/upload-variables/create-admin-audition-variables.js.map +1 -0
  181. package/dist/upload-variables/{create-opportunity-reply-variables.d.ts → create-audition-entry-variables.d.ts} +6 -6
  182. package/dist/upload-variables/create-audition-entry-variables.d.ts.map +1 -0
  183. package/dist/upload-variables/{create-opportunity-reply-variables.js → create-audition-entry-variables.js} +3 -3
  184. package/dist/upload-variables/create-audition-entry-variables.js.map +1 -0
  185. package/dist/upload-variables/{create-job-variables.d.ts → create-commission-variables.d.ts} +19 -19
  186. package/dist/upload-variables/create-commission-variables.d.ts.map +1 -0
  187. package/dist/upload-variables/{create-job-variables.js → create-commission-variables.js} +6 -6
  188. package/dist/upload-variables/create-commission-variables.js.map +1 -0
  189. package/dist/upload-variables/{create-project-opportunity-variables.d.ts → create-work-project-audition-variables.d.ts} +9 -9
  190. package/dist/upload-variables/create-work-project-audition-variables.d.ts.map +1 -0
  191. package/dist/upload-variables/{create-project-opportunity-variables.js → create-work-project-audition-variables.js} +4 -4
  192. package/dist/upload-variables/create-work-project-audition-variables.js.map +1 -0
  193. package/dist/upload-variables/index.d.ts +10 -10
  194. package/dist/upload-variables/index.d.ts.map +1 -1
  195. package/dist/upload-variables/index.js +10 -10
  196. package/dist/upload-variables/index.js.map +1 -1
  197. package/dist/upload-variables/{streetz-post-variables.d.ts → square-streetz-post-variables.d.ts} +8 -8
  198. package/dist/upload-variables/square-streetz-post-variables.d.ts.map +1 -0
  199. package/dist/upload-variables/{streetz-post-variables.js → square-streetz-post-variables.js} +2 -2
  200. package/dist/upload-variables/square-streetz-post-variables.js.map +1 -0
  201. package/dist/upload-variables/update-chapter-media-variables.d.ts +3 -3
  202. package/dist/upload-variables/update-chapter-media-variables.js +1 -1
  203. package/dist/upload-variables/update-chapter-media-variables.js.map +1 -1
  204. package/dist/upload-variables/{update-show-media-variables.d.ts → update-episode-media-variables.d.ts} +9 -9
  205. package/dist/upload-variables/update-episode-media-variables.d.ts.map +1 -0
  206. package/dist/upload-variables/{update-show-media-variables.js → update-episode-media-variables.js} +4 -4
  207. package/dist/upload-variables/update-episode-media-variables.js.map +1 -0
  208. package/dist/upload-variables/update-tale-cover-photo-variables.d.ts +3 -3
  209. package/dist/upload-variables/update-tale-cover-photo-variables.js +1 -1
  210. package/dist/upload-variables/update-tale-cover-photo-variables.js.map +1 -1
  211. package/dist/upload-variables/update-television-cover-photo-variables.d.ts +3 -3
  212. package/dist/upload-variables/update-television-cover-photo-variables.js +1 -1
  213. package/dist/upload-variables/update-television-cover-photo-variables.js.map +1 -1
  214. package/dist/upload-variables/{update-song-media-variables.d.ts → update-track-media-variables.d.ts} +9 -9
  215. package/dist/upload-variables/update-track-media-variables.d.ts.map +1 -0
  216. package/dist/upload-variables/{update-song-media-variables.js → update-track-media-variables.js} +4 -4
  217. package/dist/upload-variables/update-track-media-variables.js.map +1 -0
  218. package/dist/upload-variables/update-tune-cover-photo-variables.d.ts +3 -3
  219. package/dist/upload-variables/update-tune-cover-photo-variables.js +1 -1
  220. package/dist/upload-variables/update-tune-cover-photo-variables.js.map +1 -1
  221. package/dist/upload-variables/{upload-skill-variables.d.ts → upload-craft-skill-variables.d.ts} +3 -3
  222. package/dist/upload-variables/upload-craft-skill-variables.d.ts.map +1 -0
  223. package/dist/upload-variables/{upload-skill-variables.js → upload-craft-skill-variables.js} +2 -2
  224. package/dist/upload-variables/upload-craft-skill-variables.js.map +1 -0
  225. package/dist/upload-variables/{upload-project-file-variables.d.ts → upload-work-asset-variables.d.ts} +10 -10
  226. package/dist/upload-variables/upload-work-asset-variables.d.ts.map +1 -0
  227. package/dist/upload-variables/{upload-project-file-variables.js → upload-work-asset-variables.js} +4 -4
  228. package/dist/upload-variables/upload-work-asset-variables.js.map +1 -0
  229. package/package.json +6 -1
  230. package/dist/media/library-target-fields.d.ts +0 -13
  231. package/dist/media/library-target-fields.d.ts.map +0 -1
  232. package/dist/media/library-target-fields.js +0 -21
  233. package/dist/media/library-target-fields.js.map +0 -1
  234. package/dist/permissions/project-permissions.d.ts +0 -264
  235. package/dist/permissions/project-permissions.d.ts.map +0 -1
  236. package/dist/permissions/project-permissions.js +0 -268
  237. package/dist/permissions/project-permissions.js.map +0 -1
  238. package/dist/permissions/role-assignment-policy.d.ts +0 -17
  239. package/dist/permissions/role-assignment-policy.d.ts.map +0 -1
  240. package/dist/permissions/role-assignment-policy.js +0 -32
  241. package/dist/permissions/role-assignment-policy.js.map +0 -1
  242. package/dist/schemas/jobs.d.ts +0 -56
  243. package/dist/schemas/jobs.d.ts.map +0 -1
  244. package/dist/schemas/jobs.js +0 -29
  245. package/dist/schemas/jobs.js.map +0 -1
  246. package/dist/schemas/library.d.ts.map +0 -1
  247. package/dist/schemas/library.js +0 -86
  248. package/dist/schemas/library.js.map +0 -1
  249. package/dist/schemas/opportunities.d.ts +0 -10
  250. package/dist/schemas/opportunities.d.ts.map +0 -1
  251. package/dist/schemas/opportunities.js +0 -6
  252. package/dist/schemas/opportunities.js.map +0 -1
  253. package/dist/schemas/project-management.d.ts +0 -454
  254. package/dist/schemas/project-management.d.ts.map +0 -1
  255. package/dist/schemas/project-management.js +0 -98
  256. package/dist/schemas/project-management.js.map +0 -1
  257. package/dist/schemas/share-operation.d.ts.map +0 -1
  258. package/dist/schemas/share-operation.js +0 -91
  259. package/dist/schemas/share-operation.js.map +0 -1
  260. package/dist/schemas/skills.d.ts +0 -24
  261. package/dist/schemas/skills.d.ts.map +0 -1
  262. package/dist/schemas/skills.js +0 -11
  263. package/dist/schemas/skills.js.map +0 -1
  264. package/dist/schemas/system-message-actions.d.ts.map +0 -1
  265. package/dist/schemas/system-message-actions.js.map +0 -1
  266. package/dist/types/jobs.d.ts +0 -84
  267. package/dist/types/jobs.d.ts.map +0 -1
  268. package/dist/types/jobs.js +0 -3
  269. package/dist/types/jobs.js.map +0 -1
  270. package/dist/types/project.d.ts +0 -85
  271. package/dist/types/project.d.ts.map +0 -1
  272. package/dist/types/project.js +0 -2
  273. package/dist/types/project.js.map +0 -1
  274. package/dist/upload-variables/apply-to-job-variables.d.ts.map +0 -1
  275. package/dist/upload-variables/apply-to-job-variables.js +0 -16
  276. package/dist/upload-variables/apply-to-job-variables.js.map +0 -1
  277. package/dist/upload-variables/create-admin-opportunity-variables.d.ts.map +0 -1
  278. package/dist/upload-variables/create-admin-opportunity-variables.js.map +0 -1
  279. package/dist/upload-variables/create-job-variables.d.ts.map +0 -1
  280. package/dist/upload-variables/create-job-variables.js.map +0 -1
  281. package/dist/upload-variables/create-opportunity-reply-variables.d.ts.map +0 -1
  282. package/dist/upload-variables/create-opportunity-reply-variables.js.map +0 -1
  283. package/dist/upload-variables/create-project-opportunity-variables.d.ts.map +0 -1
  284. package/dist/upload-variables/create-project-opportunity-variables.js.map +0 -1
  285. package/dist/upload-variables/streetz-post-variables.d.ts.map +0 -1
  286. package/dist/upload-variables/streetz-post-variables.js.map +0 -1
  287. package/dist/upload-variables/update-show-media-variables.d.ts.map +0 -1
  288. package/dist/upload-variables/update-show-media-variables.js.map +0 -1
  289. package/dist/upload-variables/update-song-media-variables.d.ts.map +0 -1
  290. package/dist/upload-variables/update-song-media-variables.js.map +0 -1
  291. package/dist/upload-variables/upload-project-file-variables.d.ts.map +0 -1
  292. package/dist/upload-variables/upload-project-file-variables.js.map +0 -1
  293. package/dist/upload-variables/upload-skill-variables.d.ts.map +0 -1
  294. package/dist/upload-variables/upload-skill-variables.js.map +0 -1
@@ -2,52 +2,52 @@
2
2
  //
3
3
  // Frontend (Web SDK): doc(db, ...PATH_BUILDERS.userProfile(userId))
4
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';
5
+ import { COLLECTIONS, USER_SUBCOLLECTIONS, WORK_PROJECT_SUBCOLLECTIONS, NESTED_SUBCOLLECTIONS, SPECIAL_DOCS, } from './collections.js';
6
6
  export const PATH_BUILDERS = {
7
7
  // ===== USER PATHS =====
8
8
  userProfile: (userId) => [COLLECTIONS.USER_PROFILES, userId],
9
- userSkill: (userId, skillId) => [COLLECTIONS.USER_PROFILES, userId, USER_SUBCOLLECTIONS.PROFILE_SKILLS, skillId],
9
+ userCraftSkill: (userId, craftSkillId) => [COLLECTIONS.USER_PROFILES, userId, USER_SUBCOLLECTIONS.PROFILE_CRAFT_SKILLS, craftSkillId],
10
10
  userPrivateData: (userId) => [COLLECTIONS.USER_PROFILES, userId, USER_SUBCOLLECTIONS.PRIVATE_DATA, userId],
11
11
  userMetadata: (userId) => [COLLECTIONS.USER_PROFILES, userId, USER_SUBCOLLECTIONS.USER_METADATA, SPECIAL_DOCS.NOTIFICATION_SETTINGS],
12
12
  userFollow: (userId, followDocId) => [COLLECTIONS.USER_PROFILES, userId, USER_SUBCOLLECTIONS.USER_FOLLOWS, followDocId],
13
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
- projectTale: (projectId, taleId) => [COLLECTIONS.ALL_PROJECTS, projectId, PROJECT_SUBCOLLECTIONS.PROJECT_TALES, taleId],
21
- taleChapter: (projectId, taleId, chapterId) => [COLLECTIONS.ALL_PROJECTS, projectId, PROJECT_SUBCOLLECTIONS.PROJECT_TALES, taleId, NESTED_SUBCOLLECTIONS.TALE_CHAPTERS, chapterId],
22
- projectTune: (projectId, tuneId) => [COLLECTIONS.ALL_PROJECTS, projectId, PROJECT_SUBCOLLECTIONS.PROJECT_TUNES, tuneId],
23
- tuneSong: (projectId, tuneId, songId) => [COLLECTIONS.ALL_PROJECTS, projectId, PROJECT_SUBCOLLECTIONS.PROJECT_TUNES, tuneId, NESTED_SUBCOLLECTIONS.TUNE_SONGS, songId],
24
- projectTelevision: (projectId, televisionId) => [COLLECTIONS.ALL_PROJECTS, projectId, PROJECT_SUBCOLLECTIONS.PROJECT_TELEVISION, televisionId],
25
- tvShow: (projectId, televisionId, showId) => [COLLECTIONS.ALL_PROJECTS, projectId, PROJECT_SUBCOLLECTIONS.PROJECT_TELEVISION, televisionId, NESTED_SUBCOLLECTIONS.TV_SHOWS, showId],
26
- projectMember: (projectId, uid) => [COLLECTIONS.ALL_PROJECTS, projectId, PROJECT_SUBCOLLECTIONS.MEMBERS, uid],
27
- projectFile: (projectId, fileId) => [COLLECTIONS.ALL_PROJECTS, projectId, PROJECT_SUBCOLLECTIONS.FILES, fileId],
28
- shareAuditEvent: (eventId) => [COLLECTIONS.SHARE_AUDIT_EVENTS, eventId],
29
- chatChannel: (projectId, channelId) => [COLLECTIONS.ALL_PROJECTS, projectId, PROJECT_SUBCOLLECTIONS.CHAT_CHANNELS, channelId],
30
- channelMessage: (projectId, channelId, messageId) => [COLLECTIONS.ALL_PROJECTS, projectId, PROJECT_SUBCOLLECTIONS.CHAT_CHANNELS, channelId, NESTED_SUBCOLLECTIONS.CHANNEL_MESSAGES, messageId],
31
- // ===== STREETZ PATHS =====
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
- thresholdItem: (libraryId) => [COLLECTIONS.THRESHOLD_ITEMS, libraryId],
36
- hallItem: (libraryId) => [COLLECTIONS.HALL_ITEMS, libraryId],
37
- hallItemType: (libraryId, projectType, itemId) => [COLLECTIONS.HALL_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],
14
+ userLike: (userId, postId) => [COLLECTIONS.USER_PROFILES, userId, USER_SUBCOLLECTIONS.USER_LIKES, NESTED_SUBCOLLECTIONS.LIKE_HISTORY, NESTED_SUBCOLLECTIONS.SQUARE_STREETZ_LIKES, postId],
15
+ userPledgePayment: (userId, pledgePaymentId) => [COLLECTIONS.USER_PROFILES, userId, USER_SUBCOLLECTIONS.USER_PLEDGE_PAYMENTS, pledgePaymentId],
16
+ userAuditionVote: (userId, auditionId) => [COLLECTIONS.USER_PROFILES, userId, USER_SUBCOLLECTIONS.AUDITION_VOTES, auditionId],
17
+ // ===== WORK PATHS =====
18
+ workProject: (workProjectId) => [COLLECTIONS.ALL_WORK_PROJECTS, workProjectId],
19
+ workProjectPublicData: (workProjectId, publicId) => [COLLECTIONS.ALL_WORK_PROJECTS, workProjectId, WORK_PROJECT_SUBCOLLECTIONS.PUBLIC_DATA, publicId],
20
+ workProjectTale: (workProjectId, taleId) => [COLLECTIONS.ALL_WORK_PROJECTS, workProjectId, WORK_PROJECT_SUBCOLLECTIONS.WORK_PROJECT_TALES, taleId],
21
+ taleChapter: (workProjectId, taleId, chapterId) => [COLLECTIONS.ALL_WORK_PROJECTS, workProjectId, WORK_PROJECT_SUBCOLLECTIONS.WORK_PROJECT_TALES, taleId, NESTED_SUBCOLLECTIONS.TALE_CHAPTERS, chapterId],
22
+ workProjectTune: (workProjectId, tuneId) => [COLLECTIONS.ALL_WORK_PROJECTS, workProjectId, WORK_PROJECT_SUBCOLLECTIONS.WORK_PROJECT_TUNES, tuneId],
23
+ tuneTrack: (workProjectId, tuneId, trackId) => [COLLECTIONS.ALL_WORK_PROJECTS, workProjectId, WORK_PROJECT_SUBCOLLECTIONS.WORK_PROJECT_TUNES, tuneId, NESTED_SUBCOLLECTIONS.TUNE_TRACKS, trackId],
24
+ workProjectTelevision: (workProjectId, televisionId) => [COLLECTIONS.ALL_WORK_PROJECTS, workProjectId, WORK_PROJECT_SUBCOLLECTIONS.WORK_PROJECT_TELEVISION, televisionId],
25
+ televisionEpisode: (workProjectId, televisionId, episodeId) => [COLLECTIONS.ALL_WORK_PROJECTS, workProjectId, WORK_PROJECT_SUBCOLLECTIONS.WORK_PROJECT_TELEVISION, televisionId, NESTED_SUBCOLLECTIONS.TELEVISION_EPISODES, episodeId],
26
+ workProjectGuildmateUser: (workProjectId, uid) => [COLLECTIONS.ALL_WORK_PROJECTS, workProjectId, WORK_PROJECT_SUBCOLLECTIONS.GUILDMATE_USERS, uid],
27
+ workProjectAsset: (workProjectId, workAssetId) => [COLLECTIONS.ALL_WORK_PROJECTS, workProjectId, WORK_PROJECT_SUBCOLLECTIONS.WORK_ASSETS, workAssetId],
28
+ stakeShareAuditEvent: (eventId) => [COLLECTIONS.STAKE_SHARE_AUDIT_EVENTS, eventId],
29
+ guildChatChannel: (workProjectId, guildChatChannelId) => [COLLECTIONS.ALL_WORK_PROJECTS, workProjectId, WORK_PROJECT_SUBCOLLECTIONS.GUILD_CHAT_CHANNELS, guildChatChannelId],
30
+ guildChatMessage: (workProjectId, guildChatChannelId, guildChatMessageId) => [COLLECTIONS.ALL_WORK_PROJECTS, workProjectId, WORK_PROJECT_SUBCOLLECTIONS.GUILD_CHAT_CHANNELS, guildChatChannelId, NESTED_SUBCOLLECTIONS.GUILD_CHAT_MESSAGES, guildChatMessageId],
31
+ // ===== SQUARE PATHS =====
32
+ activePost: (postId) => [COLLECTIONS.SQUARE_STREETZ_FEED, NESTED_SUBCOLLECTIONS.ACTIVE_POSTS, NESTED_SUBCOLLECTIONS.SOCIAL_POSTS, postId],
33
+ trendingPosts: () => [COLLECTIONS.SQUARE_STREETZ_FEED, NESTED_SUBCOLLECTIONS.TRENDING_POSTS],
34
+ // ===== HALL PATHS =====
35
+ thresholdItem: (thresholdItemId) => [COLLECTIONS.THRESHOLD_ITEMS, thresholdItemId],
36
+ hallItem: (hallItemId) => [COLLECTIONS.HALL_ITEMS, hallItemId],
37
+ hallItemType: (hallItemId, workProjectType, itemId) => [COLLECTIONS.HALL_ITEMS, hallItemId, workProjectType, itemId],
38
+ // ===== COMMISSION PATHS =====
39
+ commissionListing: (commissionListingId) => [COLLECTIONS.COMMISSION_LISTINGS, commissionListingId],
40
+ commissionProposal: (commissionListingId, commissionProposalId) => [COLLECTIONS.COMMISSION_LISTINGS, commissionListingId, NESTED_SUBCOLLECTIONS.COMMISSION_PROPOSALS, commissionProposalId],
41
+ // ===== AUDITION PATHS =====
42
+ audition: (auditionId) => [COLLECTIONS.AUDITION_BOARD, auditionId],
43
+ auditionEntry: (auditionId, auditionEntryId) => [COLLECTIONS.AUDITION_BOARD, auditionId, NESTED_SUBCOLLECTIONS.AUDITION_ENTRIES, auditionEntryId],
44
+ // ===== REALM PATHS =====
45
+ workRealm: (workRealmId) => [COLLECTIONS.WORK_REALMS, workRealmId],
46
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],
47
+ adminDispatch: (adminDispatchId) => [COLLECTIONS.PENDING_ADMIN_DISPATCHES, adminDispatchId],
48
+ adminConversationMessage: (adminDispatchId, adminDispatchMessageId) => [COLLECTIONS.PENDING_ADMIN_DISPATCHES, adminDispatchId, NESTED_SUBCOLLECTIONS.CONVERSATION_MESSAGES, adminDispatchMessageId],
49
+ guildInvite: (guildInviteId) => [COLLECTIONS.GUILD_INVITE_CONVERSATIONS, guildInviteId],
50
+ inviteMessage: (guildInviteId, guildInviteMessageId) => [COLLECTIONS.GUILD_INVITE_CONVERSATIONS, guildInviteId, NESTED_SUBCOLLECTIONS.INVITE_MESSAGES, guildInviteMessageId],
51
51
  contentReport: (reportId) => [COLLECTIONS.CONTENT_REPORTS, reportId],
52
52
  activeReportGroup: (groupKey) => [COLLECTIONS.ACTIVE_REPORT_GROUPS, groupKey],
53
53
  contentViolation: (violationId) => [COLLECTIONS.CONTENT_VIOLATIONS, violationId],
@@ -60,15 +60,15 @@ export const PATH_BUILDERS = {
60
60
  pendingMedia: (docId) => [COLLECTIONS.PENDING_MEDIA, docId],
61
61
  pendingMediaArchive: (docId) => [COLLECTIONS.PENDING_MEDIA_ARCHIVE, docId],
62
62
  notificationQueue: (notificationId) => [COLLECTIONS.NOTIFICATION_QUEUE, notificationId],
63
- donationsSummary: () => [COLLECTIONS.DONATIONS_SUMMARY, SPECIAL_DOCS.SUMMARY],
64
- recentDonation: (donationId) => [COLLECTIONS.RECENT_DONATIONS, donationId],
65
- archivedDonation: (donationId) => [COLLECTIONS.ARCHIVED_DONATIONS, donationId],
66
- // ===== FEEDBACK & SKILLS PATHS =====
63
+ pledgePaymentsSummary: () => [COLLECTIONS.PLEDGE_PAYMENTS_SUMMARY, SPECIAL_DOCS.SUMMARY],
64
+ recentPledgePayment: (pledgePaymentId) => [COLLECTIONS.RECENT_PLEDGE_PAYMENTS, pledgePaymentId],
65
+ archivedPledgePayment: (pledgePaymentId) => [COLLECTIONS.ARCHIVED_PLEDGE_PAYMENTS, pledgePaymentId],
66
+ // ===== FEEDBACK & CRAFT PATHS =====
67
67
  feedbackSubmission: (feedbackType) => [COLLECTIONS.FEEDBACK_SUBMISSIONS, feedbackType],
68
68
  userSuggestion: (feedbackType, suggestionId) => [COLLECTIONS.FEEDBACK_SUBMISSIONS, feedbackType, NESTED_SUBCOLLECTIONS.USER_SUGGESTIONS, suggestionId],
69
69
  feedbackAlias: (aliasId) => [COLLECTIONS.FEEDBACK_ALIASES, aliasId],
70
70
  feedbackDenylist: (deniedWord) => [COLLECTIONS.FEEDBACK_DENYLIST, deniedWord],
71
- taggedSkill: (tag, compositeId) => [COLLECTIONS.SKILLS_BY_TAG, tag, NESTED_SUBCOLLECTIONS.TAGGED_SKILLS, compositeId],
71
+ taggedCraftSkill: (tag, compositeId) => [COLLECTIONS.CRAFT_SKILLS_BY_TAG, tag, NESTED_SUBCOLLECTIONS.TAGGED_CRAFT_SKILLS, compositeId],
72
72
  // ===== SYSTEM DATA PATHS =====
73
73
  adminList: () => [COLLECTIONS.SYSTEM_DATA, SPECIAL_DOCS.ADMIN_LIST],
74
74
  futurePlans: () => [COLLECTIONS.APP_CONFIG, SPECIAL_DOCS.FUTURE_PLANS],
@@ -1 +1 @@
1
- {"version":3,"file":"path-builders.js","sourceRoot":"","sources":["../../src/paths/path-builders.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,EAAE;AACF,qEAAqE;AACrE,yEAAyE;AAEzE,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,YAAY,GACb,MAAM,kBAAkB,CAAC;AAE1B,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,yBAAyB;IACzB,WAAW,EAAE,CAAC,MAAc,EAAoB,EAAE,CAChD,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC;IAErC,SAAS,EAAE,CAAC,MAAc,EAAE,OAAe,EAAoC,EAAE,CAC/E,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,mBAAmB,CAAC,cAAc,EAAE,OAAO,CAAC;IAElF,eAAe,EAAE,CAAC,MAAc,EAAoC,EAAE,CACpE,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,mBAAmB,CAAC,YAAY,EAAE,MAAM,CAAC;IAE/E,YAAY,EAAE,CAAC,MAAc,EAAoC,EAAE,CACjE,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,mBAAmB,CAAC,aAAa,EAAE,YAAY,CAAC,qBAAqB,CAAC;IAE5G,UAAU,EAAE,CAAC,MAAc,EAAE,WAAmB,EAAoC,EAAE,CACpF,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,mBAAmB,CAAC,YAAY,EAAE,WAAW,CAAC;IAEpF,YAAY,EAAE,CAAC,MAAc,EAAE,cAAsB,EAAoD,EAAE,CACzG,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,mBAAmB,CAAC,YAAY,EAAE,qBAAqB,CAAC,cAAc,EAAE,qBAAqB,CAAC,cAAc,EAAE,cAAc,CAAC;IAEnK,QAAQ,EAAE,CAAC,MAAc,EAAE,MAAc,EAAoD,EAAE,CAC7F,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,mBAAmB,CAAC,UAAU,EAAE,qBAAqB,CAAC,YAAY,EAAE,qBAAqB,CAAC,aAAa,EAAE,MAAM,CAAC;IAEtJ,YAAY,EAAE,CAAC,MAAc,EAAE,UAAkB,EAAoC,EAAE,CACrF,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,mBAAmB,CAAC,cAAc,EAAE,UAAU,CAAC;IAErF,mBAAmB,EAAE,CAAC,MAAc,EAAE,aAAqB,EAAoC,EAAE,CAC/F,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,mBAAmB,CAAC,iBAAiB,EAAE,aAAa,CAAC;IAE3F,4BAA4B;IAC5B,OAAO,EAAE,CAAC,SAAiB,EAAoB,EAAE,CAC/C,CAAC,WAAW,CAAC,YAAY,EAAE,SAAS,CAAC;IAEvC,iBAAiB,EAAE,CAAC,SAAiB,EAAE,QAAgB,EAAoC,EAAE,CAC3F,CAAC,WAAW,CAAC,YAAY,EAAE,SAAS,EAAE,sBAAsB,CAAC,WAAW,EAAE,QAAQ,CAAC;IAErF,WAAW,EAAE,CAAC,SAAiB,EAAE,MAAc,EAAoC,EAAE,CACnF,CAAC,WAAW,CAAC,YAAY,EAAE,SAAS,EAAE,sBAAsB,CAAC,aAAa,EAAE,MAAM,CAAC;IAErF,WAAW,EAAE,CAAC,SAAiB,EAAE,MAAc,EAAE,SAAiB,EAAoD,EAAE,CACtH,CAAC,WAAW,CAAC,YAAY,EAAE,SAAS,EAAE,sBAAsB,CAAC,aAAa,EAAE,MAAM,EAAE,qBAAqB,CAAC,aAAa,EAAE,SAAS,CAAC;IAErI,WAAW,EAAE,CAAC,SAAiB,EAAE,MAAc,EAAoC,EAAE,CACnF,CAAC,WAAW,CAAC,YAAY,EAAE,SAAS,EAAE,sBAAsB,CAAC,aAAa,EAAE,MAAM,CAAC;IAErF,QAAQ,EAAE,CAAC,SAAiB,EAAE,MAAc,EAAE,MAAc,EAAoD,EAAE,CAChH,CAAC,WAAW,CAAC,YAAY,EAAE,SAAS,EAAE,sBAAsB,CAAC,aAAa,EAAE,MAAM,EAAE,qBAAqB,CAAC,UAAU,EAAE,MAAM,CAAC;IAE/H,iBAAiB,EAAE,CAAC,SAAiB,EAAE,YAAoB,EAAoC,EAAE,CAC/F,CAAC,WAAW,CAAC,YAAY,EAAE,SAAS,EAAE,sBAAsB,CAAC,kBAAkB,EAAE,YAAY,CAAC;IAEhG,MAAM,EAAE,CAAC,SAAiB,EAAE,YAAoB,EAAE,MAAc,EAAoD,EAAE,CACpH,CAAC,WAAW,CAAC,YAAY,EAAE,SAAS,EAAE,sBAAsB,CAAC,kBAAkB,EAAE,YAAY,EAAE,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC;IAExI,aAAa,EAAE,CAAC,SAAiB,EAAE,GAAW,EAAoC,EAAE,CAClF,CAAC,WAAW,CAAC,YAAY,EAAE,SAAS,EAAE,sBAAsB,CAAC,OAAO,EAAE,GAAG,CAAC;IAE5E,WAAW,EAAE,CAAC,SAAiB,EAAE,MAAc,EAAoC,EAAE,CACnF,CAAC,WAAW,CAAC,YAAY,EAAE,SAAS,EAAE,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC;IAE7E,eAAe,EAAE,CAAC,OAAe,EAAoB,EAAE,CACrD,CAAC,WAAW,CAAC,kBAAkB,EAAE,OAAO,CAAC;IAE3C,WAAW,EAAE,CAAC,SAAiB,EAAE,SAAiB,EAAoC,EAAE,CACtF,CAAC,WAAW,CAAC,YAAY,EAAE,SAAS,EAAE,sBAAsB,CAAC,aAAa,EAAE,SAAS,CAAC;IAExF,cAAc,EAAE,CAAC,SAAiB,EAAE,SAAiB,EAAE,SAAiB,EAAoD,EAAE,CAC5H,CAAC,WAAW,CAAC,YAAY,EAAE,SAAS,EAAE,sBAAsB,CAAC,aAAa,EAAE,SAAS,EAAE,qBAAqB,CAAC,gBAAgB,EAAE,SAAS,CAAC;IAE3I,4BAA4B;IAC5B,UAAU,EAAE,CAAC,MAAc,EAAoC,EAAE,CAC/D,CAAC,WAAW,CAAC,YAAY,EAAE,qBAAqB,CAAC,YAAY,EAAE,qBAAqB,CAAC,YAAY,EAAE,MAAM,CAAC;IAE5G,aAAa,EAAE,GAAqB,EAAE,CACpC,CAAC,WAAW,CAAC,YAAY,EAAE,qBAAqB,CAAC,cAAc,CAAC;IAElE,4BAA4B;IAC5B,aAAa,EAAE,CAAC,SAAiB,EAAoB,EAAE,CACrD,CAAC,WAAW,CAAC,eAAe,EAAE,SAAS,CAAC;IAE1C,QAAQ,EAAE,CAAC,SAAiB,EAAoB,EAAE,CAChD,CAAC,WAAW,CAAC,UAAU,EAAE,SAAS,CAAC;IAErC,YAAY,EAAE,CAAC,SAAiB,EAAE,WAAmB,EAAE,MAAc,EAAoC,EAAE,CACzG,CAAC,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC;IAE1D,wBAAwB;IACxB,UAAU,EAAE,CAAC,KAAa,EAAoB,EAAE,CAC9C,CAAC,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC;IAEnC,cAAc,EAAE,CAAC,KAAa,EAAE,OAAe,EAAoC,EAAE,CACnF,CAAC,WAAW,CAAC,YAAY,EAAE,KAAK,EAAE,qBAAqB,CAAC,mBAAmB,EAAE,OAAO,CAAC;IAEvF,gCAAgC;IAChC,WAAW,EAAE,CAAC,aAAqB,EAAoB,EAAE,CACvD,CAAC,WAAW,CAAC,iBAAiB,EAAE,aAAa,CAAC;IAEhD,gBAAgB,EAAE,CAAC,aAAqB,EAAE,OAAe,EAAoC,EAAE,CAC7F,CAAC,WAAW,CAAC,iBAAiB,EAAE,aAAa,EAAE,qBAAqB,CAAC,iBAAiB,EAAE,OAAO,CAAC;IAElG,6BAA6B;IAC7B,QAAQ,EAAE,CAAC,UAAkB,EAAoB,EAAE,CACjD,CAAC,WAAW,CAAC,eAAe,EAAE,UAAU,CAAC;IAE3C,mCAAmC;IACnC,YAAY,EAAE,CAAC,SAAiB,EAAoB,EAAE,CACpD,CAAC,WAAW,CAAC,sBAAsB,EAAE,SAAS,CAAC;IAEjD,wBAAwB,EAAE,CAAC,SAAiB,EAAE,mBAA2B,EAAoC,EAAE,CAC7G,CAAC,WAAW,CAAC,sBAAsB,EAAE,SAAS,EAAE,qBAAqB,CAAC,qBAAqB,EAAE,mBAAmB,CAAC;IAEnH,aAAa,EAAE,CAAC,QAAgB,EAAoB,EAAE,CACpD,CAAC,WAAW,CAAC,4BAA4B,EAAE,QAAQ,CAAC;IAEtD,aAAa,EAAE,CAAC,QAAgB,EAAE,SAAiB,EAAoC,EAAE,CACvF,CAAC,WAAW,CAAC,4BAA4B,EAAE,QAAQ,EAAE,qBAAqB,CAAC,eAAe,EAAE,SAAS,CAAC;IAExG,aAAa,EAAE,CAAC,QAAgB,EAAoB,EAAE,CACpD,CAAC,WAAW,CAAC,eAAe,EAAE,QAAQ,CAAC;IAEzC,iBAAiB,EAAE,CAAC,QAAgB,EAAoB,EAAE,CACxD,CAAC,WAAW,CAAC,oBAAoB,EAAE,QAAQ,CAAC;IAE9C,gBAAgB,EAAE,CAAC,WAAmB,EAAoB,EAAE,CAC1D,CAAC,WAAW,CAAC,kBAAkB,EAAE,WAAW,CAAC;IAE/C,SAAS,EAAE,CAAC,MAAc,EAAoB,EAAE,CAC9C,CAAC,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC;IAEnC,gBAAgB,EAAE,CAAC,QAAgB,EAAE,MAAc,EAAoB,EAAE,CACvE,CAAC,WAAW,CAAC,WAAW,EAAE,GAAG,QAAQ,IAAI,MAAM,EAAE,CAAC;IAEpD,gBAAgB,EAAE,CAAC,KAAa,EAAoB,EAAE,CACpD,CAAC,WAAW,CAAC,kBAAkB,EAAE,KAAK,CAAC;IAEzC,4BAA4B;IAC5B,mBAAmB,EAAE,CAAC,oBAA4B,EAAoB,EAAE,CACtE,CAAC,WAAW,CAAC,sBAAsB,EAAE,oBAAoB,CAAC;IAE5D,SAAS,EAAE,CAAC,OAAe,EAAoB,EAAE,CAC/C,CAAC,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC;IAEpC,YAAY,EAAE,CAAC,KAAa,EAAoB,EAAE,CAChD,CAAC,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC;IAEpC,mBAAmB,EAAE,CAAC,KAAa,EAAoB,EAAE,CACvD,CAAC,WAAW,CAAC,qBAAqB,EAAE,KAAK,CAAC;IAE5C,iBAAiB,EAAE,CAAC,cAAsB,EAAoB,EAAE,CAC9D,CAAC,WAAW,CAAC,kBAAkB,EAAE,cAAc,CAAC;IAElD,gBAAgB,EAAE,GAAqB,EAAE,CACvC,CAAC,WAAW,CAAC,iBAAiB,EAAE,YAAY,CAAC,OAAO,CAAC;IAEvD,cAAc,EAAE,CAAC,UAAkB,EAAoB,EAAE,CACvD,CAAC,WAAW,CAAC,gBAAgB,EAAE,UAAU,CAAC;IAE5C,gBAAgB,EAAE,CAAC,UAAkB,EAAoB,EAAE,CACzD,CAAC,WAAW,CAAC,kBAAkB,EAAE,UAAU,CAAC;IAE9C,sCAAsC;IACtC,kBAAkB,EAAE,CAAC,YAAoB,EAAoB,EAAE,CAC7D,CAAC,WAAW,CAAC,oBAAoB,EAAE,YAAY,CAAC;IAElD,cAAc,EAAE,CAAC,YAAoB,EAAE,YAAoB,EAAoC,EAAE,CAC/F,CAAC,WAAW,CAAC,oBAAoB,EAAE,YAAY,EAAE,qBAAqB,CAAC,gBAAgB,EAAE,YAAY,CAAC;IAExG,aAAa,EAAE,CAAC,OAAe,EAAoB,EAAE,CACnD,CAAC,WAAW,CAAC,gBAAgB,EAAE,OAAO,CAAC;IAEzC,gBAAgB,EAAE,CAAC,UAAkB,EAAoB,EAAE,CACzD,CAAC,WAAW,CAAC,iBAAiB,EAAE,UAAU,CAAC;IAE7C,WAAW,EAAE,CAAC,GAAW,EAAE,WAAmB,EAAoC,EAAE,CAClF,CAAC,WAAW,CAAC,aAAa,EAAE,GAAG,EAAE,qBAAqB,CAAC,aAAa,EAAE,WAAW,CAAC;IAEpF,gCAAgC;IAChC,SAAS,EAAE,GAAqB,EAAE,CAChC,CAAC,WAAW,CAAC,WAAW,EAAE,YAAY,CAAC,UAAU,CAAC;IAEpD,WAAW,EAAE,GAAqB,EAAE,CAClC,CAAC,WAAW,CAAC,UAAU,EAAE,YAAY,CAAC,YAAY,CAAC;IAErD,aAAa,EAAE,GAAqB,EAAE,CACpC,CAAC,WAAW,CAAC,WAAW,EAAE,YAAY,CAAC,cAAc,CAAC;IAExD,kBAAkB,EAAE,GAAqB,EAAE,CACzC,CAAC,WAAW,CAAC,UAAU,EAAE,YAAY,CAAC,oBAAoB,CAAC;IAE7D,SAAS,EAAE,GAAqB,EAAE,CAChC,CAAC,WAAW,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC;CAC3C,CAAC"}
1
+ {"version":3,"file":"path-builders.js","sourceRoot":"","sources":["../../src/paths/path-builders.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ export type GuildStandingAssignmentAction = 'add' | 'remove';
2
+ export declare const NON_ASSIGNABLE_GUILD_STANDINGS: readonly ["StewardOwner"];
3
+ export declare const STEWARD_ONLY_ASSIGNABLE_GUILD_STANDINGS: readonly ["WorkProjectManager", "GuildStandingManager", "StakeShareManager"];
4
+ export interface CanAssignGuildStandingArgs {
5
+ actorIsStewardOwner: boolean;
6
+ actorGuildStandings: readonly string[];
7
+ targetGuildStanding: string;
8
+ action: GuildStandingAssignmentAction;
9
+ actorUid?: string;
10
+ targetUid?: string;
11
+ }
12
+ export interface CanAssignGuildStandingResult {
13
+ allowed: boolean;
14
+ reason?: string;
15
+ }
16
+ export declare function canAssignGuildStanding({ actorIsStewardOwner, actorGuildStandings, targetGuildStanding, actorUid, targetUid, }: CanAssignGuildStandingArgs): CanAssignGuildStandingResult;
17
+ //# sourceMappingURL=guild-standing-assignment-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guild-standing-assignment-policy.d.ts","sourceRoot":"","sources":["../../src/permissions/guild-standing-assignment-policy.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,6BAA6B,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE7D,eAAO,MAAM,8BAA8B,2BAAiE,CAAC;AAC7G,eAAO,MAAM,uCAAuC,8EAIL,CAAC;AAIhD,MAAM,WAAW,0BAA0B;IACzC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,MAAM,EAAE,6BAA6B,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,sBAAsB,CAAC,EACrC,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,QAAQ,EACR,SAAS,GACV,EAAE,0BAA0B,GAAG,4BAA4B,CAkC3D"}
@@ -0,0 +1,36 @@
1
+ import { getGuildStandingIdFromValue, isGuildStandingValue, } from './work-project-permissions.js';
2
+ export const NON_ASSIGNABLE_GUILD_STANDINGS = ['StewardOwner'];
3
+ export const STEWARD_ONLY_ASSIGNABLE_GUILD_STANDINGS = [
4
+ 'WorkProjectManager',
5
+ 'GuildStandingManager',
6
+ 'StakeShareManager',
7
+ ];
8
+ const ownerOnlyAssignable = new Set(STEWARD_ONLY_ASSIGNABLE_GUILD_STANDINGS);
9
+ export function canAssignGuildStanding({ actorIsStewardOwner, actorGuildStandings, targetGuildStanding, actorUid, targetUid, }) {
10
+ if (!isGuildStandingValue(targetGuildStanding)) {
11
+ return { allowed: false, reason: `Unknown workProject guild standing: ${targetGuildStanding}` };
12
+ }
13
+ const targetGuildStandingId = getGuildStandingIdFromValue(targetGuildStanding);
14
+ if (targetGuildStandingId === 'StewardOwner') {
15
+ return { allowed: false, reason: 'Steward is not an assignable workProject guild standing.' };
16
+ }
17
+ if (actorUid && targetUid && actorUid === targetUid && !actorIsStewardOwner) {
18
+ return { allowed: false, reason: 'Only the work steward can edit their own guild standings.' };
19
+ }
20
+ if (actorIsStewardOwner) {
21
+ return { allowed: true };
22
+ }
23
+ const normalizedActorGuildStandingIds = actorGuildStandings
24
+ .filter(isGuildStandingValue)
25
+ .map(getGuildStandingIdFromValue);
26
+ const actorCanManageGuildStandings = normalizedActorGuildStandingIds.includes('WorkProjectManager') ||
27
+ normalizedActorGuildStandingIds.includes('GuildStandingManager');
28
+ if (!actorCanManageGuildStandings) {
29
+ return { allowed: false, reason: 'WorkProjectManager or GuildStandingManager standing is required.' };
30
+ }
31
+ if (ownerOnlyAssignable.has(targetGuildStandingId)) {
32
+ return { allowed: false, reason: `${targetGuildStanding} can only be assigned or removed by the work steward.` };
33
+ }
34
+ return { allowed: true };
35
+ }
36
+ //# sourceMappingURL=guild-standing-assignment-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guild-standing-assignment-policy.js","sourceRoot":"","sources":["../../src/permissions/guild-standing-assignment-policy.ts"],"names":[],"mappings":"AACA,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,GACrB,MAAM,+BAA+B,CAAC;AAIvC,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,cAAc,CAA+C,CAAC;AAC7G,MAAM,CAAC,MAAM,uCAAuC,GAAG;IACrD,oBAAoB;IACpB,sBAAsB;IACtB,mBAAmB;CAC0B,CAAC;AAEhD,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAkB,uCAAuC,CAAC,CAAC;AAgB9F,MAAM,UAAU,sBAAsB,CAAC,EACrC,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,QAAQ,EACR,SAAS,GACkB;IAC3B,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC/C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,uCAAuC,mBAAmB,EAAE,EAAE,CAAC;IAClG,CAAC;IACD,MAAM,qBAAqB,GAAG,2BAA2B,CAAC,mBAAmB,CAAC,CAAC;IAE/E,IAAI,qBAAqB,KAAK,cAAc,EAAE,CAAC;QAC7C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,0DAA0D,EAAE,CAAC;IAChG,CAAC;IAED,IAAI,QAAQ,IAAI,SAAS,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC5E,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,2DAA2D,EAAE,CAAC;IACjG,CAAC;IAED,IAAI,mBAAmB,EAAE,CAAC;QACxB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,+BAA+B,GAAG,mBAAmB;SACxD,MAAM,CAAC,oBAAoB,CAAC;SAC5B,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACpC,MAAM,4BAA4B,GAChC,+BAA+B,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAC9D,+BAA+B,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IAEnE,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAClC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,kEAAkE,EAAE,CAAC;IACxG,CAAC;IAED,IAAI,mBAAmB,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACnD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,mBAAmB,uDAAuD,EAAE,CAAC;IACnH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC"}
@@ -1,3 +1,3 @@
1
- export * from './project-permissions.js';
2
- export * from './role-assignment-policy.js';
1
+ export * from './work-project-permissions.js';
2
+ export * from './guild-standing-assignment-policy.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/permissions/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/permissions/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uCAAuC,CAAC"}
@@ -1,3 +1,3 @@
1
- export * from './project-permissions.js';
2
- export * from './role-assignment-policy.js';
1
+ export * from './work-project-permissions.js';
2
+ export * from './guild-standing-assignment-policy.js';
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/permissions/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/permissions/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uCAAuC,CAAC"}
@@ -0,0 +1,284 @@
1
+ export declare const GUILD_STANDINGS: {
2
+ readonly StewardOwner: {
3
+ readonly label: "Steward";
4
+ readonly description: "Work steward. Holds all workProject actions implicitly. Assigned automatically at workProject creation and non-assignable via guild standing management UIs.";
5
+ };
6
+ readonly WorkProjectManager: {
7
+ readonly label: "WorkProject Manager";
8
+ readonly description: "Can perform every workProject action except granting Steward, WorkProjectManager, GuildStandingManager, or StakeShareManager.";
9
+ };
10
+ readonly PublicWorkProjectEditor: {
11
+ readonly label: "Public WorkProject Editor";
12
+ readonly description: "Can edit public-facing workProject title, description, and copy.";
13
+ };
14
+ readonly GuildStandingManager: {
15
+ readonly label: "Guild Standing Manager";
16
+ readonly description: "Can assign and remove ordinary workProject guild standings without escalating manager or share authority.";
17
+ };
18
+ readonly StakeShareManager: {
19
+ readonly label: "Stake Share Manager";
20
+ readonly description: "Can adjust active member stakes and pending invite stake offers.";
21
+ };
22
+ readonly InviteManager: {
23
+ readonly label: "Invite Manager";
24
+ readonly description: "Can send workProject invites, view invite state, and cancel or revoke pending invites.";
25
+ };
26
+ readonly WorkAssetViewer: {
27
+ readonly label: "Work Asset Viewer";
28
+ readonly description: "Can view workProject assets stored in the work-asset subcollection.";
29
+ };
30
+ readonly WorkAssetManager: {
31
+ readonly label: "Work Asset Manager";
32
+ readonly description: "Can upload and delete workProject assets.";
33
+ };
34
+ readonly CommissionManager: {
35
+ readonly label: "Commission Manager";
36
+ readonly description: "Can open, close, and delete workProject commissions and manage proposals without starting invite conversations.";
37
+ };
38
+ readonly AuditionManager: {
39
+ readonly label: "Audition Manager";
40
+ readonly description: "Can open, edit, and close workProject auditions and manage respondents without starting invite conversations.";
41
+ };
42
+ readonly HallLibraryEditor: {
43
+ readonly label: "Hall Editor";
44
+ readonly description: "Can create and edit Tales, Tunes, Television content, Genres, and media assets.";
45
+ };
46
+ readonly HallLibrarySubmitter: {
47
+ readonly label: "Hall Submitter";
48
+ readonly description: "Can submit workProject hall content for admin hall review.";
49
+ };
50
+ readonly GuildChatChannelManager: {
51
+ readonly label: "Guild Chat Channel Manager";
52
+ readonly description: "Can create, update, archive, and moderate workProject chat channels.";
53
+ };
54
+ };
55
+ export type GuildStandingId = keyof typeof GUILD_STANDINGS;
56
+ export declare const GUILD_STANDING_IDS: GuildStandingId[];
57
+ export declare const GUILD_STANDING_VALUE_BY_ID: {
58
+ readonly StewardOwner: "Steward";
59
+ readonly WorkProjectManager: "WorkProjectManager";
60
+ readonly PublicWorkProjectEditor: "PublicWorkProjectEditor";
61
+ readonly GuildStandingManager: "GuildStandingManager";
62
+ readonly StakeShareManager: "StakeShareManager";
63
+ readonly InviteManager: "InviteManager";
64
+ readonly WorkAssetViewer: "WorkAssetViewer";
65
+ readonly WorkAssetManager: "WorkAssetManager";
66
+ readonly CommissionManager: "CommissionManager";
67
+ readonly AuditionManager: "AuditionManager";
68
+ readonly HallLibraryEditor: "HallLibraryEditor";
69
+ readonly HallLibrarySubmitter: "HallLibrarySubmitter";
70
+ readonly GuildChatChannelManager: "GuildChatChannelManager";
71
+ };
72
+ export type GuildStandingValue = (typeof GUILD_STANDING_VALUE_BY_ID)[GuildStandingId];
73
+ export declare const GUILD_STANDING_VALUES: GuildStandingValue[];
74
+ export declare const WORK_PROJECT_ACTIONS: {
75
+ readonly 'workProject.read': {
76
+ readonly label: "Read workProject";
77
+ readonly description: "Baseline active-member read floor for internal workProject state.";
78
+ readonly grantedTo: ("StewardOwner" | "WorkProjectManager" | "PublicWorkProjectEditor" | "GuildStandingManager" | "StakeShareManager" | "InviteManager" | "WorkAssetViewer" | "WorkAssetManager" | "CommissionManager" | "AuditionManager" | "HallLibraryEditor" | "HallLibrarySubmitter" | "GuildChatChannelManager")[];
79
+ };
80
+ readonly 'workProject.metadata.update': {
81
+ readonly label: "Update workProject metadata";
82
+ readonly description: "Edit working title, description, and public workProject copy.";
83
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "PublicWorkProjectEditor"];
84
+ };
85
+ readonly 'member.guildStanding.update': {
86
+ readonly label: "Update member guild standings";
87
+ readonly description: "Assign or remove workProject guild standings on active members.";
88
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "GuildStandingManager"];
89
+ };
90
+ readonly 'member.tradeProfession.update': {
91
+ readonly label: "Update member tradeProfessions";
92
+ readonly description: "Assign or remove member tradeProfessions/staffing labels.";
93
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "GuildStandingManager"];
94
+ };
95
+ readonly 'workProject.stakeShares.manage': {
96
+ readonly label: "Manage workProject stakes";
97
+ readonly description: "Run workProject stake-share operations under the 1000-stake cap.";
98
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "StakeShareManager"];
99
+ };
100
+ readonly 'workProject.stakeShares.addActive': {
101
+ readonly label: "Add active member stakes";
102
+ readonly description: "Increase stakes for an existing active workProject member.";
103
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "StakeShareManager"];
104
+ };
105
+ readonly 'guildInvite.send': {
106
+ readonly label: "Send invites";
107
+ readonly description: "Start a workProject invite conversation and reserve pending stakes.";
108
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "InviteManager"];
109
+ };
110
+ readonly 'guildInvite.list': {
111
+ readonly label: "List invites";
112
+ readonly description: "View workProject invite conversation state.";
113
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "InviteManager"];
114
+ };
115
+ readonly 'guildInvite.revokeAny': {
116
+ readonly label: "Revoke pending invites";
117
+ readonly description: "Cancel or revoke pending workProject invites.";
118
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "InviteManager"];
119
+ };
120
+ readonly 'guildInvite.stakeShares.update': {
121
+ readonly label: "Update invite stakes";
122
+ readonly description: "Increase stakes offered on a pending invite.";
123
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "StakeShareManager"];
124
+ };
125
+ readonly 'workAsset.view': {
126
+ readonly label: "View work assets";
127
+ readonly description: "Read workProject asset metadata from the work-asset subcollection.";
128
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "WorkAssetViewer", "WorkAssetManager"];
129
+ };
130
+ readonly 'workAsset.upload': {
131
+ readonly label: "Upload work assets";
132
+ readonly description: "Upload shared workProject assets.";
133
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "WorkAssetManager"];
134
+ };
135
+ readonly 'workAsset.delete': {
136
+ readonly label: "Delete work assets";
137
+ readonly description: "Delete shared workProject assets.";
138
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "WorkAssetManager"];
139
+ };
140
+ readonly 'commission.open': {
141
+ readonly label: "Open commissions";
142
+ readonly description: "Create workProject commission postings.";
143
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "CommissionManager"];
144
+ };
145
+ readonly 'commission.close': {
146
+ readonly label: "Close commissions";
147
+ readonly description: "Close workProject commission postings.";
148
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "CommissionManager"];
149
+ };
150
+ readonly 'commission.delete': {
151
+ readonly label: "Delete commissions";
152
+ readonly description: "Delete workProject commission postings.";
153
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "CommissionManager"];
154
+ };
155
+ readonly 'commission.commissionProposal.save': {
156
+ readonly label: "Save commission proposals";
157
+ readonly description: "Save or unsave workProject commission proposals.";
158
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "CommissionManager"];
159
+ };
160
+ readonly 'commission.commissionProposal.reject': {
161
+ readonly label: "Reject commission proposals";
162
+ readonly description: "Reject workProject commission proposals.";
163
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "CommissionManager"];
164
+ };
165
+ readonly 'audition.open': {
166
+ readonly label: "Open auditions";
167
+ readonly description: "Create workProject audition prompts.";
168
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "AuditionManager"];
169
+ };
170
+ readonly 'audition.edit': {
171
+ readonly label: "Edit auditions";
172
+ readonly description: "Edit workProject audition prompts.";
173
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "AuditionManager"];
174
+ };
175
+ readonly 'audition.close': {
176
+ readonly label: "Close auditions";
177
+ readonly description: "Close workProject auditions.";
178
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "AuditionManager"];
179
+ };
180
+ readonly 'audition.respondent.manage': {
181
+ readonly label: "Manage audition respondents";
182
+ readonly description: "Manage workProject audition respondents without starting invite conversations.";
183
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "AuditionManager"];
184
+ };
185
+ readonly 'hallLibrary.chapter.create': {
186
+ readonly label: "Create Tale chapters";
187
+ readonly description: "Create Tale chapter content.";
188
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "HallLibraryEditor"];
189
+ };
190
+ readonly 'hallLibrary.tuneTrack.create': {
191
+ readonly label: "Create Tune tracks";
192
+ readonly description: "Create Tune track content.";
193
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "HallLibraryEditor"];
194
+ };
195
+ readonly 'hallLibrary.televisionEpisode.create': {
196
+ readonly label: "Create Television episodes";
197
+ readonly description: "Create Television episode content.";
198
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "HallLibraryEditor"];
199
+ };
200
+ readonly 'hallLibrary.tale.details.update': {
201
+ readonly label: "Update Tale details";
202
+ readonly description: "Edit Tale details and public copy.";
203
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "HallLibraryEditor"];
204
+ };
205
+ readonly 'hallLibrary.tune.details.update': {
206
+ readonly label: "Update Tune details";
207
+ readonly description: "Edit Tune details and public copy.";
208
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "HallLibraryEditor"];
209
+ };
210
+ readonly 'hallLibrary.television.details.update': {
211
+ readonly label: "Update Television details";
212
+ readonly description: "Edit Television details and public copy.";
213
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "HallLibraryEditor"];
214
+ };
215
+ readonly 'hallLibrary.chapter.details.update': {
216
+ readonly label: "Update chapter details";
217
+ readonly description: "Edit chapter details and body fields.";
218
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "HallLibraryEditor"];
219
+ };
220
+ readonly 'hallLibrary.tuneTrack.details.update': {
221
+ readonly label: "Update track details";
222
+ readonly description: "Edit track details and media metadata.";
223
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "HallLibraryEditor"];
224
+ };
225
+ readonly 'hallLibrary.televisionEpisode.details.update': {
226
+ readonly label: "Update episode details";
227
+ readonly description: "Edit episode details and media metadata.";
228
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "HallLibraryEditor"];
229
+ };
230
+ readonly 'hallLibrary.tale.workGenres.update': {
231
+ readonly label: "Update Tale Genres";
232
+ readonly description: "Edit Tale Genre assignments.";
233
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "HallLibraryEditor"];
234
+ };
235
+ readonly 'hallLibrary.tune.workGenres.update': {
236
+ readonly label: "Update Tune Genres";
237
+ readonly description: "Edit Tune Genre assignments.";
238
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "HallLibraryEditor"];
239
+ };
240
+ readonly 'hallLibrary.television.workGenres.update': {
241
+ readonly label: "Update Television Genres";
242
+ readonly description: "Edit Television Genre assignments.";
243
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "HallLibraryEditor"];
244
+ };
245
+ readonly 'hallLibrary.asset.upload': {
246
+ readonly label: "Upload hallLibrary assets";
247
+ readonly description: "Upload or replace covers and sub-item media assets.";
248
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "HallLibraryEditor"];
249
+ };
250
+ readonly 'hallLibrary.review.submit': {
251
+ readonly label: "Submit hall review";
252
+ readonly description: "Submit workProject content for admin hall review.";
253
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "HallLibrarySubmitter"];
254
+ };
255
+ readonly 'guildChatChannel.create': {
256
+ readonly label: "Create chat channels";
257
+ readonly description: "Create workProject chat channels.";
258
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "GuildChatChannelManager"];
259
+ };
260
+ readonly 'guildChatChannel.update': {
261
+ readonly label: "Update chat channels";
262
+ readonly description: "Update workProject chat channel settings and access policy.";
263
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "GuildChatChannelManager"];
264
+ };
265
+ readonly 'guildChatChannel.archive': {
266
+ readonly label: "Archive chat channels";
267
+ readonly description: "Archive workProject chat channels.";
268
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "GuildChatChannelManager"];
269
+ };
270
+ readonly 'guildChatMessage.moderate': {
271
+ readonly label: "Moderate chat messages";
272
+ readonly description: "Update or delete workProject channel messages for moderation.";
273
+ readonly grantedTo: readonly ["StewardOwner", "WorkProjectManager", "GuildChatChannelManager"];
274
+ };
275
+ };
276
+ export type WorkProjectActionId = keyof typeof WORK_PROJECT_ACTIONS;
277
+ export declare const WORK_PROJECT_ACTION_IDS: WorkProjectActionId[];
278
+ export declare function isGuildStandingId(value: unknown): value is GuildStandingId;
279
+ export declare function isGuildStandingValue(value: unknown): value is GuildStandingValue;
280
+ export declare function getGuildStandingIdFromValue(guildStandingValue: GuildStandingValue): GuildStandingId;
281
+ export declare function getGuildStandingValueFromId(guildStandingId: GuildStandingId): GuildStandingValue;
282
+ export declare function isWorkProjectActionId(value: unknown): value is WorkProjectActionId;
283
+ export declare function getActionsForGuildStanding(guildStandingId: GuildStandingId): WorkProjectActionId[];
284
+ //# sourceMappingURL=work-project-permissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"work-project-permissions.d.ts","sourceRoot":"","sources":["../../src/permissions/work-project-permissions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqDlB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,eAAe,CAAC;AAC3D,eAAO,MAAM,kBAAkB,EAAmC,eAAe,EAAE,CAAC;AACpF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;CAca,CAAC;AACrD,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,eAAe,CAAC,CAAC;AACtF,eAAO,MAAM,qBAAqB,EAAgD,kBAAkB,EAAE,CAAC;AAMvG,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6M/B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,oBAAoB,CAAC;AACpE,eAAO,MAAM,uBAAuB,EAAwC,mBAAmB,EAAE,CAAC;AAElG,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAE1E;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAEhF;AAED,wBAAgB,2BAA2B,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,eAAe,CAEnG;AAED,wBAAgB,2BAA2B,CAAC,eAAe,EAAE,eAAe,GAAG,kBAAkB,CAEhG;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAElF;AAED,wBAAgB,0BAA0B,CAAC,eAAe,EAAE,eAAe,GAAG,mBAAmB,EAAE,CAIlG"}