1 | <?xml version="1.0" encoding="UTF-8"?> |
---|
2 | <sequence debug="true"> |
---|
3 | <log> |
---|
4 | <level>INFO</level> |
---|
5 | <message> |
---|
6 | <literal type="string">[interface.REST] [%1] requested paged schemas list for user id: [%2]</literal> |
---|
7 | </message> |
---|
8 | <param> |
---|
9 | <request> |
---|
10 | <identifier>active:xpath2</identifier> |
---|
11 | <argument name="operand">scratch:user</argument> |
---|
12 | <argument name="operator"> |
---|
13 | <literal type="string">string(/sc:user/@xml:id)</literal> |
---|
14 | </argument> |
---|
15 | </request> |
---|
16 | </param> |
---|
17 | <param>arg:userID</param> |
---|
18 | </log> |
---|
19 | <request assignment="schemaAuthorizedRoles"> |
---|
20 | <identifier>active:org.isocat.schemacat.access.data.schemas.authorizedRoles</identifier> |
---|
21 | </request> |
---|
22 | <if assignment="response"> |
---|
23 | <cond> |
---|
24 | <request> |
---|
25 | <identifier>active:isAuthorized</identifier> |
---|
26 | <argument name="authorizedIDs" method="identity"> |
---|
27 | <request> |
---|
28 | <identifier>active:sloot.xquery</identifier> |
---|
29 | <argument name="operator"> |
---|
30 | <literal type="xml"> |
---|
31 | <query> |
---|
32 | <ids> |
---|
33 | <id>{$userID}</id> |
---|
34 | </ids> |
---|
35 | </query> |
---|
36 | </literal> |
---|
37 | </argument> |
---|
38 | <argument name="userID">arg:userID</argument> |
---|
39 | </request> |
---|
40 | </argument> |
---|
41 | <argument name="authorizedRoles" method="identity">this:schemaAuthorizedRoles</argument> |
---|
42 | <argument name="user" method="identity">scratch:user</argument> |
---|
43 | </request> |
---|
44 | </cond> |
---|
45 | <then> |
---|
46 | <if> |
---|
47 | <!-- if user has schemas administration rights, source all the schemas --> |
---|
48 | <cond> |
---|
49 | <request> |
---|
50 | <identifier>active:sloot.xpath2</identifier> |
---|
51 | <argument name="operand"> |
---|
52 | <request> |
---|
53 | <identifier>active:xslt2</identifier> |
---|
54 | <argument name="operand">scratch:user</argument> |
---|
55 | <argument name="operator"> |
---|
56 | <literal type="xml"> |
---|
57 | <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sc="http://www.isocat.org/ns/schemacat" version="2.0"> |
---|
58 | <xsl:param name="authorizedRoles"/> |
---|
59 | <xsl:param name="debug"/> |
---|
60 | <xsl:template match="/"> |
---|
61 | <b><xsl:value-of select="string(/sc:user/sc:role = $authorizedRoles/roles/role)"/></b> |
---|
62 | </xsl:template> |
---|
63 | </xsl:stylesheet> |
---|
64 | </literal> |
---|
65 | </argument> |
---|
66 | <argument name="authorizedRoles" method="identity">this:schemaAuthorizedRoles</argument> |
---|
67 | <argument name="debug">this:sloot-debug</argument> |
---|
68 | </request> |
---|
69 | </argument> |
---|
70 | <argument name="operator"> |
---|
71 | <literal type="string">boolean(normalize-space(.)=('t','true'))</literal> |
---|
72 | </argument> |
---|
73 | </request> |
---|
74 | </cond> |
---|
75 | <then> |
---|
76 | <request> |
---|
77 | <identifier>active:org.isocat.schemacat.access.data.schemas.paged</identifier> |
---|
78 | <argument name="userID"> |
---|
79 | <literal type="string">*</literal> |
---|
80 | </argument> |
---|
81 | <argument name="startPage">arg:startPage</argument> |
---|
82 | <argument name="pageSize">arg:pageSize</argument> |
---|
83 | </request> |
---|
84 | </then> |
---|
85 | <else> |
---|
86 | <request> |
---|
87 | <identifier>active:org.isocat.schemacat.access.data.schemas.paged</identifier> |
---|
88 | <argument name="userID">arg:userID</argument> |
---|
89 | <argument name="startPage">arg:startPage</argument> |
---|
90 | <argument name="pageSize">arg:pageSize</argument> |
---|
91 | </request> |
---|
92 | </else> |
---|
93 | </if> |
---|
94 | </then> |
---|
95 | <else> |
---|
96 | <request> |
---|
97 | <identifier>active:interface.rest.HTTPresponse.forbidden</identifier> |
---|
98 | </request> |
---|
99 | </else> |
---|
100 | </if> |
---|
101 | <sloot-debug> |
---|
102 | <request> |
---|
103 | <verb>SINK</verb> |
---|
104 | <identifier>res:/debug/org.isocat.schemacat.interface.rest.schemas.user.paged.response.xml</identifier> |
---|
105 | <argument name="primary">this:response</argument> |
---|
106 | </request> |
---|
107 | </sloot-debug> |
---|
108 | </sequence> |
---|