feat: register user instance

This commit is contained in:
Ephraim Atta-Duncan
2024-06-03 19:38:52 +00:00
parent 0dfc41f423
commit bafaf3b95e
11 changed files with 87 additions and 21 deletions

View File

@ -0,0 +1,42 @@
import { nanoid } from 'nanoid';
import { getSiteSettings } from '../site-settings/get-site-settings';
import {
SITE_SETTINGS_TELEMETRY_ID,
ZSiteSettingsTelemetrySchema,
} from '../site-settings/schemas/telemetry';
import { upsertSiteSetting } from '../site-settings/upsert-site-setting';
import { sendInstance } from './send-instance';
export const registerInstance = async () => {
const instanceResponse = await getSiteSettings().then((settings) =>
settings.find((setting) => setting.id === SITE_SETTINGS_TELEMETRY_ID),
);
const instance = ZSiteSettingsTelemetrySchema.parse(instanceResponse);
if (!instance) {
const upsert = await upsertSiteSetting({
data: {
instanceId: nanoid(),
},
enabled: true,
id: SITE_SETTINGS_TELEMETRY_ID,
userId: null,
});
const instance = ZSiteSettingsTelemetrySchema.parse(upsert);
return await sendInstance({
uniqueId: instance.data?.instanceId,
timestamp: new Date(),
version: '1.2.3',
});
}
return await sendInstance({
uniqueId: instance.data.instanceId,
timestamp: new Date(),
version: '1.2.3',
});
};