Compare commits
14 Commits
d466d05e79
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 7a83ba855b | |||
| 08eb28aae4 | |||
| 27b17f0ec3 | |||
| c9dabe2c09 | |||
| b8b5d3c26c | |||
| 6ee0bc6f24 | |||
| 82e47f3a47 | |||
| 59f8a6fdf9 | |||
| 04db25ec5a | |||
| 7cdbb872b4 | |||
| 1e9740bf51 | |||
| baba1b7ade | |||
| 55b9b80a4e | |||
| 5c969eb51a |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -23,3 +23,4 @@ pnpm-debug.log*
|
|||||||
# jetbrains setting folder
|
# jetbrains setting folder
|
||||||
.idea/
|
.idea/
|
||||||
data/
|
data/
|
||||||
|
example-data/.~lock.saldos.xlsx#
|
||||||
Binary file not shown.
14
scp.md
Normal file
14
scp.md
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
# SCP karkarcar.oier.ovh
|
||||||
|
|
||||||
|
|
||||||
|
## `~/.ssh/config`
|
||||||
|
```
|
||||||
|
Host karkarcar
|
||||||
|
Hostname 149.202.89.131
|
||||||
|
User ubuntu
|
||||||
|
IdentityFile ~/.ssh/id_rsa
|
||||||
|
```
|
||||||
|
|
||||||
|
- `scp RUTA.XLSX karkarcar:~/pmc/karkarcar-astro/data/saldos.xlsx`
|
||||||
|
- `ssh -t karkarcar 'cd ~/pmc/karkarcar-astro/; ./update.sh'`
|
||||||
|
|
||||||
@@ -37,7 +37,7 @@ export async function getUser(req: Request, options = authConfig): Promise<KarKa
|
|||||||
|
|
||||||
|
|
||||||
export interface UserAmount {
|
export interface UserAmount {
|
||||||
amount?: String | null;
|
amount?: number | null;
|
||||||
}
|
}
|
||||||
|
|
||||||
async function getUserAmount(email: String | null | undefined): Promise<UserAmount | null> {
|
async function getUserAmount(email: String | null | undefined): Promise<UserAmount | null> {
|
||||||
@@ -56,25 +56,8 @@ async function getUserAmount(email: String | null | undefined): Promise<UserAmou
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
let userData = data.filter(data => data.Email == email)
|
let userData = data.filter(data => data.Email == email)
|
||||||
|
if(userData[0] == undefined)
|
||||||
|
return{amount:0}
|
||||||
|
|
||||||
return {amount:userData[0]['Saldo Actual']};
|
return {amount:userData[0]['Saldo Actual'] ? userData[0]['Saldo Actual'] : 0};
|
||||||
}
|
|
||||||
|
|
||||||
function getUserData(){
|
|
||||||
const file = readFile(env.XLSX_AMOUNT_SOURCE);
|
|
||||||
let data = []
|
|
||||||
|
|
||||||
const sheets = file.SheetNames
|
|
||||||
|
|
||||||
for(let i = 0; i < sheets.length; i++)
|
|
||||||
{
|
|
||||||
const temp = utils.sheet_to_json(
|
|
||||||
file.Sheets[file.SheetNames[i]])
|
|
||||||
temp.forEach((res) => {
|
|
||||||
data.push(res)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
let userData = data.filter(data => data.Email == email)
|
|
||||||
|
|
||||||
return {amount:userData[0]['Saldo Actual']};
|
|
||||||
}
|
}
|
||||||
@@ -8,15 +8,17 @@ interface Props {
|
|||||||
const { session } = Astro.props;
|
const { session } = Astro.props;
|
||||||
---
|
---
|
||||||
|
|
||||||
<div class="p-4 rounded-lg bg-gray-100 my-4">
|
{session && session.userData && session.userData.amount? (
|
||||||
{session ? (
|
|
||||||
<div class="text-gray-700">
|
<div class="text-gray-700">
|
||||||
<h2 class="m-0 mb-4 text-slate-800">{session.user?.name} | {session.user?.email}</h2>
|
<h2 class="m-0 mb-4 text-slate-800">{session.user?.email}</h2>
|
||||||
<div class="bg-white p-4 rounded shadow-sm">
|
<div class="bg-white p-4 rounded shadow-sm">
|
||||||
<p>Zure saldoa: {session.userData.amount}</p>
|
<p>Saldo: <strong>{session.userData.amount}€</strong></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<p class="text-gray-600 italic">Sartu zure kontua</p>
|
<div>
|
||||||
)}
|
{session && session.userData &&<p>E-Mail okerra. E-Mail incorrecto</p>}
|
||||||
|
{session && session.userData && <em>{session.user?.email}</em>}
|
||||||
|
{session && session.userData && <p><strong>Bidali e-mail bat/Envia un correo a: <a href="mailto:j0s3b4@protomakers.club">j0s3b4@protomakers.club</a></strong></p>}
|
||||||
</div>
|
</div>
|
||||||
|
)}
|
||||||
@@ -18,14 +18,15 @@ const session = await getUser(Astro.request, config);
|
|||||||
<div class="flex justify-center">
|
<div class="flex justify-center">
|
||||||
<Image src={logo} alt="KarKarCar" class="max-w-xs" />
|
<Image src={logo} alt="KarKarCar" class="max-w-xs" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<UserInfo session={session} />
|
<UserInfo session={session} />
|
||||||
<KarKarCarAuth>
|
<KarKarCarAuth>
|
||||||
{(session: KarKarCarSession) => (
|
{(session: KarKarCarSession) => (
|
||||||
<>
|
<>
|
||||||
{session ?
|
{session ?
|
||||||
<SignOut class="px-8 py-4 bg-red-600 text-white rounded-lg hover:bg-red-700 transition-colors duration-200 font-medium text-xl">Logout</SignOut>
|
<SignOut class="px-8 py-4 text-white rounded-lg hover:bg-red-700 transition-colors duration-200 font-medium text-xl" style="background-color: #dc3545;">Irten/Salir</SignOut>
|
||||||
:
|
:
|
||||||
<SignIn provider="keycloak" class="px-8 py-4 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors duration-200 font-medium text-xl">Login</SignIn>
|
<SignIn provider="keycloak" class="px-8 py-4 text-white rounded-lg hover:bg-blue-700 transition-colors duration-200 font-medium text-xl" style="background-color: #005f7d;">Sartu/Entrar</SignIn>
|
||||||
}
|
}
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
|
|||||||
Reference in New Issue
Block a user