Skip to content

Commit 2262a11

Browse files
committed
feat: Saves Resource Template to Blue Core API
1 parent edd4aa3 commit 2262a11

File tree

5 files changed

+35
-32
lines changed

5 files changed

+35
-32
lines changed

src/actionCreators/resources.js

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ export const loadResource =
5454
(uri, errorKey, { asNewResource = false, version = null } = {}) =>
5555
(dispatch) => {
5656
dispatch(clearErrors(errorKey))
57-
console.log(`In actionCreators/resources.js loadResource`, uri)
5857
return fetchResource(uri, { version })
5958
.then(([dataset, response]) => {
6059
if (!dataset) return false
@@ -104,14 +103,14 @@ export const loadResource =
104103
}
105104

106105
export const loadResourceForEditor =
107-
(uri, errorKey, { asNewResource = false } = {}) =>
106+
(uri, errorKey, { asNewResource = false } = {}, keycloak) =>
108107
(dispatch) =>
109108
dispatch(loadResource(uri, errorKey, { asNewResource })).then((result) =>
110-
dispatch(dispatchResourceForEditor(result, uri, { asNewResource }))
109+
dispatch(dispatchResourceForEditor(result, uri, { asNewResource }, keycloak))
111110
)
112111

113112
export const dispatchResourceForEditor =
114-
(result, uri, { asNewResource = false } = {}) =>
113+
(result, uri, { asNewResource = false } = {}, keycloak) =>
115114
(dispatch) => {
116115
if (!result) return false
117116
const [response, resource] = result
@@ -124,7 +123,7 @@ export const dispatchResourceForEditor =
124123
)
125124
dispatch(setCurrentResource(resource.key))
126125
if (!asNewResource) {
127-
dispatch(addUserResourceHistory(uri))
126+
dispatch(addUserResourceHistory(uri, keycloak))
128127
dispatch(
129128
addResourceHistory(
130129
resource.uri,
@@ -312,11 +311,11 @@ export const saveResource =
312311

313312
dispatch(clearErrors(errorKey))
314313

315-
return putResource(resource, currentUser, group, editGroups, keycloak)
314+
return putResource(resource, currentUser, group, editGroups, null, keycloak)
316315
.then(() => {
317316
dispatch(setResourceGroup(resourceKey, group, editGroups))
318317
dispatch(saveResourceFinished(resourceKey))
319-
dispatch(addUserResourceHistory(resource.uri))
318+
dispatch(addUserResourceHistory(resource.uri, keycloak))
320319
dispatch(
321320
addResourceHistory(
322321
resource.uri,

src/components/editor/actions/SaveAndPublishButton.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import useAlerts from "hooks/useAlerts"
2828
const SaveAndPublishButton = (props) => {
2929
const dispatch = useDispatch()
3030
const errorKey = useAlerts()
31-
const keycloak = useKeycloak()
31+
const { keycloak } = useKeycloak()
3232

3333
const resourceKey = useSelector((state) => selectCurrentResourceKey(state))
3434
// selectPickSubject and shallowEqual prevents rerender from unrelated changed.

src/hooks/useResource.js

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,15 @@ import {
1717
setCurrentPreviewResource,
1818
} from "actions/resources"
1919
import { useHistory } from "react-router-dom"
20+
import { useKeycloak } from "../KeycloakContext"
2021

2122
const useResource = (
2223
errorKey,
2324
{ resourceTemplateId = null, resourceURI = null }
2425
) => {
2526
const dispatch = useDispatch()
2627
const history = useHistory()
28+
const { keycloak } = useKeycloak()
2729
const errors = useSelector((state) => selectErrors(state, errorKey))
2830
const resourceKey = useSelector((state) => selectCurrentResourceKey(state))
2931
// These are resources that are already loaded
@@ -52,7 +54,12 @@ const useResource = (
5254
if (event) event.preventDefault()
5355
setStatus("loading copy")
5456
dispatch(
55-
loadResourceForEditor(resourceURI, errorKey, { asNewResource: true })
57+
loadResourceForEditor(
58+
resourceURI,
59+
errorKey,
60+
{ asNewResource: true },
61+
keycloak
62+
)
5663
).then((result) => {
5764
setStatus("ready")
5865
if (result) setNavigateEditor(true)
@@ -67,10 +74,12 @@ const useResource = (
6774
setNavigateEditor(true)
6875
} else {
6976
setStatus("loading edit")
70-
dispatch(loadResourceForEditor(resourceURI, errorKey)).then((result) => {
71-
setStatus("ready")
72-
if (result) setNavigateEditor(true)
73-
})
77+
dispatch(loadResourceForEditor(resourceURI, errorKey, {}, keycloak)).then(
78+
(result) => {
79+
setStatus("ready")
80+
if (result) setNavigateEditor(true)
81+
}
82+
)
7483
}
7584
}
7685

src/sinopiaApi.js

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -105,10 +105,7 @@ export const fetchResourceRelationships = (uri) => {
105105
}
106106

107107
// Fetches list of groups
108-
export const getGroups = () => {
109-
return Promise.resolve([{ id: "blue core",
110-
label: "Blue Core" }])
111-
}
108+
export const getGroups = () => Promise.resolve([{ id: "blue core", label: "Blue Core" }])
112109

113110
// Publishes (saves) a new resource
114111
export const postResource = (
@@ -252,17 +249,17 @@ const saveBodyForResource = (resource, user, group, editGroups) => {
252249

253250
return jsonldFromDataset(dataset).then((jsonld) =>
254251
JSON.stringify({
255-
data: jsonld,
256-
user,
257-
group,
258-
editGroups,
259-
templateId: resource.subjectTemplate.id,
260-
types: [resource.subjectTemplate.class],
261-
bfAdminMetadataRefs: resource.bfAdminMetadataRefs,
262-
sinopiaLocalAdminMetadataForRefs: resource.localAdminMetadataForRefs,
263-
bfItemRefs: resource.bfItemRefs,
264-
bfInstanceRefs: resource.bfInstanceRefs,
265-
bfWorkRefs: resource.bfWorkRefs,
252+
data: JSON.stringify(jsonld),
253+
// user,
254+
// group,
255+
// editGroups,
256+
// templateId: resource.subjectTemplate.id,
257+
// types: [resource.subjectTemplate.class],
258+
// bfAdminMetadataRefs: resource.bfAdminMetadataRefs,
259+
// sinopiaLocalAdminMetadataForRefs: resource.localAdminMetadataForRefs,
260+
// bfItemRefs: resource.bfItemRefs,
261+
// bfInstanceRefs: resource.bfInstanceRefs,
262+
// bfWorkRefs: resource.bfWorkRefs,
266263
})
267264
)
268265
}

src/utilities/SinopiaApiHelper.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export const checkResp = (resp) => {
1616
})
1717
.catch((err) => {
1818
if (err.name === "ApiError") throw err
19-
throw new Error(`Sinopia API returned ${resp.statusText}`)
19+
throw new Error(`Blue Core API returned ${resp.statusText}`)
2020
})
2121
}
2222

@@ -50,6 +50,4 @@ export const templateIdFor = (resource) => {
5050
return resourceIdProperty.values[0].literal
5151
}
5252

53-
export const getJwt = (keycloak) => {
54-
return keycloak.token
55-
}
53+
export const getJwt = (keycloak) => keycloak.token

0 commit comments

Comments
 (0)