Add support for fgetattr and symlinks

This commit is contained in:
2020-11-27 13:18:37 -06:00
parent bb4a786b41
commit 8e57578251
7 changed files with 102 additions and 7 deletions

View File

@@ -1,6 +1,6 @@
const uuid = require('uuid').v4
const { Model } = require('flitter-orm')
const { NodeDescriptorType } = require('../../enum')
const { NodeDescriptorType, NodeModeType } = require('../../enum')
class Node extends Model {
static get services() {
@@ -16,12 +16,14 @@ class Node extends Model {
mtime: { type: Date, default: () => new Date },
atime: { type: Date, default: () => new Date },
ctime: { type: Date, default: () => new Date },
mode: { type: Number, default: 33188 },
mode: { type: Number, default: NodeModeType.File },
size: { type: Number, default: 0 },
descriptor_type: { type: String, default: NodeDescriptorType.File },
uploaded_file_id: String,
symlink_path: String, // If NodeDescriptorType.Symlink, the path to resolve
extended_attributes: [{
name: String,
value: String, // base64 encoded binary buffer value
@@ -50,7 +52,7 @@ class Node extends Model {
if ( !root ) {
root = new this({
pied_name: '/',
mode: 16877,
mode: NodeModeType.Directory,
root: true,
descriptor_type: NodeDescriptorType.Directory,
})