Combine /services and /platforms
This commit is contained in:
parent
e4c1836862
commit
12cf156af3
@ -15,7 +15,7 @@ import { HiOutlineCog } from 'react-icons/hi';
|
||||
import ChecklistGroup from '@/components/ChecklistGroup';
|
||||
import { ConfigChecklistStatus } from '../app-core/config';
|
||||
import StatusIcon from '@/components/StatusIcon';
|
||||
import { labelForStorage } from '@/services/storage';
|
||||
import { labelForStorage } from '@/platforms/storage';
|
||||
import { HiSparkles } from 'react-icons/hi';
|
||||
import { testConnectionsAction } from '@/admin/actions';
|
||||
import ErrorNote from '@/components/ErrorNote';
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { getStorageUploadUrlsNoStore } from '@/services/storage/cache';
|
||||
import { getStorageUploadUrlsNoStore } from '@/platforms/storage/cache';
|
||||
import {
|
||||
getPhotosMetaCached,
|
||||
getPhotosMostRecentUpdateCached,
|
||||
|
||||
@ -12,7 +12,7 @@ import AdminPhotosTableInfinite from '@/admin/AdminPhotosTableInfinite';
|
||||
import PathLoaderButton from '@/components/primitives/PathLoaderButton';
|
||||
import { PATH_ADMIN_OUTDATED } from '@/app-core/paths';
|
||||
import { Photo } from '@/photo';
|
||||
import { StorageListResponse } from '@/services/storage';
|
||||
import { StorageListResponse } from '@/platforms/storage';
|
||||
import { useState } from 'react';
|
||||
import { LiaBroomSolid } from 'react-icons/lia';
|
||||
import AdminUploadsTable from './AdminUploadsTable';
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
'use client';
|
||||
|
||||
import { StorageListResponse } from '@/services/storage';
|
||||
import { StorageListResponse } from '@/platforms/storage';
|
||||
import AdminAddAllUploads from './AdminAddAllUploads';
|
||||
import { useMemo, useState } from 'react';
|
||||
import { Tags } from '@/tag';
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
import ImageSmall from '@/components/image/ImageSmall';
|
||||
import Spinner from '@/components/Spinner';
|
||||
import { getIdFromStorageUrl } from '@/services/storage';
|
||||
import { getIdFromStorageUrl } from '@/platforms/storage';
|
||||
import { clsx } from 'clsx/lite';
|
||||
import { FaRegCircleCheck } from 'react-icons/fa6';
|
||||
import { pathForAdminUploadUrl } from '@/app-core/paths';
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
'use server';
|
||||
|
||||
import { runAuthenticatedAdminServerAction } from '@/auth';
|
||||
import { testKvConnection } from '@/services/kv';
|
||||
import { testOpenAiConnection } from '@/services/openai';
|
||||
import { testDatabaseConnection } from '@/services/postgres';
|
||||
import { testStorageConnection } from '@/services/storage';
|
||||
import { testKvConnection } from '@/platforms/kv';
|
||||
import { testOpenAiConnection } from '@/platforms/openai';
|
||||
import { testDatabaseConnection } from '@/platforms/postgres';
|
||||
import { testStorageConnection } from '@/platforms/storage';
|
||||
import { APP_CONFIGURATION } from '@/app-core/config';
|
||||
|
||||
const scanForError = (
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import { Photo } from '@/photo';
|
||||
import { absolutePathForPhoto } from './paths';
|
||||
import { formatDateFromPostgresString } from '@/utility/date';
|
||||
import { getNextImageUrlForRequest } from '@/services/next-image';
|
||||
import { getNextImageUrlForRequest } from '@/platforms/next-image';
|
||||
|
||||
export const API_PHOTO_REQUEST_LIMIT = 40;
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@ import {
|
||||
AI_AUTO_GENERATED_FIELDS_DEFAULT,
|
||||
parseAiAutoGeneratedFieldsString,
|
||||
} from '@/photo/ai';
|
||||
import type { StorageType } from '@/services/storage';
|
||||
import type { StorageType } from '@/platforms/storage';
|
||||
import { makeUrlAbsolute, shortenUrl } from '@/utility/url';
|
||||
|
||||
// HARD-CODED GLOBAL CONFIGURATION
|
||||
|
||||
@ -8,7 +8,7 @@ import {
|
||||
IS_PREVIEW,
|
||||
} from '@/app-core/config';
|
||||
import { blurImageFromUrl, resizeImageFromUrl } from '@/photo/server';
|
||||
import { getNextImageUrlForManipulation } from '@/services/next-image';
|
||||
import { getNextImageUrlForManipulation } from '@/platforms/next-image';
|
||||
|
||||
export default async function PhotoEditPage({
|
||||
params,
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { getStoragePhotoUrlsNoStore } from '@/services/storage/cache';
|
||||
import { getStoragePhotoUrlsNoStore } from '@/platforms/storage/cache';
|
||||
import { getPhotos } from '@/photo/db/query';
|
||||
import { getPhotosMetaCached } from '@/photo/cache';
|
||||
import { OUTDATED_THRESHOLD } from '@/photo';
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { getStorageUploadUrlsNoStore } from '@/services/storage/cache';
|
||||
import { getStorageUploadUrlsNoStore } from '@/platforms/storage/cache';
|
||||
import SiteGrid from '@/components/SiteGrid';
|
||||
import { getUniqueTagsCached } from '@/photo/cache';
|
||||
import AdminUploadsClient from '@/admin/AdminUploadsClient';
|
||||
|
||||
@ -2,11 +2,11 @@ import { auth } from '@/auth';
|
||||
import {
|
||||
awsS3Client,
|
||||
awsS3PutObjectCommandForKey,
|
||||
} from '@/services/storage/aws-s3';
|
||||
} from '@/platforms/storage/aws-s3';
|
||||
import {
|
||||
cloudflareR2Client,
|
||||
cloudflareR2PutObjectCommandForKey,
|
||||
} from '@/services/storage/cloudflare-r2';
|
||||
} from '@/platforms/storage/cloudflare-r2';
|
||||
import { CURRENT_STORAGE } from '@/app-core/config';
|
||||
import { getSignedUrl } from '@aws-sdk/s3-request-presigner';
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@ import {
|
||||
ACCEPTED_PHOTO_FILE_TYPES,
|
||||
MAX_PHOTO_UPLOAD_SIZE_IN_BYTES,
|
||||
} from '@/photo';
|
||||
import { isUploadPathnameValid } from '@/services/storage';
|
||||
import { isUploadPathnameValid } from '@/platforms/storage';
|
||||
import { handleUpload, type HandleUploadBody } from '@vercel/blob/client';
|
||||
import { NextResponse } from 'next/server';
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@ import exifr from 'exifr';
|
||||
import { clsx } from 'clsx/lite';
|
||||
import { ACCEPTED_PHOTO_FILE_TYPES } from '@/photo';
|
||||
import { FiUploadCloud } from 'react-icons/fi';
|
||||
import { MAX_IMAGE_SIZE } from '@/services/next-image';
|
||||
import { MAX_IMAGE_SIZE } from '@/platforms/next-image';
|
||||
import ProgressButton from './primitives/ProgressButton';
|
||||
|
||||
const INPUT_ID = 'file';
|
||||
|
||||
@ -9,7 +9,7 @@ import {
|
||||
isCameraApple,
|
||||
} from '@/camera';
|
||||
import { IoMdCamera } from 'react-icons/io';
|
||||
import { NextImageSize } from '@/services/next-image';
|
||||
import { NextImageSize } from '@/platforms/next-image';
|
||||
import { AiFillApple } from 'react-icons/ai';
|
||||
|
||||
export default function CameraImageResponse({
|
||||
|
||||
@ -8,7 +8,7 @@ import {
|
||||
import PhotoFilmSimulationIcon from
|
||||
'@/simulation/PhotoFilmSimulationIcon';
|
||||
import { FilmSimulation } from '@/simulation';
|
||||
import { NextImageSize } from '@/services/next-image';
|
||||
import { NextImageSize } from '@/platforms/next-image';
|
||||
|
||||
export default function FilmSimulationImageResponse({
|
||||
simulation,
|
||||
|
||||
@ -2,7 +2,7 @@ import type { Photo } from '../photo';
|
||||
import ImageCaption from './components/ImageCaption';
|
||||
import ImagePhotoGrid from './components/ImagePhotoGrid';
|
||||
import ImageContainer from './components/ImageContainer';
|
||||
import type { NextImageSize } from '@/services/next-image';
|
||||
import type { NextImageSize } from '@/platforms/next-image';
|
||||
import { TbCone } from 'react-icons/tb';
|
||||
import { formatFocalLength } from '@/focal';
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@ import { Photo } from '../photo';
|
||||
import ImageCaption from './components/ImageCaption';
|
||||
import ImageContainer from './components/ImageContainer';
|
||||
import ImagePhotoGrid from './components/ImagePhotoGrid';
|
||||
import { NextImageSize } from '@/services/next-image';
|
||||
import { NextImageSize } from '@/platforms/next-image';
|
||||
|
||||
export default function HomeImageResponse({
|
||||
photos,
|
||||
|
||||
@ -4,7 +4,7 @@ import ImageCaption from './components/ImageCaption';
|
||||
import ImagePhotoGrid from './components/ImagePhotoGrid';
|
||||
import ImageContainer from './components/ImageContainer';
|
||||
import { OG_TEXT_BOTTOM_ALIGNMENT } from '@/app-core/config';
|
||||
import { NextImageSize } from '@/services/next-image';
|
||||
import { NextImageSize } from '@/platforms/next-image';
|
||||
import { cameraFromPhoto, formatCameraText } from '@/camera';
|
||||
|
||||
export default function PhotoImageResponse({
|
||||
|
||||
@ -3,7 +3,7 @@ import { FaStar, FaTag } from 'react-icons/fa';
|
||||
import ImageCaption from './components/ImageCaption';
|
||||
import ImagePhotoGrid from './components/ImagePhotoGrid';
|
||||
import ImageContainer from './components/ImageContainer';
|
||||
import type { NextImageSize } from '@/services/next-image';
|
||||
import type { NextImageSize } from '@/platforms/next-image';
|
||||
import { formatTag, isTagFavs } from '@/tag';
|
||||
|
||||
export default function TagImageResponse({
|
||||
|
||||
@ -2,7 +2,7 @@ import { Photo } from '../photo';
|
||||
import IconFeed from '@/app-core/IconFeed';
|
||||
import IconGrid from '@/app-core/IconGrid';
|
||||
import ImagePhotoGrid from './components/ImagePhotoGrid';
|
||||
import { NextImageSize } from '@/services/next-image';
|
||||
import { NextImageSize } from '@/platforms/next-image';
|
||||
|
||||
export default function TemplateImageResponse({
|
||||
photos,
|
||||
|
||||
@ -4,7 +4,7 @@ import { Photo } from '@/photo';
|
||||
import {
|
||||
NextImageSize,
|
||||
getNextImageUrlForRequest,
|
||||
} from '@/services/next-image';
|
||||
} from '@/platforms/next-image';
|
||||
import { IS_PREVIEW } from '@/app-core/config';
|
||||
|
||||
export default function ImagePhotoGrid({
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { NextImageSize } from '@/services/next-image';
|
||||
import { NextImageSize } from '@/platforms/next-image';
|
||||
import { getDimensionsFromSize } from '@/utility/size';
|
||||
|
||||
export const MAX_PHOTOS_TO_SHOW_OG = 12;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
'use client';
|
||||
|
||||
import { useState } from 'react';
|
||||
import { uploadPhotoFromClient } from '@/services/storage';
|
||||
import { uploadPhotoFromClient } from '@/platforms/storage';
|
||||
import { useRouter } from 'next/navigation';
|
||||
import { PATH_ADMIN_UPLOADS, pathForAdminUploadUrl } from '@/app-core/paths';
|
||||
import ImageInput from '../components/ImageInput';
|
||||
|
||||
@ -18,7 +18,7 @@ import {
|
||||
convertPhotoToFormData,
|
||||
} from './form';
|
||||
import { redirect } from 'next/navigation';
|
||||
import { deleteFile } from '@/services/storage';
|
||||
import { deleteFile } from '@/platforms/storage';
|
||||
import {
|
||||
getPhotosCached,
|
||||
getPhotosMetaCached,
|
||||
@ -39,7 +39,7 @@ import { TAG_FAVS, isTagFavs } from '@/tag';
|
||||
import { convertPhotoToPhotoDbInsert, Photo } from '.';
|
||||
import { runAuthenticatedAdminServerAction } from '@/auth';
|
||||
import { AiImageQuery, getAiImageQuery } from './ai';
|
||||
import { streamOpenAiImageQuery } from '@/services/openai';
|
||||
import { streamOpenAiImageQuery } from '@/platforms/openai';
|
||||
import {
|
||||
AI_TEXT_AUTO_GENERATED_FIELDS,
|
||||
AI_TEXT_GENERATION_ENABLED,
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { generateOpenAiImageQuery } from '@/services/openai';
|
||||
import { generateOpenAiImageQuery } from '@/platforms/openai';
|
||||
import {
|
||||
AiAutoGeneratedField,
|
||||
getAiImageQuery,
|
||||
|
||||
@ -2,7 +2,7 @@ import {
|
||||
sql,
|
||||
query,
|
||||
convertArrayToPostgresString,
|
||||
} from '@/services/postgres';
|
||||
} from '@/platforms/postgres';
|
||||
import {
|
||||
PhotoDb,
|
||||
PhotoDbInsert,
|
||||
|
||||
@ -26,7 +26,7 @@ import Spinner from '@/components/Spinner';
|
||||
import usePreventNavigation from '@/utility/usePreventNavigation';
|
||||
import { useAppState } from '@/state/AppState';
|
||||
import UpdateBlurDataButton from '../UpdateBlurDataButton';
|
||||
import { getNextImageUrlForManipulation } from '@/services/next-image';
|
||||
import { getNextImageUrlForManipulation } from '@/platforms/next-image';
|
||||
import { BLUR_ENABLED, IS_PREVIEW } from '@/app-core/config';
|
||||
import { PhotoDbInsert } from '..';
|
||||
import ErrorNote from '@/components/ErrorNote';
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import { Camera } from '@/camera';
|
||||
import { formatFocalLength } from '@/focal';
|
||||
import { Lens } from '@/lens';
|
||||
import { getNextImageUrlForRequest } from '@/services/next-image';
|
||||
import { getNextImageUrlForRequest } from '@/platforms/next-image';
|
||||
import { FilmSimulation } from '@/simulation';
|
||||
import {
|
||||
HIGH_DENSITY_GRID,
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import {
|
||||
getExtensionFromStorageUrl,
|
||||
getIdFromStorageUrl,
|
||||
} from '@/services/storage';
|
||||
} from '@/platforms/storage';
|
||||
import { convertExifToFormData } from '@/photo/form';
|
||||
import {
|
||||
getFujifilmSimulationFromMakerNote,
|
||||
|
||||
@ -5,7 +5,7 @@ import {
|
||||
getExtensionFromStorageUrl,
|
||||
moveFile,
|
||||
putFile,
|
||||
} from '@/services/storage';
|
||||
} from '@/platforms/storage';
|
||||
import { removeGpsData } from './server';
|
||||
|
||||
export const convertUploadToPhoto = async ({
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { unstable_noStore } from 'next/cache';
|
||||
import { getStoragePhotoUrls, getStorageUploadUrls } from '@/services/storage';
|
||||
import { getStoragePhotoUrls, getStorageUploadUrls } from '@/platforms/storage';
|
||||
|
||||
export const getStorageUploadUrlsNoStore: typeof getStorageUploadUrls =
|
||||
(...args) => {
|
||||
Loading…
Reference in New Issue
Block a user