@things-factory/auth-base 6.1.185 → 6.1.186

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.
Files changed (58) hide show
  1. package/dist-server/controllers/profile.d.ts +1 -0
  2. package/dist-server/router/auth-signin-router.js +9 -1
  3. package/dist-server/router/auth-signin-router.js.map +1 -1
  4. package/dist-server/service/appliance/appliance-mutation.js +4 -0
  5. package/dist-server/service/appliance/appliance-mutation.js.map +1 -1
  6. package/dist-server/service/appliance/appliance-query.js +2 -0
  7. package/dist-server/service/appliance/appliance-query.js.map +1 -1
  8. package/dist-server/service/application/application-mutation.js +5 -0
  9. package/dist-server/service/application/application-mutation.js.map +1 -1
  10. package/dist-server/service/application/application-query.js +2 -0
  11. package/dist-server/service/application/application-query.js.map +1 -1
  12. package/dist-server/service/auth-provider/auth-provider-mutation.d.ts +10 -0
  13. package/dist-server/service/auth-provider/auth-provider-mutation.js +147 -0
  14. package/dist-server/service/auth-provider/auth-provider-mutation.js.map +1 -0
  15. package/dist-server/service/auth-provider/auth-provider-parameter-spec.d.ts +9 -0
  16. package/dist-server/service/auth-provider/auth-provider-parameter-spec.js +33 -0
  17. package/dist-server/service/auth-provider/auth-provider-parameter-spec.js.map +1 -0
  18. package/dist-server/service/auth-provider/auth-provider-query.d.ts +12 -0
  19. package/dist-server/service/auth-provider/auth-provider-query.js +92 -0
  20. package/dist-server/service/auth-provider/auth-provider-query.js.map +1 -0
  21. package/dist-server/service/auth-provider/auth-provider-type.d.ts +27 -0
  22. package/dist-server/service/auth-provider/auth-provider-type.js +90 -0
  23. package/dist-server/service/auth-provider/auth-provider-type.js.map +1 -0
  24. package/dist-server/service/auth-provider/auth-provider.d.ts +53 -0
  25. package/dist-server/service/auth-provider/auth-provider.js +173 -0
  26. package/dist-server/service/auth-provider/auth-provider.js.map +1 -0
  27. package/dist-server/service/auth-provider/index.d.ts +6 -0
  28. package/dist-server/service/auth-provider/index.js +10 -0
  29. package/dist-server/service/auth-provider/index.js.map +1 -0
  30. package/dist-server/service/index.d.ts +4 -2
  31. package/dist-server/service/index.js +8 -0
  32. package/dist-server/service/index.js.map +1 -1
  33. package/dist-server/service/user/user.d.ts +2 -0
  34. package/dist-server/service/user/user.js +9 -0
  35. package/dist-server/service/user/user.js.map +1 -1
  36. package/dist-server/service/users-auth-providers/index.d.ts +4 -0
  37. package/dist-server/service/users-auth-providers/index.js +8 -0
  38. package/dist-server/service/users-auth-providers/index.js.map +1 -0
  39. package/dist-server/service/users-auth-providers/users-auth-providers.d.ts +15 -0
  40. package/dist-server/service/users-auth-providers/users-auth-providers.js +73 -0
  41. package/dist-server/service/users-auth-providers/users-auth-providers.js.map +1 -0
  42. package/dist-server/tsconfig.tsbuildinfo +1 -1
  43. package/package.json +6 -6
  44. package/server/router/auth-signin-router.ts +10 -1
  45. package/server/service/appliance/appliance-mutation.ts +5 -1
  46. package/server/service/appliance/appliance-query.ts +2 -0
  47. package/server/service/application/application-mutation.ts +6 -1
  48. package/server/service/application/application-query.ts +3 -1
  49. package/server/service/auth-provider/auth-provider-mutation.ts +159 -0
  50. package/server/service/auth-provider/auth-provider-parameter-spec.ts +21 -0
  51. package/server/service/auth-provider/auth-provider-query.ts +57 -0
  52. package/server/service/auth-provider/auth-provider-type.ts +65 -0
  53. package/server/service/auth-provider/auth-provider.ts +166 -0
  54. package/server/service/auth-provider/index.ts +7 -0
  55. package/server/service/index.ts +11 -0
  56. package/server/service/user/user.ts +10 -1
  57. package/server/service/users-auth-providers/index.ts +5 -0
  58. package/server/service/users-auth-providers/users-auth-providers.ts +71 -0
@@ -1,4 +1,9 @@
1
1
  /* IMPORT ENTITIES AND RESOLVERS */
2
+ import {
3
+ entities as UsersAuthProvidersEntities,
4
+ resolvers as UsersAuthProvidersResolvers
5
+ } from './users-auth-providers'
6
+ import { entities as AuthProviderEntities, resolvers as AuthProviderResolvers } from './auth-provider'
2
7
  import { resolvers as AppbindingResolver } from './app-binding'
3
8
  import { entities as ApplianceEntities, resolvers as ApplianceResolvers } from './appliance'
4
9
  import { entities as ApplicationEntities, resolvers as ApplicationResolvers } from './application'
@@ -15,6 +20,8 @@ import { entities as UserEntities, resolvers as UserResolvers } from './user'
15
20
  import { entities as VerificationTokenEntities } from './verification-token'
16
21
 
17
22
  /* EXPORT ENTITY TYPES */
23
+ export * from './users-auth-providers/users-auth-providers'
24
+ export * from './auth-provider/auth-provider'
18
25
  export * from './application/application'
19
26
  export * from './appliance/appliance'
20
27
  export * from './privilege/privilege'
@@ -41,6 +48,8 @@ export * from './user/user-types'
41
48
 
42
49
  export const entities = [
43
50
  /* ENTITIES */
51
+ ...UsersAuthProvidersEntities,
52
+ ...AuthProviderEntities,
44
53
  ...ApplicationEntities,
45
54
  ...ApplianceEntities,
46
55
  ...PrivilegeEntities,
@@ -61,6 +70,8 @@ export const schema = {
61
70
 
62
71
  resolverClasses: [
63
72
  /* RESOLVER CLASSES */
73
+ ...UsersAuthProvidersResolvers,
74
+ ...AuthProviderResolvers,
64
75
  ...ApplicationResolvers,
65
76
  ...ApplianceResolvers,
66
77
  ...PrivilegeResolvers,
@@ -1,6 +1,6 @@
1
1
  import crypto from 'crypto'
2
2
  import jwt from 'jsonwebtoken'
3
- import { Field, ID, ObjectType } from 'type-graphql'
3
+ import { Directive, Field, ID, ObjectType } from 'type-graphql'
4
4
  import {
5
5
  Column,
6
6
  CreateDateColumn,
@@ -9,6 +9,7 @@ import {
9
9
  JoinTable,
10
10
  ManyToMany,
11
11
  ManyToOne,
12
+ OneToMany,
12
13
  PrimaryGeneratedColumn,
13
14
  RelationId,
14
15
  UpdateDateColumn
@@ -21,6 +22,7 @@ import { validatePasswordByRule } from '../../controllers/utils/password-rule'
21
22
  import { AuthError } from '../../errors/auth-error'
22
23
  import { SECRET } from '../../utils/get-secret'
23
24
  import { Role } from '../role/role'
25
+ import { UsersAuthProviders } from '../users-auth-providers/users-auth-providers'
24
26
  import { getDomainsWithPrivilege } from '../../utils/get-user-domains'
25
27
 
26
28
  const ORMCONFIG = config.get('ormconfig', {})
@@ -63,6 +65,7 @@ export class User {
63
65
  @Field()
64
66
  email: string
65
67
 
68
+ @Directive('@privilege(category: "security", privilege: "query", domainOwnerGranted: true)')
66
69
  @Column({
67
70
  nullable: true,
68
71
  type:
@@ -91,6 +94,7 @@ export class User {
91
94
  @Field({ nullable: true })
92
95
  reference: string
93
96
 
97
+ @Directive('@privilege(category: "security", privilege: "query", domainOwnerGranted: true)')
94
98
  @Column({
95
99
  nullable: true
96
100
  })
@@ -100,6 +104,7 @@ export class User {
100
104
  @Field({ nullable: true })
101
105
  locale: string
102
106
 
107
+ @Directive('@privilege(category: "security", privilege: "query", domainOwnerGranted: true)')
103
108
  @Column({ nullable: true })
104
109
  @Field({ nullable: true })
105
110
  ssoId: string
@@ -131,6 +136,10 @@ export class User {
131
136
  @Field({ nullable: true })
132
137
  owner: boolean /* should not be a column */
133
138
 
139
+ @OneToMany(() => UsersAuthProviders, usersAuthProviders => usersAuthProviders.user)
140
+ @Field(type => [UsersAuthProviders], { nullable: true })
141
+ usersAuthProviders: UsersAuthProviders[]
142
+
134
143
  @ManyToOne(type => User, { nullable: true })
135
144
  @Field({ nullable: true })
136
145
  creator: User
@@ -0,0 +1,5 @@
1
+ import { UsersAuthProviders } from './users-auth-providers'
2
+
3
+ export const entities = [UsersAuthProviders]
4
+ export const resolvers = []
5
+ export const subscribers = []
@@ -0,0 +1,71 @@
1
+ import {
2
+ CreateDateColumn,
3
+ UpdateDateColumn,
4
+ DeleteDateColumn,
5
+ Entity,
6
+ Index,
7
+ Column,
8
+ RelationId,
9
+ ManyToOne,
10
+ PrimaryGeneratedColumn,
11
+ VersionColumn
12
+ } from 'typeorm'
13
+ import { ObjectType, Field, Int, ID, registerEnumType } from 'type-graphql'
14
+
15
+ import { Domain } from '@things-factory/shell'
16
+ import { User } from '../user/user'
17
+ import { AuthProvider } from '../auth-provider/auth-provider'
18
+
19
+ @Entity()
20
+ @Index(
21
+ 'ix_users_auth_providers_0',
22
+ (usersAuthProviders: UsersAuthProviders) => [
23
+ usersAuthProviders.domain,
24
+ usersAuthProviders.user,
25
+ usersAuthProviders.authProvider
26
+ ],
27
+ { unique: true }
28
+ )
29
+ @ObjectType({ description: 'Entity for UsersAuthProviders' })
30
+ export class UsersAuthProviders {
31
+ @PrimaryGeneratedColumn('uuid')
32
+ @Field(type => ID)
33
+ readonly id: string
34
+
35
+ @ManyToOne(type => Domain)
36
+ @Field({ nullable: true })
37
+ domain?: Domain
38
+
39
+ @RelationId((usersAuthProviders: UsersAuthProviders) => usersAuthProviders.domain)
40
+ domainId?: string
41
+
42
+ @ManyToOne(() => User, user => user.usersAuthProviders, {
43
+ onDelete: 'CASCADE'
44
+ })
45
+ @Field(type => User, { nullable: true })
46
+ user: User
47
+
48
+ @RelationId((usersAuthProviders: UsersAuthProviders) => usersAuthProviders.user)
49
+ userId?: string
50
+
51
+ @ManyToOne(() => AuthProvider, authProvider => authProvider.usersAuthProviders, {
52
+ onDelete: 'CASCADE'
53
+ })
54
+ @Field(type => AuthProvider, { nullable: true })
55
+ authProvider: AuthProvider
56
+
57
+ @RelationId((usersAuthProviders: UsersAuthProviders) => usersAuthProviders.authProvider)
58
+ authProviderId?: string
59
+
60
+ @Column()
61
+ @Field({ nullable: true })
62
+ ssoId: string
63
+
64
+ @CreateDateColumn()
65
+ @Field({ nullable: true })
66
+ createdAt?: Date
67
+
68
+ @UpdateDateColumn()
69
+ @Field({ nullable: true })
70
+ updatedAt: Date
71
+ }