@chevre/domain
Version:
Chevre Domain Library for Node.js
62 lines (61 loc) • 2.27 kB
TypeScript
import { Connection, FilterQuery, QueryOptions } from 'mongoose';
import * as factory from '../factory';
export type ISavingIdentityProvider = Pick<factory.identityProvider.IIdentityProvider, 'identifier' | 'project' | 'typeOf'> & {
id?: never;
};
interface IUnset {
$unset?: {
[key: string]: 1;
};
}
type IIdentityProviderWithId = factory.identityProvider.IIdentityProvider & {
id: string;
};
type IKeyOfProjection = keyof factory.identityProvider.IIdentityProvider;
/**
* IDPリポジトリ
*/
export declare class IdentityProviderRepo {
private readonly identityProviderModel;
constructor(connection: Connection);
static CREATE_FILTER_QUERY(params: factory.identityProvider.ISearchConditions): FilterQuery<factory.identityProvider.IIdentityProvider>[];
save(params: {
id?: string;
attributes: ISavingIdentityProvider & IUnset;
}): Promise<{
id: string;
}>;
projectFields(conditions: factory.identityProvider.ISearchConditions, inclusion: IKeyOfProjection[]): Promise<IIdentityProviderWithId[]>;
deleteById(params: {
id: string;
project: {
id: string;
};
}): Promise<void>;
getCursor(conditions: any, projection: any): import("mongoose").Cursor<import("mongoose").Document<unknown, {}, {
identifier: string;
project: Pick<factory.project.IProject, "id" | "typeOf">;
typeOf: factory.organizationType.Organization;
}> & {
identifier: string;
project: Pick<factory.project.IProject, "id" | "typeOf">;
typeOf: factory.organizationType.Organization;
} & {
_id: import("mongoose").Types.ObjectId;
}, QueryOptions<import("mongoose").Document<unknown, {}, {
identifier: string;
project: Pick<factory.project.IProject, "id" | "typeOf">;
typeOf: factory.organizationType.Organization;
}> & {
identifier: string;
project: Pick<factory.project.IProject, "id" | "typeOf">;
typeOf: factory.organizationType.Organization;
} & {
_id: import("mongoose").Types.ObjectId;
}>>;
unsetUnnecessaryFields(params: {
filter: any;
$unset: any;
}): Promise<import("mongoose").UpdateWriteOpResult>;
}
export {};