Skip to content

Commit 3baec8f

Browse files
committed
apiKey: migrate to separate types file
1 parent fc58c79 commit 3baec8f

File tree

2 files changed

+22
-15
lines changed

2 files changed

+22
-15
lines changed

server/models/apiKey.ts

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { Schema, Model, InferSchemaType, model, Document } from 'mongoose';
1+
import { Schema, InferSchemaType } from 'mongoose';
2+
import { SanitisedApiKey } from '../types/apiKey';
23

34
export const apiKeySchema = new Schema(
45
{
@@ -13,23 +14,11 @@ apiKeySchema.virtual('id').get(function getApiKeyId() {
1314
return this._id.toHexString();
1415
});
1516

16-
interface ApiKeyVirtuals {
17+
export interface ApiKeyVirtuals {
1718
id: string;
1819
}
1920

20-
type ApiKeySchemaType = InferSchemaType<typeof apiKeySchema>;
21-
22-
export type ApiKeyDocument = Document & ApiKeySchemaType & ApiKeyVirtuals;
23-
24-
export type ApiKeyModel = Model<ApiKeyDocument>;
25-
26-
export const ApiKey = model<ApiKeyDocument, ApiKeyModel>(
27-
'ApiKey',
28-
apiKeySchema
29-
);
30-
31-
interface SanitisedApiKey
32-
extends Pick<ApiKeyDocument, 'id' | 'label' | 'lastUsedAt' | 'createdAt'> {}
21+
export type ApiKeySchemaType = InferSchemaType<typeof apiKeySchema>;
3322

3423
/**
3524
* When serialising an APIKey instance, the `hashedKey` field

server/types/apiKey.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import { Model, model, Document } from 'mongoose';
2+
import {
3+
ApiKeySchemaType,
4+
apiKeySchema,
5+
ApiKeyVirtuals
6+
} from '../models/apiKey';
7+
8+
export type ApiKeyDocument = Document & ApiKeySchemaType & ApiKeyVirtuals;
9+
10+
export type ApiKeyModel = Model<ApiKeyDocument>;
11+
12+
export const ApiKey = model<ApiKeyDocument, ApiKeyModel>(
13+
'ApiKey',
14+
apiKeySchema
15+
);
16+
17+
export interface SanitisedApiKey
18+
extends Pick<ApiKeyDocument, 'id' | 'label' | 'lastUsedAt' | 'createdAt'> {}

0 commit comments

Comments
 (0)