-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathmanifest.dhall
More file actions
126 lines (123 loc) · 3.87 KB
/
Copy pathmanifest.dhall
File metadata and controls
126 lines (123 loc) · 3.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
let -- Define the proper Forge display conditions structure using Connect property names
entityPropertyDisplayConditions = {
or = {
-- Case 1: User explicitly enabled - New Forge object format
entityPropertyEqualTo = {
entity = "user",
propertyKey = "ep-tool.enabled-for-me",
objectName = "enabled",
value = "true"
},
-- Case 2: User explicitly enabled - Old Connect boolean format (using double negative)
not = {
not = {
entityPropertyEqualTo = {
entity = "user",
propertyKey = "ep-tool.enabled-for-me",
value = "true"
}
}
},
-- Case 3: No user preference AND admin allows
and = {
not = {
entityPropertyExists = {
entity = "user",
propertyKey = "ep-tool.enabled-for-me"
}
},
or = {
-- Admin explicitly enabled - New Forge object format
entityPropertyEqualTo = {
entity = "app",
propertyKey = "ep-tool.disabled-for-all",
objectName = "disabledForAll",
value = "false"
},
-- Admin explicitly enabled - Old Connect boolean format (using double negative)
not = {
not = {
entityPropertyEqualTo = {
entity = "app",
propertyKey = "ep-tool.disabled-for-all",
value = "false"
}
}
},
-- No admin config exists (default to enabled)
not = {
entityPropertyExists = {
entity = "app",
propertyKey = "ep-tool.disabled-for-all"
}
}
}
}
}
}
in { app =
{ id = "ari:cloud:ecosystem::app/1c0636dd-b020-48a5-b68b-0d3f2fe06134"
, runtime.name = "nodejs22.x"
}
, modules =
{ function = [ { handler = "index.handler", key = "resolver" } ]
, `jira:globalPage` =
[ { icon = "resource:main;entity-properties-icon.svg"
, key = "entity-properties-global"
, pages =
[ { route = "user", title = "User entity properties" }
, { route = "issue-type", title = "Issue Type entity properties" }
, { route = "dashboard-items"
, title = "Dashboard Item entity properties"
}
, { route = "workflow-transitions"
, title = "Workflow Transition entity properties"
}
, { route = "user-preferences", title = "User Preferences" }
]
, resolver.function = "resolver"
, resource = "main"
, title = "Entity properties"
}
]
, `jira:issuePanel` =
[ { icon = "resource:main;entity-properties-icon.svg"
, key = "issue-entity-properties"
, resolver.function = "resolver"
, resource = "main"
, title = "Entity properties"
, displayConditions = entityPropertyDisplayConditions
}
]
, `jira:projectPage` =
[ { icon = "resource:main;entity-properties-icon.svg"
, key = "project-entity-properties"
, resolver.function = "resolver"
, resource = "main"
, title = "Entity properties"
, displayConditions = entityPropertyDisplayConditions
}
]
, `jira:adminPage` =
[ { icon = "resource:main;entity-properties-icon.svg"
, key = "entity-properties-admin"
, resolver.function = "resolver"
, resource = "main"
, title = "Entity Property Tool Settings"
, useAsConfig = True
}
]
}
, permissions =
{ content.styles = [ "unsafe-inline" ]
, scopes =
[ "read:jira-work"
, "write:jira-work"
, "manage:jira-project"
, "read:jira-user"
, "manage:jira-configuration"
]
}
, resources =
[ { key = "main", path = "static/hello-world/build", tunnel.port = 3001 } ]
}