1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-24 12:58:34 +00:00
Files
seahub/frontend/src/models/dirent.js

44 lines
1.2 KiB
JavaScript
Raw Normal View History

2018-10-13 17:07:54 +08:00
import moment from 'moment';
import { Utils } from '../utils/utils';
2018-11-22 11:26:00 +08:00
import FileTag from './file-tag';
2018-10-13 17:07:54 +08:00
class Dirent {
constructor(json) {
this.id = json.id;
this.name = json.name;
this.type = json.type;
2019-01-04 13:53:30 +08:00
this.mtime = json.mtime;
this.mtime_relative = moment.unix(json.mtime).fromNow();
2018-10-13 17:07:54 +08:00
this.permission = json.permission;
2018-12-22 11:17:03 +08:00
this.isSelected = false; // is check or not
2018-10-13 17:07:54 +08:00
if (json.type === 'file') {
this.size = Utils.bytesToSize(json.size);
2019-01-05 11:43:33 +08:00
this.starred = json.starred || false;
this.is_locked = json.is_locked || false;
2019-01-09 14:39:17 +08:00
this.lock_time = json.lock_time;
2018-10-13 17:07:54 +08:00
this.lock_owner= json.lock_owner;
this.locked_by_me = json.locked_by_me;
this.modifier_name = json.modifier_name;
this.modifier_email = json.modifier_email;
this.modifier_contact_email = json.modifier_contact_email;
2018-11-22 11:26:00 +08:00
let file_tags = [];
if (json.file_tags) {
file_tags = json.file_tags.map(item => {
return new FileTag(item);
});
2018-11-22 11:26:00 +08:00
}
this.file_tags = file_tags;
if (json.encoded_thumbnail_src) {
this.encoded_thumbnail_src = json.encoded_thumbnail_src;
}
2018-10-13 17:07:54 +08:00
}
}
2018-11-22 11:26:00 +08:00
isDir() {
return this.type !== 'file';
}
2018-10-13 17:07:54 +08:00
}
export default Dirent;