@infrab4a/connect 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -0
- package/bundles/infrab4a-connect.umd.js +1074 -0
- package/bundles/infrab4a-connect.umd.js.map +1 -0
- package/esm2015/infrab4a-connect.js +5 -0
- package/esm2015/lib/domain/general/index.js +3 -0
- package/esm2015/lib/domain/general/model/base-model-with-identifier-fields.js +2 -0
- package/esm2015/lib/domain/general/model/base.model.js +13 -0
- package/esm2015/lib/domain/general/model/identifier-fields.js +2 -0
- package/esm2015/lib/domain/general/model/index.js +5 -0
- package/esm2015/lib/domain/general/model/types/base-model-builder.type.js +2 -0
- package/esm2015/lib/domain/general/model/types/index.js +4 -0
- package/esm2015/lib/domain/general/model/types/non-function-properties.type.js +2 -0
- package/esm2015/lib/domain/general/model/types/non-function-property-name.type.js +2 -0
- package/esm2015/lib/domain/general/repository/create.repository.js +2 -0
- package/esm2015/lib/domain/general/repository/crud.repository.js +2 -0
- package/esm2015/lib/domain/general/repository/delete.repository.js +2 -0
- package/esm2015/lib/domain/general/repository/enums/index.js +2 -0
- package/esm2015/lib/domain/general/repository/enums/where.enum.js +11 -0
- package/esm2015/lib/domain/general/repository/find.repository.js +2 -0
- package/esm2015/lib/domain/general/repository/get.repository.js +2 -0
- package/esm2015/lib/domain/general/repository/index.js +10 -0
- package/esm2015/lib/domain/general/repository/read.repository.js +2 -0
- package/esm2015/lib/domain/general/repository/types/index.js +5 -0
- package/esm2015/lib/domain/general/repository/types/repository-find-filters.type.js +2 -0
- package/esm2015/lib/domain/general/repository/types/repository-find-result.type.js +2 -0
- package/esm2015/lib/domain/general/repository/types/repository-limit-options.type.js +2 -0
- package/esm2015/lib/domain/general/repository/types/repository-order-by-list.type.js +2 -0
- package/esm2015/lib/domain/general/repository/update.repository.js +2 -0
- package/esm2015/lib/domain/index.js +3 -0
- package/esm2015/lib/domain/users/errors/index.js +2 -0
- package/esm2015/lib/domain/users/errors/unauthorized.error.js +7 -0
- package/esm2015/lib/domain/users/index.js +6 -0
- package/esm2015/lib/domain/users/models/beauty-profile.js +12 -0
- package/esm2015/lib/domain/users/models/edition.js +7 -0
- package/esm2015/lib/domain/users/models/enums/area.enum.js +13 -0
- package/esm2015/lib/domain/users/models/enums/beard-sizes.enum.js +9 -0
- package/esm2015/lib/domain/users/models/enums/billing-status.enum.js +5 -0
- package/esm2015/lib/domain/users/models/enums/edition-status.enum.js +5 -0
- package/esm2015/lib/domain/users/models/enums/hair-types.enum.js +9 -0
- package/esm2015/lib/domain/users/models/enums/index.js +10 -0
- package/esm2015/lib/domain/users/models/enums/office-position.enum.js +8 -0
- package/esm2015/lib/domain/users/models/enums/status.enum.js +5 -0
- package/esm2015/lib/domain/users/models/enums/user-type.enum.js +10 -0
- package/esm2015/lib/domain/users/models/index.js +6 -0
- package/esm2015/lib/domain/users/models/subscription.js +7 -0
- package/esm2015/lib/domain/users/models/user.js +17 -0
- package/esm2015/lib/domain/users/repositories/beauty-profile.repository.js +2 -0
- package/esm2015/lib/domain/users/repositories/edition.repository.js +2 -0
- package/esm2015/lib/domain/users/repositories/index.js +5 -0
- package/esm2015/lib/domain/users/repositories/subscription.repository.js +2 -0
- package/esm2015/lib/domain/users/repositories/user.repository.js +2 -0
- package/esm2015/lib/domain/users/services/authentication.service.js +2 -0
- package/esm2015/lib/domain/users/services/index.js +2 -0
- package/esm2015/lib/domain/users/use-cases/authentication.js +40 -0
- package/esm2015/lib/domain/users/use-cases/index.js +3 -0
- package/esm2015/lib/domain/users/use-cases/signout.js +12 -0
- package/esm2015/lib/errors/index.js +4 -0
- package/esm2015/lib/errors/invalid-argument.error.js +7 -0
- package/esm2015/lib/errors/not-found.error.js +7 -0
- package/esm2015/lib/errors/required-argument.error.js +8 -0
- package/esm2015/lib/index.js +5 -0
- package/esm2015/lib/infra/firebase/auth/authentication-firebase-auth.service.js +27 -0
- package/esm2015/lib/infra/firebase/auth/index.js +2 -0
- package/esm2015/lib/infra/firebase/firestore/index.js +4 -0
- package/esm2015/lib/infra/firebase/firestore/mixins/index.js +10 -0
- package/esm2015/lib/infra/firebase/firestore/mixins/with-create-firestore.mixin.js +30 -0
- package/esm2015/lib/infra/firebase/firestore/mixins/with-crud-firestore.mixin.js +10 -0
- package/esm2015/lib/infra/firebase/firestore/mixins/with-delete-firestore.mixin.js +18 -0
- package/esm2015/lib/infra/firebase/firestore/mixins/with-find-firestore.mixin.js +59 -0
- package/esm2015/lib/infra/firebase/firestore/mixins/with-firestore.mixin.js +17 -0
- package/esm2015/lib/infra/firebase/firestore/mixins/with-get-firestore.mixin.js +24 -0
- package/esm2015/lib/infra/firebase/firestore/mixins/with-helpers.mixin.js +17 -0
- package/esm2015/lib/infra/firebase/firestore/mixins/with-sub-collection.mixin.js +11 -0
- package/esm2015/lib/infra/firebase/firestore/mixins/with-update-firestore.mixin.js +19 -0
- package/esm2015/lib/infra/firebase/firestore/repositories/index.js +2 -0
- package/esm2015/lib/infra/firebase/firestore/repositories/users/index.js +5 -0
- package/esm2015/lib/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.js +14 -0
- package/esm2015/lib/infra/firebase/firestore/repositories/users/subscription-firestore.repository.js +12 -0
- package/esm2015/lib/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.js +14 -0
- package/esm2015/lib/infra/firebase/firestore/repositories/users/user-firestore.repository.js +40 -0
- package/esm2015/lib/infra/firebase/firestore/types/firestore-sub.repository.type.js +2 -0
- package/esm2015/lib/infra/firebase/firestore/types/firestore.helpers.type.js +2 -0
- package/esm2015/lib/infra/firebase/firestore/types/firestore.repository.type.js +2 -0
- package/esm2015/lib/infra/firebase/firestore/types/index.js +4 -0
- package/esm2015/lib/infra/firebase/index.js +3 -0
- package/esm2015/lib/infra/index.js +2 -0
- package/esm2015/lib/utils/index.js +4 -0
- package/esm2015/lib/utils/mixins/base.mixin.js +6 -0
- package/esm2015/lib/utils/mixins/index.js +3 -0
- package/esm2015/lib/utils/mixins/mixin-ctor.type.js +2 -0
- package/esm2015/public-api.js +2 -0
- package/fesm2015/infrab4a-connect.js +501 -0
- package/fesm2015/infrab4a-connect.js.map +1 -0
- package/infrab4a-connect.d.ts +5 -0
- package/lib/domain/general/index.d.ts +2 -0
- package/lib/domain/general/model/base-model-with-identifier-fields.d.ts +3 -0
- package/lib/domain/general/model/base.model.d.ts +6 -0
- package/lib/domain/general/model/identifier-fields.d.ts +4 -0
- package/lib/domain/general/model/index.d.ts +4 -0
- package/lib/domain/general/model/types/base-model-builder.type.d.ts +5 -0
- package/lib/domain/general/model/types/index.d.ts +3 -0
- package/lib/domain/general/model/types/non-function-properties.type.d.ts +2 -0
- package/lib/domain/general/model/types/non-function-property-name.type.d.ts +3 -0
- package/lib/domain/general/repository/create.repository.d.ts +5 -0
- package/lib/domain/general/repository/crud.repository.d.ts +7 -0
- package/lib/domain/general/repository/delete.repository.d.ts +5 -0
- package/lib/domain/general/repository/enums/index.d.ts +1 -0
- package/lib/domain/general/repository/enums/where.enum.d.ts +9 -0
- package/lib/domain/general/repository/find.repository.d.ts +5 -0
- package/lib/domain/general/repository/get.repository.d.ts +5 -0
- package/lib/domain/general/repository/index.d.ts +9 -0
- package/lib/domain/general/repository/read.repository.d.ts +5 -0
- package/lib/domain/general/repository/types/index.d.ts +4 -0
- package/lib/domain/general/repository/types/repository-find-filters.type.d.ts +11 -0
- package/lib/domain/general/repository/types/repository-find-result.type.d.ts +4 -0
- package/lib/domain/general/repository/types/repository-limit-options.type.d.ts +4 -0
- package/lib/domain/general/repository/types/repository-order-by-list.type.d.ts +5 -0
- package/lib/domain/general/repository/update.repository.d.ts +4 -0
- package/lib/domain/index.d.ts +2 -0
- package/lib/domain/users/errors/index.d.ts +1 -0
- package/lib/domain/users/errors/unauthorized.error.d.ts +4 -0
- package/lib/domain/users/index.d.ts +5 -0
- package/lib/domain/users/models/beauty-profile.d.ts +12 -0
- package/lib/domain/users/models/edition.d.ts +15 -0
- package/lib/domain/users/models/enums/area.enum.d.ts +11 -0
- package/lib/domain/users/models/enums/beard-sizes.enum.d.ts +7 -0
- package/lib/domain/users/models/enums/billing-status.enum.d.ts +3 -0
- package/lib/domain/users/models/enums/edition-status.enum.d.ts +3 -0
- package/lib/domain/users/models/enums/hair-types.enum.d.ts +7 -0
- package/lib/domain/users/models/enums/index.d.ts +9 -0
- package/lib/domain/users/models/enums/office-position.enum.d.ts +6 -0
- package/lib/domain/users/models/enums/status.enum.d.ts +3 -0
- package/lib/domain/users/models/enums/user-type.enum.d.ts +8 -0
- package/lib/domain/users/models/index.d.ts +5 -0
- package/lib/domain/users/models/subscription.d.ts +15 -0
- package/lib/domain/users/models/user.d.ts +23 -0
- package/lib/domain/users/repositories/beauty-profile.repository.d.ts +4 -0
- package/lib/domain/users/repositories/edition.repository.d.ts +4 -0
- package/lib/domain/users/repositories/index.d.ts +4 -0
- package/lib/domain/users/repositories/subscription.repository.d.ts +4 -0
- package/lib/domain/users/repositories/user.repository.d.ts +4 -0
- package/lib/domain/users/services/authentication.service.d.ts +10 -0
- package/lib/domain/users/services/index.d.ts +1 -0
- package/lib/domain/users/use-cases/authentication.d.ts +21 -0
- package/lib/domain/users/use-cases/index.d.ts +2 -0
- package/lib/domain/users/use-cases/signout.d.ts +6 -0
- package/lib/errors/index.d.ts +3 -0
- package/lib/errors/invalid-argument.error.d.ts +4 -0
- package/lib/errors/not-found.error.d.ts +4 -0
- package/lib/errors/required-argument.error.d.ts +5 -0
- package/lib/index.d.ts +4 -0
- package/lib/infra/firebase/auth/authentication-firebase-auth.service.d.ts +9 -0
- package/lib/infra/firebase/auth/index.d.ts +1 -0
- package/lib/infra/firebase/firestore/index.d.ts +3 -0
- package/lib/infra/firebase/firestore/mixins/index.d.ts +9 -0
- package/lib/infra/firebase/firestore/mixins/with-create-firestore.mixin.d.ts +17 -0
- package/lib/infra/firebase/firestore/mixins/with-crud-firestore.mixin.d.ts +28 -0
- package/lib/infra/firebase/firestore/mixins/with-delete-firestore.mixin.d.ts +15 -0
- package/lib/infra/firebase/firestore/mixins/with-find-firestore.mixin.d.ts +20 -0
- package/lib/infra/firebase/firestore/mixins/with-firestore.mixin.d.ts +15 -0
- package/lib/infra/firebase/firestore/mixins/with-get-firestore.mixin.d.ts +15 -0
- package/lib/infra/firebase/firestore/mixins/with-helpers.mixin.d.ts +10 -0
- package/lib/infra/firebase/firestore/mixins/with-sub-collection.mixin.d.ts +14 -0
- package/lib/infra/firebase/firestore/mixins/with-update-firestore.mixin.d.ts +15 -0
- package/lib/infra/firebase/firestore/repositories/index.d.ts +1 -0
- package/lib/infra/firebase/firestore/repositories/users/index.d.ts +4 -0
- package/lib/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.d.ts +59 -0
- package/lib/infra/firebase/firestore/repositories/users/subscription-firestore.repository.d.ts +48 -0
- package/lib/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.d.ts +59 -0
- package/lib/infra/firebase/firestore/repositories/users/user-firestore.repository.d.ts +51 -0
- package/lib/infra/firebase/firestore/types/firestore-sub.repository.type.d.ts +6 -0
- package/lib/infra/firebase/firestore/types/firestore.helpers.type.d.ts +8 -0
- package/lib/infra/firebase/firestore/types/firestore.repository.type.d.ts +8 -0
- package/lib/infra/firebase/firestore/types/index.d.ts +3 -0
- package/lib/infra/firebase/index.d.ts +2 -0
- package/lib/infra/index.d.ts +1 -0
- package/lib/utils/index.d.ts +3 -0
- package/lib/utils/mixins/base.mixin.d.ts +3 -0
- package/lib/utils/mixins/index.d.ts +2 -0
- package/lib/utils/mixins/mixin-ctor.type.d.ts +1 -0
- package/package.json +25 -0
- package/public-api.d.ts +1 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CollectionReference, FirebaseFirestore } from '@firebase/firestore-types';
|
|
2
|
+
import { BaseModelWithIdentifier, NonFunctionPropertyNames } from '../../../../domain';
|
|
3
|
+
import { FirestoreRepository } from '../types';
|
|
4
|
+
import { MixinCtor } from '../../../../utils';
|
|
5
|
+
export declare const withSubCollection: <TBase extends BaseModelWithIdentifier<TBase>, TBaseParent extends BaseModelWithIdentifier<TBaseParent>, TMixinBase extends MixinCtor<{}>>(MixinBase: MixinCtor<FirestoreRepository<TBase>> & TMixinBase, ParentModel: new () => TBaseParent) => {
|
|
6
|
+
new (...args: Array<any>): {
|
|
7
|
+
readonly parentRepository: FirestoreRepository<TBaseParent>;
|
|
8
|
+
parentIdField: NonFunctionPropertyNames<TBase>;
|
|
9
|
+
collection(path?: string): CollectionReference<TBase>;
|
|
10
|
+
readonly firestore?: FirebaseFirestore;
|
|
11
|
+
collectionName: string;
|
|
12
|
+
model: import("../../../../domain").BaseModelBuilder<TBase>;
|
|
13
|
+
};
|
|
14
|
+
} & TMixinBase;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { BaseModelWithIdentifier } from '../../../../domain';
|
|
2
|
+
import { FirestoreHelpers, FirestoreRepository } from '../types';
|
|
3
|
+
import { MixinCtor } from '../../../../utils';
|
|
4
|
+
export declare const withUpdateFirestore: <TBase extends BaseModelWithIdentifier<TBase>, TMixinBase extends MixinCtor<{}>>(MixinBase: MixinCtor<FirestoreRepository<TBase> & FirestoreHelpers> & TMixinBase) => {
|
|
5
|
+
new (...args: any[]): {
|
|
6
|
+
update(data: TBase): Promise<TBase>;
|
|
7
|
+
buildCollectionPathForUpdate(identifiers: TBase): string;
|
|
8
|
+
readonly firestore?: import("@firebase/firestore-types").FirebaseFirestore;
|
|
9
|
+
collectionName: string;
|
|
10
|
+
model: import("../../../../domain").BaseModelBuilder<TBase>;
|
|
11
|
+
collection(path?: string): import("@firebase/firestore-types").CollectionReference<TBase>;
|
|
12
|
+
toArray<T extends BaseModelWithIdentifier<T>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T> | import("@firebase/firestore-types").QueryDocumentSnapshot<T>[]): T[];
|
|
13
|
+
isSubCollection<T_1 extends BaseModelWithIdentifier<T_1>>(repository: FirestoreRepository<T_1>): repository is import("../types").FirestoreSubRepository<T_1, BaseModelWithIdentifier<{}>>;
|
|
14
|
+
};
|
|
15
|
+
} & TMixinBase;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './users';
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { FirebaseFirestore } from '@firebase/firestore-types';
|
|
2
|
+
import { Edition, Subscription, EditionRepository } from '../../../../../domain';
|
|
3
|
+
import { SubscriptionFirestoreRepository } from './subscription-firestore.repository';
|
|
4
|
+
declare const SubscriptionEditionFirestoreRepository_base: {
|
|
5
|
+
new (...args: any[]): {
|
|
6
|
+
readonly parentRepository: import("@infrab4a/connect").FirestoreRepository<Subscription>;
|
|
7
|
+
parentIdField: import("../../../../../domain").NonFunctionPropertyNames<Edition>;
|
|
8
|
+
collection(path?: string): import("@firebase/firestore-types").CollectionReference<Edition>;
|
|
9
|
+
readonly firestore?: FirebaseFirestore;
|
|
10
|
+
collectionName: string;
|
|
11
|
+
model: import("../../../../../domain").BaseModelBuilder<Edition>;
|
|
12
|
+
};
|
|
13
|
+
} & {
|
|
14
|
+
new (...args: any[]): {
|
|
15
|
+
update(data: Edition): Promise<Edition>;
|
|
16
|
+
buildCollectionPathForUpdate(identifiers: Edition): string;
|
|
17
|
+
readonly firestore?: FirebaseFirestore;
|
|
18
|
+
collectionName: string;
|
|
19
|
+
model: import("../../../../../domain").BaseModelBuilder<Edition>;
|
|
20
|
+
collection(path?: string): import("@firebase/firestore-types").CollectionReference<Edition>;
|
|
21
|
+
toArray<T extends import("../../../../../domain").BaseModelWithIdentifier<T>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T> | import("@firebase/firestore-types").QueryDocumentSnapshot<T>[]): T[];
|
|
22
|
+
isSubCollection<T_1 extends import("../../../../../domain").BaseModelWithIdentifier<T_1>>(repository: import("@infrab4a/connect").FirestoreRepository<T_1>): repository is import("@infrab4a/connect").FirestoreSubRepository<T_1, import("../../../../../domain").BaseModelWithIdentifier<{}>>;
|
|
23
|
+
get(identifiers: import("../../../../../domain").NonFunctionProperties<Edition>): Promise<Edition>;
|
|
24
|
+
buildCollectionPathForGet(identifiers: import("../../../../../domain").NonFunctionProperties<Edition>): string;
|
|
25
|
+
find(filters?: import("../../../../../domain").RepositoryFindFielters<Edition>[], limits?: import("../../../../../domain").RepositoryLimitOptions<Edition>, orderBy?: import("../../../../../domain").RepositoryOrderByList<Edition>): Promise<import("../../../../../domain").RepositoryFindResult<Edition>>;
|
|
26
|
+
buildCollectionPathForFind(filters: import("../../../../../domain").RepositoryFindFielters<Edition>[]): string;
|
|
27
|
+
makeFirestoreWhere: (queryReference: import("@firebase/firestore-types").CollectionReference<Edition> | import("@firebase/firestore-types").Query<Edition>, filter: import("../../../../../domain").RepositoryFindFielters<Edition>) => import("@firebase/firestore-types").Query<Edition>;
|
|
28
|
+
buildWhereSentence: (queryReference: import("@firebase/firestore-types").CollectionReference<Edition> | import("@firebase/firestore-types").Query<Edition>, fieldName: import("../../../../../domain").NonFunctionPropertyNames<Edition>, options: import("../../../../../domain").RepositoryFindFieltersOptions<Edition, import("../../../../../domain").NonFunctionPropertyNames<Edition>>) => import("@firebase/firestore-types").Query<Edition>;
|
|
29
|
+
defineLimits(query: import("@firebase/firestore-types").CollectionReference<Edition> | import("@firebase/firestore-types").Query<Edition>, filters: import("../../../../../domain").RepositoryFindFielters<Edition>[], limits: import("../../../../../domain").RepositoryLimitOptions<Edition>): import("@firebase/firestore-types").Query<Edition>;
|
|
30
|
+
calculateCount(data: Edition[], limits: import("../../../../../domain").RepositoryLimitOptions<Edition>): number;
|
|
31
|
+
delete(identifiers: import("../../../../../domain").NonFunctionProperties<Edition>): Promise<void>;
|
|
32
|
+
buildCollectionPathForRemove(identifiers: import("../../../../../domain").NonFunctionProperties<Edition>): string;
|
|
33
|
+
create(data: Partial<Edition>): Promise<Edition>;
|
|
34
|
+
save(data: Edition): Promise<import("@firebase/firestore-types").DocumentReference<Edition>>;
|
|
35
|
+
buildCollectionPathForAdd(identifiers: Partial<Edition>): string;
|
|
36
|
+
};
|
|
37
|
+
} & {
|
|
38
|
+
new (...args: any[]): {
|
|
39
|
+
toArray<T_2 extends import("../../../../../domain").BaseModelWithIdentifier<T_2>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T_2> | import("@firebase/firestore-types").QueryDocumentSnapshot<T_2>[]): T_2[];
|
|
40
|
+
isSubCollection<T_3 extends import("../../../../../domain").BaseModelWithIdentifier<T_3>>(repository: import("@infrab4a/connect").FirestoreRepository<T_3>): repository is import("@infrab4a/connect").FirestoreSubRepository<T_3, import("../../../../../domain").BaseModelWithIdentifier<{}>>;
|
|
41
|
+
};
|
|
42
|
+
} & {
|
|
43
|
+
new (...args: any[]): {
|
|
44
|
+
readonly firestore?: FirebaseFirestore;
|
|
45
|
+
collectionName: string;
|
|
46
|
+
model: import("../../../../../domain").BaseModelBuilder<Edition>;
|
|
47
|
+
collection(path?: string): import("@firebase/firestore-types").CollectionReference<Edition>;
|
|
48
|
+
buildModelInstance(): {
|
|
49
|
+
toFirestore: (data: Edition) => import("@firebase/firestore-types").DocumentData;
|
|
50
|
+
fromFirestore: (snap: import("@firebase/firestore-types").QueryDocumentSnapshot<Edition>) => Edition;
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
export declare class SubscriptionEditionFirestoreRepository extends SubscriptionEditionFirestoreRepository_base implements EditionRepository {
|
|
55
|
+
readonly firestore: FirebaseFirestore;
|
|
56
|
+
readonly parentRepository: SubscriptionFirestoreRepository;
|
|
57
|
+
constructor(firestore: FirebaseFirestore, parentRepository: SubscriptionFirestoreRepository);
|
|
58
|
+
}
|
|
59
|
+
export {};
|
package/lib/infra/firebase/firestore/repositories/users/subscription-firestore.repository.d.ts
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { FirebaseFirestore } from '@firebase/firestore-types';
|
|
2
|
+
import { Subscription, SubscriptionRepository } from '../../../../../domain';
|
|
3
|
+
declare const SubscriptionFirestoreRepository_base: {
|
|
4
|
+
new (...args: any[]): {
|
|
5
|
+
update(data: Subscription): Promise<Subscription>;
|
|
6
|
+
buildCollectionPathForUpdate(identifiers: Subscription): string;
|
|
7
|
+
readonly firestore?: FirebaseFirestore;
|
|
8
|
+
collectionName: string;
|
|
9
|
+
model: import("../../../../../domain").BaseModelBuilder<Subscription>;
|
|
10
|
+
collection(path?: string): import("@firebase/firestore-types").CollectionReference<Subscription>;
|
|
11
|
+
toArray<T extends import("../../../../../domain").BaseModelWithIdentifier<T>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T> | import("@firebase/firestore-types").QueryDocumentSnapshot<T>[]): T[];
|
|
12
|
+
isSubCollection<T_1 extends import("../../../../../domain").BaseModelWithIdentifier<T_1>>(repository: import("@infrab4a/connect").FirestoreRepository<T_1>): repository is import("@infrab4a/connect").FirestoreSubRepository<T_1, import("../../../../../domain").BaseModelWithIdentifier<{}>>;
|
|
13
|
+
get(identifiers: import("../../../../../domain").NonFunctionProperties<Subscription>): Promise<Subscription>;
|
|
14
|
+
buildCollectionPathForGet(identifiers: import("../../../../../domain").NonFunctionProperties<Subscription>): string;
|
|
15
|
+
find(filters?: import("../../../../../domain").RepositoryFindFielters<Subscription>[], limits?: import("../../../../../domain").RepositoryLimitOptions<Subscription>, orderBy?: import("../../../../../domain").RepositoryOrderByList<Subscription>): Promise<import("../../../../../domain").RepositoryFindResult<Subscription>>;
|
|
16
|
+
buildCollectionPathForFind(filters: import("../../../../../domain").RepositoryFindFielters<Subscription>[]): string;
|
|
17
|
+
makeFirestoreWhere: (queryReference: import("@firebase/firestore-types").CollectionReference<Subscription> | import("@firebase/firestore-types").Query<Subscription>, filter: import("../../../../../domain").RepositoryFindFielters<Subscription>) => import("@firebase/firestore-types").Query<Subscription>;
|
|
18
|
+
buildWhereSentence: (queryReference: import("@firebase/firestore-types").CollectionReference<Subscription> | import("@firebase/firestore-types").Query<Subscription>, fieldName: import("../../../../../domain").NonFunctionPropertyNames<Subscription>, options: import("../../../../../domain").RepositoryFindFieltersOptions<Subscription, import("../../../../../domain").NonFunctionPropertyNames<Subscription>>) => import("@firebase/firestore-types").Query<Subscription>;
|
|
19
|
+
defineLimits(query: import("@firebase/firestore-types").CollectionReference<Subscription> | import("@firebase/firestore-types").Query<Subscription>, filters: import("../../../../../domain").RepositoryFindFielters<Subscription>[], limits: import("../../../../../domain").RepositoryLimitOptions<Subscription>): import("@firebase/firestore-types").Query<Subscription>;
|
|
20
|
+
calculateCount(data: Subscription[], limits: import("../../../../../domain").RepositoryLimitOptions<Subscription>): number;
|
|
21
|
+
delete(identifiers: import("../../../../../domain").NonFunctionProperties<Subscription>): Promise<void>;
|
|
22
|
+
buildCollectionPathForRemove(identifiers: import("../../../../../domain").NonFunctionProperties<Subscription>): string;
|
|
23
|
+
create(data: Partial<Subscription>): Promise<Subscription>;
|
|
24
|
+
save(data: Subscription): Promise<import("@firebase/firestore-types").DocumentReference<Subscription>>;
|
|
25
|
+
buildCollectionPathForAdd(identifiers: Partial<Subscription>): string;
|
|
26
|
+
};
|
|
27
|
+
} & {
|
|
28
|
+
new (...args: any[]): {
|
|
29
|
+
toArray<T_2 extends import("../../../../../domain").BaseModelWithIdentifier<T_2>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T_2> | import("@firebase/firestore-types").QueryDocumentSnapshot<T_2>[]): T_2[];
|
|
30
|
+
isSubCollection<T_3 extends import("../../../../../domain").BaseModelWithIdentifier<T_3>>(repository: import("@infrab4a/connect").FirestoreRepository<T_3>): repository is import("@infrab4a/connect").FirestoreSubRepository<T_3, import("../../../../../domain").BaseModelWithIdentifier<{}>>;
|
|
31
|
+
};
|
|
32
|
+
} & {
|
|
33
|
+
new (...args: any[]): {
|
|
34
|
+
readonly firestore?: FirebaseFirestore;
|
|
35
|
+
collectionName: string;
|
|
36
|
+
model: import("../../../../../domain").BaseModelBuilder<Subscription>;
|
|
37
|
+
collection(path?: string): import("@firebase/firestore-types").CollectionReference<Subscription>;
|
|
38
|
+
buildModelInstance(): {
|
|
39
|
+
toFirestore: (data: Subscription) => import("@firebase/firestore-types").DocumentData;
|
|
40
|
+
fromFirestore: (snap: import("@firebase/firestore-types").QueryDocumentSnapshot<Subscription>) => Subscription;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
export declare class SubscriptionFirestoreRepository extends SubscriptionFirestoreRepository_base implements SubscriptionRepository {
|
|
45
|
+
readonly firestore: FirebaseFirestore;
|
|
46
|
+
constructor(firestore: FirebaseFirestore);
|
|
47
|
+
}
|
|
48
|
+
export {};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { FirebaseFirestore } from '@firebase/firestore-types';
|
|
2
|
+
import { BeautyProfile, BeautyProfileRepository, User } from '../../../../../domain';
|
|
3
|
+
import { UserFirestoreRepository } from './user-firestore.repository';
|
|
4
|
+
declare const UserBeautyProfileFirestoreRepository_base: {
|
|
5
|
+
new (...args: any[]): {
|
|
6
|
+
readonly parentRepository: import("@infrab4a/connect").FirestoreRepository<User>;
|
|
7
|
+
parentIdField: import("../../../../../domain").NonFunctionPropertyNames<BeautyProfile>;
|
|
8
|
+
collection(path?: string): import("@firebase/firestore-types").CollectionReference<BeautyProfile>;
|
|
9
|
+
readonly firestore?: FirebaseFirestore;
|
|
10
|
+
collectionName: string;
|
|
11
|
+
model: import("../../../../../domain").BaseModelBuilder<BeautyProfile>;
|
|
12
|
+
};
|
|
13
|
+
} & {
|
|
14
|
+
new (...args: any[]): {
|
|
15
|
+
update(data: BeautyProfile): Promise<BeautyProfile>;
|
|
16
|
+
buildCollectionPathForUpdate(identifiers: BeautyProfile): string;
|
|
17
|
+
readonly firestore?: FirebaseFirestore;
|
|
18
|
+
collectionName: string;
|
|
19
|
+
model: import("../../../../../domain").BaseModelBuilder<BeautyProfile>;
|
|
20
|
+
collection(path?: string): import("@firebase/firestore-types").CollectionReference<BeautyProfile>;
|
|
21
|
+
toArray<T extends import("../../../../../domain").BaseModelWithIdentifier<T>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T> | import("@firebase/firestore-types").QueryDocumentSnapshot<T>[]): T[];
|
|
22
|
+
isSubCollection<T_1 extends import("../../../../../domain").BaseModelWithIdentifier<T_1>>(repository: import("@infrab4a/connect").FirestoreRepository<T_1>): repository is import("@infrab4a/connect").FirestoreSubRepository<T_1, import("../../../../../domain").BaseModelWithIdentifier<{}>>;
|
|
23
|
+
get(identifiers: import("../../../../../domain").NonFunctionProperties<BeautyProfile>): Promise<BeautyProfile>;
|
|
24
|
+
buildCollectionPathForGet(identifiers: import("../../../../../domain").NonFunctionProperties<BeautyProfile>): string;
|
|
25
|
+
find(filters?: import("../../../../../domain").RepositoryFindFielters<BeautyProfile>[], limits?: import("../../../../../domain").RepositoryLimitOptions<BeautyProfile>, orderBy?: import("../../../../../domain").RepositoryOrderByList<BeautyProfile>): Promise<import("../../../../../domain").RepositoryFindResult<BeautyProfile>>;
|
|
26
|
+
buildCollectionPathForFind(filters: import("../../../../../domain").RepositoryFindFielters<BeautyProfile>[]): string;
|
|
27
|
+
makeFirestoreWhere: (queryReference: import("@firebase/firestore-types").CollectionReference<BeautyProfile> | import("@firebase/firestore-types").Query<BeautyProfile>, filter: import("../../../../../domain").RepositoryFindFielters<BeautyProfile>) => import("@firebase/firestore-types").Query<BeautyProfile>;
|
|
28
|
+
buildWhereSentence: (queryReference: import("@firebase/firestore-types").CollectionReference<BeautyProfile> | import("@firebase/firestore-types").Query<BeautyProfile>, fieldName: import("../../../../../domain").NonFunctionPropertyNames<BeautyProfile>, options: import("../../../../../domain").RepositoryFindFieltersOptions<BeautyProfile, import("../../../../../domain").NonFunctionPropertyNames<BeautyProfile>>) => import("@firebase/firestore-types").Query<BeautyProfile>;
|
|
29
|
+
defineLimits(query: import("@firebase/firestore-types").CollectionReference<BeautyProfile> | import("@firebase/firestore-types").Query<BeautyProfile>, filters: import("../../../../../domain").RepositoryFindFielters<BeautyProfile>[], limits: import("../../../../../domain").RepositoryLimitOptions<BeautyProfile>): import("@firebase/firestore-types").Query<BeautyProfile>;
|
|
30
|
+
calculateCount(data: BeautyProfile[], limits: import("../../../../../domain").RepositoryLimitOptions<BeautyProfile>): number;
|
|
31
|
+
delete(identifiers: import("../../../../../domain").NonFunctionProperties<BeautyProfile>): Promise<void>;
|
|
32
|
+
buildCollectionPathForRemove(identifiers: import("../../../../../domain").NonFunctionProperties<BeautyProfile>): string;
|
|
33
|
+
create(data: Partial<BeautyProfile>): Promise<BeautyProfile>;
|
|
34
|
+
save(data: BeautyProfile): Promise<import("@firebase/firestore-types").DocumentReference<BeautyProfile>>;
|
|
35
|
+
buildCollectionPathForAdd(identifiers: Partial<BeautyProfile>): string;
|
|
36
|
+
};
|
|
37
|
+
} & {
|
|
38
|
+
new (...args: any[]): {
|
|
39
|
+
toArray<T_2 extends import("../../../../../domain").BaseModelWithIdentifier<T_2>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T_2> | import("@firebase/firestore-types").QueryDocumentSnapshot<T_2>[]): T_2[];
|
|
40
|
+
isSubCollection<T_3 extends import("../../../../../domain").BaseModelWithIdentifier<T_3>>(repository: import("@infrab4a/connect").FirestoreRepository<T_3>): repository is import("@infrab4a/connect").FirestoreSubRepository<T_3, import("../../../../../domain").BaseModelWithIdentifier<{}>>;
|
|
41
|
+
};
|
|
42
|
+
} & {
|
|
43
|
+
new (...args: any[]): {
|
|
44
|
+
readonly firestore?: FirebaseFirestore;
|
|
45
|
+
collectionName: string;
|
|
46
|
+
model: import("../../../../../domain").BaseModelBuilder<BeautyProfile>;
|
|
47
|
+
collection(path?: string): import("@firebase/firestore-types").CollectionReference<BeautyProfile>;
|
|
48
|
+
buildModelInstance(): {
|
|
49
|
+
toFirestore: (data: BeautyProfile) => import("@firebase/firestore-types").DocumentData;
|
|
50
|
+
fromFirestore: (snap: import("@firebase/firestore-types").QueryDocumentSnapshot<BeautyProfile>) => BeautyProfile;
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
export declare class UserBeautyProfileFirestoreRepository extends UserBeautyProfileFirestoreRepository_base implements BeautyProfileRepository {
|
|
55
|
+
readonly firestore: FirebaseFirestore;
|
|
56
|
+
readonly parentRepository: UserFirestoreRepository;
|
|
57
|
+
constructor(firestore: FirebaseFirestore, parentRepository: UserFirestoreRepository);
|
|
58
|
+
}
|
|
59
|
+
export {};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { DocumentData, FirebaseFirestore, QueryDocumentSnapshot } from '@firebase/firestore-types';
|
|
2
|
+
import { User, UserRepository } from '../../../../../domain';
|
|
3
|
+
declare const UserFirestoreRepository_base: {
|
|
4
|
+
new (...args: any[]): {
|
|
5
|
+
update(data: User): Promise<User>;
|
|
6
|
+
buildCollectionPathForUpdate(identifiers: User): string;
|
|
7
|
+
readonly firestore?: FirebaseFirestore;
|
|
8
|
+
collectionName: string;
|
|
9
|
+
model: import("../../../../../domain").BaseModelBuilder<User>;
|
|
10
|
+
collection(path?: string): import("@firebase/firestore-types").CollectionReference<User>;
|
|
11
|
+
toArray<T extends import("../../../../../domain").BaseModelWithIdentifier<T>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T> | QueryDocumentSnapshot<T>[]): T[];
|
|
12
|
+
isSubCollection<T_1 extends import("../../../../../domain").BaseModelWithIdentifier<T_1>>(repository: import("@infrab4a/connect").FirestoreRepository<T_1>): repository is import("@infrab4a/connect").FirestoreSubRepository<T_1, import("../../../../../domain").BaseModelWithIdentifier<{}>>;
|
|
13
|
+
get(identifiers: import("../../../../../domain").NonFunctionProperties<User>): Promise<User>;
|
|
14
|
+
buildCollectionPathForGet(identifiers: import("../../../../../domain").NonFunctionProperties<User>): string;
|
|
15
|
+
find(filters?: import("../../../../../domain").RepositoryFindFielters<User>[], limits?: import("../../../../../domain").RepositoryLimitOptions<User>, orderBy?: import("../../../../../domain").RepositoryOrderByList<User>): Promise<import("../../../../../domain").RepositoryFindResult<User>>;
|
|
16
|
+
buildCollectionPathForFind(filters: import("../../../../../domain").RepositoryFindFielters<User>[]): string;
|
|
17
|
+
makeFirestoreWhere: (queryReference: import("@firebase/firestore-types").CollectionReference<User> | import("@firebase/firestore-types").Query<User>, filter: import("../../../../../domain").RepositoryFindFielters<User>) => import("@firebase/firestore-types").Query<User>;
|
|
18
|
+
buildWhereSentence: (queryReference: import("@firebase/firestore-types").CollectionReference<User> | import("@firebase/firestore-types").Query<User>, fieldName: import("../../../../../domain").NonFunctionPropertyNames<User>, options: import("../../../../../domain").RepositoryFindFieltersOptions<User, import("../../../../../domain").NonFunctionPropertyNames<User>>) => import("@firebase/firestore-types").Query<User>;
|
|
19
|
+
defineLimits(query: import("@firebase/firestore-types").CollectionReference<User> | import("@firebase/firestore-types").Query<User>, filters: import("../../../../../domain").RepositoryFindFielters<User>[], limits: import("../../../../../domain").RepositoryLimitOptions<User>): import("@firebase/firestore-types").Query<User>;
|
|
20
|
+
calculateCount(data: User[], limits: import("../../../../../domain").RepositoryLimitOptions<User>): number;
|
|
21
|
+
delete(identifiers: import("../../../../../domain").NonFunctionProperties<User>): Promise<void>;
|
|
22
|
+
buildCollectionPathForRemove(identifiers: import("../../../../../domain").NonFunctionProperties<User>): string;
|
|
23
|
+
create(data: Partial<User>): Promise<User>;
|
|
24
|
+
save(data: User): Promise<import("@firebase/firestore-types").DocumentReference<User>>;
|
|
25
|
+
buildCollectionPathForAdd(identifiers: Partial<User>): string;
|
|
26
|
+
};
|
|
27
|
+
} & {
|
|
28
|
+
new (...args: any[]): {
|
|
29
|
+
toArray<T_2 extends import("../../../../../domain").BaseModelWithIdentifier<T_2>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T_2> | QueryDocumentSnapshot<T_2>[]): T_2[];
|
|
30
|
+
isSubCollection<T_3 extends import("../../../../../domain").BaseModelWithIdentifier<T_3>>(repository: import("@infrab4a/connect").FirestoreRepository<T_3>): repository is import("@infrab4a/connect").FirestoreSubRepository<T_3, import("../../../../../domain").BaseModelWithIdentifier<{}>>;
|
|
31
|
+
};
|
|
32
|
+
} & {
|
|
33
|
+
new (...args: any[]): {
|
|
34
|
+
readonly firestore?: FirebaseFirestore;
|
|
35
|
+
collectionName: string;
|
|
36
|
+
model: import("../../../../../domain").BaseModelBuilder<User>;
|
|
37
|
+
collection(path?: string): import("@firebase/firestore-types").CollectionReference<User>;
|
|
38
|
+
buildModelInstance(): {
|
|
39
|
+
toFirestore: (data: User) => DocumentData;
|
|
40
|
+
fromFirestore: (snap: QueryDocumentSnapshot<User>) => User;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
export declare class UserFirestoreRepository extends UserFirestoreRepository_base implements UserRepository {
|
|
45
|
+
readonly firestore: FirebaseFirestore;
|
|
46
|
+
constructor(firestore: FirebaseFirestore);
|
|
47
|
+
get(identifiers: Partial<User>): Promise<User>;
|
|
48
|
+
private getBeautyProfile;
|
|
49
|
+
private buildBeautyProfileModelInstance;
|
|
50
|
+
}
|
|
51
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { FirestoreRepository } from './firestore.repository.type';
|
|
2
|
+
import { BaseModelWithIdentifier, NonFunctionPropertyNames } from '../../../../domain';
|
|
3
|
+
export declare type FirestoreSubRepository<Model extends BaseModelWithIdentifier<Model>, ParentModel extends BaseModelWithIdentifier<ParentModel> = BaseModelWithIdentifier<{}>> = {
|
|
4
|
+
readonly parentRepository: FirestoreRepository<ParentModel>;
|
|
5
|
+
parentIdField: NonFunctionPropertyNames<Model>;
|
|
6
|
+
} & FirestoreRepository<Model>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { QuerySnapshot, QueryDocumentSnapshot } from '@firebase/firestore-types';
|
|
2
|
+
import { BaseModelWithIdentifier } from '../../../../domain';
|
|
3
|
+
import { FirestoreRepository } from './firestore.repository.type';
|
|
4
|
+
import { FirestoreSubRepository } from './firestore-sub.repository.type';
|
|
5
|
+
export interface FirestoreHelpers {
|
|
6
|
+
toArray<T extends BaseModelWithIdentifier<T>>(snapShot: QuerySnapshot<T> | Array<QueryDocumentSnapshot<T>>): Array<T>;
|
|
7
|
+
isSubCollection<T extends BaseModelWithIdentifier<T>>(repository: FirestoreRepository<T>): repository is FirestoreSubRepository<T>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CollectionReference, FirebaseFirestore } from '@firebase/firestore-types';
|
|
2
|
+
import { BaseModelBuilder, BaseModelWithIdentifier } from '../../../../domain';
|
|
3
|
+
export declare type FirestoreRepository<Model extends BaseModelWithIdentifier<Model>> = {
|
|
4
|
+
readonly firestore?: FirebaseFirestore;
|
|
5
|
+
collectionName: string;
|
|
6
|
+
model: BaseModelBuilder<Model>;
|
|
7
|
+
collection(path?: string): CollectionReference<Model>;
|
|
8
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './firebase';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare type MixinCtor<T = {}> = new (...args: Array<any>) => T;
|
package/package.json
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@infrab4a/connect",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"publishConfig": {
|
|
5
|
+
"registry": "https://registry.npmjs.org"
|
|
6
|
+
},
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "https://github.com/B4AGroup/connect"
|
|
10
|
+
},
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"class-transformer": "^0.4.0",
|
|
13
|
+
"firebase": "^8.9.1",
|
|
14
|
+
"lodash": "^4.17.21",
|
|
15
|
+
"reflect-metadata": "^0.1.13",
|
|
16
|
+
"tslib": "^2.2.0"
|
|
17
|
+
},
|
|
18
|
+
"main": "bundles/infrab4a-connect.umd.js",
|
|
19
|
+
"module": "fesm2015/infrab4a-connect.js",
|
|
20
|
+
"es2015": "fesm2015/infrab4a-connect.js",
|
|
21
|
+
"esm2015": "esm2015/infrab4a-connect.js",
|
|
22
|
+
"fesm2015": "fesm2015/infrab4a-connect.js",
|
|
23
|
+
"typings": "infrab4a-connect.d.ts",
|
|
24
|
+
"sideEffects": false
|
|
25
|
+
}
|
package/public-api.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './lib';
|