hino / app / services / base-data.js
base-data.js
Raw
import Service from '@ember/service';
import { inject as service } from '@ember/service';

export default Service.extend({
	store: service(),
	modelName: '',
	model: null,

	// get record by id
	getData(id, param = null) {
		return this.store.findRecord(this.modelName, id, param);
	},

	getDataQuery(id, param = null) {
		return this.store.queryRecord(this.modelName, id, param);
	},

	// get record list
	getList(filterParam) {
		if(filterParam == undefined || filterParam == null) {
			return this.store.findAll(this.modelName);
		}

		return this.store.query(this.modelName, filterParam);
	},

	// create new record
	createRecord(params = null) {
		return this.store.createRecord(this.modelName, params);
	},


	// flag record as deleted
	delete(model) {
		return model.destroyRecord();
	},

	// save change to persistance
	save(model) {
		return model.save();
	},

	setModel(model) {
		this.set('model', model);
	},
	unloadData(){
		return this.store.unloadAll(this.modelName);
	}
	
});