auto commit
This commit is contained in:
parent
5687bbc259
commit
9059ace0c0
@ -10,7 +10,7 @@ router.use(authMiddleware);
|
|||||||
|
|
||||||
// 지점별 API 키 생성
|
// 지점별 API 키 생성
|
||||||
router.post(
|
router.post(
|
||||||
"/branches/:branchId/api-keys",
|
"/:branchId/api-keys",
|
||||||
roleCheck(["super_admin", "company_admin"]),
|
roleCheck(["super_admin", "company_admin"]),
|
||||||
async (req, res, next) => {
|
async (req, res, next) => {
|
||||||
try {
|
try {
|
||||||
@ -36,15 +36,15 @@ router.post(
|
|||||||
|
|
||||||
// 지점별 API 키 목록 조회
|
// 지점별 API 키 목록 조회
|
||||||
router.get(
|
router.get(
|
||||||
"/branches/:branchId/api-keys",
|
"/:branchId/api-keys",
|
||||||
roleCheck(["super_admin", "company_admin"]),
|
roleCheck(["super_admin", "company_admin"]),
|
||||||
async (req, res, next) => {
|
async (req, res, next) => {
|
||||||
try {
|
try {
|
||||||
const apiKeys = await apiKeyService.listApiKeys(
|
const apiKey = await apiKeyService.listApiKey(
|
||||||
req.user.companyId,
|
req.user.companyId,
|
||||||
req.params.branchId
|
req.params.branchId
|
||||||
);
|
);
|
||||||
res.json(apiKeys);
|
res.json(apiKey);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
next(error);
|
next(error);
|
||||||
}
|
}
|
||||||
@ -53,7 +53,7 @@ router.get(
|
|||||||
|
|
||||||
// API 키 삭제
|
// API 키 삭제
|
||||||
router.delete(
|
router.delete(
|
||||||
"/api-keys/:apiKeyId",
|
"/:apiKeyId",
|
||||||
roleCheck(["super_admin", "company_admin"]),
|
roleCheck(["super_admin", "company_admin"]),
|
||||||
async (req, res, next) => {
|
async (req, res, next) => {
|
||||||
try {
|
try {
|
||||||
@ -67,7 +67,7 @@ router.delete(
|
|||||||
|
|
||||||
// API 키 활성화/비활성화
|
// API 키 활성화/비활성화
|
||||||
router.patch(
|
router.patch(
|
||||||
"/api-keys/:apiKeyId/status",
|
"/:apiKeyId/status",
|
||||||
roleCheck(["super_admin", "company_admin"]),
|
roleCheck(["super_admin", "company_admin"]),
|
||||||
async (req, res, next) => {
|
async (req, res, next) => {
|
||||||
try {
|
try {
|
||||||
@ -89,7 +89,7 @@ router.patch(
|
|||||||
|
|
||||||
// API 키 권한 업데이트
|
// API 키 권한 업데이트
|
||||||
router.put(
|
router.put(
|
||||||
"/api-keys/:apiKeyId/permissions",
|
"/:apiKeyId/permissions",
|
||||||
roleCheck(["super_admin", "company_admin"]),
|
roleCheck(["super_admin", "company_admin"]),
|
||||||
async (req, res, next) => {
|
async (req, res, next) => {
|
||||||
try {
|
try {
|
||||||
|
@ -40,7 +40,27 @@ router.get(
|
|||||||
if (!company) {
|
if (!company) {
|
||||||
return res.status(404).json({ message: "회사를 찾을 수 없습니다" });
|
return res.status(404).json({ message: "회사를 찾을 수 없습니다" });
|
||||||
}
|
}
|
||||||
res.json(company);
|
|
||||||
|
// API 응답 데이터 구조화
|
||||||
|
const response = {
|
||||||
|
...company.toJSON(),
|
||||||
|
Branches: company.Branches?.map((branch) => ({
|
||||||
|
...branch.toJSON(),
|
||||||
|
ApiKey: branch.ApiKey?.map((apiKey) => ({
|
||||||
|
id: apiKey.id,
|
||||||
|
keyName: apiKey.keyName,
|
||||||
|
apiKey: apiKey.apiKey,
|
||||||
|
permissions: apiKey.permissions,
|
||||||
|
description: apiKey.description,
|
||||||
|
isActive: apiKey.isActive,
|
||||||
|
lastUsedAt: apiKey.lastUsedAt,
|
||||||
|
createdAt: apiKey.createdAt,
|
||||||
|
updatedAt: apiKey.updatedAt,
|
||||||
|
})),
|
||||||
|
})),
|
||||||
|
};
|
||||||
|
|
||||||
|
res.json(response);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
next(error);
|
next(error);
|
||||||
}
|
}
|
||||||
|
@ -66,6 +66,7 @@ class Company extends Model {
|
|||||||
this.hasMany(models.User, { foreignKey: "companyId" });
|
this.hasMany(models.User, { foreignKey: "companyId" });
|
||||||
this.hasMany(models.Equipment, { foreignKey: "companyId" });
|
this.hasMany(models.Equipment, { foreignKey: "companyId" });
|
||||||
this.hasMany(models.MaintenanceLog, { foreignKey: "companyId" });
|
this.hasMany(models.MaintenanceLog, { foreignKey: "companyId" });
|
||||||
|
this.hasMany(models.ApiKey, { foreignKey: "companyId" });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ class ApiKeyService {
|
|||||||
/**
|
/**
|
||||||
* API 키 목록 조회
|
* API 키 목록 조회
|
||||||
*/
|
*/
|
||||||
async listApiKeys(companyId, branchId = null) {
|
async listApiKey(companyId, branchId = null) {
|
||||||
const where = { companyId };
|
const where = { companyId };
|
||||||
if (branchId) {
|
if (branchId) {
|
||||||
where.branchId = branchId;
|
where.branchId = branchId;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
// src/services/companies.service.js
|
// src/services/companies.service.js
|
||||||
const { Company, Branch, User, sequelize } = require("../models");
|
const { Company, Branch, User, ApiKey, sequelize } = require("../models");
|
||||||
const apiKeyService = require("./apiKey.service");
|
const apiKeyService = require("./apiKey.service");
|
||||||
const alertService = require("./alert.service");
|
const alertService = require("./alert.service");
|
||||||
const axios = require("axios");
|
const axios = require("axios");
|
||||||
@ -82,6 +82,12 @@ class CompanyService {
|
|||||||
model: Branch,
|
model: Branch,
|
||||||
where: { isActive: true },
|
where: { isActive: true },
|
||||||
required: false,
|
required: false,
|
||||||
|
include: [
|
||||||
|
{
|
||||||
|
model: ApiKey,
|
||||||
|
required: false,
|
||||||
|
},
|
||||||
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
model: User,
|
model: User,
|
||||||
|
@ -55,7 +55,7 @@ export function ApiKeyDialog({ branch, isOpen, onClose }: ApiKeyDialogProps) {
|
|||||||
const createApiKeyMutation = useMutation({
|
const createApiKeyMutation = useMutation({
|
||||||
mutationFn: async (data: ApiKeyFormData) => {
|
mutationFn: async (data: ApiKeyFormData) => {
|
||||||
const response = await api.post(
|
const response = await api.post(
|
||||||
`/api/v1/admin/branches/${branch.id}/api-keys`,
|
`/api/v1/admin/api-keys/${branch.id}/api-keys`,
|
||||||
data
|
data
|
||||||
);
|
);
|
||||||
return response.data;
|
return response.data;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// src/(admin)/company/branches/components/ApiKeySection.tsx
|
// src/(admin)/company/branches/components/ApiKeyection.tsx
|
||||||
import { Button } from "@/components/ui/button";
|
import { Button } from "@/components/ui/button";
|
||||||
import { Badge } from "@/components/ui/badge";
|
import { Badge } from "@/components/ui/badge";
|
||||||
import { useToast } from "@/hooks/use-toast";
|
import { useToast } from "@/hooks/use-toast";
|
||||||
@ -26,7 +26,7 @@ export function ApiKeySection({
|
|||||||
const queryClient = useQueryClient();
|
const queryClient = useQueryClient();
|
||||||
|
|
||||||
// API 키 상태 토글 mutation
|
// API 키 상태 토글 mutation
|
||||||
const toggleApiKeyStatusMutation = useMutation({
|
const toggleApiKeytatusMutation = useMutation({
|
||||||
mutationFn: async ({
|
mutationFn: async ({
|
||||||
apiKeyId,
|
apiKeyId,
|
||||||
isActive,
|
isActive,
|
||||||
@ -70,9 +70,9 @@ export function ApiKeySection({
|
|||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{branch.ApiKeys && branch.ApiKeys.length > 0 ? (
|
{branch.ApiKey && branch.ApiKey.length > 0 ? (
|
||||||
<div className="space-y-2">
|
<div className="space-y-2">
|
||||||
{branch.ApiKeys.map((apiKey) => (
|
{branch.ApiKey.map((apiKey) => (
|
||||||
<div
|
<div
|
||||||
key={apiKey.id}
|
key={apiKey.id}
|
||||||
className="flex items-center justify-between bg-gray-50 p-2 rounded"
|
className="flex items-center justify-between bg-gray-50 p-2 rounded"
|
||||||
@ -121,7 +121,7 @@ export function ApiKeySection({
|
|||||||
variant="outline"
|
variant="outline"
|
||||||
size="sm"
|
size="sm"
|
||||||
onClick={() =>
|
onClick={() =>
|
||||||
toggleApiKeyStatusMutation.mutate({
|
toggleApiKeytatusMutation.mutate({
|
||||||
apiKeyId: apiKey.id,
|
apiKeyId: apiKey.id,
|
||||||
isActive: !apiKey.isActive,
|
isActive: !apiKey.isActive,
|
||||||
})
|
})
|
||||||
|
@ -25,7 +25,7 @@ export function useApiKeyMutations(branchId: string) {
|
|||||||
const create = useMutation({
|
const create = useMutation({
|
||||||
mutationFn: async (data: ApiKeyFormData) => {
|
mutationFn: async (data: ApiKeyFormData) => {
|
||||||
const response = await api.post(
|
const response = await api.post(
|
||||||
`/api/v1/admin/branches/${branchId}/api-keys`,
|
`/api/v1/admin/api-keys/${branchId}/api-keys`,
|
||||||
data
|
data
|
||||||
);
|
);
|
||||||
return response.data;
|
return response.data;
|
||||||
|
@ -5,6 +5,7 @@ import { api } from "@/lib/api";
|
|||||||
import { useToast } from "@/hooks/use-toast";
|
import { useToast } from "@/hooks/use-toast";
|
||||||
import type { Branch } from "@/types/company";
|
import type { Branch } from "@/types/company";
|
||||||
import { handleApiError } from "../utils/api-helpers";
|
import { handleApiError } from "../utils/api-helpers";
|
||||||
|
import type { AxiosError } from "axios";
|
||||||
|
|
||||||
export function useBranchMutations() {
|
export function useBranchMutations() {
|
||||||
const { user } = useAuthStore();
|
const { user } = useAuthStore();
|
||||||
@ -26,10 +27,13 @@ export function useBranchMutations() {
|
|||||||
description: "지점이 생성되었습니다.",
|
description: "지점이 생성되었습니다.",
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
onError: (error: any) => {
|
onError: (error: unknown) => {
|
||||||
toast({
|
toast({
|
||||||
title: "오류",
|
title: "오류",
|
||||||
description: handleApiError(error, "지점 생성에 실패했습니다."),
|
description: handleApiError(
|
||||||
|
error as AxiosError,
|
||||||
|
"지점 생성에 실패했습니다."
|
||||||
|
),
|
||||||
variant: "destructive",
|
variant: "destructive",
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -47,10 +51,13 @@ export function useBranchMutations() {
|
|||||||
description: "지점이 수정되었습니다.",
|
description: "지점이 수정되었습니다.",
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
onError: (error: any) => {
|
onError: (error: unknown) => {
|
||||||
toast({
|
toast({
|
||||||
title: "오류",
|
title: "오류",
|
||||||
description: handleApiError(error, "지점 수정에 실패했습니다."),
|
description: handleApiError(
|
||||||
|
error as AxiosError,
|
||||||
|
"지점 수정에 실패했습니다."
|
||||||
|
),
|
||||||
variant: "destructive",
|
variant: "destructive",
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -67,10 +74,13 @@ export function useBranchMutations() {
|
|||||||
description: "지점이 삭제되었습니다.",
|
description: "지점이 삭제되었습니다.",
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
onError: (error: any) => {
|
onError: (error: unknown) => {
|
||||||
toast({
|
toast({
|
||||||
title: "오류",
|
title: "오류",
|
||||||
description: handleApiError(error, "지점 삭제에 실패했습니다."),
|
description: handleApiError(
|
||||||
|
error as AxiosError,
|
||||||
|
"지점 삭제에 실패했습니다."
|
||||||
|
),
|
||||||
variant: "destructive",
|
variant: "destructive",
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -28,8 +28,9 @@ export default function CompanyBranchesPage() {
|
|||||||
queryKey: ["company", user?.companyId],
|
queryKey: ["company", user?.companyId],
|
||||||
queryFn: async () => {
|
queryFn: async () => {
|
||||||
const { data } = await api.get<Company>(
|
const { data } = await api.get<Company>(
|
||||||
`/api/v1/admin/companies/${user?.companyId}?include=branches.apiKeys`
|
`/api/v1/admin/companies/${user?.companyId}?include=branches.apiKey`
|
||||||
);
|
);
|
||||||
|
console.log(data);
|
||||||
return data;
|
return data;
|
||||||
},
|
},
|
||||||
enabled: !!token && !!user?.companyId,
|
enabled: !!token && !!user?.companyId,
|
||||||
|
@ -14,7 +14,7 @@ export function useClipboard() {
|
|||||||
title: "복사 완료",
|
title: "복사 완료",
|
||||||
description: message,
|
description: message,
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch {
|
||||||
toast({
|
toast({
|
||||||
title: "오류",
|
title: "오류",
|
||||||
description: "복사에 실패했습니다.",
|
description: "복사에 실패했습니다.",
|
||||||
|
@ -1,41 +1,41 @@
|
|||||||
// src/(admin)/company/branches/utils/validators.ts
|
// src/(admin)/company/branches/utils/validators.ts
|
||||||
export function validateBranchForm(data: {
|
export function validateBranchForm(data: {
|
||||||
name?: string;
|
name?: string;
|
||||||
address?: string;
|
address?: string;
|
||||||
tel?: string;
|
tel?: string;
|
||||||
}) {
|
}) {
|
||||||
const errors: { [key: string]: string } = {};
|
const errors: { [key: string]: string } = {};
|
||||||
|
|
||||||
if (!data.name?.trim()) {
|
if (!data.name?.trim()) {
|
||||||
errors.name = "지점명을 입력해주세요.";
|
errors.name = "지점명을 입력해주세요.";
|
||||||
}
|
|
||||||
|
|
||||||
if (!data.address?.trim()) {
|
|
||||||
errors.address = "주소를 입력해주세요.";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!data.tel?.trim()) {
|
|
||||||
errors.tel = "연락처를 입력해주세요.";
|
|
||||||
} else if (!/^[0-9-]{9,20}$/.test(data.tel)) {
|
|
||||||
errors.tel = "올바른 연락처 형식이 아닙니다.";
|
|
||||||
}
|
|
||||||
|
|
||||||
return errors;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export function validateApiKeyForm(data: {
|
if (!data.address?.trim()) {
|
||||||
keyName?: string;
|
errors.address = "주소를 입력해주세요.";
|
||||||
permissions?: { [key: string]: boolean };
|
}
|
||||||
}) {
|
|
||||||
const errors: { [key: string]: string } = {};
|
if (!data.tel?.trim()) {
|
||||||
|
errors.tel = "연락처를 입력해주세요.";
|
||||||
if (!data.keyName?.trim()) {
|
} else if (!/^[0-9-]{9,20}$/.test(data.tel)) {
|
||||||
errors.keyName = "API 키 이름을 입력해주세요.";
|
errors.tel = "올바른 연락처 형식이 아닙니다.";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!data.permissions || Object.values(data.permissions).every((v) => !v)) {
|
return errors;
|
||||||
errors.permissions = "최소 하나 이상의 권한을 선택해주세요.";
|
}
|
||||||
}
|
|
||||||
|
export function validateApiKeyForm(data: {
|
||||||
return errors;
|
keyName?: string;
|
||||||
}
|
permissions?: { [key: string]: boolean };
|
||||||
|
}) {
|
||||||
|
const errors: { [key: string]: string } = {};
|
||||||
|
|
||||||
|
if (!data.keyName?.trim()) {
|
||||||
|
errors.keyName = "API 키 이름을 입력해주세요.";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!data.permissions || Object.values(data.permissions).every((v) => !v)) {
|
||||||
|
errors.permissions = "최소 하나 이상의 권한을 선택해주세요.";
|
||||||
|
}
|
||||||
|
|
||||||
|
return errors;
|
||||||
|
}
|
||||||
|
@ -27,7 +27,7 @@ api.interceptors.request.use((config) => {
|
|||||||
url: config.url,
|
url: config.url,
|
||||||
method: config.method,
|
method: config.method,
|
||||||
headers: config.headers,
|
headers: config.headers,
|
||||||
data: config.data instanceof FormData ? "FormData" : config.data,
|
data: config.data,
|
||||||
});
|
});
|
||||||
|
|
||||||
return config;
|
return config;
|
||||||
|
@ -25,7 +25,7 @@ export interface Branch {
|
|||||||
companyId: string;
|
companyId: string;
|
||||||
createdAt: string;
|
createdAt: string;
|
||||||
updatedAt: string;
|
updatedAt: string;
|
||||||
ApiKeys?: ApiKey[];
|
ApiKey?: ApiKey[];
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface User {
|
export interface User {
|
||||||
|
Binary file not shown.
@ -1,2 +1,2 @@
|
|||||||
fems:$7$101$igIGTBy6ri+x9pFB$n42BZ6/wfGtyGCsb2VCrx6zYpZeN+klA0tVeEiDVXW5u3hcaHtP3oMdE2GXjrHF99Mi1TLOkE3PhEAu4Z7ZcvQ==
|
fems:$7$101$q3QFZ5evPd43ePCI$Zx3ns8us3mWVa7mu1AcnjdQwNWW4ervIvYGxBOWvqLruISS0fw/1F6Pul1HxMXzlJuIVSpxAcyUTNBw5BXidOw==
|
||||||
nodered_user:$7$101$j41FU4YP2jvNUkmv$VznirNHKb5xT5Ybzt5lMvYK2LAHK2ditXvvLD9NhQdxznlP0DtoDr1tCp0QQ8rgbN8T03TSH0pUfUCwj8Ukntw==
|
nodered_user:$7$101$EKpRnHrJAJ+ZZhZ7$KAYnbifvvlJgL6mEYbZs0bCoK/PJR9jb3bhRxF6KOkeIeCYddJ1UikV7tEu7PqbPQVJ215BCEg9DfRxFN7QhbA==
|
||||||
|
@ -19896,3 +19896,199 @@ To fix this, use `chmod 0700 /mosquitto/config/passwd`.
|
|||||||
1732629045: New connection from ::1:44966 on port 1883.
|
1732629045: New connection from ::1:44966 on port 1883.
|
||||||
1732629045: New client connected from ::1:44966 as auto-9427648E-3FDC-FDE5-9CA5-CEBCF3D1901C (p2, c1, k60, u'fems').
|
1732629045: New client connected from ::1:44966 as auto-9427648E-3FDC-FDE5-9CA5-CEBCF3D1901C (p2, c1, k60, u'fems').
|
||||||
1732629045: Client auto-9427648E-3FDC-FDE5-9CA5-CEBCF3D1901C closed its connection.
|
1732629045: Client auto-9427648E-3FDC-FDE5-9CA5-CEBCF3D1901C closed its connection.
|
||||||
|
1732629075: New connection from ::1:45386 on port 1883.
|
||||||
|
1732629075: New client connected from ::1:45386 as auto-FD78FF64-FC64-DED7-AEE9-2E58F0274F45 (p2, c1, k60, u'fems').
|
||||||
|
1732629075: Client auto-FD78FF64-FC64-DED7-AEE9-2E58F0274F45 closed its connection.
|
||||||
|
1732629105: New connection from ::1:34944 on port 1883.
|
||||||
|
1732629105: New client connected from ::1:34944 as auto-A74F1B36-3F6D-37FB-C0D0-1E3E9B83F7E6 (p2, c1, k60, u'fems').
|
||||||
|
1732629105: Client auto-A74F1B36-3F6D-37FB-C0D0-1E3E9B83F7E6 closed its connection.
|
||||||
|
1732629112: mosquitto version 2.0.20 terminating
|
||||||
|
1732629112: Saving in-memory database to /mosquitto/data//mosquitto.db.
|
||||||
|
1732629322: mosquitto version 2.0.20 starting
|
||||||
|
1732629322: Config loaded from /mosquitto/config/mosquitto.conf.
|
||||||
|
1732629322: Opening ipv4 listen socket on port 1883.
|
||||||
|
1732629322: Opening ipv6 listen socket on port 1883.
|
||||||
|
1732629322: mosquitto version 2.0.20 running
|
||||||
|
1732629327: New connection from 172.19.0.9:40020 on port 1883.
|
||||||
|
1732629327: New client connected from 172.19.0.9:40020 as fems_realtime_39 (p2, c1, k60, u'fems').
|
||||||
|
1732629352: New connection from ::1:60884 on port 1883.
|
||||||
|
1732629352: New client connected from ::1:60884 as auto-3F2DE70B-1533-30BA-AA8C-6E9EE8C86668 (p2, c1, k60, u'fems').
|
||||||
|
1732629352: Client auto-3F2DE70B-1533-30BA-AA8C-6E9EE8C86668 closed its connection.
|
||||||
|
1732629382: New connection from ::1:55750 on port 1883.
|
||||||
|
1732629382: New client connected from ::1:55750 as auto-E3A9DB40-9B3C-CB4F-184B-3C3AFC7DDD89 (p2, c1, k60, u'fems').
|
||||||
|
1732629382: Client auto-E3A9DB40-9B3C-CB4F-184B-3C3AFC7DDD89 closed its connection.
|
||||||
|
1732629413: New connection from ::1:33680 on port 1883.
|
||||||
|
1732629413: New client connected from ::1:33680 as auto-6EFD7C0C-F802-CC60-127A-A289C940FDB5 (p2, c1, k60, u'fems').
|
||||||
|
1732629413: Client auto-6EFD7C0C-F802-CC60-127A-A289C940FDB5 closed its connection.
|
||||||
|
1732629443: New connection from ::1:50492 on port 1883.
|
||||||
|
1732629443: New client connected from ::1:50492 as auto-D822C594-9F70-A219-133F-F2D9C68E23C6 (p2, c1, k60, u'fems').
|
||||||
|
1732629443: Client auto-D822C594-9F70-A219-133F-F2D9C68E23C6 closed its connection.
|
||||||
|
1732629473: New connection from ::1:39702 on port 1883.
|
||||||
|
1732629473: New client connected from ::1:39702 as auto-C5FFEBEB-5432-D449-135C-2B5061E15E08 (p2, c1, k60, u'fems').
|
||||||
|
1732629473: Client auto-C5FFEBEB-5432-D449-135C-2B5061E15E08 closed its connection.
|
||||||
|
1732629503: New connection from ::1:52172 on port 1883.
|
||||||
|
1732629503: New client connected from ::1:52172 as auto-A701CE3D-33A1-053D-4B26-D5C0C24087EC (p2, c1, k60, u'fems').
|
||||||
|
1732629503: Client auto-A701CE3D-33A1-053D-4B26-D5C0C24087EC closed its connection.
|
||||||
|
1732629533: New connection from ::1:58534 on port 1883.
|
||||||
|
1732629533: New client connected from ::1:58534 as auto-AB71DAD5-FB91-D966-C048-16B85310503F (p2, c1, k60, u'fems').
|
||||||
|
1732629533: Client auto-AB71DAD5-FB91-D966-C048-16B85310503F closed its connection.
|
||||||
|
1732629563: New connection from ::1:35944 on port 1883.
|
||||||
|
1732629563: New client connected from ::1:35944 as auto-CF5F8388-EBC3-FE29-F00B-E85B15AA4A33 (p2, c1, k60, u'fems').
|
||||||
|
1732629563: Client auto-CF5F8388-EBC3-FE29-F00B-E85B15AA4A33 closed its connection.
|
||||||
|
1732629593: New connection from ::1:51218 on port 1883.
|
||||||
|
1732629593: New client connected from ::1:51218 as auto-EB22736F-B737-A07C-9A6D-1946D2DE846E (p2, c1, k60, u'fems').
|
||||||
|
1732629593: Client auto-EB22736F-B737-A07C-9A6D-1946D2DE846E closed its connection.
|
||||||
|
1732629623: New connection from ::1:56498 on port 1883.
|
||||||
|
1732629623: New client connected from ::1:56498 as auto-C8E65BF4-E65E-1F3D-55F7-B29BF4ABA11A (p2, c1, k60, u'fems').
|
||||||
|
1732629623: Client auto-C8E65BF4-E65E-1F3D-55F7-B29BF4ABA11A closed its connection.
|
||||||
|
1732629653: New connection from ::1:37804 on port 1883.
|
||||||
|
1732629653: New client connected from ::1:37804 as auto-F1493DBB-C292-4E5F-50A6-D2EAAD493C61 (p2, c1, k60, u'fems').
|
||||||
|
1732629654: Client auto-F1493DBB-C292-4E5F-50A6-D2EAAD493C61 closed its connection.
|
||||||
|
1732629684: New connection from ::1:42448 on port 1883.
|
||||||
|
1732629684: New client connected from ::1:42448 as auto-98D0F406-DE1A-B777-2612-B62FC852061E (p2, c1, k60, u'fems').
|
||||||
|
1732629684: Client auto-98D0F406-DE1A-B777-2612-B62FC852061E closed its connection.
|
||||||
|
1732629714: New connection from ::1:36744 on port 1883.
|
||||||
|
1732629714: New client connected from ::1:36744 as auto-7F1550C5-7A6B-F10C-D13B-C290273B3DFB (p2, c1, k60, u'fems').
|
||||||
|
1732629714: Client auto-7F1550C5-7A6B-F10C-D13B-C290273B3DFB closed its connection.
|
||||||
|
1732629744: New connection from ::1:56548 on port 1883.
|
||||||
|
1732629744: New client connected from ::1:56548 as auto-07F075A4-017F-9A2B-817D-E753CE8325B8 (p2, c1, k60, u'fems').
|
||||||
|
1732629744: Client auto-07F075A4-017F-9A2B-817D-E753CE8325B8 closed its connection.
|
||||||
|
1732629774: New connection from ::1:56728 on port 1883.
|
||||||
|
1732629774: New client connected from ::1:56728 as auto-427784B7-3CB8-9C1C-409F-EFB9C54C3F56 (p2, c1, k60, u'fems').
|
||||||
|
1732629774: Client auto-427784B7-3CB8-9C1C-409F-EFB9C54C3F56 closed its connection.
|
||||||
|
1732629804: New connection from ::1:48638 on port 1883.
|
||||||
|
1732629804: New client connected from ::1:48638 as auto-CE7649D7-1BAB-B92A-4F94-F6C4C86D5C56 (p2, c1, k60, u'fems').
|
||||||
|
1732629804: Client auto-CE7649D7-1BAB-B92A-4F94-F6C4C86D5C56 closed its connection.
|
||||||
|
1732629834: New connection from ::1:60850 on port 1883.
|
||||||
|
1732629834: New client connected from ::1:60850 as auto-CFFC9ECF-69AE-0F0F-7D16-5304D2978635 (p2, c1, k60, u'fems').
|
||||||
|
1732629834: Client auto-CFFC9ECF-69AE-0F0F-7D16-5304D2978635 closed its connection.
|
||||||
|
1732629864: New connection from ::1:49864 on port 1883.
|
||||||
|
1732629864: New client connected from ::1:49864 as auto-83C0C19D-73C0-6655-CB17-587A8313314E (p2, c1, k60, u'fems').
|
||||||
|
1732629864: Client auto-83C0C19D-73C0-6655-CB17-587A8313314E closed its connection.
|
||||||
|
1732629894: New connection from ::1:57872 on port 1883.
|
||||||
|
1732629894: New client connected from ::1:57872 as auto-A1A4BB7E-9B22-9003-C0EA-34C1036DC2D4 (p2, c1, k60, u'fems').
|
||||||
|
1732629894: Client auto-A1A4BB7E-9B22-9003-C0EA-34C1036DC2D4 closed its connection.
|
||||||
|
1732629924: New connection from ::1:38200 on port 1883.
|
||||||
|
1732629924: New client connected from ::1:38200 as auto-EA101EBA-F2D2-0BF6-9FFF-EDA43E8AA3CC (p2, c1, k60, u'fems').
|
||||||
|
1732629924: Client auto-EA101EBA-F2D2-0BF6-9FFF-EDA43E8AA3CC closed its connection.
|
||||||
|
1732629954: New connection from ::1:53360 on port 1883.
|
||||||
|
1732629954: New client connected from ::1:53360 as auto-F9BFE067-122B-F6DB-FBF7-C2C3992E3E60 (p2, c1, k60, u'fems').
|
||||||
|
1732629954: Client auto-F9BFE067-122B-F6DB-FBF7-C2C3992E3E60 closed its connection.
|
||||||
|
1732629984: New connection from ::1:55324 on port 1883.
|
||||||
|
1732629984: New client connected from ::1:55324 as auto-BF24765A-AB22-F6C6-CFB6-0628328EBBCE (p2, c1, k60, u'fems').
|
||||||
|
1732629984: Client auto-BF24765A-AB22-F6C6-CFB6-0628328EBBCE closed its connection.
|
||||||
|
1732630015: New connection from ::1:56400 on port 1883.
|
||||||
|
1732630015: New client connected from ::1:56400 as auto-9299CA5E-AEA3-EC88-1449-6E9EECB157B9 (p2, c1, k60, u'fems').
|
||||||
|
1732630015: Client auto-9299CA5E-AEA3-EC88-1449-6E9EECB157B9 closed its connection.
|
||||||
|
1732630045: New connection from ::1:59764 on port 1883.
|
||||||
|
1732630045: New client connected from ::1:59764 as auto-11788700-024D-F7D4-0E4B-94B56796B52E (p2, c1, k60, u'fems').
|
||||||
|
1732630045: Client auto-11788700-024D-F7D4-0E4B-94B56796B52E closed its connection.
|
||||||
|
1732630075: New connection from ::1:52552 on port 1883.
|
||||||
|
1732630075: New client connected from ::1:52552 as auto-7330B15D-7D61-495B-E89B-6D5846D0A11B (p2, c1, k60, u'fems').
|
||||||
|
1732630075: Client auto-7330B15D-7D61-495B-E89B-6D5846D0A11B closed its connection.
|
||||||
|
1732630105: New connection from ::1:58806 on port 1883.
|
||||||
|
1732630105: New client connected from ::1:58806 as auto-DC0E6C19-4069-FC85-75F3-467FB7EC87F7 (p2, c1, k60, u'fems').
|
||||||
|
1732630105: Client auto-DC0E6C19-4069-FC85-75F3-467FB7EC87F7 closed its connection.
|
||||||
|
1732630135: New connection from ::1:42120 on port 1883.
|
||||||
|
1732630135: New client connected from ::1:42120 as auto-8F731C90-1EF0-DC87-0C97-C0D717F6BA1C (p2, c1, k60, u'fems').
|
||||||
|
1732630135: Client auto-8F731C90-1EF0-DC87-0C97-C0D717F6BA1C closed its connection.
|
||||||
|
1732630165: New connection from ::1:51042 on port 1883.
|
||||||
|
1732630165: New client connected from ::1:51042 as auto-894A940C-B290-093E-E459-4929730E77B8 (p2, c1, k60, u'fems').
|
||||||
|
1732630165: Client auto-894A940C-B290-093E-E459-4929730E77B8 closed its connection.
|
||||||
|
1732630195: New connection from ::1:47002 on port 1883.
|
||||||
|
1732630195: New client connected from ::1:47002 as auto-CA7C0103-2526-EE8B-945A-C76102F26C45 (p2, c1, k60, u'fems').
|
||||||
|
1732630195: Client auto-CA7C0103-2526-EE8B-945A-C76102F26C45 closed its connection.
|
||||||
|
1732630225: New connection from ::1:38018 on port 1883.
|
||||||
|
1732630225: New client connected from ::1:38018 as auto-BB69E25B-EAF3-3521-A55F-E12D13B6B892 (p2, c1, k60, u'fems').
|
||||||
|
1732630225: Client auto-BB69E25B-EAF3-3521-A55F-E12D13B6B892 closed its connection.
|
||||||
|
1732630255: New connection from ::1:37828 on port 1883.
|
||||||
|
1732630255: New client connected from ::1:37828 as auto-CF725643-925B-4744-9509-E058C1D4F27F (p2, c1, k60, u'fems').
|
||||||
|
1732630255: Client auto-CF725643-925B-4744-9509-E058C1D4F27F closed its connection.
|
||||||
|
1732630285: New connection from ::1:47102 on port 1883.
|
||||||
|
1732630285: New client connected from ::1:47102 as auto-418F7408-AAC9-89B9-2C52-4531E31CB507 (p2, c1, k60, u'fems').
|
||||||
|
1732630285: Client auto-418F7408-AAC9-89B9-2C52-4531E31CB507 closed its connection.
|
||||||
|
1732630316: New connection from ::1:37320 on port 1883.
|
||||||
|
1732630316: New client connected from ::1:37320 as auto-16AC7439-97D4-6779-D051-AE3AD1A76729 (p2, c1, k60, u'fems').
|
||||||
|
1732630316: Client auto-16AC7439-97D4-6779-D051-AE3AD1A76729 closed its connection.
|
||||||
|
1732630346: New connection from ::1:49948 on port 1883.
|
||||||
|
1732630346: New client connected from ::1:49948 as auto-8056EFBA-8078-BEAD-803D-E27B711588EF (p2, c1, k60, u'fems').
|
||||||
|
1732630346: Client auto-8056EFBA-8078-BEAD-803D-E27B711588EF closed its connection.
|
||||||
|
1732630376: New connection from ::1:46162 on port 1883.
|
||||||
|
1732630376: New client connected from ::1:46162 as auto-A2E2F4F0-D697-2876-D0F1-83B2AA124B7B (p2, c1, k60, u'fems').
|
||||||
|
1732630376: Client auto-A2E2F4F0-D697-2876-D0F1-83B2AA124B7B closed its connection.
|
||||||
|
1732630406: New connection from ::1:37436 on port 1883.
|
||||||
|
1732630406: New client connected from ::1:37436 as auto-FE2C9BC6-0AF5-055C-70B0-E7478F7DB95E (p2, c1, k60, u'fems').
|
||||||
|
1732630406: Client auto-FE2C9BC6-0AF5-055C-70B0-E7478F7DB95E closed its connection.
|
||||||
|
1732630436: New connection from ::1:44684 on port 1883.
|
||||||
|
1732630436: New client connected from ::1:44684 as auto-C4BFA9F3-AA18-557D-92F5-807AA347F5BF (p2, c1, k60, u'fems').
|
||||||
|
1732630436: Client auto-C4BFA9F3-AA18-557D-92F5-807AA347F5BF closed its connection.
|
||||||
|
1732630466: New connection from ::1:40046 on port 1883.
|
||||||
|
1732630466: New client connected from ::1:40046 as auto-8FC6D53D-5DA4-66D2-E268-BAE61A101C88 (p2, c1, k60, u'fems').
|
||||||
|
1732630466: Client auto-8FC6D53D-5DA4-66D2-E268-BAE61A101C88 closed its connection.
|
||||||
|
1732630496: New connection from ::1:60636 on port 1883.
|
||||||
|
1732630496: New client connected from ::1:60636 as auto-6F228534-DDD5-6346-4F44-1DE1471DFE6B (p2, c1, k60, u'fems').
|
||||||
|
1732630496: Client auto-6F228534-DDD5-6346-4F44-1DE1471DFE6B closed its connection.
|
||||||
|
1732630526: New connection from ::1:57594 on port 1883.
|
||||||
|
1732630526: New client connected from ::1:57594 as auto-82CC0D1A-4214-739B-579F-63809CB8EB00 (p2, c1, k60, u'fems').
|
||||||
|
1732630526: Client auto-82CC0D1A-4214-739B-579F-63809CB8EB00 closed its connection.
|
||||||
|
1732630556: New connection from ::1:36442 on port 1883.
|
||||||
|
1732630556: New client connected from ::1:36442 as auto-C4A716AC-D5D8-3A25-F117-86C4EA5F6C58 (p2, c1, k60, u'fems').
|
||||||
|
1732630556: Client auto-C4A716AC-D5D8-3A25-F117-86C4EA5F6C58 closed its connection.
|
||||||
|
1732630586: New connection from ::1:58244 on port 1883.
|
||||||
|
1732630586: New client connected from ::1:58244 as auto-17A1A40F-2A6B-1C1A-F6BC-AD8D2CB0127E (p2, c1, k60, u'fems').
|
||||||
|
1732630586: Client auto-17A1A40F-2A6B-1C1A-F6BC-AD8D2CB0127E closed its connection.
|
||||||
|
1732630616: New connection from ::1:57282 on port 1883.
|
||||||
|
1732630616: New client connected from ::1:57282 as auto-3B7E536C-B2BE-F395-993C-8615E17A8C4C (p2, c1, k60, u'fems').
|
||||||
|
1732630616: Client auto-3B7E536C-B2BE-F395-993C-8615E17A8C4C closed its connection.
|
||||||
|
1732630647: New connection from ::1:59600 on port 1883.
|
||||||
|
1732630647: New client connected from ::1:59600 as auto-CEC19FD0-4AF6-0D5B-5006-22535323439B (p2, c1, k60, u'fems').
|
||||||
|
1732630647: Client auto-CEC19FD0-4AF6-0D5B-5006-22535323439B closed its connection.
|
||||||
|
1732630677: New connection from ::1:36040 on port 1883.
|
||||||
|
1732630677: New client connected from ::1:36040 as auto-5BB5712C-2871-EC23-B36B-37CD15CFAC91 (p2, c1, k60, u'fems').
|
||||||
|
1732630677: Client auto-5BB5712C-2871-EC23-B36B-37CD15CFAC91 closed its connection.
|
||||||
|
1732630707: New connection from ::1:60820 on port 1883.
|
||||||
|
1732630707: New client connected from ::1:60820 as auto-2A2FBB5D-A4F8-223D-D3A5-FF05AF130E19 (p2, c1, k60, u'fems').
|
||||||
|
1732630707: Client auto-2A2FBB5D-A4F8-223D-D3A5-FF05AF130E19 closed its connection.
|
||||||
|
1732630737: New connection from ::1:34816 on port 1883.
|
||||||
|
1732630737: New client connected from ::1:34816 as auto-14788CDF-8C98-8933-DFF6-A65DDF56842F (p2, c1, k60, u'fems').
|
||||||
|
1732630737: Client auto-14788CDF-8C98-8933-DFF6-A65DDF56842F closed its connection.
|
||||||
|
1732630767: New connection from ::1:44158 on port 1883.
|
||||||
|
1732630767: New client connected from ::1:44158 as auto-7901C273-27E7-608C-B8E2-AC8037D03F67 (p2, c1, k60, u'fems').
|
||||||
|
1732630767: Client auto-7901C273-27E7-608C-B8E2-AC8037D03F67 closed its connection.
|
||||||
|
1732630797: New connection from ::1:49174 on port 1883.
|
||||||
|
1732630797: New client connected from ::1:49174 as auto-7B6B4F6F-ECAD-59DA-AD8A-ABF059B50B92 (p2, c1, k60, u'fems').
|
||||||
|
1732630797: Client auto-7B6B4F6F-ECAD-59DA-AD8A-ABF059B50B92 closed its connection.
|
||||||
|
1732630827: New connection from ::1:38140 on port 1883.
|
||||||
|
1732630827: New client connected from ::1:38140 as auto-F7CF1C75-E943-FC23-E901-E8F14E441B43 (p2, c1, k60, u'fems').
|
||||||
|
1732630827: Client auto-F7CF1C75-E943-FC23-E901-E8F14E441B43 closed its connection.
|
||||||
|
1732630857: New connection from ::1:43010 on port 1883.
|
||||||
|
1732630857: New client connected from ::1:43010 as auto-DE1241C8-7B7A-3975-450A-B1296B5BFE0D (p2, c1, k60, u'fems').
|
||||||
|
1732630857: Client auto-DE1241C8-7B7A-3975-450A-B1296B5BFE0D closed its connection.
|
||||||
|
1732630887: New connection from ::1:58772 on port 1883.
|
||||||
|
1732630887: New client connected from ::1:58772 as auto-10FF2A45-6AAD-F7E8-8BF2-31BC72C7CA5C (p2, c1, k60, u'fems').
|
||||||
|
1732630887: Client auto-10FF2A45-6AAD-F7E8-8BF2-31BC72C7CA5C closed its connection.
|
||||||
|
1732630918: New connection from ::1:48248 on port 1883.
|
||||||
|
1732630918: New client connected from ::1:48248 as auto-4C601577-DF62-4FAA-9679-6A316DFEDE3A (p2, c1, k60, u'fems').
|
||||||
|
1732630918: Client auto-4C601577-DF62-4FAA-9679-6A316DFEDE3A closed its connection.
|
||||||
|
1732630948: New connection from ::1:58850 on port 1883.
|
||||||
|
1732630948: New client connected from ::1:58850 as auto-434B9BA2-47B6-6E65-D1E4-F95426C83A38 (p2, c1, k60, u'fems').
|
||||||
|
1732630948: Client auto-434B9BA2-47B6-6E65-D1E4-F95426C83A38 closed its connection.
|
||||||
|
1732630978: New connection from ::1:54174 on port 1883.
|
||||||
|
1732630978: New client connected from ::1:54174 as auto-24E2013D-3112-EB36-58BB-D65A0BA5F3B4 (p2, c1, k60, u'fems').
|
||||||
|
1732630978: Client auto-24E2013D-3112-EB36-58BB-D65A0BA5F3B4 closed its connection.
|
||||||
|
1732631008: New connection from ::1:45918 on port 1883.
|
||||||
|
1732631008: New client connected from ::1:45918 as auto-EB9459A6-29DD-0AEF-07EF-D7FD657446DC (p2, c1, k60, u'fems').
|
||||||
|
1732631008: Client auto-EB9459A6-29DD-0AEF-07EF-D7FD657446DC closed its connection.
|
||||||
|
1732631038: New connection from ::1:43602 on port 1883.
|
||||||
|
1732631038: New client connected from ::1:43602 as auto-ABFF2110-A649-2187-BFF9-0A75C1C4F65E (p2, c1, k60, u'fems').
|
||||||
|
1732631038: Client auto-ABFF2110-A649-2187-BFF9-0A75C1C4F65E closed its connection.
|
||||||
|
1732631068: New connection from ::1:60504 on port 1883.
|
||||||
|
1732631068: New client connected from ::1:60504 as auto-293DE4B3-C9B5-9749-6A37-E35B0AFFA77E (p2, c1, k60, u'fems').
|
||||||
|
1732631068: Client auto-293DE4B3-C9B5-9749-6A37-E35B0AFFA77E closed its connection.
|
||||||
|
1732631098: New connection from ::1:33252 on port 1883.
|
||||||
|
1732631098: New client connected from ::1:33252 as auto-9EE983C1-3E27-1A79-89C4-85D500DAFC5C (p2, c1, k60, u'fems').
|
||||||
|
1732631098: Client auto-9EE983C1-3E27-1A79-89C4-85D500DAFC5C closed its connection.
|
||||||
|
1732631123: Saving in-memory database to /mosquitto/data//mosquitto.db.
|
||||||
|
1732631128: New connection from ::1:52958 on port 1883.
|
||||||
|
1732631128: New client connected from ::1:52958 as auto-4D2D363C-D504-BF71-21B3-4E1E43F9C7D1 (p2, c1, k60, u'fems').
|
||||||
|
1732631128: Client auto-4D2D363C-D504-BF71-21B3-4E1E43F9C7D1 closed its connection.
|
||||||
|
@ -153,3 +153,11 @@
|
|||||||
{"environment":"development","level":"warn","message":"Reconnecting to MQTT broker (attempt 1)","service":"fems-edge","timestamp":"2024-11-26 21:23:57"}
|
{"environment":"development","level":"warn","message":"Reconnecting to MQTT broker (attempt 1)","service":"fems-edge","timestamp":"2024-11-26 21:23:57"}
|
||||||
{"environment":"development","level":"info","message":"Connected to MQTT broker","service":"fems-edge","timestamp":"2024-11-26 21:23:57"}
|
{"environment":"development","level":"info","message":"Connected to MQTT broker","service":"fems-edge","timestamp":"2024-11-26 21:23:57"}
|
||||||
{"environment":"development","level":"info","message":"Subscribed to data/+/+/+/#","service":"fems-edge","timestamp":"2024-11-26 21:23:57"}
|
{"environment":"development","level":"info","message":"Subscribed to data/+/+/+/#","service":"fems-edge","timestamp":"2024-11-26 21:23:57"}
|
||||||
|
{"environment":"development","error":"connect ECONNREFUSED 172.19.0.2:5433","level":"warn","message":"Failed to connect to services, attempt 1/30","service":"fems-edge","services":"{\"timescaledb\":false,\"redis\":false}","timestamp":"2024-11-26 22:55:24"}
|
||||||
|
{"environment":"development","level":"info","message":"Successfully connected to TimescaleDB","service":"fems-edge","timestamp":"2024-11-26 22:55:26"}
|
||||||
|
{"environment":"development","level":"info","message":"Successfully connected to Redis","service":"fems-edge","timestamp":"2024-11-26 22:55:26"}
|
||||||
|
{"environment":"development","level":"info","message":"All services are connected","service":"fems-edge","timestamp":"2024-11-26 22:55:26"}
|
||||||
|
{"broker":"mqtt://fems-mqtt:1883","clientId":"fems_realtime_39","environment":"development","level":"info","message":"Connecting to MQTT broker...","service":"fems-edge","timestamp":"2024-11-26 22:55:26"}
|
||||||
|
{"environment":"development","level":"info","message":"Connected to MQTT broker","service":"fems-edge","timestamp":"2024-11-26 22:55:27"}
|
||||||
|
{"environment":"development","level":"info","message":"Realtime backend server running on port 3004","service":"fems-edge","timestamp":"2024-11-26 22:55:27"}
|
||||||
|
{"environment":"development","level":"info","message":"Subscribed to data/+/+/+/#","service":"fems-edge","timestamp":"2024-11-26 22:55:27"}
|
||||||
|
@ -153,3 +153,11 @@
|
|||||||
{"environment":"development","level":"warn","message":"Reconnecting to MQTT broker (attempt 1)","service":"fems-edge","timestamp":"2024-11-26 21:23:57"}
|
{"environment":"development","level":"warn","message":"Reconnecting to MQTT broker (attempt 1)","service":"fems-edge","timestamp":"2024-11-26 21:23:57"}
|
||||||
{"environment":"development","level":"info","message":"Connected to MQTT broker","service":"fems-edge","timestamp":"2024-11-26 21:23:57"}
|
{"environment":"development","level":"info","message":"Connected to MQTT broker","service":"fems-edge","timestamp":"2024-11-26 21:23:57"}
|
||||||
{"environment":"development","level":"info","message":"Subscribed to data/+/+/+/#","service":"fems-edge","timestamp":"2024-11-26 21:23:57"}
|
{"environment":"development","level":"info","message":"Subscribed to data/+/+/+/#","service":"fems-edge","timestamp":"2024-11-26 21:23:57"}
|
||||||
|
{"environment":"development","error":"connect ECONNREFUSED 172.19.0.2:5433","level":"warn","message":"Failed to connect to services, attempt 1/30","service":"fems-edge","services":"{\"timescaledb\":false,\"redis\":false}","timestamp":"2024-11-26 22:55:24"}
|
||||||
|
{"environment":"development","level":"info","message":"Successfully connected to TimescaleDB","service":"fems-edge","timestamp":"2024-11-26 22:55:26"}
|
||||||
|
{"environment":"development","level":"info","message":"Successfully connected to Redis","service":"fems-edge","timestamp":"2024-11-26 22:55:26"}
|
||||||
|
{"environment":"development","level":"info","message":"All services are connected","service":"fems-edge","timestamp":"2024-11-26 22:55:26"}
|
||||||
|
{"broker":"mqtt://fems-mqtt:1883","clientId":"fems_realtime_39","environment":"development","level":"info","message":"Connecting to MQTT broker...","service":"fems-edge","timestamp":"2024-11-26 22:55:26"}
|
||||||
|
{"environment":"development","level":"info","message":"Connected to MQTT broker","service":"fems-edge","timestamp":"2024-11-26 22:55:27"}
|
||||||
|
{"environment":"development","level":"info","message":"Realtime backend server running on port 3004","service":"fems-edge","timestamp":"2024-11-26 22:55:27"}
|
||||||
|
{"environment":"development","level":"info","message":"Subscribed to data/+/+/+/#","service":"fems-edge","timestamp":"2024-11-26 22:55:27"}
|
||||||
|
Loading…
Reference in New Issue
Block a user