@typetron/framework 0.5.0 → 0.5.3

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 (197) hide show
  1. package/build/Database/EntityProxyHandler.js +2 -2
  2. package/build/Database/EntityProxyHandler.js.map +1 -1
  3. package/package.json +4 -7
  4. package/.eslintrc-old.js +0 -208
  5. package/Cache/Cache.ts +0 -13
  6. package/Cache/Stores/DatabaseStore.ts +0 -120
  7. package/Cache/Stores/FileStore.ts +0 -69
  8. package/Cache/Stores/MemoryStore.ts +0 -71
  9. package/Cache/index.ts +0 -5
  10. package/Cache/types.ts +0 -4
  11. package/Container/ClassResolver.ts +0 -106
  12. package/Container/Container.ts +0 -144
  13. package/Container/Contracts.ts +0 -3
  14. package/Container/Decorators.ts +0 -20
  15. package/Container/Metadata.ts +0 -16
  16. package/Container/Resolver.ts +0 -27
  17. package/Container/index.ts +0 -5
  18. package/Database/Clauses/Where.ts +0 -0
  19. package/Database/Connection.ts +0 -52
  20. package/Database/Decorators.ts +0 -142
  21. package/Database/Drivers/DatabaseDriver.ts +0 -37
  22. package/Database/Drivers/MySQL/Alter/index.ts +0 -55
  23. package/Database/Drivers/MySQL/ColumnDefinition.ts +0 -16
  24. package/Database/Drivers/MySQL/Create.ts +0 -47
  25. package/Database/Drivers/MySQL/MysqlDriver.ts +0 -123
  26. package/Database/Drivers/MySQL/Schema.ts +0 -82
  27. package/Database/Drivers/MySQL/index.ts +0 -13
  28. package/Database/Drivers/SQL/Schema.ts +0 -73
  29. package/Database/Drivers/SQL/Statements/Alter.ts +0 -22
  30. package/Database/Drivers/SQL/Statements/BaseStatement.ts +0 -55
  31. package/Database/Drivers/SQL/Statements/Delete.ts +0 -20
  32. package/Database/Drivers/SQL/Statements/Insert.ts +0 -24
  33. package/Database/Drivers/SQL/Statements/Select.ts +0 -55
  34. package/Database/Drivers/SQL/Statements/Update.ts +0 -33
  35. package/Database/Drivers/SQL/index.ts +0 -8
  36. package/Database/Drivers/SQLite/Create.ts +0 -45
  37. package/Database/Drivers/SQLite/Schema.ts +0 -54
  38. package/Database/Drivers/SQLite/SqliteDriver.ts +0 -144
  39. package/Database/Drivers/SQLite/index.ts +0 -15
  40. package/Database/Drivers/SchemaContract.ts +0 -11
  41. package/Database/Drivers/Statement.ts +0 -16
  42. package/Database/Drivers/index.ts +0 -4
  43. package/Database/Entity.ts +0 -377
  44. package/Database/EntityNotFoundError.ts +0 -5
  45. package/Database/EntityProxyHandler.ts +0 -43
  46. package/Database/EntityQuery.ts +0 -197
  47. package/Database/Expression.ts +0 -3
  48. package/Database/Fields.ts +0 -816
  49. package/Database/Helpers.ts +0 -12
  50. package/Database/List.ts +0 -71
  51. package/Database/Migrations/Migration.ts +0 -10
  52. package/Database/Migrations/MigrationHistory.ts +0 -20
  53. package/Database/Migrations/Migrator.ts +0 -122
  54. package/Database/Migrations/index.ts +0 -3
  55. package/Database/ORM/BaseRelationship.ts +0 -10
  56. package/Database/Query.ts +0 -374
  57. package/Database/Seeders/Seeder.ts +0 -3
  58. package/Database/Seeders/SeederManager.ts +0 -27
  59. package/Database/Seeders/index.ts +0 -2
  60. package/Database/StringExpression.ts +0 -9
  61. package/Database/Types.ts +0 -165
  62. package/Database/index.ts +0 -23
  63. package/Encryption/index.ts +0 -51
  64. package/Forms/Decorators.ts +0 -29
  65. package/Forms/Form.ts +0 -70
  66. package/Forms/FormFields.ts +0 -36
  67. package/Forms/index.ts +0 -3
  68. package/Framework/App.ts +0 -10
  69. package/Framework/Application.ts +0 -118
  70. package/Framework/Auth/Auth.ts +0 -122
  71. package/Framework/Auth/Authenticatable.ts +0 -9
  72. package/Framework/Auth/User.ts +0 -27
  73. package/Framework/Auth/index.ts +0 -29
  74. package/Framework/Config/AppConfig.ts +0 -25
  75. package/Framework/Config/AuthConfig.ts +0 -9
  76. package/Framework/Config/BaseConfig.ts +0 -9
  77. package/Framework/Config/CacheConfig.ts +0 -38
  78. package/Framework/Config/DatabaseConfig.ts +0 -21
  79. package/Framework/Config/MailConfig.ts +0 -30
  80. package/Framework/Config/index.ts +0 -6
  81. package/Framework/Middleware/AuthMiddleware.ts +0 -31
  82. package/Framework/Middleware/CorsMiddleware.ts +0 -32
  83. package/Framework/Middleware/StaticAssetsMiddleware.ts +0 -76
  84. package/Framework/Middleware/index.ts +0 -2
  85. package/Framework/Provider.ts +0 -9
  86. package/Framework/Providers/CacheProvider.ts +0 -28
  87. package/Framework/Providers/DatabaseProvider.ts +0 -36
  88. package/Framework/Providers/MailProvider.ts +0 -31
  89. package/Framework/Providers/WebsocketsProvider.ts +0 -120
  90. package/Framework/Resolvers/AuthResolver.ts +0 -23
  91. package/Framework/Resolvers/EntityResolver.ts +0 -41
  92. package/Framework/Resolvers/FormResolver.ts +0 -37
  93. package/Framework/RootDir.ts +0 -1
  94. package/Framework/index.ts +0 -8
  95. package/Frontend/Angular/index.ts +0 -24
  96. package/Frontend/Websockets/index.ts +0 -86
  97. package/Mail/MailAddress.ts +0 -4
  98. package/Mail/MailTransport.ts +0 -6
  99. package/Mail/Mailable.ts +0 -16
  100. package/Mail/Mailer.ts +0 -27
  101. package/Mail/PendingMail.ts +0 -68
  102. package/Mail/SentMessage.ts +0 -20
  103. package/Mail/Transports/MemoryTransport.ts +0 -13
  104. package/Mail/Transports/SendGridTransport.ts +0 -95
  105. package/Mail/index.ts +0 -3
  106. package/Models/Model.ts +0 -41
  107. package/Models/index.ts +0 -54
  108. package/Router/BaseController.ts +0 -7
  109. package/Router/Decorators.ts +0 -224
  110. package/Router/Guard.ts +0 -10
  111. package/Router/Http/Contracts.ts +0 -4
  112. package/Router/Http/ErrorHandler.ts +0 -45
  113. package/Router/Http/ErrorHandlerInterface.ts +0 -6
  114. package/Router/Http/Errors/HttpError.ts +0 -15
  115. package/Router/Http/Handler.ts +0 -183
  116. package/Router/Http/HttpRoute.ts +0 -110
  117. package/Router/Http/Middleware.ts +0 -7
  118. package/Router/Http/Request.ts +0 -225
  119. package/Router/Http/Response.ts +0 -35
  120. package/Router/Http/index.ts +0 -85
  121. package/Router/Metadata.ts +0 -34
  122. package/Router/Middleware.ts +0 -16
  123. package/Router/Request.ts +0 -65
  124. package/Router/Route.ts +0 -16
  125. package/Router/RouteNotFoundError.ts +0 -5
  126. package/Router/Router.ts +0 -35
  127. package/Router/Servers/index.ts +0 -6
  128. package/Router/Servers/node.ts +0 -49
  129. package/Router/Servers/uNetworking.ts +0 -151
  130. package/Router/Websockets/Handler.ts +0 -82
  131. package/Router/Websockets/Middleware.ts +0 -7
  132. package/Router/Websockets/Request.ts +0 -3
  133. package/Router/Websockets/WebsocketRoute.ts +0 -61
  134. package/Router/Websockets/index.ts +0 -57
  135. package/Router/Websockets/types.ts +0 -23
  136. package/Router/index.ts +0 -6
  137. package/Storage/File.ts +0 -30
  138. package/Storage/Image.ts +0 -19
  139. package/Storage/InvalidImage.ts +0 -3
  140. package/Storage/Storage.ts +0 -98
  141. package/Storage/index.ts +0 -4
  142. package/Storage/utils.ts +0 -18
  143. package/Support/Array.ts +0 -184
  144. package/Support/Math.ts +0 -12
  145. package/Support/Metadata.ts +0 -31
  146. package/Support/String.ts +0 -38
  147. package/Support/index.ts +0 -19
  148. package/Support/utils.ts +0 -7
  149. package/Testing/TestCase.ts +0 -193
  150. package/Validation/Rule.ts +0 -9
  151. package/Validation/RuleInterface.ts +0 -10
  152. package/Validation/Rules/Email.ts +0 -20
  153. package/Validation/Rules/FileExtension.ts +0 -21
  154. package/Validation/Rules/MaxLength.ts +0 -17
  155. package/Validation/Rules/MinLength.ts +0 -18
  156. package/Validation/Rules/Optional.ts +0 -18
  157. package/Validation/Rules/Required.ts +0 -29
  158. package/Validation/Validator.ts +0 -7
  159. package/Validation/index.ts +0 -12
  160. package/benchmark-index.js +0 -20
  161. package/benchmark.ts +0 -47
  162. package/tests/Cache/DatabaseStoreTest.ts +0 -110
  163. package/tests/Cache/FileStoreTest.ts +0 -93
  164. package/tests/Cache/MemoryStoreTest.ts +0 -92
  165. package/tests/Container/ContainerTest.ts +0 -336
  166. package/tests/Database/Drivers/MySQL/AlterTest.ts +0 -100
  167. package/tests/Database/Drivers/MySQL/CreateTest.ts +0 -39
  168. package/tests/Database/Drivers/MysqlDriverTest.ts +0 -140
  169. package/tests/Database/Drivers/SqliteDriverTest.ts +0 -126
  170. package/tests/Database/Entities/Article.ts +0 -21
  171. package/tests/Database/Entities/Profile.ts +0 -21
  172. package/tests/Database/Entities/Role.ts +0 -15
  173. package/tests/Database/Entities/User.ts +0 -35
  174. package/tests/Database/EntityRelationshipsTest.ts +0 -475
  175. package/tests/Database/EntityTest.ts +0 -202
  176. package/tests/Database/Migrations/RunnerTest.ts +0 -96
  177. package/tests/Database/Migrations/migrations/1.createUserTable.ts +0 -12
  178. package/tests/Database/Migrations/migrations/2.createArticlesTable.ts +0 -12
  179. package/tests/Database/QueryTest.ts +0 -573
  180. package/tests/Database/SchemaTest.ts +0 -32
  181. package/tests/Database/Seeders/RunnerTest.ts +0 -30
  182. package/tests/Database/Seeders/seeders/RandomSeeder.ts +0 -10
  183. package/tests/Database/utils.ts +0 -16
  184. package/tests/Forms/FormsTest.ts +0 -59
  185. package/tests/Framework/Middleware/StaticAssetsMiddlewareTest.ts +0 -129
  186. package/tests/Framework/Resolvers/EntityResolverTest.ts +0 -48
  187. package/tests/Framework/Router/RouterTest.ts +0 -33
  188. package/tests/Mail/MailerTest.ts +0 -76
  189. package/tests/Model/ModelTest.ts +0 -183
  190. package/tests/Router/HttpHandlerTest.ts +0 -72
  191. package/tests/Router/RequestTest.ts +0 -77
  192. package/tests/Router/WebSocketsHandlerTest.ts +0 -51
  193. package/tests/Storage/StorageTest.ts +0 -97
  194. package/tests/Support/ArrayTest.ts +0 -167
  195. package/tests/Support/StringTest.ts +0 -18
  196. package/tests/Validation/RulesTest.ts +0 -54
  197. package/types.d.ts +0 -8
@@ -1,100 +0,0 @@
1
- import { suite, test } from '@testdeck/mocha'
2
- import { expectQuery } from '@Typetron/tests/Database/utils'
3
- import { AddColumn, AddConstraint, Alter, Constraints, DropColumn, ModifyColumn } from '@Typetron/Database/Drivers/MySQL/Alter'
4
-
5
- @suite
6
- class AlterTest {
7
-
8
- @test
9
- async addColumn() {
10
- const addAge = new AddColumn({
11
- name: 'age',
12
- type: 'integer',
13
- })
14
- const statement = new Alter('test', [addAge])
15
- expectQuery(statement).toEqual('ALTER TABLE test ADD age integer')
16
- }
17
-
18
- @test
19
- async addPrimaryKeyColumn() {
20
- const addAge = new AddColumn({
21
- name: 'age',
22
- type: 'integer',
23
- })
24
- const statement = new Alter('test', [addAge])
25
- expectQuery(statement).toEqual('ALTER TABLE test ADD age integer')
26
- }
27
-
28
- @test
29
- async dropColumn() {
30
- const age = new DropColumn('age')
31
- const statement = new Alter('test', [age])
32
- expectQuery(statement).toEqual('ALTER TABLE test DROP COLUMN age')
33
- }
34
-
35
- @test
36
- async ModifyColumn() {
37
- const age = new ModifyColumn({
38
- name: 'age',
39
- type: 'integer',
40
- })
41
- const statement = new Alter('test', [age])
42
- expectQuery(statement).toEqual('ALTER TABLE test MODIFY age integer')
43
- }
44
-
45
- @test
46
- async ModifyColumnWithAutoIncrement() {
47
- const age = new ModifyColumn({
48
- name: 'age',
49
- type: 'integer',
50
- autoIncrement: 1
51
- })
52
- const statement = new Alter('test', [age])
53
- expectQuery(statement).toEqual('ALTER TABLE test MODIFY age integer AUTO_INCREMENT')
54
- }
55
-
56
- @test
57
- async addPrimaryKeyConstraint() {
58
- const age = new AddConstraint({
59
- name: 'age',
60
- type: 'integer',
61
- }, Constraints.PrimaryKey)
62
- const statement = new Alter('test', [age])
63
- expectQuery(statement).toEqual('ALTER TABLE test ADD CONSTRAINT PRIMARY KEY (age)')
64
- }
65
-
66
- @test
67
- async addForeignKeyConstraint() {
68
- const age = new AddConstraint({
69
- name: 'age',
70
- type: 'integer',
71
- }, Constraints.ForeignKey)
72
- const statement = new Alter('test', [age])
73
- expectQuery(statement).toEqual('ALTER TABLE test ADD CONSTRAINT FOREIGN KEY (age)')
74
- }
75
-
76
- @test
77
- async altersMultipleColumns() {
78
- const addAge = new AddColumn({
79
- name: 'age',
80
- type: 'integer',
81
- })
82
- const dropName = new DropColumn('age')
83
- const dropTitle = new DropColumn('title')
84
-
85
- const addAddress = new AddColumn({
86
- name: 'address',
87
- type: 'varchar(255)',
88
- })
89
- const statement = new Alter('test', [addAge, dropName, dropTitle, addAddress])
90
- expectQuery(statement).toEqual(`
91
- ALTER TABLE test
92
- ADD age integer,
93
- DROP
94
- COLUMN age,
95
- DROP
96
- COLUMN title,
97
- ADD address varchar(255)
98
- `)
99
- }
100
- }
@@ -1,39 +0,0 @@
1
- import { suite, test } from '@testdeck/mocha'
2
- import { Create } from '@Typetron/Database/Drivers/MySQL/Create'
3
- import { expectQuery } from '@Typetron/tests/Database/utils'
4
-
5
- @suite
6
- class CreateTest {
7
-
8
- @test
9
- async createsEmptyTable() {
10
- const statement = new Create('test')
11
- expectQuery(statement).toEqual('CREATE TABLE test ( )')
12
- }
13
-
14
- @test
15
- async createsTableWithIntegerColumn() {
16
- const statement = new Create('test', [{
17
- name: 'age',
18
- type: 'integer',
19
- }])
20
- expectQuery(statement).toEqual('CREATE TABLE test ( age integer )')
21
- }
22
-
23
- @test
24
- async createsTableWithPrimaryAutoIncrementColumn() {
25
- const statement = new Create('test', [{
26
- name: 'id',
27
- type: 'integer',
28
- primaryKey: true,
29
- autoIncrement: 1
30
- }])
31
- expectQuery(statement).toEqual(`
32
- CREATE TABLE test
33
- (
34
- id integer AUTO_INCREMENT,
35
- PRIMARY KEY (id)
36
- )
37
- `)
38
- }
39
- }
@@ -1,140 +0,0 @@
1
- import { suite, test } from '@testdeck/mocha'
2
- import { BelongsTo, Column, Entity, HasOne, ID, MysqlDriver, Options, PrimaryColumn, Relation } from '@Typetron/Database'
3
- import { anyString, instance, mock, when } from 'ts-mockito'
4
- import { Schema } from '@Typetron/Database/Drivers/MySQL/Schema'
5
- import { expectQuery } from '../utils'
6
- import { DatabaseDriver } from '@Typetron/Database/Drivers/DatabaseDriver'
7
-
8
- @suite
9
- class MysqlDriverTest {
10
-
11
- driver: DatabaseDriver
12
- schema: Schema
13
- query: string
14
-
15
- async before() {
16
- this.driver = mock(MysqlDriver)
17
- this.schema = new Schema(instance(this.driver))
18
- when(this.driver.run(anyString())).thenCall((query: string) => this.query = query)
19
- }
20
-
21
- @test
22
- async createsEmptyTable() {
23
- @Options()
24
- class Test extends Entity {}
25
-
26
- await this.schema.synchronize([Test].pluck('metadata'))
27
- expectQuery(this.query).toEqual('CREATE TABLE test ( )')
28
- }
29
-
30
- @test
31
- async createsTableWithIntegerColumn() {
32
- class Test extends Entity {
33
- @Column()
34
- age: number
35
- }
36
-
37
- await this.schema.synchronize([Test].pluck('metadata'))
38
- expectQuery(this.query).toEqual('CREATE TABLE test ( age integer )')
39
- }
40
-
41
- @test
42
- async createsTableWithPrimaryAutoIncrementColumn() {
43
- class Test extends Entity {
44
- @PrimaryColumn()
45
- id: ID
46
- }
47
-
48
- await this.schema.synchronize([Test].pluck('metadata'))
49
- expectQuery(this.query).toEqual(`
50
- CREATE TABLE test
51
- (
52
- id integer AUTO_INCREMENT,
53
- PRIMARY KEY (id)
54
- )
55
- `)
56
- }
57
-
58
- @test
59
- async createsTableWithForeignColumn() {
60
- class User extends Entity {
61
- @Column()
62
- @Relation(() => Image, 'user')
63
- image: HasOne<Image>
64
- }
65
-
66
- class Image extends Entity {
67
- @Column()
68
- @Relation(() => User, 'image')
69
- user: BelongsTo<User>
70
- }
71
-
72
- await this.schema.synchronize([Image].pluck('metadata'))
73
- expectQuery(this.query).toEqual(`
74
- CREATE TABLE image
75
- (
76
- userId integer
77
- )
78
- `)
79
- }
80
-
81
- @test
82
- async altersTable() {
83
- when(this.driver.tableExists(anyString())).thenReturn(Promise.resolve(true))
84
- when(this.driver.tableColumns(anyString())).thenReturn(Promise.resolve([
85
- {
86
- name: 'column2',
87
- type: 'integer'
88
- },
89
- {
90
- name: 'column3',
91
- type: 'integer'
92
- },
93
- ]))
94
-
95
- class User extends Entity {
96
- @Column()
97
- column1: number
98
-
99
- @Column()
100
- column2: string
101
- }
102
-
103
- await this.schema.synchronize([User].pluck('metadata'))
104
-
105
- expectQuery(this.query).toEqual(`
106
- ALTER TABLE user
107
- ADD column1 integer,
108
- MODIFY column2 varchar(255),
109
- DROP
110
- COLUMN column3
111
- `)
112
- }
113
-
114
- @test
115
- async altersTableAddPrimaryKey() {
116
- when(this.driver.tableExists(anyString())).thenReturn(Promise.resolve(true))
117
- when(this.driver.tableColumns(anyString())).thenReturn(Promise.resolve([]))
118
-
119
- class User extends Entity {
120
- @PrimaryColumn()
121
- id: ID
122
- }
123
-
124
- const queries: string[] = []
125
- when(this.driver.run(anyString())).thenCall((query: string) => queries.push(query))
126
-
127
- await this.schema.synchronize([User].pluck('metadata'))
128
-
129
- expectQuery(queries[0]).toEqual(`
130
- ALTER TABLE user
131
- ADD id integer
132
- `)
133
-
134
- expectQuery(queries[1]).toEqual(`
135
- ALTER TABLE user
136
- ADD CONSTRAINT PRIMARY KEY (id),
137
- MODIFY id integer AUTO_INCREMENT
138
- `)
139
- }
140
- }
@@ -1,126 +0,0 @@
1
- import { suite, test } from '@testdeck/mocha'
2
- import { BelongsTo, Column, Entity, HasOne, ID, Options, PrimaryColumn, Relation, SqliteDriver } from '@Typetron/Database'
3
- import { anyString, instance, mock, when } from '@Typetron/node_modules/ts-mockito'
4
- import { Schema } from '@Typetron/Database/Drivers/SQLite/Schema'
5
- import { expectQuery } from '@Typetron/tests/Database/utils'
6
- import { expect } from 'chai'
7
- import { DatabaseDriver } from '@Typetron/Database/Drivers/DatabaseDriver'
8
-
9
- @suite
10
- class SqliteDriverTest {
11
-
12
- driver: DatabaseDriver
13
- schema: Schema
14
- query: string
15
-
16
- async before() {
17
- this.driver = mock(SqliteDriver)
18
- this.schema = new Schema(instance(this.driver))
19
- when(this.driver.run(anyString())).thenCall((query: string) => this.query = query)
20
- }
21
-
22
- @test
23
- async createsEmptyTable() {
24
- @Options()
25
- class Test extends Entity {}
26
-
27
- await this.schema.synchronize([Test].pluck('metadata'))
28
- expectQuery(this.query).toEqual('CREATE TABLE test ( )')
29
- }
30
-
31
- @test
32
- async createsTableWithIntegerColumn() {
33
- class Test extends Entity {
34
- @Column()
35
- age: number
36
- }
37
-
38
- await this.schema.synchronize([Test].pluck('metadata'))
39
- expectQuery(this.query).toEqual('CREATE TABLE test ( age integer )')
40
- }
41
-
42
- @test
43
- async createsTableWithPrimaryAutoIncrementColumn() {
44
- class Test extends Entity {
45
- @PrimaryColumn()
46
- id: ID
47
- }
48
-
49
- await this.schema.synchronize([Test].pluck('metadata'))
50
- expectQuery(this.query).toEqual(`
51
- CREATE TABLE test
52
- (
53
- id integer PRIMARY KEY AUTOINCREMENT
54
- )
55
- `)
56
- }
57
-
58
- @test
59
- async createsTableWithForeignColumn() {
60
- class User extends Entity {
61
- @Column()
62
- @Relation(() => Image, 'user')
63
- image: HasOne<Image>
64
- }
65
-
66
- class Image extends Entity {
67
- @Column()
68
- @Relation(() => User, 'image')
69
- user: BelongsTo<User>
70
- }
71
-
72
- await this.schema.synchronize([Image].pluck('metadata'))
73
- expectQuery(this.query).toEqual(`
74
- CREATE TABLE image
75
- (
76
- userId integer
77
- )
78
- `)
79
- }
80
-
81
- @test
82
- async altersTable() {
83
- when(this.driver.tableExists(anyString())).thenReturn(Promise.resolve(true))
84
- when(this.driver.tableColumns(anyString())).thenReturn(Promise.resolve([
85
- {
86
- name: 'column2',
87
- type: 'integer'
88
- },
89
- {
90
- name: 'column3',
91
- type: 'integer'
92
- },
93
- ]))
94
-
95
- const queries: string[] = []
96
- when(this.driver.run(anyString())).thenCall((query: string) => queries.push(query))
97
-
98
- class User extends Entity {
99
- @Column()
100
- column1: number
101
-
102
- @Column()
103
- column2: string
104
- }
105
-
106
- await this.schema.synchronize([User].pluck('metadata'))
107
-
108
- expect(queries).to.have.length(4)
109
- expectQuery(queries[0]).toEqual(`
110
- CREATE TABLE user_alter_tmp
111
- (
112
- column1 integer,
113
- column2 varchar(255)
114
- )
115
- `)
116
-
117
- expectQuery(queries[1]).toEqual(`
118
- INSERT INTO user_alter_tmp(column2)
119
- SELECT column2
120
- FROM user
121
- `)
122
-
123
- expectQuery(queries[2]).toEqual(`DROP TABLE user`)
124
- expectQuery(queries[3]).toEqual(`ALTER TABLE user_alter_tmp RENAME TO user`)
125
- }
126
- }
@@ -1,21 +0,0 @@
1
- import { Column, Entity, PrimaryColumn, Relation } from '../../../Database'
2
- import { User } from './User'
3
- import { BelongsTo } from '../../../Database/Fields'
4
-
5
- export class Article extends Entity {
6
-
7
- @PrimaryColumn()
8
- id: number
9
-
10
- @Column()
11
- title: string
12
-
13
- @Column()
14
- content: string
15
-
16
- @Column()
17
- published: boolean = false
18
-
19
- @Relation(() => User, 'articles')
20
- author: BelongsTo<User>
21
- }
@@ -1,21 +0,0 @@
1
- import { Column, CreatedAt, Entity, PrimaryColumn, Relation, UpdatedAt } from '../../../Database'
2
- import { User } from './User'
3
- import { BelongsTo } from '../../../Database/Fields'
4
-
5
- export class Profile extends Entity {
6
-
7
- @PrimaryColumn()
8
- id: number
9
-
10
- @Relation(() => User, 'profile')
11
- user: BelongsTo<User>
12
-
13
- @Column()
14
- address: string
15
-
16
- @CreatedAt()
17
- createdAt: Date
18
-
19
- @UpdatedAt()
20
- updatedAt: Date
21
- }
@@ -1,15 +0,0 @@
1
- import { Column, Entity, PrimaryColumn, Relation } from '../../../Database'
2
- import { User } from './User'
3
- import { BelongsToMany } from '../../../Database/Fields'
4
-
5
- export class Role extends Entity {
6
-
7
- @PrimaryColumn()
8
- id: number
9
-
10
- @Column()
11
- name: string
12
-
13
- @Relation(() => User, 'roles')
14
- users: BelongsToMany<User>
15
- }
@@ -1,35 +0,0 @@
1
- import { Column, CreatedAt, Entity, Options, PrimaryColumn, Relation, UpdatedAt } from '../../../Database'
2
- import { Article } from './Article'
3
- import { Role } from './Role'
4
- import { Profile } from './Profile'
5
- import { BelongsToMany, HasMany, HasOne } from '../../../Database/Fields'
6
-
7
- @Options({
8
- table: 'users'
9
- })
10
- export class User extends Entity {
11
-
12
- @PrimaryColumn()
13
- id: number
14
-
15
- @Column()
16
- name: string
17
-
18
- @Column()
19
- email: string
20
-
21
- @Relation(() => Profile, 'user')
22
- profile: HasOne<Profile>
23
-
24
- @Relation(() => Article, 'author')
25
- articles: HasMany<Article>
26
-
27
- @Relation(() => Role, 'users')
28
- roles: BelongsToMany<Role>
29
-
30
- @CreatedAt()
31
- createdAt: Date
32
-
33
- @UpdatedAt()
34
- updatedAt: Date
35
- }