feat: add unsubscribe functionality for push notifications and update key/cert file paths
All checks were successful
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 2m39s
All checks were successful
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 2m39s
This commit is contained in:
26
frontend/vue-app/cert.pem
Normal file
26
frontend/vue-app/cert.pem
Normal file
@@ -0,0 +1,26 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEUzCCArugAwIBAgIRALRJa2ilQ8v+EFymYZzq1QwwDQYJKoZIhvcNAQELBQAw
|
||||
gYUxHjAcBgNVBAoTFW1rY2VydCBkZXZlbG9wbWVudCBDQTEtMCsGA1UECwwkREVT
|
||||
S1RPUC1BVTkwRzZKXFJ5YW5AREVTS1RPUC1BVTkwRzZKMTQwMgYDVQQDDCtta2Nl
|
||||
cnQgREVTS1RPUC1BVTkwRzZKXFJ5YW5AREVTS1RPUC1BVTkwRzZKMB4XDTI2MDQy
|
||||
MDE3NDgxMloXDTI4MDcyMDE3NDgxMlowWDEnMCUGA1UEChMebWtjZXJ0IGRldmVs
|
||||
b3BtZW50IGNlcnRpZmljYXRlMS0wKwYDVQQLDCRERVNLVE9QLUFVOTBHNkpcUnlh
|
||||
bkBERVNLVE9QLUFVOTBHNkowggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
|
||||
AQDSijE/wk+T6UtHD14HGMJmuHxAxkPh8NQvt6lLwdz5MlhK4U6UhOtpWSFlbWtb
|
||||
ba7EmlMITSSQz1+iIklLe5M0fCFjkRd+yzl87vr2p9WipwFTgt9geYr4xnvWdrZs
|
||||
MGWhOVeAyohqURSbALCJ3YzTGylG/z/HUmFM/c11owZUs6GwgB+7/dtdn00I828p
|
||||
bDFgod5R662dkN3V1SgRIEqyX0h9NvliQt61HmxJLYGQa/gbp2QWPYEiH6na1qnh
|
||||
2haEfw3oSX1r/cQb1NtRFUSuSYl8H6X2b58JlksfJzsFuwUzEcm9zDSKnjdiyj3a
|
||||
m78U7iucH9ZFQoGq9uYN+ccdAgMBAAGjajBoMA4GA1UdDwEB/wQEAwIFoDATBgNV
|
||||
HSUEDDAKBggrBgEFBQcDATAfBgNVHSMEGDAWgBTHXLAyWx5zwtrc7Q87br5QC813
|
||||
CTAgBgNVHREEGTAXgglsb2NhbGhvc3SHBH8AAAGHBMCoAWYwDQYJKoZIhvcNAQEL
|
||||
BQADggGBAIbnwtzqhJykQNs5VWqjZk064gpM1aVg2ADXN5zo556WVccHVkOIkRtf
|
||||
PVMjFDytZvjdtQMcMbaSLbB+TXCtToACe55TQh6b6ekM+KQPs1DIbjNJA8AP3w1y
|
||||
oocgl37Cxhk8GJDYFjwD6ahGmWmo4Fcv5EVL2XMFVVZsUiKZixpyNPJUkqReesuV
|
||||
HJgII++9Ho7+P7dxmD+MutF9qV3flpoSSz7Mboz8RQbsHgxwWaNwAuULRt5v9TWc
|
||||
yJL9UA8xXIOanfRjkrydybjGg4m8t+In7ELcetQ0N+ONr4u+Ym/Ip9YqqUFVBZuX
|
||||
sFIn39k9NDoDZbnIyET7H1qGWinTPCNKXfbTCp9DQ/QlbNJPLoadK2nMQ2Qf7D2P
|
||||
eQO1W151co4LE5ckUE5lZChqCvykPL5JwUsGp0ZX633kzqQC4pCZFi02EhdfpQC+
|
||||
ZWRRoi3WwAY7pEZcLeAOd1ys1U684OsoC2YV8O22B9QT2MfGdkE+zpVHu+dyEk9f
|
||||
Tu6d0+4QkA==
|
||||
-----END CERTIFICATE-----
|
||||
28
frontend/vue-app/key.pem
Normal file
28
frontend/vue-app/key.pem
Normal file
@@ -0,0 +1,28 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDSijE/wk+T6UtH
|
||||
D14HGMJmuHxAxkPh8NQvt6lLwdz5MlhK4U6UhOtpWSFlbWtbba7EmlMITSSQz1+i
|
||||
IklLe5M0fCFjkRd+yzl87vr2p9WipwFTgt9geYr4xnvWdrZsMGWhOVeAyohqURSb
|
||||
ALCJ3YzTGylG/z/HUmFM/c11owZUs6GwgB+7/dtdn00I828pbDFgod5R662dkN3V
|
||||
1SgRIEqyX0h9NvliQt61HmxJLYGQa/gbp2QWPYEiH6na1qnh2haEfw3oSX1r/cQb
|
||||
1NtRFUSuSYl8H6X2b58JlksfJzsFuwUzEcm9zDSKnjdiyj3am78U7iucH9ZFQoGq
|
||||
9uYN+ccdAgMBAAECggEBAIeU7ro8i7qY1h1gzBCN5UL5MysTgsuRp1NDVwauRXtE
|
||||
7I7sIQqLvn4NI/CJUkWCkLWTHD2QUCfhI5jps4GkhtuZxHa2DQdeIBtQWtVUp8Mj
|
||||
ATuiX+9k1hX22/D0ae2qDQiSQMNzqf2tUTOwcf+WaQXZy+8omQ3nAznth85lucH4
|
||||
8MwMQKqnFdwGId5HrD+zMskf66tGsTLynHJI+rGEz/k+OJMzpONycFNB7evH6Ktx
|
||||
1zonWpaj/P8sD/81l36FjM3PvDImG5T/OjEy18xe01dYTtrruqnhH/XZzFT5IMQm
|
||||
Jek4b9rjet9YHQo1Ylpnok37MP5RigBiUf5WD3F5joECgYEA4HT1dhQSUfTxd960
|
||||
BZKrWr/bXCbFz1arkyIwYV6IIiBnGLp5gvB/RoYrqfytH3Q6YR825WLKNHZggr/c
|
||||
TgVTfhlTRGjD6oOoVjvQl3fIdiOXuPB1bVRgMV/llUf5YFv9Z7hbUZWxuszDDjg5
|
||||
pggG2PKL5K6B1WOQ8HTNNQHQ1ZkCgYEA8CCOAbagAKrea5HLFG3fkI3h31f+/vML
|
||||
JVr6Rf2xEVBM2pB3MjjYzULB7zlGJijw3SevVPTS5fhjLSa8ZhNUbGKN6085ZsdF
|
||||
M7zzQCQvLu0I+oaBZqy2ip1tPuLRCYgYJw4Slv/IPLogL9+BHBs2m7Wm4ATrLrP0
|
||||
qiA0VRGjKCUCgYAkiWVbbzD8Pk8AIDRVo+ZYw1pFydnxQj5zmOEfOHAYfgXKNLCK
|
||||
6/ML29NHvGXB9P17ycT52fboS0yye+C0opFQuXagcB1UE1JXly0BOvJaqLiN1jaH
|
||||
MXDnGKEah7jEQrUhKRVUVnWz3pjxu51GtY/HyNOUygNAZRC204yD0GPaIQKBgAuZ
|
||||
pwKSLfyaRJBxxJvCCxDSqdy+RYVPfHRbhsemz80EUhIk9H0qnd6coP3LiIYDaE9m
|
||||
wWObSCzv6Oqfem579JIf2LdLZnx+l+s974pjtRvRO6POp6WsJk1f+Y0WK/8H4hLQ
|
||||
7Tj6NlQosbFeXMBc2DCBgARGeI4TB3jIgX6ykW05AoGAWIelo59lbSDgVvW9WRKm
|
||||
T8bTKVfhAtNLbF0AtXGiwcWj7fu4ARAcIp1HIunNJHJ8nBwX3b2dSVk+1r1cEtZ1
|
||||
ci37D+2dsKZpVB10J4bXPeeCOZxAwFXXe1Prl1ectR6E3V9uT+8Xwuoc4cbHtHLG
|
||||
CursqqBnIAFhvhxjj85QGv4=
|
||||
-----END PRIVATE KEY-----
|
||||
@@ -12,10 +12,14 @@ import {
|
||||
hasPendingReturnUrl,
|
||||
clearPendingReturnUrl,
|
||||
} from '../../stores/auth'
|
||||
import { getCachedImageUrl, getCachedImageBlob } from '@/common/imageCache'
|
||||
import { getCachedImageBlob } from '@/common/imageCache'
|
||||
import '@/assets/styles.css'
|
||||
import ModalDialog from './ModalDialog.vue'
|
||||
import { subscribeToPushWithResult, isPushOptedOut } from '@/services/pushSubscription'
|
||||
import {
|
||||
subscribeToPushWithResult,
|
||||
unsubscribeFromPush,
|
||||
isPushOptedOut,
|
||||
} from '@/services/pushSubscription'
|
||||
|
||||
const router = useRouter()
|
||||
const show = ref(false)
|
||||
@@ -157,6 +161,7 @@ function handlePinInput(event: Event) {
|
||||
}
|
||||
|
||||
const handleLogout = () => {
|
||||
unsubscribeFromPush()
|
||||
logoutParent()
|
||||
router.push('/child')
|
||||
}
|
||||
|
||||
@@ -12,8 +12,8 @@ export default defineConfig(({ mode }) => {
|
||||
server: {
|
||||
host: '0.0.0.0',
|
||||
https: {
|
||||
key: fs.readFileSync('./192.168.1.102+1-key.pem'),
|
||||
cert: fs.readFileSync('./192.168.1.102+1.pem'),
|
||||
key: fs.readFileSync('./key.pem'),
|
||||
cert: fs.readFileSync('./cert.pem'),
|
||||
},
|
||||
proxy: {
|
||||
'/api': {
|
||||
|
||||
Reference in New Issue
Block a user