diff --git a/src/layouts/LayoutUser.svelte b/src/layouts/LayoutUser.svelte
index c205f14..27837a3 100644
--- a/src/layouts/LayoutUser.svelte
+++ b/src/layouts/LayoutUser.svelte
@@ -3,48 +3,53 @@
diff --git a/src/pages/personas/Form.svelte b/src/pages/personas/Form.svelte
index 2e86817..adbcffc 100644
--- a/src/pages/personas/Form.svelte
+++ b/src/pages/personas/Form.svelte
@@ -1,29 +1,42 @@
@@ -83,4 +96,19 @@
Dirección
+
+
+
+
+
+ {#if form.rut}
+

+ {/if}
+
+
+ Fotografia
+
+ form.photo = inputFile}>
+
+
\ No newline at end of file
diff --git a/src/pages/personas/Persona.svelte b/src/pages/personas/Persona.svelte
index cf99dbf..84244de 100644
--- a/src/pages/personas/Persona.svelte
+++ b/src/pages/personas/Persona.svelte
@@ -16,7 +16,7 @@
const params = useParams()
const navigate = useNavigate()
let es_nuevo = true;
- let form = {}
+ let form = { photo: null }
let loading = false;
let escritura = false
diff --git a/src/services/gtfs_archivo.js b/src/services/gtfs_archivo.js
index b3d5a82..6849d06 100644
--- a/src/services/gtfs_archivo.js
+++ b/src/services/gtfs_archivo.js
@@ -23,8 +23,6 @@ export async function getGtfsArchivoId(id) {
export async function createGtfsArchivo(data) {
const form = new FormData()
- const directorioUpload = '/uploads'
- form.append('ruta_archivo', directorioUpload)
form.append('status', 'PENDIENTE')
for (let key in data) {
if (key === 'archivo') {
diff --git a/src/services/personas.js b/src/services/personas.js
index cff1cf7..3ccae5d 100644
--- a/src/services/personas.js
+++ b/src/services/personas.js
@@ -19,21 +19,50 @@ export async function getPersona(rut) {
}
export async function createPersona(data) {
+ const form = new FormData()
+ for (const key in data) {
+ if (data[key]?.files?.length) {
+ form.append(key, data[key].files[0], data[key].files[0].name)
+ } else {
+ form.append(key, data[key] || '')
+ }
+ }
+
const res = await fetch(`${base}/personas/`, {
method: 'POST',
- body: JSON.stringify(data),
- headers: { "Authorization": `Bearer ${getToken()}`, "Content-Type": "application/json" }
+ body: form,
+ headers: { "Authorization": `Bearer ${getToken()}` }
})
if (!res.ok) throw await res.text()
return res.json()
}
export async function updatePersona({ rut: id = null, ...data }) {
+ console.log({ data })
+ const form = new FormData()
+ for (const key in data) {
+ if (data[key]?.files?.length) {
+ form.append(key, data[key].files[0], data[key].files[0].name)
+ } else {
+ form.append(key, data[key] || '')
+ }
+ }
+
const res = await fetch(`${base}/personas/${id}/`, {
method: 'PATCH',
- body: JSON.stringify(data),
- headers: { "Authorization": `Bearer ${getToken()}`, "Content-Type": "application/json" }
+ body: form,
+ headers: { "Authorization": `Bearer ${getToken()}` }
})
if (!res.ok) throw await res.text()
return res.json()
+}
+
+export async function getPhoto(id) {
+ const res = await fetch(`${base}/personas/photo/?id=${id}`, {
+ headers: { "Authorization": `Bearer ${getToken()}` }
+ })
+ if (!res.ok) throw await res.text()
+
+ const blob = await res.blob()
+ return URL.createObjectURL(blob);
}
\ No newline at end of file