@dazejs/framework
Version:
Daze.js - A powerful web framework for Node.js
43 lines • 1.95 kB
JavaScript
;
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.BaseEntity = void 0;
const component_type_1 = require("../decorators/component-type");
const model_1 = require("../supports/orm/model");
let BaseEntity = class BaseEntity {
async get(id) {
return (new model_1.Model(this.constructor)).createRepository().get(id);
}
createQueryBuilder() {
return (new model_1.Model(this.constructor)).createRepository().createQueryBuilder();
}
with(relation, callback) {
return (new model_1.Model(this.constructor)).createRepository().with(relation, callback);
}
async save() {
const repos = (new model_1.Model(this.constructor)).createRepository();
repos.fill(this);
await repos.save();
Object.assign(this, repos.getAttributes());
return repos;
}
async create(attributes) {
const repos = (new model_1.Model(this.constructor)).createRepository();
return repos.create(attributes);
}
async destroy(...ids) {
const repos = (new model_1.Model(this.constructor)).createRepository();
return repos.destroy(...ids);
}
};
BaseEntity = __decorate([
(0, component_type_1.ComponentType)('entity'),
Reflect.metadata('connection', 'default')
], BaseEntity);
exports.BaseEntity = BaseEntity;
//# sourceMappingURL=entity.js.map