2023-04-14 13:13:53 +00:00
|
|
|
import DB from "../database";
|
|
|
|
import { ModelDataBase } from "@hibas123/safe_mongo/lib/model";
|
|
|
|
import { ObjectId } from "mongodb";
|
|
|
|
import { v4 } from "uuid";
|
|
|
|
|
|
|
|
export interface IClient extends ModelDataBase {
|
|
|
|
maintainer: ObjectId;
|
|
|
|
internal: boolean;
|
|
|
|
name: string;
|
|
|
|
redirect_url: string;
|
|
|
|
website: string;
|
|
|
|
logo?: string;
|
|
|
|
client_id: string;
|
|
|
|
client_secret: string;
|
|
|
|
featured?: boolean;
|
|
|
|
description?: string;
|
|
|
|
}
|
|
|
|
|
|
|
|
const Client = DB.addModel<IClient>({
|
|
|
|
name: "client",
|
|
|
|
versions: [
|
|
|
|
{
|
|
|
|
migration: () => { },
|
|
|
|
schema: {
|
|
|
|
maintainer: { type: ObjectId },
|
|
|
|
internal: { type: Boolean, default: false },
|
|
|
|
name: { type: String },
|
|
|
|
redirect_url: { type: String },
|
|
|
|
website: { type: String },
|
|
|
|
logo: { type: String, optional: true },
|
|
|
|
client_id: { type: String, default: () => v4() },
|
|
|
|
client_secret: { type: String },
|
|
|
|
featured: { type: Boolean, optional: true },
|
|
|
|
description: { type: String, optional: true },
|
|
|
|
},
|
|
|
|
},
|
|
|
|
],
|
|
|
|
});
|
|
|
|
|
|
|
|
export default Client;
|