From fe7cb014a02365973ddff209cdb84eb2cef1c449 Mon Sep 17 00:00:00 2001 From: Carlos Alcaide Corvo Date: Thu, 17 Mar 2022 13:05:41 -0500 Subject: [PATCH] =?UTF-8?q?=20feat:=20=F0=9F=8E=B8=20Add=20default=20custo?= =?UTF-8?q?m=20Model=20for=20mirage=20(#1013)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: 🎸 Add default custom Model for mirage --- addons/api/mirage/models/account.js | 3 ++- addons/api/mirage/models/auth-method.js | 3 ++- addons/api/mirage/models/base.js | 20 +++++++++++++++++++ .../api/mirage/models/credential-library.js | 3 ++- addons/api/mirage/models/credential-store.js | 3 ++- addons/api/mirage/models/group.js | 3 ++- addons/api/mirage/models/host-catalog.js | 3 ++- addons/api/mirage/models/host-set.js | 3 ++- addons/api/mirage/models/host.js | 3 ++- addons/api/mirage/models/managed-group.js | 3 ++- addons/api/mirage/models/role.js | 3 ++- addons/api/mirage/models/session.js | 3 ++- addons/api/mirage/models/target.js | 3 ++- addons/api/mirage/models/user.js | 3 ++- 14 files changed, 46 insertions(+), 13 deletions(-) create mode 100644 addons/api/mirage/models/base.js diff --git a/addons/api/mirage/models/account.js b/addons/api/mirage/models/account.js index 8f39ad219..11c2b3944 100644 --- a/addons/api/mirage/models/account.js +++ b/addons/api/mirage/models/account.js @@ -1,4 +1,5 @@ -import { Model, belongsTo } from 'ember-cli-mirage'; +import { belongsTo } from 'ember-cli-mirage'; +import Model from './base'; export default Model.extend({ scope: belongsTo(), diff --git a/addons/api/mirage/models/auth-method.js b/addons/api/mirage/models/auth-method.js index 7faa2b5a2..0cc6532df 100644 --- a/addons/api/mirage/models/auth-method.js +++ b/addons/api/mirage/models/auth-method.js @@ -1,4 +1,5 @@ -import { Model, belongsTo } from 'ember-cli-mirage'; +import { belongsTo } from 'ember-cli-mirage'; +import Model from './base'; export default Model.extend({ scope: belongsTo(), diff --git a/addons/api/mirage/models/base.js b/addons/api/mirage/models/base.js new file mode 100644 index 000000000..dbaa877d9 --- /dev/null +++ b/addons/api/mirage/models/base.js @@ -0,0 +1,20 @@ +import { Model } from 'ember-cli-mirage'; + +export default Model.extend({ + assignDefaults(defaultAttrs, attrs) { + Object.entries(defaultAttrs).map(([key, value]) => { + if (!attrs[key]) { + attrs[key] = value; + } + }); + }, + defaultAttrs: () => ({ + version: 1, + authorized_actions: ['no-op', 'read', 'update', 'delete'], + created_time: new Date(), + }), + save() { + this.assignDefaults(this.defaultAttrs(), this.attrs); + return Model.prototype.save.apply(this, arguments); + }, +}); diff --git a/addons/api/mirage/models/credential-library.js b/addons/api/mirage/models/credential-library.js index 921a63182..83ad9f912 100644 --- a/addons/api/mirage/models/credential-library.js +++ b/addons/api/mirage/models/credential-library.js @@ -1,4 +1,5 @@ -import { Model, belongsTo } from 'ember-cli-mirage'; +import { belongsTo } from 'ember-cli-mirage'; +import Model from './base'; export default Model.extend({ scope: belongsTo(), diff --git a/addons/api/mirage/models/credential-store.js b/addons/api/mirage/models/credential-store.js index 7faa2b5a2..0cc6532df 100644 --- a/addons/api/mirage/models/credential-store.js +++ b/addons/api/mirage/models/credential-store.js @@ -1,4 +1,5 @@ -import { Model, belongsTo } from 'ember-cli-mirage'; +import { belongsTo } from 'ember-cli-mirage'; +import Model from './base'; export default Model.extend({ scope: belongsTo(), diff --git a/addons/api/mirage/models/group.js b/addons/api/mirage/models/group.js index 67446a6d6..17a62f13e 100644 --- a/addons/api/mirage/models/group.js +++ b/addons/api/mirage/models/group.js @@ -1,4 +1,5 @@ -import { Model, belongsTo, hasMany } from 'ember-cli-mirage'; +import { belongsTo, hasMany } from 'ember-cli-mirage'; +import Model from './base'; export default Model.extend({ scope: belongsTo(), diff --git a/addons/api/mirage/models/host-catalog.js b/addons/api/mirage/models/host-catalog.js index 0f03cb6ef..a898eb0c0 100644 --- a/addons/api/mirage/models/host-catalog.js +++ b/addons/api/mirage/models/host-catalog.js @@ -1,4 +1,5 @@ -import { Model, belongsTo, hasMany } from 'ember-cli-mirage'; +import { belongsTo, hasMany } from 'ember-cli-mirage'; +import Model from './base'; export default Model.extend({ scope: belongsTo(), diff --git a/addons/api/mirage/models/host-set.js b/addons/api/mirage/models/host-set.js index 645c144ff..58f32181f 100644 --- a/addons/api/mirage/models/host-set.js +++ b/addons/api/mirage/models/host-set.js @@ -1,4 +1,5 @@ -import { Model, belongsTo, hasMany } from 'ember-cli-mirage'; +import { belongsTo, hasMany } from 'ember-cli-mirage'; +import Model from './base'; export default Model.extend({ scope: belongsTo(), diff --git a/addons/api/mirage/models/host.js b/addons/api/mirage/models/host.js index 88d9026e8..bd7e561df 100644 --- a/addons/api/mirage/models/host.js +++ b/addons/api/mirage/models/host.js @@ -1,4 +1,5 @@ -import { Model, belongsTo } from 'ember-cli-mirage'; +import { belongsTo } from 'ember-cli-mirage'; +import Model from './base'; export default Model.extend({ scope: belongsTo(), diff --git a/addons/api/mirage/models/managed-group.js b/addons/api/mirage/models/managed-group.js index 8f39ad219..11c2b3944 100644 --- a/addons/api/mirage/models/managed-group.js +++ b/addons/api/mirage/models/managed-group.js @@ -1,4 +1,5 @@ -import { Model, belongsTo } from 'ember-cli-mirage'; +import { belongsTo } from 'ember-cli-mirage'; +import Model from './base'; export default Model.extend({ scope: belongsTo(), diff --git a/addons/api/mirage/models/role.js b/addons/api/mirage/models/role.js index c256df5fc..97be034f9 100644 --- a/addons/api/mirage/models/role.js +++ b/addons/api/mirage/models/role.js @@ -1,4 +1,5 @@ -import { Model, belongsTo, hasMany } from 'ember-cli-mirage'; +import { belongsTo, hasMany } from 'ember-cli-mirage'; +import Model from './base'; export default Model.extend({ scope: belongsTo(), diff --git a/addons/api/mirage/models/session.js b/addons/api/mirage/models/session.js index eb036d6b8..4842c2480 100644 --- a/addons/api/mirage/models/session.js +++ b/addons/api/mirage/models/session.js @@ -1,4 +1,5 @@ -import { Model, belongsTo } from 'ember-cli-mirage'; +import { belongsTo } from 'ember-cli-mirage'; +import Model from './base'; export default Model.extend({ scope: belongsTo(), diff --git a/addons/api/mirage/models/target.js b/addons/api/mirage/models/target.js index 389e255d2..d6a7b8ab0 100644 --- a/addons/api/mirage/models/target.js +++ b/addons/api/mirage/models/target.js @@ -1,4 +1,5 @@ -import { Model, belongsTo, hasMany } from 'ember-cli-mirage'; +import Model from './base'; +import { belongsTo, hasMany } from 'ember-cli-mirage'; export default Model.extend({ scope: belongsTo(), diff --git a/addons/api/mirage/models/user.js b/addons/api/mirage/models/user.js index d3eb79bed..984a681b8 100644 --- a/addons/api/mirage/models/user.js +++ b/addons/api/mirage/models/user.js @@ -1,4 +1,5 @@ -import { Model, belongsTo, hasMany } from 'ember-cli-mirage'; +import { belongsTo, hasMany } from 'ember-cli-mirage'; +import Model from './base'; export default Model.extend({ scope: belongsTo(),