import { getAdminClient, formatPropertyPath } from "../../client.js";
import type { GetPropertyDetailsInput, PropertyDetails } from "../../types.js";
/**
* プロパティの詳細情報を取得
*/
export async function getPropertyDetails(
input: GetPropertyDetailsInput
): Promise<PropertyDetails> {
const client = getAdminClient();
const propertyPath = formatPropertyPath(input.propertyId);
const [property] = await client.getProperty({
name: propertyPath,
});
if (!property) {
throw new Error(`プロパティが見つかりません: ${input.propertyId}`);
}
return {
propertyId: input.propertyId,
displayName: property.displayName || "",
timeZone: property.timeZone || "",
currencyCode: property.currencyCode || "",
industryCategory: property.industryCategory
? String(property.industryCategory)
: undefined,
serviceLevel: property.serviceLevel
? String(property.serviceLevel)
: undefined,
createTime: property.createTime
? new Date(
Number(property.createTime.seconds) * 1000
).toISOString()
: undefined,
updateTime: property.updateTime
? new Date(
Number(property.updateTime.seconds) * 1000
).toISOString()
: undefined,
};
}