@nu-art/file-upload
Version:
File Uploader - Express & Typescript based backend framework
60 lines • 1.84 kB
JavaScript
import { convertUpperCamelCase, tsValidateBoolean, tsValidateDynamicObject, tsValidateExists, tsValidateMustExist, tsValidateNonMandatoryObject, tsValidateNumber, tsValidateRegexp, tsValidateString } from '@nu-art/ts-common';
import { AssetDBGroup } from './types.js';
const Validator_ModifiableProps = {
name: tsValidateRegexp(/^.{3,}$/),
ext: tsValidateExists(true),
feId: tsValidateExists(true),
mimeType: tsValidateExists(true),
key: tsValidateExists(true),
};
const Validator_GeneratedProps = {
md5Hash: tsValidateExists(false),
path: tsValidateExists(true),
bucketName: tsValidateExists(true),
public: tsValidateBoolean(false),
metadata: tsValidateDynamicObject(tsValidateMustExist, tsValidateString(), false),
timestamp: tsValidateNumber(),
signedUrl: tsValidateNonMandatoryObject({
url: tsValidateString(),
validUntil: tsValidateNumber()
})
};
export const DBDef_Assets = {
modifiablePropsValidator: Validator_ModifiableProps,
generatedPropsValidator: Validator_GeneratedProps,
versions: ['1.0.2', '1.0.1', '1.0.0'],
dbKey: 'assets',
entityName: convertUpperCamelCase('Assets', '-').toLowerCase(),
frontend: {
group: AssetDBGroup,
name: 'asset'
},
backend: {
name: 'assets',
}
};
export const DBDef_TempAssets = {
...DBDef_Assets,
dbKey: 'assets-temp',
entityName: 'assets-temp',
frontend: {
group: AssetDBGroup,
name: 'temp'
},
backend: {
name: 'assets-temp',
}
};
export const DBDef_TempDeleted = {
...DBDef_Assets,
dbKey: 'assets-deleted',
entityName: 'assets-deleted',
frontend: {
group: AssetDBGroup,
name: 'deleted'
},
backend: {
name: 'assets-deleted',
}
};
//# sourceMappingURL=db-def.js.map