Ghost/core/client/models/post.js
Hannah Wolfe 8836375ca6 Ember cleanup: single quotes for JS
- All JS should use single quotes
2014-06-01 21:53:16 +01:00

51 lines
1.5 KiB
JavaScript

var Post = DS.Model.extend({
uuid: DS.attr('string'),
title: DS.attr('string'),
slug: DS.attr('string'),
markdown: DS.attr('string', {defaultValue: ''}),
html: DS.attr('string'),
image: DS.attr('string'),
featured: DS.attr('boolean', {defaultValue: false}),
page: DS.attr('boolean', {defaultValue: false}),
status: DS.attr('string', {defaultValue: 'draft'}),
language: DS.attr('string', {defaultValue: 'en_US'}),
meta_title: DS.attr('string'),
meta_description: DS.attr('string'),
author: DS.belongsTo('user', { async: true }),
created_at: DS.attr('date'),
created_by: DS.belongsTo('user', { async: true }),
updated_at: DS.attr('date'),
updated_by: DS.belongsTo('user', { async: true }),
published_at: DS.attr('date'),
published_by: DS.belongsTo('user', { async: true }),
tags: DS.hasMany('tag', { async: true }),
generateSlug: function () {
var title = this.get('title'),
url;
if (!title) {
return;
}
url = this.get('ghostPaths').apiUrl('slugs', 'post', encodeURIComponent(title));
return ic.ajax.request(url, {
type: 'GET'
});
},
validate: function () {
var validationErrors = [];
if (!this.get('title.length')) {
validationErrors.push({
message: 'You must specify a title for the post.'
});
}
return validationErrors;
}.property('title')
});
export default Post;