first commit
This commit is contained in:
28
calcom/packages/app-store/getNormalizedAppMetadata.ts
Normal file
28
calcom/packages/app-store/getNormalizedAppMetadata.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
import type { AppMeta } from "@calcom/types/App";
|
||||
|
||||
// We have to import all the booker-apps config/metadata in here as without that we couldn't
|
||||
import type { appStoreMetadata as rawAppStoreMetadata } from "./apps.metadata.generated";
|
||||
import { getAppAssetFullPath } from "./getAppAssetFullPath";
|
||||
|
||||
type RawAppStoreMetaData = typeof rawAppStoreMetadata;
|
||||
type AppStoreMetaData = {
|
||||
[key in keyof RawAppStoreMetaData]: AppMeta;
|
||||
};
|
||||
|
||||
export const getNormalizedAppMetadata = (appMeta: RawAppStoreMetaData[keyof RawAppStoreMetaData]) => {
|
||||
const dirName = "dirName" in appMeta ? appMeta.dirName : appMeta.slug;
|
||||
if (!dirName) {
|
||||
throw new Error(`Couldn't derive dirName for app ${appMeta.name}`);
|
||||
}
|
||||
const metadata = {
|
||||
appData: null,
|
||||
dirName,
|
||||
__template: "",
|
||||
...appMeta,
|
||||
} as Omit<AppStoreMetaData[keyof AppStoreMetaData], "dirName"> & { dirName: string };
|
||||
metadata.logo = getAppAssetFullPath(metadata.logo, {
|
||||
dirName,
|
||||
isTemplate: metadata.isTemplate,
|
||||
});
|
||||
return metadata;
|
||||
};
|
||||
Reference in New Issue
Block a user