luci.base: fs.js: expose mode param in fs.write()
authorJo-Philipp Wich <jo@mein.io>
Mon, 21 Oct 2019 06:42:41 +0000 (08:42 +0200)
committerJo-Philipp Wich <jo@mein.io>
Mon, 21 Oct 2019 06:42:41 +0000 (08:42 +0200)
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
modules/luci-base/htdocs/luci-static/resources/fs.js

index 6eb03909092ecd5c4b24ea4fba48f35a886b2bb9..8a96ea87e2e88294950f451cd5fa244e2a378992 100644 (file)
@@ -50,7 +50,7 @@ callFileRead = rpc.declare({
 callFileWrite = rpc.declare({
        object: 'file',
        method: 'write',
-       params: [ 'path', 'data' ]
+       params: [ 'path', 'data', 'mode' ]
 });
 
 callFileRemove = rpc.declare({
@@ -177,13 +177,17 @@ var FileSystem = L.Class.extend(/** @lends LuCI.fs.prototype */ {
         * The file data to write. If it is null, it will be set to an empty
         * string.
         *
+        * @param {number} [mode]
+        * The permissions to use on file creation. Default is 420 (0644).
+        *
         * @returns {Promise<number>}
         * Returns a promise resolving to `0` or rejecting with an error stating
         * the failure reason.
         */
-       write: function(path, data) {
+       write: function(path, data, mode) {
                data = (data != null) ? String(data) : '';
-               return callFileWrite(path, data).then(handleRpcReply.bind(this, { '': 0 }));
+               mode = (mode != null) ? mode : 420; // 0644
+               return callFileWrite(path, data, mode).then(handleRpcReply.bind(this, { '': 0 }));
        },
 
        /**