ghost 4.48.7 → 4.48.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/built/assets/{ghost-dark-c94ae212747200ca4bafc37cfb0714d8.css → ghost-dark-6b4e49c6201d3b1e1cd5bc3fe18966be.css} +1 -1
- package/core/built/assets/{ghost.min-4084931bc22e794fe3722139050a80b3.css → ghost.min-721d8b8300de3a7b254b9abd40b5ef9b.css} +1 -1
- package/core/built/assets/{ghost.min-10ba0de3ecb93d63d62bb43ac11c740f.js → ghost.min-a2314ed1e97e0b4d8efa521eb44c283c.js} +11 -9
- package/core/server/models/base/bookshelf.js +1 -0
- package/core/server/models/integration.js +8 -0
- package/core/server/models/member.js +6 -0
- package/core/server/models/post.js +14 -0
- package/core/server/models/product.js +5 -0
- package/core/server/services/members/middleware.js +10 -0
- package/core/server/web/admin/views/default-prod.html +2 -2
- package/core/server/web/admin/views/default.html +2 -2
- package/package.json +2 -2
- package/yarn.lock +4 -4
|
@@ -2187,16 +2187,18 @@ this.args.onChange?.(t)}*fetchOptionsTask(){const e=yield[]
|
|
|
2187
2187
|
if(this.feature.get("multipleProducts")){const t=yield this.store.query("product",{filter:"type:paid",limit:"all",include:"monthly_price,yearly_price,benefits"})
|
|
2188
2188
|
if(this.products=t,t.length>0){const n={groupName:"Tiers",options:[]}
|
|
2189
2189
|
t.forEach((e=>{n.options.push({name:e.name,id:e.id,count:e.count?.members,class:"segment-product"})})),e.push(n),this.args.selectDefaultProduct&&!this.args.tiers&&this.setSegment([n.options[0]])}}this._options=e}},u=h(l.prototype,"store",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),d=h(l.prototype,"feature",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),c=h(l.prototype,"_options",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),p=h(l.prototype,"products",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),h(l.prototype,"setSegment",[o],Object.getOwnPropertyDescriptor(l.prototype,"setSegment"),l.prototype),h(l.prototype,"fetchOptionsTask",[n.task],Object.getOwnPropertyDescriptor(l.prototype,"fetchOptionsTask"),l.prototype),l)
|
|
2190
|
-
e.default=g,Ember._setComponentTemplate(b,g)})),define("ghost-admin/components/vertical-collection",["exports","@html-next/vertical-collection/components/vertical-collection/component"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/components/x-file-input",["exports","emberx-file-input/components/x-file-input"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/controllers/application",["exports"],(function(e){var t,n,i,r,a,s,o,l,u,d,c,p,m,h,b,g,f,v,y,w,E,k,P,O,j,_,z
|
|
2191
|
-
function
|
|
2190
|
+
e.default=g,Ember._setComponentTemplate(b,g)})),define("ghost-admin/components/vertical-collection",["exports","@html-next/vertical-collection/components/vertical-collection/component"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/components/x-file-input",["exports","emberx-file-input/components/x-file-input"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/controllers/application",["exports"],(function(e){var t,n,i,r,a,s,o,l,u,d,c,p,m,h,b,g,f,v,y,w,E,k,P,O,j,_,z,S,T
|
|
2191
|
+
function x(e,t,n,i){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(i):void 0})}function M(e,t,n,i,r){var a={}
|
|
2192
2192
|
return Object.keys(i).forEach((function(e){a[e]=i[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce((function(n,i){return i(e,t,n)||n}),a),r&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(r):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
2193
|
-
let
|
|
2194
|
-
return!n.isFullScreen&&(!(!t.isAuthenticated||!t.user)&&(("error404"!==e.currentRouteName||t.isAuthenticated)&&!e.currentRouteName.match(/(signin|signup|setup|reset)/)))}
|
|
2193
|
+
let C=(t=Ember.inject.service,n=Ember.inject.service,i=Ember.inject.service,r=Ember.inject.service,a=Ember.inject.service,s=Ember.inject.service,o=Ember.inject.service,l=Ember.inject.service,u=Ember.inject.service,d=Ember.inject.service,c=Ember.inject.service,p=Ember.computed.reads("config.hostSettings.update.enabled"),m=Ember.computed.reads("config.hostSettings.billing.enabled"),h=Ember.computed("router.currentRouteName","session.{isAuthenticated,user}","ui.isFullScreen"),b=Ember._action,g=class extends Ember.Controller{constructor(){super(...arguments),x(this,"ajax",f,this),x(this,"billing",v,this),x(this,"config",y,this),x(this,"dropdown",w,this),x(this,"feature",E,this),x(this,"ghostPaths",k,this),x(this,"router",P,this),x(this,"session",O,this),x(this,"settings",j,this),x(this,"store",_,this),x(this,"ui",z,this),x(this,"showUpdateLink",S,this),x(this,"showBilling",T,this)}get showNavMenu(){let{router:e,session:t,ui:n}=this
|
|
2194
|
+
return!n.isFullScreen&&(!(!t.isAuthenticated||!t.user)&&(("error404"!==e.currentRouteName||t.isAuthenticated)&&!e.currentRouteName.match(/(signin|signup|setup|reset)/)))}get ownerUserNameOrEmail(){let e=this.store.peekAll("user").findBy("isOwnerOnly",!0)
|
|
2195
|
+
if(e){if(e.name)return e.name
|
|
2196
|
+
if(e.email)return e.email}return null}openUpdateTab(){const e=window.open("","_blank")
|
|
2195
2197
|
e.document.write("Loading...")
|
|
2196
2198
|
const t=new URL(this.config.get("hostSettings.update.url")),n=this.ghostPaths.url.api("identities")
|
|
2197
2199
|
this.ajax.request(n).then((n=>{const i=n?.identities?.[0]?.token
|
|
2198
|
-
t.searchParams.append("jwt",i),e.location.href=t.toString()}))}},
|
|
2199
|
-
e.default=
|
|
2200
|
+
t.searchParams.append("jwt",i),e.location.href=t.toString()}))}},f=M(g.prototype,"ajax",[t],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),v=M(g.prototype,"billing",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),y=M(g.prototype,"config",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),w=M(g.prototype,"dropdown",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),E=M(g.prototype,"feature",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=M(g.prototype,"ghostPaths",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),P=M(g.prototype,"router",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=M(g.prototype,"session",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=M(g.prototype,"settings",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=M(g.prototype,"store",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),z=M(g.prototype,"ui",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),S=M(g.prototype,"showUpdateLink",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=M(g.prototype,"showBilling",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),M(g.prototype,"showNavMenu",[h],Object.getOwnPropertyDescriptor(g.prototype,"showNavMenu"),g.prototype),M(g.prototype,"openUpdateTab",[b],Object.getOwnPropertyDescriptor(g.prototype,"openUpdateTab"),g.prototype),g)
|
|
2201
|
+
e.default=C})),define("ghost-admin/controllers/billing",["exports"],(function(e){var t,n,i
|
|
2200
2202
|
function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
2201
2203
|
let a=(t=Ember.computed.alias("model"),n=class extends Ember.Controller{constructor(){var e,t,n,a
|
|
2202
2204
|
super(...arguments),r(this,"queryParams",["action"]),r(this,"action",null),e=this,t="guid",a=this,(n=i)&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(a):void 0})}},s=n.prototype,o="guid",l=[t],u={configurable:!0,enumerable:!0,writable:!0,initializer:null},c={},Object.keys(u).forEach((function(e){c[e]=u[e]})),c.enumerable=!!c.enumerable,c.configurable=!!c.configurable,("value"in c||c.initializer)&&(c.writable=!0),c=l.slice().reverse().reduce((function(e,t){return t(s,o,e)||e}),c),d&&void 0!==c.initializer&&(c.value=c.initializer?c.initializer.call(d):void 0,c.initializer=void 0),void 0===c.initializer&&(Object.defineProperty(s,o,c),c=null),i=c,n)
|
|
@@ -3785,7 +3787,7 @@ try{return JSON.parse(e)||{}}catch(t){return{}}}get accessibility(){let e=this.g
|
|
|
3785
3787
|
try{return JSON.parse(e)||{}}catch(t){return{}}}fetch(){return this.settings.fetch().then((()=>(this.set("_user",this.session.user),this._setAdminTheme().then((()=>!0)))))}update(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=n.user?"accessibility":"labs",r=this.get(n.user?"_user":"settings"),a=this.get(i)
|
|
3786
3788
|
return Ember.set(a,e,t),n.requires&&!0===t&&n.requires.forEach((e=>{Ember.set(a,e,!0)})),r.set(i,JSON.stringify(a)),r.save().then((()=>(this.notifyPropertyChange(i),this.get(`${i}.${e}`)))).catch((t=>{if(r.rollbackAttributes(),this.notifyPropertyChange(i),!t)throw new Ember.Error(`Validation of the feature service ${n.user?"user":"settings"} model failed when updating ${i}.`)
|
|
3787
3789
|
return this.notifications.showAPIError(t),this.get(`${i}.${e}`)}))}_setAdminTheme(e){let n=e
|
|
3788
|
-
return void 0===n&&(n=e||this.nightShift),this.lazyLoader.loadStyle("dark","assets/ghost-dark-
|
|
3790
|
+
return void 0===n&&(n=e||this.nightShift),this.lazyLoader.loadStyle("dark","assets/ghost-dark-6b4e49c6201d3b1e1cd5bc3fe18966be.css",!0).then((()=>{(0,t.default)("link[title=dark]").prop("disabled",!n)})).catch((()=>{(0,t.default)("link[title=dark]").prop("disabled",!0)}))}},S=X(z.prototype,"store",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=X(z.prototype,"config",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),x=X(z.prototype,"session",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),M=X(z.prototype,"settings",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),C=X(z.prototype,"notifications",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),D=X(z.prototype,"lazyLoader",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),A=X(z.prototype,"emailAnalytics",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),I=X(z.prototype,"nightShift",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),L=X(z.prototype,"multipleProducts",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),R=X(z.prototype,"dashboardV5",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),N=X(z.prototype,"oauthLogin",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),U=X(z.prototype,"membersActivity",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),F=X(z.prototype,"urlCache",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),B=X(z.prototype,"beforeAfterCard",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),V=X(z.prototype,"multipleNewsletters",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),H=X(z.prototype,"multipleNewslettersUI",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),q=X(z.prototype,"tweetGridCard",[v],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),$=X(z.prototype,"improvedOnboarding",[y],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Y=X(z.prototype,"tierWelcomePages",[w],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),W=X(z.prototype,"tierName",[E],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),K=X(z.prototype,"membersTableStatus",[k],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),G=X(z.prototype,"selectablePortalLinks",[P],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Z=X(z.prototype,"publishingFlow",[O],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),X(z.prototype,"labs",[j],Object.getOwnPropertyDescriptor(z.prototype,"labs"),z.prototype),X(z.prototype,"accessibility",[_],Object.getOwnPropertyDescriptor(z.prototype,"accessibility"),z.prototype),z)
|
|
3789
3791
|
e.default=ee})),define("ghost-admin/services/frontend",["exports","fetch","validator"],(function(e,t,n){var i,r,a,s,o,l,u
|
|
3790
3792
|
function d(e,t,n,i){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(i):void 0})}function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function p(e,t,n,i,r){var a={}
|
|
3791
3793
|
return Object.keys(i).forEach((function(e){a[e]=i[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce((function(n,i){return i(e,t,n)||n}),a),r&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(r):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
@@ -4052,7 +4054,7 @@ var t=Ember.HTMLBars.template({id:"4hzreQ8R",block:'{"symbols":[],"statements":[
|
|
|
4052
4054
|
e.default=t})),define("ghost-admin/templates/application-error",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
4053
4055
|
var t=Ember.HTMLBars.template({id:"BCoM6owz",block:'{"symbols":[],"statements":[[10,"div"],[14,0,"gh-view"],[12],[2,"\\n "],[10,"section"],[14,0,"error-content error-404 js-error-container"],[12],[2,"\\n "],[10,"section"],[14,0,"error-details"],[12],[2,"\\n "],[10,"img"],[14,0,"error-ghost"],[14,"src","assets/img/404-ghost@2x-34c1119ed15cc3ea71e4406f80c8e810.png"],[14,"srcset","assets/img/404-ghost-e112dbfadde79cf30dbca8e8cfe7a21a.png 1x, assets/img/404-ghost@2x-34c1119ed15cc3ea71e4406f80c8e810.png 2x"],[12],[13],[2,"\\n "],[10,"section"],[14,0,"error-message"],[12],[2,"\\n "],[10,"h1"],[14,0,"error-code"],[12],[1,[32,0,["model","code"]]],[13],[2,"\\n "],[10,"h2"],[14,0,"error-description"],[12],[2,"\\n "],[1,[30,[36,0],[[32,0,["model","payload","errors","firstObject","message"]],[32,0,["model","message"]]],null]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n\\n"],[8,"ember-load-remover",[],[[],[]],null],[2,"\\n"]],"hasEval":false,"upvars":["or"]}',moduleName:"ghost-admin/templates/application-error.hbs"})
|
|
4054
4056
|
e.default=t})),define("ghost-admin/templates/application",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
4055
|
-
var t=Ember.HTMLBars.template({id:"
|
|
4057
|
+
var t=Ember.HTMLBars.template({id:"ntoVBwUt",block:'{"symbols":[],"statements":[[8,"gh-app",[],[[],[]],[["default"],[{"statements":[[2,"\\n "],[8,"gh-skip-link",[],[["@anchor"],[".gh-main"]],[["default"],[{"statements":[[2,"Skip to main content"]],"parameters":[]}]]],[2,"\\n\\n"],[6,[37,1],[[30,[36,3],[[32,0,["session","user","isAdmin"]],[32,0,["showUpdateLink"]]],null]],null,[["default"],[{"statements":[[2," "],[10,"aside"],[14,0,"gh-update-banner"],[12],[2,"\\n"],[6,[37,1],[[32,0,["session","user","isOwnerOnly"]]],null,[["default","else"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-alert-content"],[12],[2,"\\n You\'re missing out on new features, update by January 31st.\\n "],[13],[2,"\\n "],[11,"a"],[24,6,"#"],[4,[38,2],["click",[32,0,["openUpdateTab"]]],null],[12],[2,"Update to Ghost 5.0 →"],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"div"],[14,0,"gh-alert-content"],[12],[2,"\\n Your Ghost install is ready for a major update!\\n"],[6,[37,1],[[32,0,["ownerUserNameOrEmail"]]],null,[["default","else"],[{"statements":[[2," "],[1,[32,0,["ownerUserNameOrEmail"]]],[2,"\\n"]],"parameters":[]},{"statements":[[2," Your Site Owner\\n"]],"parameters":[]}]]],[2," will need to log in to do this.\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n "],[8,"gh-alerts",[],[[],[]],null],[2,"\\n\\n "],[10,"div"],[15,0,[31,["gh-viewport ",[30,[36,1],[[32,0,["ui","showMobileMenu"]],"mobile-menu-expanded"],null]]]],[12],[2,"\\n"],[6,[37,1],[[32,0,["showNavMenu"]]],null,[["default"],[{"statements":[[2," "],[8,"gh-nav-menu",[],[[],[]],null],[2,"\\n"]],"parameters":[]}]]],[2,"\\n "],[10,"main"],[15,0,[31,["gh-main ",[32,0,["ui","mainClass"]]]]],[12],[2,"\\n "],[1,[30,[36,5],[[30,[36,4],null,null]],null]],[2,"\\n\\n"],[6,[37,1],[[32,0,["showBilling"]]],null,[["default"],[{"statements":[[2," "],[8,"gh-billing-modal",[],[["@billingWindowOpen"],[[32,0,["billing","billingWindowOpen"]]]],null],[2,"\\n"]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n\\n "],[8,"gh-notifications",[],[[],[]],null],[2,"\\n\\n "],[8,"gh-content-cover",[],[[],[]],null],[2,"\\n\\n"],[6,[37,6],[[32,0,["session","user","isContributor"]]],null,[["default"],[{"statements":[[2," "],[8,"gh-mobile-nav-bar",[],[[],[]],null],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n\\n"],[6,[37,1],[[32,0,["settings","accentColor"]]],null,[["default"],[{"statements":[[2," "],[10,"style"],[12],[2,"\\n :root {\\n --accent-color: "],[1,[32,0,["settings","accentColor"]]],[2,";\\n --adjusted-accent-color: "],[1,[32,0,["ui","adjustedAccentColor"]]],[2,";\\n }\\n .koenig-editor__editor a:not([class]) {\\n color: var(--adjusted-accent-color);\\n }\\n .koenig-editor__editor blockquote {\\n border-left: 0.25rem solid var(--adjusted-accent-color);\\n }\\n\\n .gh-btn-accent {\\n background-color: var(--adjusted-accent-color);\\n color: #fff;\\n }\\n\\n .gh-btn-accent:hover {\\n background-color: "],[1,[30,[36,0],[[32,0,["ui","adjustedAccentColor"]]],[["l"],[-15]]]],[2,";\\n color: #fff;\\n }\\n\\n "],[13],[2,"\\n"]],"parameters":[]}]]]],"parameters":[]}]]],[2,"\\n\\n"],[10,"div"],[14,1,"unsplash-selector-wormhole"],[12],[13],[2,"\\n\\n"],[8,"epm-modal-container",[],[[],[]],null],[2,"\\n"],[8,"ember-load-remover",[],[[],[]],null],[2,"\\n"]],"hasEval":false,"upvars":["hex-adjust","if","on","and","-outlet","component","unless"]}',moduleName:"ghost-admin/templates/application.hbs"})
|
|
4056
4058
|
e.default=t}))
|
|
4057
4059
|
define("ghost-admin/templates/components/basic-dropdown-content",["exports","ember-basic-dropdown/templates/components/basic-dropdown-content"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/templates/components/basic-dropdown-trigger",["exports","ember-basic-dropdown/templates/components/basic-dropdown-trigger"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/templates/components/basic-dropdown",["exports","ember-basic-dropdown/templates/components/basic-dropdown"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/templates/components/draggable-object-target",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
4058
4060
|
var t=Ember.HTMLBars.template({id:"ds+gecsL",block:'{"symbols":["&default"],"statements":[[6,[37,2],[[35,1]],null,[["default","else"],[{"statements":[[2," "],[11,"a"],[24,6,"#"],[4,[38,0],[[32,0],"acceptForDrop"],null],[12],[2,"\\n "],[18,1,null],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[18,1,null],[2,"\\n"]],"parameters":[]}]]]],"hasEval":false,"upvars":["action","enableClicking","if"]}',moduleName:"ghost-admin/templates/components/draggable-object-target.hbs"})
|
|
@@ -4356,4 +4358,4 @@ var t=Ember.Component.extend({})
|
|
|
4356
4358
|
e.default=t})),define("ghost-admin/config/environment",[],(function(){try{var e="ghost-admin/config/environment",t=document.querySelector('meta[name="'+e+'"]').getAttribute("content"),n={default:JSON.parse(decodeURIComponent(t))}
|
|
4357
4359
|
return Object.defineProperty(n,"__esModule",{value:!0}),n}catch(i){throw new Error('Could not read config from meta tag with name "'+e+'".')}})),runningTests||require("ghost-admin/app").default.create({version:"4.48",name:"ghost-admin"})
|
|
4358
4360
|
|
|
4359
|
-
//# sourceMappingURL=ghost.min-
|
|
4361
|
+
//# sourceMappingURL=ghost.min-a2314ed1e97e0b4d8efa521eb44c283c.map
|
|
@@ -65,6 +65,7 @@ ghostBookshelf.plugin(require('./plugins/overrides'));
|
|
|
65
65
|
ghostBookshelf.plugin('bookshelf-relations', {
|
|
66
66
|
allowedOptions: ['context', 'importing', 'migrating'],
|
|
67
67
|
unsetRelations: true,
|
|
68
|
+
editRelations: false,
|
|
68
69
|
extendChanged: '_changed',
|
|
69
70
|
attachPreviousRelations: true,
|
|
70
71
|
hooks: {
|
|
@@ -6,6 +6,14 @@ const Integration = ghostBookshelf.Model.extend({
|
|
|
6
6
|
tableName: 'integrations',
|
|
7
7
|
|
|
8
8
|
relationships: ['api_keys', 'webhooks'],
|
|
9
|
+
relationshipConfig: {
|
|
10
|
+
api_keys: {
|
|
11
|
+
editable: true
|
|
12
|
+
},
|
|
13
|
+
webhooks: {
|
|
14
|
+
editable: true
|
|
15
|
+
}
|
|
16
|
+
},
|
|
9
17
|
|
|
10
18
|
relationshipBelongsTo: {
|
|
11
19
|
api_keys: 'api_keys',
|
|
@@ -76,6 +76,12 @@ const Member = ghostBookshelf.Model.extend({
|
|
|
76
76
|
// do not delete email_recipients records when a member is destroyed. Recipient
|
|
77
77
|
// records are used for analytics and historical records
|
|
78
78
|
relationshipConfig: {
|
|
79
|
+
products: {
|
|
80
|
+
editable: true
|
|
81
|
+
},
|
|
82
|
+
labels: {
|
|
83
|
+
editable: true
|
|
84
|
+
},
|
|
79
85
|
email_recipients: {
|
|
80
86
|
destroyRelated: false
|
|
81
87
|
}
|
|
@@ -83,6 +83,20 @@ Post = ghostBookshelf.Model.extend({
|
|
|
83
83
|
},
|
|
84
84
|
|
|
85
85
|
relationships: ['tags', 'authors', 'mobiledoc_revisions', 'posts_meta', 'tiers'],
|
|
86
|
+
relationshipConfig: {
|
|
87
|
+
tags: {
|
|
88
|
+
editable: true
|
|
89
|
+
},
|
|
90
|
+
authors: {
|
|
91
|
+
editable: true
|
|
92
|
+
},
|
|
93
|
+
mobiledoc_revisions: {
|
|
94
|
+
editable: true
|
|
95
|
+
},
|
|
96
|
+
posts_meta: {
|
|
97
|
+
editable: true
|
|
98
|
+
}
|
|
99
|
+
},
|
|
86
100
|
|
|
87
101
|
// NOTE: look up object, not super nice, but was easy to implement
|
|
88
102
|
relationshipBelongsTo: {
|
|
@@ -106,6 +106,11 @@ const updateMemberNewsletters = async function (req, res) {
|
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
const data = _.pick(req.body, 'newsletters');
|
|
109
|
+
if (data.newsletters) {
|
|
110
|
+
data.newsletters = data.newsletters.map(newsletter => ({
|
|
111
|
+
id: newsletter.id
|
|
112
|
+
}));
|
|
113
|
+
}
|
|
109
114
|
const memberData = await membersService.api.members.get({
|
|
110
115
|
uuid: memberUuid
|
|
111
116
|
});
|
|
@@ -131,6 +136,11 @@ const updateMemberNewsletters = async function (req, res) {
|
|
|
131
136
|
const updateMemberData = async function (req, res) {
|
|
132
137
|
try {
|
|
133
138
|
const data = _.pick(req.body, 'name', 'subscribed', 'newsletters');
|
|
139
|
+
if (data.newsletters) {
|
|
140
|
+
data.newsletters = data.newsletters.map(newsletter => ({
|
|
141
|
+
id: newsletter.id
|
|
142
|
+
}));
|
|
143
|
+
}
|
|
134
144
|
const member = await membersService.ssr.getMemberDataFromSession(req, res);
|
|
135
145
|
if (member) {
|
|
136
146
|
const options = {
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
<link rel="stylesheet" href="assets/vendor.min-ba66b98f7c24fa40e061c7ffc94f4e23.css">
|
|
41
|
-
<link rel="stylesheet" href="assets/ghost.min-
|
|
41
|
+
<link rel="stylesheet" href="assets/ghost.min-721d8b8300de3a7b254b9abd40b5ef9b.css" title="light">
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
|
|
58
58
|
|
|
59
59
|
<script src="assets/vendor.min-97fd438f4772c5ec6bb30ad779b8530e.js"></script>
|
|
60
|
-
<script src="assets/ghost.min-
|
|
60
|
+
<script src="assets/ghost.min-a2314ed1e97e0b4d8efa521eb44c283c.js"></script>
|
|
61
61
|
|
|
62
62
|
</body>
|
|
63
63
|
</html>
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
<link rel="stylesheet" href="assets/vendor.min-ba66b98f7c24fa40e061c7ffc94f4e23.css">
|
|
41
|
-
<link rel="stylesheet" href="assets/ghost.min-
|
|
41
|
+
<link rel="stylesheet" href="assets/ghost.min-721d8b8300de3a7b254b9abd40b5ef9b.css" title="light">
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
|
|
58
58
|
|
|
59
59
|
<script src="assets/vendor.min-97fd438f4772c5ec6bb30ad779b8530e.js"></script>
|
|
60
|
-
<script src="assets/ghost.min-
|
|
60
|
+
<script src="assets/ghost.min-a2314ed1e97e0b4d8efa521eb44c283c.js"></script>
|
|
61
61
|
|
|
62
62
|
</body>
|
|
63
63
|
</html>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ghost",
|
|
3
|
-
"version": "4.48.
|
|
3
|
+
"version": "4.48.9",
|
|
4
4
|
"description": "The professional publishing platform",
|
|
5
5
|
"author": "Ghost Foundation",
|
|
6
6
|
"homepage": "https://ghost.org",
|
|
@@ -122,7 +122,7 @@
|
|
|
122
122
|
"bluebird": "3.7.2",
|
|
123
123
|
"body-parser": "1.20.0",
|
|
124
124
|
"bookshelf": "1.2.0",
|
|
125
|
-
"bookshelf-relations": "2.
|
|
125
|
+
"bookshelf-relations": "2.5.0",
|
|
126
126
|
"brute-knex": "4.0.1",
|
|
127
127
|
"bson-objectid": "2.0.3",
|
|
128
128
|
"bthreads": "0.5.1",
|
package/yarn.lock
CHANGED
|
@@ -3705,10 +3705,10 @@ body@^5.1.0:
|
|
|
3705
3705
|
raw-body "~1.1.0"
|
|
3706
3706
|
safe-json-parse "~1.0.1"
|
|
3707
3707
|
|
|
3708
|
-
bookshelf-relations@2.
|
|
3709
|
-
version "2.
|
|
3710
|
-
resolved "https://registry.yarnpkg.com/bookshelf-relations/-/bookshelf-relations-2.
|
|
3711
|
-
integrity sha512-
|
|
3708
|
+
bookshelf-relations@2.5.0:
|
|
3709
|
+
version "2.5.0"
|
|
3710
|
+
resolved "https://registry.yarnpkg.com/bookshelf-relations/-/bookshelf-relations-2.5.0.tgz#889446aa4afa54abb2d829e3a27f93aa447d7414"
|
|
3711
|
+
integrity sha512-yiJ1uTWF3HVBuGhgHyZfjBo+JRDAvOOnAEabuAfWrYksCfvLFTk+B3hp4ZCPATZC5Jq6mzDUD0jz6etdI999pA==
|
|
3712
3712
|
dependencies:
|
|
3713
3713
|
"@tryghost/debug" "^0.1.13"
|
|
3714
3714
|
"@tryghost/errors" "^1.2.3"
|