@echovisionlab/geul-proto 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/LICENSE.md +6 -0
  2. package/README.md +6 -0
  3. package/eslint.config.mjs +15 -0
  4. package/gen/api/common/v1/common_pb.ts +391 -0
  5. package/gen/api/common/v1/media_pb.ts +578 -0
  6. package/gen/api/content/v1/block_catalog.ts +5978 -0
  7. package/gen/api/content/v1/block_content_pb.ts +11420 -0
  8. package/gen/api/intra/v1/artist_pb.ts +597 -0
  9. package/gen/api/intra/v1/campaign_pb.ts +383 -0
  10. package/gen/api/intra/v1/collaboration_pb.ts +661 -0
  11. package/gen/api/intra/v1/email_courier_pb.ts +98 -0
  12. package/gen/api/intra/v1/email_layout_pb.ts +295 -0
  13. package/gen/api/intra/v1/email_template_pb.ts +384 -0
  14. package/gen/api/intra/v1/file_ingest_pb.ts +144 -0
  15. package/gen/api/intra/v1/form_locale_catalog.ts +128 -0
  16. package/gen/api/intra/v1/form_locale_catalog_parity.json +24 -0
  17. package/gen/api/intra/v1/form_pb.ts +276 -0
  18. package/gen/api/intra/v1/gateway_authorization_pb.ts +96 -0
  19. package/gen/api/intra/v1/label_pb.ts +558 -0
  20. package/gen/api/intra/v1/map_pb.ts +382 -0
  21. package/gen/api/intra/v1/menu_pb.ts +282 -0
  22. package/gen/api/intra/v1/og_pb.ts +335 -0
  23. package/gen/api/intra/v1/page_pb.ts +572 -0
  24. package/gen/api/intra/v1/post_pb.ts +657 -0
  25. package/gen/api/intra/v1/post_series_pb.ts +217 -0
  26. package/gen/api/intra/v1/privacy_pb.ts +384 -0
  27. package/gen/api/intra/v1/program_event_pb.ts +390 -0
  28. package/gen/api/intra/v1/release_pb.ts +462 -0
  29. package/gen/api/intra/v1/terms_pb.ts +384 -0
  30. package/gen/api/intra/v1/work_pb.ts +477 -0
  31. package/gen/api/manage/v1/account_pb.ts +1311 -0
  32. package/gen/api/manage/v1/admin_pb.ts +681 -0
  33. package/gen/api/manage/v1/ai_pb.ts +2621 -0
  34. package/gen/api/manage/v1/artist_pb.ts +1271 -0
  35. package/gen/api/manage/v1/audience_pb.ts +597 -0
  36. package/gen/api/manage/v1/campaign_pb.ts +1289 -0
  37. package/gen/api/manage/v1/category_pb.ts +351 -0
  38. package/gen/api/manage/v1/client_pb.ts +512 -0
  39. package/gen/api/manage/v1/collaboration_pb.ts +112 -0
  40. package/gen/api/manage/v1/comment_pb.ts +530 -0
  41. package/gen/api/manage/v1/common_pb.ts +192 -0
  42. package/gen/api/manage/v1/email_layout_pb.ts +487 -0
  43. package/gen/api/manage/v1/email_suppression_pb.ts +192 -0
  44. package/gen/api/manage/v1/email_template_pb.ts +683 -0
  45. package/gen/api/manage/v1/events_pb.ts +3251 -0
  46. package/gen/api/manage/v1/file_pb.ts +2810 -0
  47. package/gen/api/manage/v1/form_pb.ts +1046 -0
  48. package/gen/api/manage/v1/format_pb.ts +321 -0
  49. package/gen/api/manage/v1/genre_pb.ts +340 -0
  50. package/gen/api/manage/v1/label_pb.ts +1105 -0
  51. package/gen/api/manage/v1/mail_adapter_pb.ts +656 -0
  52. package/gen/api/manage/v1/map_place_pb.ts +572 -0
  53. package/gen/api/manage/v1/map_theme_pb.ts +691 -0
  54. package/gen/api/manage/v1/member_pb.ts +1281 -0
  55. package/gen/api/manage/v1/menu_pb.ts +535 -0
  56. package/gen/api/manage/v1/page_pb.ts +894 -0
  57. package/gen/api/manage/v1/post_pb.ts +1475 -0
  58. package/gen/api/manage/v1/privacy_pb.ts +518 -0
  59. package/gen/api/manage/v1/program_event_pb.ts +2234 -0
  60. package/gen/api/manage/v1/release_pb.ts +1168 -0
  61. package/gen/api/manage/v1/series_pb.ts +1033 -0
  62. package/gen/api/manage/v1/share_link_pb.ts +351 -0
  63. package/gen/api/manage/v1/site_setting_pb.ts +623 -0
  64. package/gen/api/manage/v1/style_pb.ts +340 -0
  65. package/gen/api/manage/v1/tag_pb.ts +323 -0
  66. package/gen/api/manage/v1/terms_pb.ts +517 -0
  67. package/gen/api/manage/v1/track_pb.ts +543 -0
  68. package/gen/api/manage/v1/translation_pb.ts +1838 -0
  69. package/gen/api/manage/v1/work_pb.ts +1662 -0
  70. package/gen/api/open/v1/account_pb.ts +243 -0
  71. package/gen/api/open/v1/artist_pb.ts +732 -0
  72. package/gen/api/open/v1/category_pb.ts +143 -0
  73. package/gen/api/open/v1/client_pb.ts +190 -0
  74. package/gen/api/open/v1/file_pb.ts +244 -0
  75. package/gen/api/open/v1/form_pb.ts +698 -0
  76. package/gen/api/open/v1/label_pb.ts +512 -0
  77. package/gen/api/open/v1/manifest_pb.ts +326 -0
  78. package/gen/api/open/v1/map_place_pb.ts +228 -0
  79. package/gen/api/open/v1/map_theme_pb.ts +400 -0
  80. package/gen/api/open/v1/member_pb.ts +200 -0
  81. package/gen/api/open/v1/newsletter_pb.ts +77 -0
  82. package/gen/api/open/v1/page_pb.ts +236 -0
  83. package/gen/api/open/v1/post_pb.ts +834 -0
  84. package/gen/api/open/v1/privacy_pb.ts +257 -0
  85. package/gen/api/open/v1/program_event_pb.ts +1024 -0
  86. package/gen/api/open/v1/release_pb.ts +758 -0
  87. package/gen/api/open/v1/series_pb.ts +210 -0
  88. package/gen/api/open/v1/share_link_pb.ts +106 -0
  89. package/gen/api/open/v1/sitemap_pb.ts +188 -0
  90. package/gen/api/open/v1/tag_pb.ts +136 -0
  91. package/gen/api/open/v1/terms_pb.ts +257 -0
  92. package/gen/api/open/v1/translation_pb.ts +103 -0
  93. package/gen/api/open/v1/work_pb.ts +904 -0
  94. package/gen/api/policy/v1/access_pb.ts +105 -0
  95. package/gen/api/policy/v1/spicedb/artist.ts +101 -0
  96. package/gen/api/policy/v1/spicedb/audience.ts +64 -0
  97. package/gen/api/policy/v1/spicedb/campaign.ts +49 -0
  98. package/gen/api/policy/v1/spicedb/core.ts +196 -0
  99. package/gen/api/policy/v1/spicedb/email_authoring.ts +91 -0
  100. package/gen/api/policy/v1/spicedb/email_delivery.ts +44 -0
  101. package/gen/api/policy/v1/spicedb/file.ts +49 -0
  102. package/gen/api/policy/v1/spicedb/form.ts +54 -0
  103. package/gen/api/policy/v1/spicedb/internal.ts +350 -0
  104. package/gen/api/policy/v1/spicedb/label.ts +98 -0
  105. package/gen/api/policy/v1/spicedb/legal_policy.ts +103 -0
  106. package/gen/api/policy/v1/spicedb/map_theme.ts +48 -0
  107. package/gen/api/policy/v1/spicedb/member.ts +47 -0
  108. package/gen/api/policy/v1/spicedb/menu.ts +48 -0
  109. package/gen/api/policy/v1/spicedb/page.ts +54 -0
  110. package/gen/api/policy/v1/spicedb/post.ts +105 -0
  111. package/gen/api/policy/v1/spicedb/post_series.ts +70 -0
  112. package/gen/api/policy/v1/spicedb/program_event.ts +66 -0
  113. package/gen/api/policy/v1/spicedb/program_event_series.ts +62 -0
  114. package/gen/api/policy/v1/spicedb/reference_data.ts +209 -0
  115. package/gen/api/policy/v1/spicedb/release.ts +81 -0
  116. package/gen/api/policy/v1/spicedb/site_settings.ts +49 -0
  117. package/gen/api/policy/v1/spicedb/translation.ts +46 -0
  118. package/gen/api/policy/v1/spicedb/work.ts +58 -0
  119. package/package.json +66 -0
  120. package/tsconfig.json +15 -0
@@ -0,0 +1,47 @@
1
+ // Code generated by scripts/generated/generate-spicedb-catalog.mjs.
2
+ // DO NOT EDIT.
3
+ //
4
+ // Domain: member — Member profile resource policy
5
+
6
+ import {
7
+ accountIdentityRelationshipSubject,
8
+ createCan,
9
+ createRelationshipMutation,
10
+ createRelationshipSnapshotPlan,
11
+ createResource,
12
+ platformRelationshipSubject,
13
+ RelationshipOperation,
14
+ resourceRelationshipSubject,
15
+ } from "./internal.ts";
16
+ import type {
17
+ Actor,
18
+ Can,
19
+ RelationshipMutation,
20
+ RelationshipSnapshotPlan,
21
+ Resource,
22
+ } from "./internal.ts";
23
+
24
+ export const Member = Object.freeze({
25
+ Resource: (id: string): Resource => createResource("member", id),
26
+ View: (id: string): Can => createCan("member", id, "view", "view"),
27
+ Edit: (id: string): Can => createCan("member", id, "edit", "edit"),
28
+ Delete: (id: string): Can => createCan("member", id, "delete", "delete"),
29
+ Manage: (id: string): Can => createCan("member", id, "manage", "manage"),
30
+ List: (): Can => createCan("platform", "global", "member.list", "is_admin"),
31
+ Snapshot: (id: string): RelationshipSnapshotPlan =>
32
+ createRelationshipSnapshotPlan("member", id, "platform_admin", ""),
33
+ TouchPolicy: (id: string): RelationshipMutation =>
34
+ createRelationshipMutation(
35
+ createResource("member", id),
36
+ "policy",
37
+ platformRelationshipSubject(),
38
+ RelationshipOperation.Touch,
39
+ ),
40
+ DeletePolicy: (id: string): RelationshipMutation =>
41
+ createRelationshipMutation(
42
+ createResource("member", id),
43
+ "policy",
44
+ platformRelationshipSubject(),
45
+ RelationshipOperation.Delete,
46
+ ),
47
+ });
@@ -0,0 +1,48 @@
1
+ // Code generated by scripts/generated/generate-spicedb-catalog.mjs.
2
+ // DO NOT EDIT.
3
+ //
4
+ // Domain: menu — Menu tree resource policy
5
+
6
+ import {
7
+ accountIdentityRelationshipSubject,
8
+ createCan,
9
+ createRelationshipMutation,
10
+ createRelationshipSnapshotPlan,
11
+ createResource,
12
+ platformRelationshipSubject,
13
+ RelationshipOperation,
14
+ resourceRelationshipSubject,
15
+ } from "./internal.ts";
16
+ import type {
17
+ Actor,
18
+ Can,
19
+ RelationshipMutation,
20
+ RelationshipSnapshotPlan,
21
+ Resource,
22
+ } from "./internal.ts";
23
+
24
+ export const Menu = Object.freeze({
25
+ Resource: (id: string): Resource => createResource("menu", id),
26
+ View: (id: string): Can => createCan("menu", id, "view", "view"),
27
+ Edit: (id: string): Can => createCan("menu", id, "edit", "edit"),
28
+ Delete: (id: string): Can => createCan("menu", id, "delete", "delete"),
29
+ Manage: (id: string): Can => createCan("menu", id, "manage", "manage"),
30
+ Create: (): Can => createCan("platform", "global", "menu.create", "is_admin"),
31
+ List: (): Can => createCan("platform", "global", "menu.list", "is_admin"),
32
+ Snapshot: (id: string): RelationshipSnapshotPlan =>
33
+ createRelationshipSnapshotPlan("menu", id, "platform_admin", ""),
34
+ TouchPolicy: (id: string): RelationshipMutation =>
35
+ createRelationshipMutation(
36
+ createResource("menu", id),
37
+ "policy",
38
+ platformRelationshipSubject(),
39
+ RelationshipOperation.Touch,
40
+ ),
41
+ DeletePolicy: (id: string): RelationshipMutation =>
42
+ createRelationshipMutation(
43
+ createResource("menu", id),
44
+ "policy",
45
+ platformRelationshipSubject(),
46
+ RelationshipOperation.Delete,
47
+ ),
48
+ });
@@ -0,0 +1,54 @@
1
+ // Code generated by scripts/generated/generate-spicedb-catalog.mjs.
2
+ // DO NOT EDIT.
3
+ //
4
+ // Domain: page — Page lifecycle and share-link policy
5
+
6
+ import {
7
+ accountIdentityRelationshipSubject,
8
+ createCan,
9
+ createRelationshipMutation,
10
+ createRelationshipSnapshotPlan,
11
+ createResource,
12
+ createResourceLookup,
13
+ platformRelationshipSubject,
14
+ RelationshipOperation,
15
+ resourceRelationshipSubject,
16
+ } from "./internal.ts";
17
+ import type {
18
+ Actor,
19
+ Can,
20
+ RelationshipMutation,
21
+ RelationshipSnapshotPlan,
22
+ Resource,
23
+ ResourceLookup,
24
+ } from "./internal.ts";
25
+
26
+ export const Page = Object.freeze({
27
+ Resource: (id: string): Resource => createResource("page", id),
28
+ LookupManage: (): ResourceLookup => createResourceLookup("page", "manage"),
29
+ View: (id: string): Can => createCan("page", id, "view", "view"),
30
+ Edit: (id: string): Can => createCan("page", id, "edit", "edit"),
31
+ Delete: (id: string): Can => createCan("page", id, "delete", "delete"),
32
+ Publish: (id: string): Can => createCan("page", id, "publish", "publish"),
33
+ Manage: (id: string): Can => createCan("page", id, "manage", "manage"),
34
+ ManageShareLinks: (id: string): Can =>
35
+ createCan("page", id, "manage_share_links", "manage_share_links"),
36
+ Create: (): Can => createCan("platform", "global", "page.create", "is_admin"),
37
+ List: (): Can => createCan("platform", "global", "page.list", "is_admin"),
38
+ Snapshot: (id: string): RelationshipSnapshotPlan =>
39
+ createRelationshipSnapshotPlan("page", id, "platform_admin", ""),
40
+ TouchPolicy: (id: string): RelationshipMutation =>
41
+ createRelationshipMutation(
42
+ createResource("page", id),
43
+ "policy",
44
+ platformRelationshipSubject(),
45
+ RelationshipOperation.Touch,
46
+ ),
47
+ DeletePolicy: (id: string): RelationshipMutation =>
48
+ createRelationshipMutation(
49
+ createResource("page", id),
50
+ "policy",
51
+ platformRelationshipSubject(),
52
+ RelationshipOperation.Delete,
53
+ ),
54
+ });
@@ -0,0 +1,105 @@
1
+ // Code generated by scripts/generated/generate-spicedb-catalog.mjs.
2
+ // DO NOT EDIT.
3
+ //
4
+ // Domain: post — Post authoring and participant policy
5
+
6
+ import {
7
+ accountIdentityRelationshipSubject,
8
+ createCan,
9
+ createRelationshipMutation,
10
+ createRelationshipSnapshotPlan,
11
+ createResource,
12
+ createResourceLookup,
13
+ platformRelationshipSubject,
14
+ RelationshipOperation,
15
+ resourceRelationshipSubject,
16
+ } from "./internal.ts";
17
+ import type {
18
+ Actor,
19
+ Can,
20
+ RelationshipMutation,
21
+ RelationshipSnapshotPlan,
22
+ Resource,
23
+ ResourceLookup,
24
+ } from "./internal.ts";
25
+
26
+ export const Post = Object.freeze({
27
+ Resource: (id: string): Resource => createResource("post", id),
28
+ LookupView: (): ResourceLookup => createResourceLookup("post", "view"),
29
+ LookupEdit: (): ResourceLookup => createResourceLookup("post", "edit"),
30
+ LookupDelete: (): ResourceLookup => createResourceLookup("post", "delete"),
31
+ LookupPublish: (): ResourceLookup => createResourceLookup("post", "publish"),
32
+ LookupManage: (): ResourceLookup => createResourceLookup("post", "manage"),
33
+ LookupManageParticipants: (): ResourceLookup =>
34
+ createResourceLookup("post", "manage_participants"),
35
+ LookupManageShareLinks: (): ResourceLookup =>
36
+ createResourceLookup("post", "manage_share_links"),
37
+ LookupPlatformAdmin: (): ResourceLookup =>
38
+ createResourceLookup("post", "platform_admin"),
39
+ LookupViewArchived: (): ResourceLookup =>
40
+ createResourceLookup("post", "view_archived"),
41
+ LookupEditArchived: (): ResourceLookup =>
42
+ createResourceLookup("post", "edit_archived"),
43
+ Edit: (id: string): Can => createCan("post", id, "edit", "edit"),
44
+ View: (id: string): Can => createCan("post", id, "view", "view"),
45
+ ViewArchived: (id: string): Can =>
46
+ createCan("post", id, "view_archived", "view_archived"),
47
+ EditArchived: (id: string): Can =>
48
+ createCan("post", id, "edit_archived", "edit_archived"),
49
+ Delete: (id: string): Can => createCan("post", id, "delete", "delete"),
50
+ Publish: (id: string): Can => createCan("post", id, "publish", "publish"),
51
+ Manage: (id: string): Can => createCan("post", id, "manage", "manage"),
52
+ ManageParticipants: (id: string): Can =>
53
+ createCan("post", id, "manage_participants", "manage_participants"),
54
+ ManageShareLinks: (id: string): Can =>
55
+ createCan("post", id, "manage_share_links", "manage_share_links"),
56
+ RemoveAuthor: (id: string): Can =>
57
+ createCan("post", id, "remove_author", "platform_admin"),
58
+ Create: (): Can =>
59
+ createCan("platform", "global", "post.create", "is_author"),
60
+ List: (): Can => createCan("platform", "global", "post.list", "is_admin"),
61
+ Snapshot: (id: string): RelationshipSnapshotPlan =>
62
+ createRelationshipSnapshotPlan("post", id, "platform_admin", ""),
63
+ TouchPolicy: (id: string): RelationshipMutation =>
64
+ createRelationshipMutation(
65
+ createResource("post", id),
66
+ "policy",
67
+ platformRelationshipSubject(),
68
+ RelationshipOperation.Touch,
69
+ ),
70
+ DeletePolicy: (id: string): RelationshipMutation =>
71
+ createRelationshipMutation(
72
+ createResource("post", id),
73
+ "policy",
74
+ platformRelationshipSubject(),
75
+ RelationshipOperation.Delete,
76
+ ),
77
+ TouchAuthor: (id: string, actor: Actor): RelationshipMutation =>
78
+ createRelationshipMutation(
79
+ createResource("post", id),
80
+ "author",
81
+ accountIdentityRelationshipSubject(actor),
82
+ RelationshipOperation.Touch,
83
+ ),
84
+ DeleteAuthor: (id: string, actor: Actor): RelationshipMutation =>
85
+ createRelationshipMutation(
86
+ createResource("post", id),
87
+ "author",
88
+ accountIdentityRelationshipSubject(actor),
89
+ RelationshipOperation.Delete,
90
+ ),
91
+ TouchCollaborator: (id: string, actor: Actor): RelationshipMutation =>
92
+ createRelationshipMutation(
93
+ createResource("post", id),
94
+ "collaborator",
95
+ accountIdentityRelationshipSubject(actor),
96
+ RelationshipOperation.Touch,
97
+ ),
98
+ DeleteCollaborator: (id: string, actor: Actor): RelationshipMutation =>
99
+ createRelationshipMutation(
100
+ createResource("post", id),
101
+ "collaborator",
102
+ accountIdentityRelationshipSubject(actor),
103
+ RelationshipOperation.Delete,
104
+ ),
105
+ });
@@ -0,0 +1,70 @@
1
+ // Code generated by scripts/generated/generate-spicedb-catalog.mjs.
2
+ // DO NOT EDIT.
3
+ //
4
+ // Domain: post_series — Post Series management policy
5
+
6
+ import {
7
+ accountIdentityRelationshipSubject,
8
+ createCan,
9
+ createRelationshipMutation,
10
+ createRelationshipSnapshotPlan,
11
+ createResource,
12
+ createResourceLookup,
13
+ platformRelationshipSubject,
14
+ RelationshipOperation,
15
+ resourceRelationshipSubject,
16
+ } from "./internal.ts";
17
+ import type {
18
+ Actor,
19
+ Can,
20
+ RelationshipMutation,
21
+ RelationshipSnapshotPlan,
22
+ Resource,
23
+ ResourceLookup,
24
+ } from "./internal.ts";
25
+
26
+ export const PostSeries = Object.freeze({
27
+ Resource: (id: string): Resource => createResource("series", id),
28
+ LookupView: (): ResourceLookup => createResourceLookup("series", "view"),
29
+ LookupManage: (): ResourceLookup => createResourceLookup("series", "manage"),
30
+ Edit: (id: string): Can => createCan("series", id, "edit", "edit"),
31
+ View: (id: string): Can => createCan("series", id, "view", "view"),
32
+ Delete: (id: string): Can => createCan("series", id, "delete", "delete"),
33
+ Publish: (id: string): Can => createCan("series", id, "publish", "publish"),
34
+ Manage: (id: string): Can => createCan("series", id, "manage", "manage"),
35
+ ManageParticipants: (id: string): Can =>
36
+ createCan("series", id, "manage_participants", "manage_participants"),
37
+ Create: (): Can =>
38
+ createCan("platform", "global", "series.create", "is_admin"),
39
+ List: (): Can => createCan("platform", "global", "series.list", "is_admin"),
40
+ Snapshot: (id: string): RelationshipSnapshotPlan =>
41
+ createRelationshipSnapshotPlan("series", id, "platform_admin", ""),
42
+ TouchPolicy: (id: string): RelationshipMutation =>
43
+ createRelationshipMutation(
44
+ createResource("series", id),
45
+ "policy",
46
+ platformRelationshipSubject(),
47
+ RelationshipOperation.Touch,
48
+ ),
49
+ DeletePolicy: (id: string): RelationshipMutation =>
50
+ createRelationshipMutation(
51
+ createResource("series", id),
52
+ "policy",
53
+ platformRelationshipSubject(),
54
+ RelationshipOperation.Delete,
55
+ ),
56
+ TouchManager: (id: string, actor: Actor): RelationshipMutation =>
57
+ createRelationshipMutation(
58
+ createResource("series", id),
59
+ "manager",
60
+ accountIdentityRelationshipSubject(actor),
61
+ RelationshipOperation.Touch,
62
+ ),
63
+ DeleteManager: (id: string, actor: Actor): RelationshipMutation =>
64
+ createRelationshipMutation(
65
+ createResource("series", id),
66
+ "manager",
67
+ accountIdentityRelationshipSubject(actor),
68
+ RelationshipOperation.Delete,
69
+ ),
70
+ });
@@ -0,0 +1,66 @@
1
+ // Code generated by scripts/generated/generate-spicedb-catalog.mjs.
2
+ // DO NOT EDIT.
3
+ //
4
+ // Domain: program_event — Program Event lifecycle and archived editing policy
5
+
6
+ import {
7
+ accountIdentityRelationshipSubject,
8
+ createCan,
9
+ createRelationshipMutation,
10
+ createRelationshipSnapshotPlan,
11
+ createResource,
12
+ platformRelationshipSubject,
13
+ RelationshipOperation,
14
+ resourceRelationshipSubject,
15
+ } from "./internal.ts";
16
+ import type {
17
+ Actor,
18
+ Can,
19
+ RelationshipMutation,
20
+ RelationshipSnapshotPlan,
21
+ Resource,
22
+ } from "./internal.ts";
23
+
24
+ export const ProgramEvent = Object.freeze({
25
+ Resource: (id: string): Resource => createResource("program_event", id),
26
+ View: (id: string): Can => createCan("program_event", id, "view", "view"),
27
+ Edit: (id: string): Can => createCan("program_event", id, "edit", "edit"),
28
+ ViewArchived: (id: string): Can =>
29
+ createCan("program_event", id, "view_archived", "view_archived"),
30
+ EditArchived: (id: string): Can =>
31
+ createCan("program_event", id, "edit_archived", "edit_archived"),
32
+ Delete: (id: string): Can =>
33
+ createCan("program_event", id, "delete", "delete"),
34
+ Publish: (id: string): Can =>
35
+ createCan("program_event", id, "publish", "publish"),
36
+ Manage: (id: string): Can =>
37
+ createCan("program_event", id, "manage", "manage"),
38
+ Create: (): Can =>
39
+ createCan("platform", "global", "program_event.create", "is_admin"),
40
+ List: (): Can =>
41
+ createCan("platform", "global", "program_event.list", "is_admin"),
42
+ CreateType: (): Can =>
43
+ createCan("platform", "global", "program_event.create_type", "is_admin"),
44
+ ListTypes: (): Can =>
45
+ createCan("platform", "global", "program_event.list_types", "is_admin"),
46
+ UpdateType: (): Can =>
47
+ createCan("platform", "global", "program_event.update_type", "is_admin"),
48
+ DeleteType: (): Can =>
49
+ createCan("platform", "global", "program_event.delete_type", "is_admin"),
50
+ Snapshot: (id: string): RelationshipSnapshotPlan =>
51
+ createRelationshipSnapshotPlan("program_event", id, "platform_admin", ""),
52
+ TouchPolicy: (id: string): RelationshipMutation =>
53
+ createRelationshipMutation(
54
+ createResource("program_event", id),
55
+ "policy",
56
+ platformRelationshipSubject(),
57
+ RelationshipOperation.Touch,
58
+ ),
59
+ DeletePolicy: (id: string): RelationshipMutation =>
60
+ createRelationshipMutation(
61
+ createResource("program_event", id),
62
+ "policy",
63
+ platformRelationshipSubject(),
64
+ RelationshipOperation.Delete,
65
+ ),
66
+ });
@@ -0,0 +1,62 @@
1
+ // Code generated by scripts/generated/generate-spicedb-catalog.mjs.
2
+ // DO NOT EDIT.
3
+ //
4
+ // Domain: program_event_series — Program Event Series lifecycle policy
5
+
6
+ import {
7
+ accountIdentityRelationshipSubject,
8
+ createCan,
9
+ createRelationshipMutation,
10
+ createRelationshipSnapshotPlan,
11
+ createResource,
12
+ platformRelationshipSubject,
13
+ RelationshipOperation,
14
+ resourceRelationshipSubject,
15
+ } from "./internal.ts";
16
+ import type {
17
+ Actor,
18
+ Can,
19
+ RelationshipMutation,
20
+ RelationshipSnapshotPlan,
21
+ Resource,
22
+ } from "./internal.ts";
23
+
24
+ export const ProgramEventSeries = Object.freeze({
25
+ Resource: (id: string): Resource =>
26
+ createResource("program_event_series", id),
27
+ View: (id: string): Can =>
28
+ createCan("program_event_series", id, "view", "view"),
29
+ Edit: (id: string): Can =>
30
+ createCan("program_event_series", id, "edit", "edit"),
31
+ Delete: (id: string): Can =>
32
+ createCan("program_event_series", id, "delete", "delete"),
33
+ Publish: (id: string): Can =>
34
+ createCan("program_event_series", id, "publish", "publish"),
35
+ Manage: (id: string): Can =>
36
+ createCan("program_event_series", id, "manage", "manage"),
37
+ Create: (): Can =>
38
+ createCan("platform", "global", "program_event_series.create", "is_admin"),
39
+ List: (): Can =>
40
+ createCan("platform", "global", "program_event_series.list", "is_admin"),
41
+ Snapshot: (id: string): RelationshipSnapshotPlan =>
42
+ createRelationshipSnapshotPlan(
43
+ "program_event_series",
44
+ id,
45
+ "platform_admin",
46
+ "",
47
+ ),
48
+ TouchPolicy: (id: string): RelationshipMutation =>
49
+ createRelationshipMutation(
50
+ createResource("program_event_series", id),
51
+ "policy",
52
+ platformRelationshipSubject(),
53
+ RelationshipOperation.Touch,
54
+ ),
55
+ DeletePolicy: (id: string): RelationshipMutation =>
56
+ createRelationshipMutation(
57
+ createResource("program_event_series", id),
58
+ "policy",
59
+ platformRelationshipSubject(),
60
+ RelationshipOperation.Delete,
61
+ ),
62
+ });
@@ -0,0 +1,209 @@
1
+ // Code generated by scripts/generated/generate-spicedb-catalog.mjs.
2
+ // DO NOT EDIT.
3
+ //
4
+ // Domain: reference_data — Shared reference-data resource policy
5
+
6
+ import {
7
+ accountIdentityRelationshipSubject,
8
+ createCan,
9
+ createRelationshipMutation,
10
+ createRelationshipSnapshotPlan,
11
+ createResource,
12
+ platformRelationshipSubject,
13
+ RelationshipOperation,
14
+ resourceRelationshipSubject,
15
+ } from "./internal.ts";
16
+ import type {
17
+ Actor,
18
+ Can,
19
+ RelationshipMutation,
20
+ RelationshipSnapshotPlan,
21
+ Resource,
22
+ } from "./internal.ts";
23
+
24
+ export const MapPlace = Object.freeze({
25
+ Resource: (id: string): Resource => createResource("map_place", id),
26
+ View: (id: string): Can => createCan("map_place", id, "view", "view"),
27
+ Edit: (id: string): Can => createCan("map_place", id, "edit", "edit"),
28
+ Delete: (id: string): Can => createCan("map_place", id, "delete", "delete"),
29
+ Manage: (id: string): Can => createCan("map_place", id, "manage", "manage"),
30
+ Create: (): Can =>
31
+ createCan("platform", "global", "map_place.create", "is_author"),
32
+ Snapshot: (id: string): RelationshipSnapshotPlan =>
33
+ createRelationshipSnapshotPlan("map_place", id, "platform_admin", ""),
34
+ TouchPolicy: (id: string): RelationshipMutation =>
35
+ createRelationshipMutation(
36
+ createResource("map_place", id),
37
+ "policy",
38
+ platformRelationshipSubject(),
39
+ RelationshipOperation.Touch,
40
+ ),
41
+ DeletePolicy: (id: string): RelationshipMutation =>
42
+ createRelationshipMutation(
43
+ createResource("map_place", id),
44
+ "policy",
45
+ platformRelationshipSubject(),
46
+ RelationshipOperation.Delete,
47
+ ),
48
+ });
49
+
50
+ export const Category = Object.freeze({
51
+ Resource: (id: string): Resource => createResource("category", id),
52
+ View: (id: string): Can => createCan("category", id, "view", "view"),
53
+ Edit: (id: string): Can => createCan("category", id, "edit", "edit"),
54
+ Delete: (id: string): Can => createCan("category", id, "delete", "delete"),
55
+ Manage: (id: string): Can => createCan("category", id, "manage", "manage"),
56
+ Create: (): Can =>
57
+ createCan("platform", "global", "category.create", "is_admin"),
58
+ List: (): Can => createCan("platform", "global", "category.list", "is_admin"),
59
+ Snapshot: (id: string): RelationshipSnapshotPlan =>
60
+ createRelationshipSnapshotPlan("category", id, "platform_admin", ""),
61
+ TouchPolicy: (id: string): RelationshipMutation =>
62
+ createRelationshipMutation(
63
+ createResource("category", id),
64
+ "policy",
65
+ platformRelationshipSubject(),
66
+ RelationshipOperation.Touch,
67
+ ),
68
+ DeletePolicy: (id: string): RelationshipMutation =>
69
+ createRelationshipMutation(
70
+ createResource("category", id),
71
+ "policy",
72
+ platformRelationshipSubject(),
73
+ RelationshipOperation.Delete,
74
+ ),
75
+ });
76
+
77
+ export const Tag = Object.freeze({
78
+ Resource: (id: string): Resource => createResource("tag", id),
79
+ View: (id: string): Can => createCan("tag", id, "view", "view"),
80
+ Edit: (id: string): Can => createCan("tag", id, "edit", "edit"),
81
+ Delete: (id: string): Can => createCan("tag", id, "delete", "delete"),
82
+ Manage: (id: string): Can => createCan("tag", id, "manage", "manage"),
83
+ Create: (): Can => createCan("platform", "global", "tag.create", "is_admin"),
84
+ List: (): Can => createCan("platform", "global", "tag.list", "is_admin"),
85
+ Snapshot: (id: string): RelationshipSnapshotPlan =>
86
+ createRelationshipSnapshotPlan("tag", id, "platform_admin", ""),
87
+ TouchPolicy: (id: string): RelationshipMutation =>
88
+ createRelationshipMutation(
89
+ createResource("tag", id),
90
+ "policy",
91
+ platformRelationshipSubject(),
92
+ RelationshipOperation.Touch,
93
+ ),
94
+ DeletePolicy: (id: string): RelationshipMutation =>
95
+ createRelationshipMutation(
96
+ createResource("tag", id),
97
+ "policy",
98
+ platformRelationshipSubject(),
99
+ RelationshipOperation.Delete,
100
+ ),
101
+ });
102
+
103
+ export const Genre = Object.freeze({
104
+ Resource: (id: string): Resource => createResource("genre", id),
105
+ View: (id: string): Can => createCan("genre", id, "view", "view"),
106
+ Edit: (id: string): Can => createCan("genre", id, "edit", "edit"),
107
+ Delete: (id: string): Can => createCan("genre", id, "delete", "delete"),
108
+ Manage: (id: string): Can => createCan("genre", id, "manage", "manage"),
109
+ Create: (): Can =>
110
+ createCan("platform", "global", "genre.create", "is_admin"),
111
+ List: (): Can => createCan("platform", "global", "genre.list", "is_admin"),
112
+ Snapshot: (id: string): RelationshipSnapshotPlan =>
113
+ createRelationshipSnapshotPlan("genre", id, "platform_admin", ""),
114
+ TouchPolicy: (id: string): RelationshipMutation =>
115
+ createRelationshipMutation(
116
+ createResource("genre", id),
117
+ "policy",
118
+ platformRelationshipSubject(),
119
+ RelationshipOperation.Touch,
120
+ ),
121
+ DeletePolicy: (id: string): RelationshipMutation =>
122
+ createRelationshipMutation(
123
+ createResource("genre", id),
124
+ "policy",
125
+ platformRelationshipSubject(),
126
+ RelationshipOperation.Delete,
127
+ ),
128
+ });
129
+
130
+ export const Style = Object.freeze({
131
+ Resource: (id: string): Resource => createResource("style", id),
132
+ View: (id: string): Can => createCan("style", id, "view", "view"),
133
+ Edit: (id: string): Can => createCan("style", id, "edit", "edit"),
134
+ Delete: (id: string): Can => createCan("style", id, "delete", "delete"),
135
+ Manage: (id: string): Can => createCan("style", id, "manage", "manage"),
136
+ Create: (): Can =>
137
+ createCan("platform", "global", "style.create", "is_admin"),
138
+ List: (): Can => createCan("platform", "global", "style.list", "is_admin"),
139
+ Snapshot: (id: string): RelationshipSnapshotPlan =>
140
+ createRelationshipSnapshotPlan("style", id, "platform_admin", ""),
141
+ TouchPolicy: (id: string): RelationshipMutation =>
142
+ createRelationshipMutation(
143
+ createResource("style", id),
144
+ "policy",
145
+ platformRelationshipSubject(),
146
+ RelationshipOperation.Touch,
147
+ ),
148
+ DeletePolicy: (id: string): RelationshipMutation =>
149
+ createRelationshipMutation(
150
+ createResource("style", id),
151
+ "policy",
152
+ platformRelationshipSubject(),
153
+ RelationshipOperation.Delete,
154
+ ),
155
+ });
156
+
157
+ export const Format = Object.freeze({
158
+ Resource: (id: string): Resource => createResource("format", id),
159
+ View: (id: string): Can => createCan("format", id, "view", "view"),
160
+ Edit: (id: string): Can => createCan("format", id, "edit", "edit"),
161
+ Delete: (id: string): Can => createCan("format", id, "delete", "delete"),
162
+ Manage: (id: string): Can => createCan("format", id, "manage", "manage"),
163
+ Create: (): Can =>
164
+ createCan("platform", "global", "format.create", "is_admin"),
165
+ List: (): Can => createCan("platform", "global", "format.list", "is_admin"),
166
+ Snapshot: (id: string): RelationshipSnapshotPlan =>
167
+ createRelationshipSnapshotPlan("format", id, "platform_admin", ""),
168
+ TouchPolicy: (id: string): RelationshipMutation =>
169
+ createRelationshipMutation(
170
+ createResource("format", id),
171
+ "policy",
172
+ platformRelationshipSubject(),
173
+ RelationshipOperation.Touch,
174
+ ),
175
+ DeletePolicy: (id: string): RelationshipMutation =>
176
+ createRelationshipMutation(
177
+ createResource("format", id),
178
+ "policy",
179
+ platformRelationshipSubject(),
180
+ RelationshipOperation.Delete,
181
+ ),
182
+ });
183
+
184
+ export const Client = Object.freeze({
185
+ Resource: (id: string): Resource => createResource("client", id),
186
+ View: (id: string): Can => createCan("client", id, "view", "view"),
187
+ Edit: (id: string): Can => createCan("client", id, "edit", "edit"),
188
+ Delete: (id: string): Can => createCan("client", id, "delete", "delete"),
189
+ Manage: (id: string): Can => createCan("client", id, "manage", "manage"),
190
+ Create: (): Can =>
191
+ createCan("platform", "global", "client.create", "is_admin"),
192
+ List: (): Can => createCan("platform", "global", "client.list", "is_admin"),
193
+ Snapshot: (id: string): RelationshipSnapshotPlan =>
194
+ createRelationshipSnapshotPlan("client", id, "platform_admin", ""),
195
+ TouchPolicy: (id: string): RelationshipMutation =>
196
+ createRelationshipMutation(
197
+ createResource("client", id),
198
+ "policy",
199
+ platformRelationshipSubject(),
200
+ RelationshipOperation.Touch,
201
+ ),
202
+ DeletePolicy: (id: string): RelationshipMutation =>
203
+ createRelationshipMutation(
204
+ createResource("client", id),
205
+ "policy",
206
+ platformRelationshipSubject(),
207
+ RelationshipOperation.Delete,
208
+ ),
209
+ });