@edifice.io/client 2.5.2-develop-b2school.20251124152203 → 2.5.2-develop-b2school-actualites.20251127174432
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.
- package/dist/index.cjs +1 -1
- package/dist/index.js +159 -148
- package/dist/rights/Service.d.ts +1 -1
- package/dist/share/Service.d.ts +7 -6
- package/dist/share/interface.d.ts +119 -9
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -97,7 +97,7 @@ const ERROR_CODE = {
|
|
|
97
97
|
INFOTIP: "infotip",
|
|
98
98
|
RGPD_COOKIES: "rgpdCookies"
|
|
99
99
|
// TODO compléter
|
|
100
|
-
},
|
|
100
|
+
}, R = class R {
|
|
101
101
|
constructor(e) {
|
|
102
102
|
n(this, "name");
|
|
103
103
|
n(this, "listeners", /* @__PURE__ */ new Set());
|
|
@@ -109,8 +109,8 @@ const ERROR_CODE = {
|
|
|
109
109
|
* @returns the channel instance
|
|
110
110
|
*/
|
|
111
111
|
static getChannel(e) {
|
|
112
|
-
let t =
|
|
113
|
-
return t || (t = new
|
|
112
|
+
let t = R.channels.get(e);
|
|
113
|
+
return t || (t = new R(e), R.channels.set(e, t)), t;
|
|
114
114
|
}
|
|
115
115
|
/**
|
|
116
116
|
* Add a listener and return a revocation function to remove it.
|
|
@@ -135,11 +135,11 @@ const ERROR_CODE = {
|
|
|
135
135
|
* Close this channel: remove listeners and unregister from global map.
|
|
136
136
|
*/
|
|
137
137
|
close() {
|
|
138
|
-
this.listeners.clear(),
|
|
138
|
+
this.listeners.clear(), R.channels.delete(this.name);
|
|
139
139
|
}
|
|
140
140
|
};
|
|
141
|
-
n(
|
|
142
|
-
let SimpleChannel =
|
|
141
|
+
n(R, "channels", /* @__PURE__ */ new Map());
|
|
142
|
+
let SimpleChannel = R;
|
|
143
143
|
class Subscription {
|
|
144
144
|
constructor(e, t) {
|
|
145
145
|
n(this, "revoke");
|
|
@@ -1096,8 +1096,8 @@ class Analytics {
|
|
|
1096
1096
|
if (!o || !o.LIBELLE_SERVICE || !r.UAI) return;
|
|
1097
1097
|
function a(h) {
|
|
1098
1098
|
let l = "";
|
|
1099
|
-
for (let
|
|
1100
|
-
l += h.charCodeAt(
|
|
1099
|
+
for (let p = 0; p < h.length; p++)
|
|
1100
|
+
l += h.charCodeAt(p);
|
|
1101
1101
|
return l;
|
|
1102
1102
|
}
|
|
1103
1103
|
const c = {
|
|
@@ -1180,8 +1180,8 @@ class ConfigurationFramework {
|
|
|
1180
1180
|
// }
|
|
1181
1181
|
}
|
|
1182
1182
|
const configure = new ConfigurationFramework(), http = transport == null ? void 0 : transport.http;
|
|
1183
|
-
var
|
|
1184
|
-
const me = (
|
|
1183
|
+
var v;
|
|
1184
|
+
const me = (v = session == null ? void 0 : session.session) == null ? void 0 : v.user;
|
|
1185
1185
|
class Notification {
|
|
1186
1186
|
constructor(e) {
|
|
1187
1187
|
n(this, "_id");
|
|
@@ -1904,13 +1904,13 @@ class ConfService {
|
|
|
1904
1904
|
conf: t,
|
|
1905
1905
|
publicTheme: s
|
|
1906
1906
|
}) {
|
|
1907
|
-
var
|
|
1908
|
-
const r = await this.http.get("/theme"), i = (
|
|
1909
|
-
(
|
|
1907
|
+
var p;
|
|
1908
|
+
const r = await this.http.get("/theme"), i = (p = t == null ? void 0 : t.overriding) == null ? void 0 : p.find(
|
|
1909
|
+
(d) => (
|
|
1910
1910
|
// Fix #WB2-2660:
|
|
1911
1911
|
// If Public access => get the neo theme
|
|
1912
1912
|
// Else get the theme from the user preference
|
|
1913
|
-
s ?
|
|
1913
|
+
s ? d.parent === "theme-open-ent" && d.bootstrapVersion === "ode-bootstrap-neo" : d.child === (r == null ? void 0 : r.themeName)
|
|
1914
1914
|
)
|
|
1915
1915
|
), o = s ? "default" : (r == null ? void 0 : r.skinName) || (i == null ? void 0 : i.skins[0]), a = (r == null ? void 0 : r.skin) || `/assets/themes/${i == null ? void 0 : i.child}/skins/${o}/`, c = i == null ? void 0 : i.skins, h = i == null ? void 0 : i.bootstrapVersion.split("-").slice(-1)[0], l = (i == null ? void 0 : i.parent) === "panda";
|
|
1916
1916
|
return {
|
|
@@ -1991,25 +1991,25 @@ class DirectoryService {
|
|
|
1991
1991
|
users: r
|
|
1992
1992
|
}) {
|
|
1993
1993
|
this.cache.clearCache("/directory/sharebookmark/all");
|
|
1994
|
-
const i = r.map((
|
|
1995
|
-
if (typeof
|
|
1996
|
-
const { displayName:
|
|
1994
|
+
const i = r.map((d) => typeof d == "string" ? d : d.id), o = s.map((d) => typeof d == "string" ? d : d.id), a = t.map(async (d) => {
|
|
1995
|
+
if (typeof d == "string") {
|
|
1996
|
+
const { displayName: b, groups: E, id: g, users: A } = await this.getBookMarkById(d), f = A.map((F) => F.id), y = E.map((F) => F.id);
|
|
1997
1997
|
return {
|
|
1998
|
-
displayName:
|
|
1999
|
-
id:
|
|
2000
|
-
members: [...
|
|
1998
|
+
displayName: b,
|
|
1999
|
+
id: g,
|
|
2000
|
+
members: [...y, ...f]
|
|
2001
2001
|
};
|
|
2002
2002
|
} else
|
|
2003
|
-
return Promise.resolve(
|
|
2004
|
-
}), h = (await Promise.all(a)).map((
|
|
2003
|
+
return Promise.resolve(d);
|
|
2004
|
+
}), h = (await Promise.all(a)).map((d) => d.members).reduce((d, b) => [...d, ...b], []), l = {
|
|
2005
2005
|
name: e,
|
|
2006
2006
|
members: [...i, ...o, ...h]
|
|
2007
|
-
}, { id:
|
|
2007
|
+
}, { id: p } = await this.http.postJson(
|
|
2008
2008
|
"/directory/sharebookmark",
|
|
2009
2009
|
l
|
|
2010
2010
|
);
|
|
2011
2011
|
return {
|
|
2012
|
-
id:
|
|
2012
|
+
id: p,
|
|
2013
2013
|
displayName: e,
|
|
2014
2014
|
members: l.members
|
|
2015
2015
|
};
|
|
@@ -2296,7 +2296,7 @@ class RightService {
|
|
|
2296
2296
|
return e.map((s) => this.parseResourceRight(s)).filter((s) => s !== void 0);
|
|
2297
2297
|
}
|
|
2298
2298
|
/**
|
|
2299
|
-
* Check wether a user has the expected right for a
|
|
2299
|
+
* Check wether a user has the expected right for a resource
|
|
2300
2300
|
* @param user the userId and groupId concerned by the check
|
|
2301
2301
|
* @param expect the expected right to check
|
|
2302
2302
|
* @param rights array of Right for the resource
|
|
@@ -2893,83 +2893,85 @@ class ShareService {
|
|
|
2893
2893
|
get cache() {
|
|
2894
2894
|
return this.context.cache();
|
|
2895
2895
|
}
|
|
2896
|
-
async searchShareSubjects(e, t, s) {
|
|
2897
|
-
const
|
|
2898
|
-
`/${e}/share/json/${t}?search=${s}`
|
|
2899
|
-
),
|
|
2896
|
+
async searchShareSubjects(e, t, s, r) {
|
|
2897
|
+
const i = StringUtils.removeAccents(s).toLowerCase(), o = await this.cache.httpGetJson(
|
|
2898
|
+
r || `/${e}/share/json/${t}?search=${s}`
|
|
2899
|
+
), a = o.users.visibles.filter(({ username: p, firstName: d, lastName: b, login: E }) => {
|
|
2900
2900
|
const g = StringUtils.removeAccents(
|
|
2901
|
-
|
|
2901
|
+
b || ""
|
|
2902
2902
|
).toLowerCase(), A = StringUtils.removeAccents(
|
|
2903
|
-
|
|
2903
|
+
d || ""
|
|
2904
2904
|
).toLowerCase(), f = StringUtils.removeAccents(
|
|
2905
|
-
|
|
2906
|
-
).toLowerCase(), y = StringUtils.removeAccents(
|
|
2907
|
-
return f.includes(
|
|
2908
|
-
}).map((
|
|
2909
|
-
avatarUrl: this.directory.getAvatarUrl(
|
|
2910
|
-
directoryUrl: this.directory.getDirectoryUrl(
|
|
2911
|
-
displayName:
|
|
2912
|
-
id:
|
|
2913
|
-
profile:
|
|
2905
|
+
p || ""
|
|
2906
|
+
).toLowerCase(), y = StringUtils.removeAccents(E || "").toLowerCase();
|
|
2907
|
+
return f.includes(i) || A.includes(i) || g.includes(i) || y.includes(i);
|
|
2908
|
+
}).map((p) => ({
|
|
2909
|
+
avatarUrl: this.directory.getAvatarUrl(p.id, "user"),
|
|
2910
|
+
directoryUrl: this.directory.getDirectoryUrl(p.id, "user"),
|
|
2911
|
+
displayName: p.username,
|
|
2912
|
+
id: p.id,
|
|
2913
|
+
profile: p.profile,
|
|
2914
2914
|
type: "user"
|
|
2915
|
-
})),
|
|
2916
|
-
avatarUrl: this.directory.getAvatarUrl(
|
|
2917
|
-
directoryUrl: this.directory.getDirectoryUrl(
|
|
2918
|
-
displayName:
|
|
2919
|
-
id:
|
|
2915
|
+
})), c = o.groups.visibles.filter(({ name: p }) => StringUtils.removeAccents(p || "").toLowerCase().includes(i)).map((p) => ({
|
|
2916
|
+
avatarUrl: this.directory.getAvatarUrl(p.id, "group"),
|
|
2917
|
+
directoryUrl: this.directory.getDirectoryUrl(p.id, "group"),
|
|
2918
|
+
displayName: p.name,
|
|
2919
|
+
id: p.id,
|
|
2920
2920
|
type: "group",
|
|
2921
|
-
structureName:
|
|
2921
|
+
structureName: p.structureName
|
|
2922
2922
|
}));
|
|
2923
|
-
return [...(await this.directory.getBookMarks()).filter(({ displayName:
|
|
2924
|
-
|
|
2925
|
-
).toLowerCase().includes(
|
|
2923
|
+
return [...(await this.directory.getBookMarks()).filter(({ displayName: p }) => StringUtils.removeAccents(
|
|
2924
|
+
p || ""
|
|
2925
|
+
).toLowerCase().includes(i)).map((p) => ({
|
|
2926
2926
|
avatarUrl: "",
|
|
2927
2927
|
directoryUrl: "",
|
|
2928
2928
|
profile: "",
|
|
2929
|
-
displayName:
|
|
2930
|
-
id:
|
|
2929
|
+
displayName: p.displayName,
|
|
2930
|
+
id: p.id,
|
|
2931
2931
|
type: "sharebookmark"
|
|
2932
|
-
})), ...
|
|
2932
|
+
})), ...a, ...c];
|
|
2933
2933
|
}
|
|
2934
|
-
async getShareMapping(e) {
|
|
2935
|
-
const
|
|
2936
|
-
`/${e}/rights/sharing`
|
|
2934
|
+
async getShareMapping(e, t) {
|
|
2935
|
+
const s = await this.cache.httpGetJson(
|
|
2936
|
+
t || `/${e}/rights/sharing`
|
|
2937
2937
|
);
|
|
2938
|
-
for (const
|
|
2939
|
-
if (
|
|
2940
|
-
const
|
|
2941
|
-
delete
|
|
2938
|
+
for (const r of Object.keys(s))
|
|
2939
|
+
if (r.includes(".")) {
|
|
2940
|
+
const i = r.split(".")[1], o = s[r];
|
|
2941
|
+
delete s[r], s[i] = o;
|
|
2942
2942
|
}
|
|
2943
|
-
return
|
|
2943
|
+
return s;
|
|
2944
2944
|
}
|
|
2945
2945
|
getActionsAvailableFor({ id: e, type: t }, s, r) {
|
|
2946
2946
|
const o = (t === "user" ? s.users.checked[e] : s.groups.checked[e]) || [], a = Object.keys(r), c = [];
|
|
2947
2947
|
for (const h of a)
|
|
2948
2948
|
r[h].filter(
|
|
2949
|
-
(
|
|
2949
|
+
(d) => o.includes(d)
|
|
2950
2950
|
).length > 0 && c.push(h);
|
|
2951
2951
|
return c;
|
|
2952
2952
|
}
|
|
2953
|
-
async getRightsForResource(e, t) {
|
|
2954
|
-
const
|
|
2953
|
+
async getRightsForResource(e, t, s) {
|
|
2954
|
+
const r = await this.directory.getBookMarks(), i = `/${e}/share/json/${t}?search=`, o = await this.cache.httpGetJson(
|
|
2955
|
+
(s == null ? void 0 : s.getResourceRights) || i
|
|
2956
|
+
), a = await this.getShareMapping(e, s == null ? void 0 : s.getShareMapping), c = await this.cache.httpGetJson(
|
|
2955
2957
|
"/infra/public/json/sharing-rights.json"
|
|
2956
|
-
),
|
|
2957
|
-
(A) => A.id ===
|
|
2958
|
-
)).filter((
|
|
2958
|
+
), h = Object.keys(o.users.checked).map((E) => o.users.visibles.find(
|
|
2959
|
+
(A) => A.id === E
|
|
2960
|
+
)).filter((E) => E !== void 0).map((E) => {
|
|
2959
2961
|
const g = this.getActionsAvailableFor(
|
|
2960
|
-
{ id:
|
|
2961
|
-
|
|
2962
|
-
|
|
2962
|
+
{ id: E.id, type: "user" },
|
|
2963
|
+
o,
|
|
2964
|
+
a
|
|
2963
2965
|
);
|
|
2964
2966
|
return {
|
|
2965
|
-
id:
|
|
2967
|
+
id: E.id,
|
|
2966
2968
|
type: "user",
|
|
2967
|
-
displayName:
|
|
2968
|
-
profile:
|
|
2969
|
-
avatarUrl: this.directory.getAvatarUrl(
|
|
2970
|
-
directoryUrl: this.directory.getDirectoryUrl(
|
|
2969
|
+
displayName: E.username,
|
|
2970
|
+
profile: E.profile,
|
|
2971
|
+
avatarUrl: this.directory.getAvatarUrl(E.id, "user"),
|
|
2972
|
+
directoryUrl: this.directory.getDirectoryUrl(E.id, "user"),
|
|
2971
2973
|
actions: g.map((f) => {
|
|
2972
|
-
const y =
|
|
2974
|
+
const y = c[f];
|
|
2973
2975
|
return {
|
|
2974
2976
|
displayName: f,
|
|
2975
2977
|
id: f,
|
|
@@ -2977,23 +2979,23 @@ class ShareService {
|
|
|
2977
2979
|
};
|
|
2978
2980
|
})
|
|
2979
2981
|
};
|
|
2980
|
-
}).sort((
|
|
2981
|
-
(A) => A.id ===
|
|
2982
|
-
)).filter((
|
|
2982
|
+
}).sort((E, g) => (E.displayName || "").localeCompare(g.displayName)), l = Object.keys(o.groups.checked).map((E) => o.groups.visibles.find(
|
|
2983
|
+
(A) => A.id === E
|
|
2984
|
+
)).filter((E) => E !== void 0).map((E) => {
|
|
2983
2985
|
const g = this.getActionsAvailableFor(
|
|
2984
|
-
{ id:
|
|
2985
|
-
|
|
2986
|
-
|
|
2986
|
+
{ id: E.id, type: "group" },
|
|
2987
|
+
o,
|
|
2988
|
+
a
|
|
2987
2989
|
);
|
|
2988
2990
|
return {
|
|
2989
|
-
id:
|
|
2991
|
+
id: E.id,
|
|
2990
2992
|
type: "group",
|
|
2991
|
-
displayName:
|
|
2993
|
+
displayName: E.name,
|
|
2992
2994
|
profile: void 0,
|
|
2993
|
-
avatarUrl: this.directory.getAvatarUrl(
|
|
2994
|
-
directoryUrl: this.directory.getDirectoryUrl(
|
|
2995
|
+
avatarUrl: this.directory.getAvatarUrl(E.id, "group"),
|
|
2996
|
+
directoryUrl: this.directory.getDirectoryUrl(E.id, "group"),
|
|
2995
2997
|
actions: g.map((f) => {
|
|
2996
|
-
const y =
|
|
2998
|
+
const y = c[f];
|
|
2997
2999
|
return {
|
|
2998
3000
|
displayName: f,
|
|
2999
3001
|
id: f,
|
|
@@ -3001,58 +3003,67 @@ class ShareService {
|
|
|
3001
3003
|
};
|
|
3002
3004
|
})
|
|
3003
3005
|
};
|
|
3004
|
-
}).sort((
|
|
3005
|
-
({ groupDisplayName:
|
|
3006
|
+
}).sort((E, g) => (E.displayName || "").localeCompare(g.displayName)), p = [...h, ...l], d = o.groups.visibles.map(
|
|
3007
|
+
({ groupDisplayName: E, id: g, name: A, labels: f }) => ({
|
|
3006
3008
|
labels: f,
|
|
3007
|
-
displayName:
|
|
3009
|
+
displayName: E || A,
|
|
3008
3010
|
id: g
|
|
3009
3011
|
})
|
|
3010
|
-
),
|
|
3011
|
-
({ id:
|
|
3012
|
+
), b = o.users.visibles.map(
|
|
3013
|
+
({ id: E, profile: g, username: A, firstName: f, lastName: y, login: D }) => ({
|
|
3012
3014
|
displayName: A,
|
|
3013
3015
|
firstName: f,
|
|
3014
3016
|
lastName: y,
|
|
3015
|
-
login:
|
|
3017
|
+
login: D,
|
|
3016
3018
|
profile: g,
|
|
3017
|
-
id:
|
|
3019
|
+
id: E
|
|
3018
3020
|
})
|
|
3019
3021
|
);
|
|
3020
3022
|
return {
|
|
3021
|
-
rights:
|
|
3022
|
-
visibleBookmarks:
|
|
3023
|
-
visibleGroups:
|
|
3024
|
-
visibleUsers:
|
|
3023
|
+
rights: p,
|
|
3024
|
+
visibleBookmarks: r,
|
|
3025
|
+
visibleGroups: d,
|
|
3026
|
+
visibleUsers: b
|
|
3025
3027
|
};
|
|
3026
3028
|
}
|
|
3027
|
-
async
|
|
3028
|
-
const r =
|
|
3029
|
-
|
|
3029
|
+
async getPutSharePayload(e, t, s) {
|
|
3030
|
+
const r = {
|
|
3031
|
+
users: {},
|
|
3030
3032
|
groups: {},
|
|
3031
|
-
|
|
3032
|
-
};
|
|
3033
|
-
for (const
|
|
3034
|
-
const
|
|
3035
|
-
|
|
3033
|
+
bookmarks: {}
|
|
3034
|
+
}, i = await this.getShareMapping(e, s);
|
|
3035
|
+
for (const o of t) {
|
|
3036
|
+
const a = o.actions.map((h) => i[h.id]).reduce((h, l) => Array.isArray(l) ? [...h, ...l] : h, []), c = [...new Set(a)];
|
|
3037
|
+
c.length > 0 && (o.type === "user" ? r.users[o.id] = c : o.type === "group" ? r.groups[o.id] = c : r.bookmarks[o.id] = c);
|
|
3036
3038
|
}
|
|
3037
|
-
|
|
3038
|
-
return this.cache.clearCache(`/${e}/share/json/${t}?search=`), await this.http.putJson(o, i);
|
|
3039
|
+
return r;
|
|
3039
3040
|
}
|
|
3040
|
-
async
|
|
3041
|
-
const
|
|
3041
|
+
async saveRights(e, t, s, r) {
|
|
3042
|
+
const i = await this.getPutSharePayload(
|
|
3043
|
+
e,
|
|
3044
|
+
s,
|
|
3045
|
+
r == null ? void 0 : r.getShareMapping
|
|
3046
|
+
), o = (r == null ? void 0 : r.saveResourceRights) || `/${e}/share/resource/${t}`;
|
|
3047
|
+
return this.cache.clearCache(
|
|
3048
|
+
(r == null ? void 0 : r.getResourceRights) || `/${e}/share/json/${t}?search=`
|
|
3049
|
+
), await this.http.putJson(o, i);
|
|
3050
|
+
}
|
|
3051
|
+
async getActionsForApp(e, t) {
|
|
3052
|
+
const s = await this.cache.httpGetJson(
|
|
3042
3053
|
"/infra/public/json/sharing-rights.json"
|
|
3043
|
-
),
|
|
3044
|
-
return Object.keys(
|
|
3045
|
-
const
|
|
3054
|
+
), r = await this.getShareMapping(e, t);
|
|
3055
|
+
return Object.keys(s).map((o) => {
|
|
3056
|
+
const a = s[o];
|
|
3046
3057
|
return {
|
|
3047
|
-
displayName:
|
|
3048
|
-
id:
|
|
3049
|
-
priority:
|
|
3050
|
-
requires:
|
|
3058
|
+
displayName: o,
|
|
3059
|
+
id: o,
|
|
3060
|
+
priority: a.priority,
|
|
3061
|
+
requires: a.requires
|
|
3051
3062
|
};
|
|
3052
|
-
}).filter((
|
|
3053
|
-
var
|
|
3054
|
-
return ((
|
|
3055
|
-
}).sort((
|
|
3063
|
+
}).filter((o) => {
|
|
3064
|
+
var a;
|
|
3065
|
+
return ((a = r[o.id]) == null ? void 0 : a.length) > 0;
|
|
3066
|
+
}).sort((o, a) => o.priority - a.priority);
|
|
3056
3067
|
}
|
|
3057
3068
|
}
|
|
3058
3069
|
const defaultMappers = {
|
|
@@ -3089,11 +3100,11 @@ const defaultMappers = {
|
|
|
3089
3100
|
zip: function({ type: u }) {
|
|
3090
3101
|
return u.indexOf("zip") !== -1 || u.indexOf("rar") !== -1 || u.indexOf("tar") !== -1 || u.indexOf("7z") !== -1;
|
|
3091
3102
|
}
|
|
3092
|
-
},
|
|
3103
|
+
}, _ = class _ {
|
|
3093
3104
|
/* Similar role notion as in infra-front > workspace > Model.ts */
|
|
3094
3105
|
static getRole(e) {
|
|
3095
3106
|
var t, s;
|
|
3096
|
-
return
|
|
3107
|
+
return _.role(
|
|
3097
3108
|
(t = e.metadata) == null ? void 0 : t["content-type"],
|
|
3098
3109
|
!1,
|
|
3099
3110
|
(s = e.metadata) == null ? void 0 : s.extension
|
|
@@ -3113,10 +3124,10 @@ const defaultMappers = {
|
|
|
3113
3124
|
}
|
|
3114
3125
|
};
|
|
3115
3126
|
// FIXME add edumedia support
|
|
3116
|
-
n(
|
|
3127
|
+
n(_, "roleMappers", [
|
|
3117
3128
|
(e) => Object.keys(defaultMappers).find((s) => defaultMappers[s](e))
|
|
3118
3129
|
]);
|
|
3119
|
-
let DocumentHelper =
|
|
3130
|
+
let DocumentHelper = _;
|
|
3120
3131
|
class WorkspaceService {
|
|
3121
3132
|
constructor(e) {
|
|
3122
3133
|
this.context = e;
|
|
@@ -3372,8 +3383,8 @@ class AnalyticsService {
|
|
|
3372
3383
|
if (!o || !o.LIBELLE_SERVICE || !r.UAI) return;
|
|
3373
3384
|
function a(h) {
|
|
3374
3385
|
let l = "";
|
|
3375
|
-
for (let
|
|
3376
|
-
l += h.charCodeAt(
|
|
3386
|
+
for (let p = 0; p < h.length; p++)
|
|
3387
|
+
l += h.charCodeAt(p);
|
|
3377
3388
|
return l;
|
|
3378
3389
|
}
|
|
3379
3390
|
const c = {
|
|
@@ -3398,7 +3409,7 @@ class AnalyticsService {
|
|
|
3398
3409
|
};
|
|
3399
3410
|
}
|
|
3400
3411
|
}
|
|
3401
|
-
const
|
|
3412
|
+
const C = class C {
|
|
3402
3413
|
// in minutes. Applies to recorded videos.
|
|
3403
3414
|
constructor(e) {
|
|
3404
3415
|
this.context = e;
|
|
@@ -3419,8 +3430,8 @@ const R = class R {
|
|
|
3419
3430
|
APP$4.VIDEO
|
|
3420
3431
|
);
|
|
3421
3432
|
return {
|
|
3422
|
-
maxWeight: (e == null ? void 0 : e["max-videosize-mbytes"]) ??
|
|
3423
|
-
maxDuration: (e == null ? void 0 : e["max-videoduration-minutes"]) ??
|
|
3433
|
+
maxWeight: (e == null ? void 0 : e["max-videosize-mbytes"]) ?? C.MAX_WEIGHT,
|
|
3434
|
+
maxDuration: (e == null ? void 0 : e["max-videoduration-minutes"]) ?? C.MAX_DURATION,
|
|
3424
3435
|
acceptVideoUploadExtensions: ((t = e == null ? void 0 : e["accept-videoupload-extensions"]) == null ? void 0 : t.map(
|
|
3425
3436
|
(s) => s.toUpperCase()
|
|
3426
3437
|
)) ?? []
|
|
@@ -3453,33 +3464,33 @@ const R = class R {
|
|
|
3453
3464
|
if (c.state == "running") {
|
|
3454
3465
|
let h = 0, l = 1;
|
|
3455
3466
|
do {
|
|
3456
|
-
const
|
|
3467
|
+
const p = l + h;
|
|
3457
3468
|
await new Promise(
|
|
3458
|
-
(
|
|
3459
|
-
), h = l, l = Math.min(8,
|
|
3460
|
-
const
|
|
3469
|
+
(b) => setTimeout(b, p * 1e3)
|
|
3470
|
+
), h = l, l = Math.min(8, p);
|
|
3471
|
+
const d = await this.http.get(
|
|
3461
3472
|
`/video/status/${c.processid}`
|
|
3462
3473
|
);
|
|
3463
|
-
if (
|
|
3464
|
-
return
|
|
3465
|
-
|
|
3474
|
+
if (d.state == "succeed")
|
|
3475
|
+
return d.videoworkspaceid && d.videosize && this.context.data().trackVideoSave(
|
|
3476
|
+
d.videoworkspaceid,
|
|
3466
3477
|
Math.round(r),
|
|
3467
|
-
|
|
3478
|
+
d.videosize,
|
|
3468
3479
|
s,
|
|
3469
3480
|
e.url,
|
|
3470
3481
|
i,
|
|
3471
3482
|
e.device
|
|
3472
|
-
),
|
|
3473
|
-
if (
|
|
3483
|
+
), d;
|
|
3484
|
+
if (d.state == "error")
|
|
3474
3485
|
break;
|
|
3475
3486
|
} while (!0);
|
|
3476
3487
|
}
|
|
3477
3488
|
throw new Error("Video cannot be uploaded.");
|
|
3478
3489
|
}
|
|
3479
3490
|
};
|
|
3480
|
-
n(
|
|
3481
|
-
n(
|
|
3482
|
-
let VideoService =
|
|
3491
|
+
n(C, "MAX_WEIGHT", 50), // in Mbytes. Applies to uploaded videos.
|
|
3492
|
+
n(C, "MAX_DURATION", 3);
|
|
3493
|
+
let VideoService = C;
|
|
3483
3494
|
class EmbedderService {
|
|
3484
3495
|
constructor(e) {
|
|
3485
3496
|
this.context = e;
|
|
@@ -3556,10 +3567,10 @@ class EmbedderService {
|
|
|
3556
3567
|
let l = t.split(c)[1];
|
|
3557
3568
|
if (!l)
|
|
3558
3569
|
continue;
|
|
3559
|
-
const
|
|
3560
|
-
|
|
3561
|
-
const
|
|
3562
|
-
o = o.replace(
|
|
3570
|
+
const p = s.split(a)[1].split("{")[0];
|
|
3571
|
+
p && (l = l.split(p)[0]);
|
|
3572
|
+
const d = new RegExp("\\" + a.replace(/}/, "\\}"), "g");
|
|
3573
|
+
o = o.replace(d, l);
|
|
3563
3574
|
}
|
|
3564
3575
|
return o;
|
|
3565
3576
|
}
|
|
@@ -4575,8 +4586,8 @@ class WidgetFramework {
|
|
|
4575
4586
|
});
|
|
4576
4587
|
const o = new Idiom();
|
|
4577
4588
|
this._widgets = this._widgets.sort((c, h) => {
|
|
4578
|
-
const l = o.translate(`timeline.settings.${c.platformConf.name}`).toLowerCase(),
|
|
4579
|
-
return l <
|
|
4589
|
+
const l = o.translate(`timeline.settings.${c.platformConf.name}`).toLowerCase(), p = o.translate(`timeline.settings.${h.platformConf.name}`).toLowerCase();
|
|
4590
|
+
return l < p ? -1 : l > p ? 1 : 0;
|
|
4580
4591
|
});
|
|
4581
4592
|
});
|
|
4582
4593
|
}
|
package/dist/rights/Service.d.ts
CHANGED
|
@@ -25,7 +25,7 @@ export declare class RightService {
|
|
|
25
25
|
*/
|
|
26
26
|
parseResourceRights(rights: RightStringified[]): ResourceRight[];
|
|
27
27
|
/**
|
|
28
|
-
* Check wether a user has the expected right for a
|
|
28
|
+
* Check wether a user has the expected right for a resource
|
|
29
29
|
* @param user the userId and groupId concerned by the check
|
|
30
30
|
* @param expect the expected right to check
|
|
31
31
|
* @param rights array of Right for the resource
|
package/dist/share/Service.d.ts
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import { IOdeServices } from '../services/OdeServices';
|
|
2
|
-
import { GetResourceRightPayload, PutShareResponse, ShareMapping, ShareRight, ShareRightAction, ShareRightActionDisplayName, ShareRightWithVisibles, ShareSubject } from './interface';
|
|
2
|
+
import { GetResourceRightPayload, PutSharePayload, PutShareResponse, ShareMapping, ShareRight, ShareRightAction, ShareRightActionDisplayName, ShareRightWithVisibles, ShareSubject, ShareUrls } from './interface';
|
|
3
3
|
export declare class ShareService {
|
|
4
4
|
protected context: IOdeServices;
|
|
5
5
|
constructor(context: IOdeServices);
|
|
6
6
|
get directory(): import('../directory/Service').DirectoryService;
|
|
7
7
|
get http(): import('../transport/Service').HttpService;
|
|
8
8
|
get cache(): import('../cache/Service').CacheService;
|
|
9
|
-
searchShareSubjects(app: string, resourceId: string, searchText: string): Promise<ShareSubject[]>;
|
|
10
|
-
getShareMapping(app: string): Promise<ShareMapping>;
|
|
9
|
+
searchShareSubjects(app: string, resourceId: string, searchText: string, urlResourceRights?: string): Promise<ShareSubject[]>;
|
|
10
|
+
getShareMapping(app: string, urlShareMapping?: string): Promise<ShareMapping>;
|
|
11
11
|
getActionsAvailableFor({ id, type }: {
|
|
12
12
|
id: string;
|
|
13
13
|
type: 'user' | 'group';
|
|
14
14
|
}, payload: GetResourceRightPayload, mapping: ShareMapping): ShareRightActionDisplayName[];
|
|
15
|
-
getRightsForResource(app: string, resourceId: string): Promise<ShareRightWithVisibles>;
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
getRightsForResource(app: string, resourceId: string, urls?: ShareUrls): Promise<ShareRightWithVisibles>;
|
|
16
|
+
getPutSharePayload(app: string, rights: ShareRight[], urlGetShareMapping?: string): Promise<PutSharePayload>;
|
|
17
|
+
saveRights(app: string, resourceId: string, rights: ShareRight[], urls?: ShareUrls): Promise<PutShareResponse>;
|
|
18
|
+
getActionsForApp(app: string, urlShareMapping?: string): Promise<ShareRightAction[]>;
|
|
18
19
|
}
|