jcc-express-mvc 1.8.8 → 1.8.21
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/__tests__/MySqlSchemaBlueprint.test.d.ts +2 -0
- package/__tests__/MySqlSchemaBlueprint.test.d.ts.map +1 -0
- package/__tests__/MySqlSchemaBlueprint.test.js +55 -0
- package/__tests__/PostgresTranslator.test.d.ts +2 -0
- package/__tests__/PostgresTranslator.test.d.ts.map +1 -0
- package/__tests__/PostgresTranslator.test.js +82 -0
- package/__tests__/SQLiteTranslator.test.d.ts +2 -0
- package/__tests__/SQLiteTranslator.test.d.ts.map +1 -0
- package/__tests__/SQLiteTranslator.test.js +125 -0
- package/__tests__/SchemaAlterBlueprint.test.d.ts +2 -0
- package/__tests__/SchemaAlterBlueprint.test.d.ts.map +1 -0
- package/__tests__/SchemaAlterBlueprint.test.js +35 -0
- package/global.d.ts +3 -1
- package/index.d.ts +28 -3
- package/index.d.ts.map +1 -1
- package/index.js +33 -75
- package/lib/Application/Application.d.ts +1 -1
- package/lib/Application/Application.d.ts.map +1 -1
- package/lib/Application/Application.js +2 -2
- package/lib/Application/ApplicationBuilder.d.ts.map +1 -1
- package/lib/Application/ApplicationBuilder.js +9 -2
- package/lib/Auth/AuthMiddleware.d.ts.map +1 -1
- package/lib/Auth/AuthMiddleware.js +29 -12
- package/lib/Auth/index.d.ts +17 -3
- package/lib/Auth/index.d.ts.map +1 -1
- package/lib/Auth/index.js +128 -26
- package/lib/Auth/loginRateLimit.d.ts +6 -0
- package/lib/Auth/loginRateLimit.d.ts.map +1 -0
- package/lib/Auth/loginRateLimit.js +25 -0
- package/lib/Auth/refreshTokenStore.d.ts +24 -0
- package/lib/Auth/refreshTokenStore.d.ts.map +1 -0
- package/lib/Auth/refreshTokenStore.js +46 -0
- package/lib/Command-Line/DBCommand.d.ts.map +1 -1
- package/lib/Command-Line/DBCommand.js +9 -3
- package/lib/Command-Line/KeyGenerateCommand.d.ts +6 -0
- package/lib/Command-Line/KeyGenerateCommand.d.ts.map +1 -0
- package/lib/Command-Line/KeyGenerateCommand.js +47 -0
- package/lib/Command-Line/NodeArtisanCommand.d.ts +2 -0
- package/lib/Command-Line/NodeArtisanCommand.d.ts.map +1 -1
- package/lib/Command-Line/NodeArtisanCommand.js +20 -3
- package/lib/Command-Line/NodeTinker/Tinker.d.ts +5 -2
- package/lib/Command-Line/NodeTinker/Tinker.d.ts.map +1 -1
- package/lib/Command-Line/NodeTinker/Tinker.js +13 -3
- package/lib/Command-Line/WatchCommand.d.ts +29 -0
- package/lib/Command-Line/WatchCommand.d.ts.map +1 -0
- package/lib/Command-Line/WatchCommand.js +234 -0
- package/lib/Command-Line/files/Models.d.ts.map +1 -1
- package/lib/Command-Line/files/Models.js +41 -16
- package/lib/Console/Command.d.ts +18 -0
- package/lib/Console/Command.d.ts.map +1 -1
- package/lib/Console/Command.js +29 -0
- package/lib/Container/index.d.ts.map +1 -1
- package/lib/Container/index.js +21 -7
- package/lib/Database/Database.d.ts +2 -1
- package/lib/Database/Database.d.ts.map +1 -1
- package/lib/Database/Database.js +6 -5
- package/lib/Database/DatabaseServiceProvider.d.ts +0 -4
- package/lib/Database/DatabaseServiceProvider.d.ts.map +1 -1
- package/lib/Database/DatabaseServiceProvider.js +9 -56
- package/lib/Database/Drivers/MongooseDriver.d.ts +2 -0
- package/lib/Database/Drivers/MongooseDriver.d.ts.map +1 -1
- package/lib/Database/Drivers/MongooseDriver.js +11 -13
- package/lib/Database/Drivers/SequelizeDriver.d.ts +9 -1
- package/lib/Database/Drivers/SequelizeDriver.d.ts.map +1 -1
- package/lib/Database/Drivers/SequelizeDriver.js +43 -18
- package/lib/Error/SocialiteAuthError/SocialiteAuthError.d.ts +9 -0
- package/lib/Error/SocialiteAuthError/SocialiteAuthError.d.ts.map +1 -0
- package/lib/Error/SocialiteAuthError/SocialiteAuthError.js +17 -0
- package/lib/Global/helpers.d.ts.map +1 -1
- package/lib/Global/helpers.js +6 -4
- package/lib/Http/index.d.ts +3 -1
- package/lib/Http/index.d.ts.map +1 -1
- package/lib/Http/index.js +26 -5
- package/lib/Interface/index.d.ts +12 -3
- package/lib/Interface/index.d.ts.map +1 -1
- package/lib/Jcc-eloquent/lib/Builder.d.ts +12 -1
- package/lib/Jcc-eloquent/lib/Builder.d.ts.map +1 -1
- package/lib/Jcc-eloquent/lib/Builder.js +116 -4
- package/lib/Jcc-eloquent/lib/Interfaces/index.d.ts +37 -2
- package/lib/Jcc-eloquent/lib/Interfaces/index.d.ts.map +1 -1
- package/lib/Jcc-eloquent/lib/Migration.d.ts +6 -0
- package/lib/Jcc-eloquent/lib/Migration.d.ts.map +1 -1
- package/lib/Jcc-eloquent/lib/Migration.js +24 -2
- package/lib/Jcc-eloquent/lib/Model.d.ts +24 -7
- package/lib/Jcc-eloquent/lib/Model.d.ts.map +1 -1
- package/lib/Jcc-eloquent/lib/Model.js +35 -2
- package/lib/Jcc-eloquent/lib/QueryBuilder.d.ts +2 -1
- package/lib/Jcc-eloquent/lib/QueryBuilder.d.ts.map +1 -1
- package/lib/Jcc-eloquent/lib/QueryBuilder.js +10 -1
- package/lib/Jcc-eloquent/lib/Rollback.d.ts.map +1 -1
- package/lib/Jcc-eloquent/lib/Rollback.js +9 -2
- package/lib/Jcc-eloquent/lib/Schema/BaseSchemaEntity/index.d.ts.map +1 -1
- package/lib/Jcc-eloquent/lib/Schema/BaseSchemaEntity/index.js +3 -3
- package/lib/Jcc-eloquent/lib/Schema/BluePrint/index.d.ts +6 -2
- package/lib/Jcc-eloquent/lib/Schema/BluePrint/index.d.ts.map +1 -1
- package/lib/Jcc-eloquent/lib/Schema/BluePrint/index.js +41 -12
- package/lib/Jcc-eloquent/lib/Schema/Translator/Sqlite.d.ts.map +1 -1
- package/lib/Jcc-eloquent/lib/Schema/Translator/Sqlite.js +21 -3
- package/lib/Jcc-eloquent/lib/Schema/Translator/postgres.d.ts +1 -0
- package/lib/Jcc-eloquent/lib/Schema/Translator/postgres.d.ts.map +1 -1
- package/lib/Jcc-eloquent/lib/Schema/Translator/postgres.js +70 -14
- package/lib/Jcc-eloquent/lib/Schema/index.d.ts +12 -0
- package/lib/Jcc-eloquent/lib/Schema/index.d.ts.map +1 -1
- package/lib/Jcc-eloquent/lib/Schema/index.js +27 -6
- package/lib/Jcc-eloquent/lib/utils/index.d.ts +13 -0
- package/lib/Jcc-eloquent/lib/utils/index.d.ts.map +1 -1
- package/lib/Jcc-eloquent/lib/utils/index.js +62 -0
- package/lib/Middleware/index.d.ts.map +1 -1
- package/lib/Middleware/index.js +4 -7
- package/lib/Model/Sequelize.d.ts +3 -0
- package/lib/Model/Sequelize.d.ts.map +1 -0
- package/lib/Model/Sequelize.js +6 -0
- package/lib/Providers/SessionServiceProvider.d.ts +12 -0
- package/lib/Providers/SessionServiceProvider.d.ts.map +1 -0
- package/lib/Providers/SessionServiceProvider.js +47 -0
- package/lib/Queue/Controllers/QueueControllers.d.ts +4 -13
- package/lib/Queue/Controllers/QueueControllers.d.ts.map +1 -1
- package/lib/Queue/Controllers/QueueControllers.js +1 -16
- package/lib/Queue/Route/web.js +4 -1
- package/lib/Queue/index.d.ts +1 -0
- package/lib/Queue/index.d.ts.map +1 -1
- package/lib/Queue/index.js +3 -0
- package/lib/Queue/middleware/queueDashboardGuard.d.ts +7 -0
- package/lib/Queue/middleware/queueDashboardGuard.d.ts.map +1 -0
- package/lib/Queue/middleware/queueDashboardGuard.js +43 -0
- package/lib/Response/index.d.ts.map +1 -1
- package/lib/Response/index.js +6 -1
- package/lib/Routes/Route.d.ts +2 -2
- package/lib/Routes/Route.d.ts.map +1 -1
- package/lib/Routes/RouteBuilder.d.ts +2 -2
- package/lib/Routes/RouteBuilder.d.ts.map +1 -1
- package/lib/Security/CsrfMiddleware.d.ts.map +1 -1
- package/lib/Security/CsrfMiddleware.js +6 -4
- package/lib/Session/DatabaseSession.d.ts +9 -3
- package/lib/Session/DatabaseSession.d.ts.map +1 -1
- package/lib/Session/DatabaseSession.js +38 -36
- package/lib/Session/ExpressJccSession.d.ts +23 -0
- package/lib/Session/ExpressJccSession.d.ts.map +1 -0
- package/lib/Session/ExpressJccSession.js +110 -0
- package/lib/Session/RedisSession.d.ts +2 -2
- package/lib/Session/RedisSession.d.ts.map +1 -1
- package/lib/Session/RedisSession.js +19 -5
- package/lib/Session/SessionManager.d.ts +18 -4
- package/lib/Session/SessionManager.d.ts.map +1 -1
- package/lib/Session/SessionManager.js +53 -17
- package/lib/Socialite/AbstractProvider.d.ts +60 -0
- package/lib/Socialite/AbstractProvider.d.ts.map +1 -0
- package/lib/Socialite/AbstractProvider.js +136 -0
- package/lib/Socialite/Drivers/facebook/FacebookDriver.d.ts +9 -0
- package/lib/Socialite/Drivers/facebook/FacebookDriver.d.ts.map +1 -0
- package/lib/Socialite/Drivers/facebook/FacebookDriver.js +40 -0
- package/lib/Socialite/Drivers/facebook/FacebookProvider.d.ts +15 -0
- package/lib/Socialite/Drivers/facebook/FacebookProvider.d.ts.map +1 -0
- package/lib/Socialite/Drivers/facebook/FacebookProvider.js +28 -0
- package/lib/Socialite/Drivers/github/GitHubDriver.d.ts +9 -0
- package/lib/Socialite/Drivers/github/GitHubDriver.d.ts.map +1 -0
- package/lib/Socialite/Drivers/github/GitHubDriver.js +54 -0
- package/lib/Socialite/Drivers/github/GitHubProvider.d.ts +15 -0
- package/lib/Socialite/Drivers/github/GitHubProvider.d.ts.map +1 -0
- package/lib/Socialite/Drivers/github/GitHubProvider.js +28 -0
- package/lib/Socialite/Drivers/gitlab/GitLabDriver.d.ts +10 -0
- package/lib/Socialite/Drivers/gitlab/GitLabDriver.d.ts.map +1 -0
- package/lib/Socialite/Drivers/gitlab/GitLabDriver.js +37 -0
- package/lib/Socialite/Drivers/gitlab/GitLabProvider.d.ts +15 -0
- package/lib/Socialite/Drivers/gitlab/GitLabProvider.d.ts.map +1 -0
- package/lib/Socialite/Drivers/gitlab/GitLabProvider.js +28 -0
- package/lib/Socialite/Drivers/google/GoogleDriver.d.ts +9 -0
- package/lib/Socialite/Drivers/google/GoogleDriver.d.ts.map +1 -0
- package/lib/Socialite/Drivers/google/GoogleDriver.js +39 -0
- package/lib/Socialite/Drivers/google/GoogleProvider.d.ts +15 -0
- package/lib/Socialite/Drivers/google/GoogleProvider.d.ts.map +1 -0
- package/lib/Socialite/Drivers/google/GoogleProvider.js +28 -0
- package/lib/Socialite/Drivers/slack/SlackDriver.d.ts +9 -0
- package/lib/Socialite/Drivers/slack/SlackDriver.d.ts.map +1 -0
- package/lib/Socialite/Drivers/slack/SlackDriver.js +41 -0
- package/lib/Socialite/Drivers/slack/SlackProvider.d.ts +16 -0
- package/lib/Socialite/Drivers/slack/SlackProvider.d.ts.map +1 -0
- package/lib/Socialite/Drivers/slack/SlackProvider.js +37 -0
- package/lib/Socialite/Drivers/twitter/TwitterDriver.d.ts +9 -0
- package/lib/Socialite/Drivers/twitter/TwitterDriver.d.ts.map +1 -0
- package/lib/Socialite/Drivers/twitter/TwitterDriver.js +57 -0
- package/lib/Socialite/Drivers/twitter/TwitterProvider.d.ts +16 -0
- package/lib/Socialite/Drivers/twitter/TwitterProvider.d.ts.map +1 -0
- package/lib/Socialite/Drivers/twitter/TwitterProvider.js +38 -0
- package/lib/Socialite/SocialUser.d.ts +42 -0
- package/lib/Socialite/SocialUser.d.ts.map +1 -0
- package/lib/Socialite/SocialUser.js +116 -0
- package/lib/Socialite/Socialite.d.ts +13 -0
- package/lib/Socialite/Socialite.d.ts.map +1 -0
- package/lib/Socialite/Socialite.js +41 -0
- package/lib/Socialite/SocialiteProvider.d.ts +9 -0
- package/lib/Socialite/SocialiteProvider.d.ts.map +1 -0
- package/lib/Socialite/SocialiteProvider.js +15 -0
- package/lib/Socialite/config.d.ts +7 -0
- package/lib/Socialite/config.d.ts.map +1 -0
- package/lib/Socialite/config.js +44 -0
- package/lib/Socialite/constant.d.ts +18 -0
- package/lib/Socialite/constant.d.ts.map +1 -0
- package/lib/Socialite/constant.js +20 -0
- package/lib/Socialite/index.d.ts +13 -0
- package/lib/Socialite/index.d.ts.map +1 -0
- package/lib/Socialite/index.js +25 -0
- package/lib/Socialite/types.d.ts +13 -0
- package/lib/Socialite/types.d.ts.map +1 -0
- package/lib/Socialite/types.js +2 -0
- package/lib/Type/index.d.ts +1 -0
- package/lib/Type/index.d.ts.map +1 -1
- package/lib/Validation/Validator/CustomValidation.d.ts.map +1 -1
- package/lib/Validation/Validator/CustomValidation.js +2 -2
- package/lib/Validation/Validator/helper.d.ts.map +1 -1
- package/lib/Validation/Validator/helper.js +8 -1
- package/lib/util/index.d.ts +36 -1
- package/lib/util/index.d.ts.map +1 -1
- package/lib/util/index.js +123 -26
- package/package.json +1 -1
|
@@ -648,15 +648,24 @@ class Builder {
|
|
|
648
648
|
const row = await this.firstRaw();
|
|
649
649
|
return row ? row[column] : null;
|
|
650
650
|
}
|
|
651
|
-
async insert(data) {
|
|
652
|
-
|
|
651
|
+
async insert(data, returning = "id") {
|
|
652
|
+
let result;
|
|
653
|
+
if (utils_1.Utils.isPostgres()) {
|
|
654
|
+
result = await this.db(this.tableName).insert(data, [returning]);
|
|
655
|
+
}
|
|
656
|
+
else {
|
|
657
|
+
result = await this.db(this.tableName).insert(data);
|
|
658
|
+
}
|
|
653
659
|
this.reset();
|
|
654
|
-
|
|
660
|
+
if (!result || !result.length)
|
|
661
|
+
return null;
|
|
662
|
+
const row = result[0];
|
|
663
|
+
return typeof row === "object" ? row[returning] : row;
|
|
655
664
|
}
|
|
656
665
|
async update(data) {
|
|
657
666
|
let newData = await this.fireUpdating(data);
|
|
658
667
|
const result = await this.applyUpdate(data);
|
|
659
|
-
|
|
668
|
+
await this.fireUpdated(newData);
|
|
660
669
|
this.reset();
|
|
661
670
|
return result ? true : false;
|
|
662
671
|
}
|
|
@@ -756,6 +765,109 @@ class Builder {
|
|
|
756
765
|
this.queryBuilder.truncate();
|
|
757
766
|
return this;
|
|
758
767
|
}
|
|
768
|
+
/**
|
|
769
|
+
* Paginate without counting total rows (fetch `perPage + 1` to detect `has_more`).
|
|
770
|
+
*/
|
|
771
|
+
async simplePaginate(request, perPage = 15) {
|
|
772
|
+
const page = Math.max(1, Number(request.query.page) || 1);
|
|
773
|
+
const perPageNum = Number(perPage);
|
|
774
|
+
const offset = (page - 1) * perPageNum;
|
|
775
|
+
const rows = await this.clone()
|
|
776
|
+
.offset(offset)
|
|
777
|
+
.limit(perPageNum + 1)
|
|
778
|
+
.get();
|
|
779
|
+
const hasMore = rows.length > perPageNum;
|
|
780
|
+
const data = hasMore ? rows.slice(0, perPageNum) : rows;
|
|
781
|
+
const nextPage = hasMore ? page + 1 : null;
|
|
782
|
+
const prevPage = page > 1 ? page - 1 : null;
|
|
783
|
+
return {
|
|
784
|
+
data,
|
|
785
|
+
meta: {
|
|
786
|
+
current_page: page,
|
|
787
|
+
per_page: perPage,
|
|
788
|
+
has_more: hasMore,
|
|
789
|
+
next_page: nextPage,
|
|
790
|
+
prev_page: prevPage,
|
|
791
|
+
},
|
|
792
|
+
links: {
|
|
793
|
+
first: utils_1.Utils.mergeRequestQuery(request, { page: 1, cursor: null }),
|
|
794
|
+
next: nextPage
|
|
795
|
+
? utils_1.Utils.mergeRequestQuery(request, {
|
|
796
|
+
page: nextPage,
|
|
797
|
+
cursor: null,
|
|
798
|
+
})
|
|
799
|
+
: null,
|
|
800
|
+
prev: prevPage
|
|
801
|
+
? utils_1.Utils.mergeRequestQuery(request, {
|
|
802
|
+
page: prevPage,
|
|
803
|
+
cursor: null,
|
|
804
|
+
})
|
|
805
|
+
: null,
|
|
806
|
+
},
|
|
807
|
+
};
|
|
808
|
+
}
|
|
809
|
+
/**
|
|
810
|
+
* Cursor-based pagination (keyset) on `column` — no `COUNT`, stable for large offsets.
|
|
811
|
+
* Pass the next page via `?cursor=` (from `meta.next_cursor`). Uses `perPage + 1` to detect `has_more`.
|
|
812
|
+
*/
|
|
813
|
+
async cursorPaginate(request, perPage = 15, column, direction = "asc") {
|
|
814
|
+
const per = Number(perPage);
|
|
815
|
+
const col = column ??
|
|
816
|
+
(this.model ? new this.model().primaryKey : "id");
|
|
817
|
+
const raw = request.query.cursor;
|
|
818
|
+
const cursorParam = raw === undefined || raw === null
|
|
819
|
+
? ""
|
|
820
|
+
: Array.isArray(raw)
|
|
821
|
+
? String(raw[0])
|
|
822
|
+
: String(raw);
|
|
823
|
+
const cursorVal = cursorParam === ""
|
|
824
|
+
? undefined
|
|
825
|
+
: utils_1.Utils.decodeCursorValue(cursorParam);
|
|
826
|
+
let q = this.clone().orderBy(col, direction);
|
|
827
|
+
if (cursorVal !== undefined) {
|
|
828
|
+
if (direction === "asc") {
|
|
829
|
+
q = q.where(col, ">", cursorVal);
|
|
830
|
+
}
|
|
831
|
+
else {
|
|
832
|
+
q = q.where(col, "<", cursorVal);
|
|
833
|
+
}
|
|
834
|
+
}
|
|
835
|
+
const rows = await q.limit(per + 1).get();
|
|
836
|
+
const hasMore = rows.length > per;
|
|
837
|
+
const data = hasMore ? rows.slice(0, per) : rows;
|
|
838
|
+
const path = `${request.protocol}://${request.get("host")}${request.path}`;
|
|
839
|
+
let nextCursor = null;
|
|
840
|
+
if (hasMore && data.length > 0) {
|
|
841
|
+
const last = data[data.length - 1];
|
|
842
|
+
const rawVal = typeof last?.getAttribute === "function"
|
|
843
|
+
? last.getAttribute(col)
|
|
844
|
+
: last?.[col];
|
|
845
|
+
nextCursor = utils_1.Utils.encodeCursorValue(rawVal);
|
|
846
|
+
}
|
|
847
|
+
return {
|
|
848
|
+
data,
|
|
849
|
+
meta: {
|
|
850
|
+
per_page: perPage,
|
|
851
|
+
has_more: hasMore,
|
|
852
|
+
next_cursor: nextCursor,
|
|
853
|
+
prev_cursor: null,
|
|
854
|
+
cursor_column: col,
|
|
855
|
+
direction,
|
|
856
|
+
},
|
|
857
|
+
links: {
|
|
858
|
+
path,
|
|
859
|
+
next: nextCursor
|
|
860
|
+
? utils_1.Utils.mergeRequestQuery(request, {
|
|
861
|
+
cursor: nextCursor,
|
|
862
|
+
page: null,
|
|
863
|
+
})
|
|
864
|
+
: null,
|
|
865
|
+
prev: cursorParam !== ""
|
|
866
|
+
? utils_1.Utils.mergeRequestQuery(request, { cursor: null, page: null })
|
|
867
|
+
: null,
|
|
868
|
+
},
|
|
869
|
+
};
|
|
870
|
+
}
|
|
759
871
|
async paginate(request, perPage = 15) {
|
|
760
872
|
const page = Math.max(1, Number(request.query.page) || 1);
|
|
761
873
|
const offset = (page - 1) * Number(perPage);
|
|
@@ -70,8 +70,8 @@ export interface DBConfig {
|
|
|
70
70
|
filename?: string;
|
|
71
71
|
useNullAsDefault?: boolean;
|
|
72
72
|
}
|
|
73
|
-
export interface Pagination {
|
|
74
|
-
data:
|
|
73
|
+
export interface Pagination<T extends Model = Model> {
|
|
74
|
+
data: T[];
|
|
75
75
|
meta: {
|
|
76
76
|
current_page: number;
|
|
77
77
|
per_page: number | string;
|
|
@@ -85,6 +85,41 @@ export interface Pagination {
|
|
|
85
85
|
last: string;
|
|
86
86
|
};
|
|
87
87
|
}
|
|
88
|
+
/** Offset pagination without a total count query (Laravel `simplePaginate`). */
|
|
89
|
+
export interface SimplePagination<T extends Model = Model> {
|
|
90
|
+
data: T[];
|
|
91
|
+
meta: {
|
|
92
|
+
current_page: number;
|
|
93
|
+
per_page: number | string;
|
|
94
|
+
has_more: boolean;
|
|
95
|
+
next_page: number | null;
|
|
96
|
+
prev_page: number | null;
|
|
97
|
+
};
|
|
98
|
+
links: {
|
|
99
|
+
first: string;
|
|
100
|
+
next: string | null;
|
|
101
|
+
prev: string | null;
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
/** Cursor pagination: no total, stable for large tables (Laravel `cursorPaginate`). */
|
|
105
|
+
export interface CursorPagination<T extends Model = Model> {
|
|
106
|
+
data: T[];
|
|
107
|
+
meta: {
|
|
108
|
+
per_page: number | string;
|
|
109
|
+
has_more: boolean;
|
|
110
|
+
/** Opaque token for the next request (`?cursor=`), or null */
|
|
111
|
+
next_cursor: string | null;
|
|
112
|
+
/** Opaque token toward the previous page when applicable, or null */
|
|
113
|
+
prev_cursor: string | null;
|
|
114
|
+
cursor_column: string;
|
|
115
|
+
direction: "asc" | "desc";
|
|
116
|
+
};
|
|
117
|
+
links: {
|
|
118
|
+
path: string;
|
|
119
|
+
next: string | null;
|
|
120
|
+
prev: string | null;
|
|
121
|
+
};
|
|
122
|
+
}
|
|
88
123
|
export interface JoinClauseHelper {
|
|
89
124
|
on(col1: string, operator: string, col2?: string): JoinClauseHelper;
|
|
90
125
|
orOn(col1: string, operator: string, col2?: string): JoinClauseHelper;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../jcc-express-mvc/lib/Jcc-eloquent/lib/Interfaces/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,gBAAgB,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;IAChE,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACjE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;;;GAKG;AAEH,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;IAC1B,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,KAAK,EAAE,GAAG,CAAC;IACX,OAAO,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,UAAU;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,OAAO,EAAE,GAAG,EAAE,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;CACH;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../jcc-express-mvc/lib/Jcc-eloquent/lib/Interfaces/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Builds the list of SQL statements for one `up()`/`down()` run.
|
|
3
|
+
* - If the method returns a non-empty string, that single statement wins (batch side-effects are discarded).
|
|
4
|
+
* - Otherwise all `Schema.create` / `Schema.dropTable` / … calls since {@link Schema.clearLastGeneratedSql} are run in order.
|
|
5
|
+
*/
|
|
6
|
+
export declare function getMigrationStatements(returned: unknown): string[];
|
|
1
7
|
export declare const migrate: (migrationPath: string) => Promise<any>;
|
|
2
8
|
//# sourceMappingURL=Migration.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Migration.d.ts","sourceRoot":"","sources":["../../../../jcc-express-mvc/lib/Jcc-eloquent/lib/Migration.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Migration.d.ts","sourceRoot":"","sources":["../../../../jcc-express-mvc/lib/Jcc-eloquent/lib/Migration.ts"],"names":[],"mappings":"AAQA;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,EAAE,CAYlE;AA2ID,eAAO,MAAM,OAAO,kBAhIkB,MAAM,KAAG,OAAO,CAAC,GAAG,CAgIU,CAAC"}
|
|
@@ -4,12 +4,29 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.migrate = void 0;
|
|
7
|
+
exports.getMigrationStatements = getMigrationStatements;
|
|
7
8
|
const Builder_1 = require("./Builder");
|
|
8
9
|
const fs_1 = __importDefault(require("fs"));
|
|
9
10
|
const Schema_1 = require("./Schema");
|
|
10
11
|
const path_1 = __importDefault(require("path"));
|
|
11
12
|
const colors_1 = __importDefault(require("colors"));
|
|
12
13
|
const Config_1 = require("../../Config/Config");
|
|
14
|
+
/**
|
|
15
|
+
* Builds the list of SQL statements for one `up()`/`down()` run.
|
|
16
|
+
* - If the method returns a non-empty string, that single statement wins (batch side-effects are discarded).
|
|
17
|
+
* - Otherwise all `Schema.create` / `Schema.dropTable` / … calls since {@link Schema.clearLastGeneratedSql} are run in order.
|
|
18
|
+
*/
|
|
19
|
+
function getMigrationStatements(returned) {
|
|
20
|
+
if (returned !== undefined && returned !== null && String(returned).trim() !== "") {
|
|
21
|
+
Schema_1.Schema.consumeAllGeneratedSql();
|
|
22
|
+
return [String(returned)];
|
|
23
|
+
}
|
|
24
|
+
const batch = Schema_1.Schema.consumeAllGeneratedSql();
|
|
25
|
+
if (batch.length === 0) {
|
|
26
|
+
throw new Error("Migration up()/down() must return SQL or call Schema.create, Schema.table, Schema.dropTable, Schema.rename, etc.");
|
|
27
|
+
}
|
|
28
|
+
return batch;
|
|
29
|
+
}
|
|
13
30
|
class Migration extends Builder_1.Builder {
|
|
14
31
|
/**
|
|
15
32
|
* Migrates the specified migration files.
|
|
@@ -39,8 +56,13 @@ class Migration extends Builder_1.Builder {
|
|
|
39
56
|
if (saveMigration) {
|
|
40
57
|
const { Migration } = require(`${migrationPath}/${file}`);
|
|
41
58
|
const instance = new Migration();
|
|
42
|
-
|
|
43
|
-
const
|
|
59
|
+
Schema_1.Schema.clearLastGeneratedSql();
|
|
60
|
+
const returned = instance.up();
|
|
61
|
+
const statements = getMigrationStatements(returned);
|
|
62
|
+
let result;
|
|
63
|
+
for (const sql of statements) {
|
|
64
|
+
result = await this.runQuery(sql);
|
|
65
|
+
}
|
|
44
66
|
if (result) {
|
|
45
67
|
logs.push(`${this.removeExtension(file)} migrated succesfully`);
|
|
46
68
|
console.log(colors_1.default.green(`${this.removeExtension(file)} migrated succesfully`));
|
|
@@ -3,7 +3,7 @@ import { Builder } from "./Builder";
|
|
|
3
3
|
import { MorphTo } from "./Relations";
|
|
4
4
|
import type { RelationshipQueryBuilder } from "./Relations/RelationTypes";
|
|
5
5
|
import { Request } from "express";
|
|
6
|
-
import { Pagination } from "./Interfaces";
|
|
6
|
+
import { CursorPagination, Pagination, SimplePagination } from "./Interfaces";
|
|
7
7
|
export declare class Model extends BaseModel {
|
|
8
8
|
relations: Record<string, any>;
|
|
9
9
|
constructor(attributes?: Record<string, any>);
|
|
@@ -11,21 +11,38 @@ export declare class Model extends BaseModel {
|
|
|
11
11
|
getKeyName(): string;
|
|
12
12
|
static getPrimaryKey(): string;
|
|
13
13
|
getKey(): any;
|
|
14
|
-
static paginate(request: Request, perPage?: number | string): Promise<Pagination
|
|
14
|
+
static paginate<T extends Model>(this: typeof Model & (new (...args: any[]) => T), request: Request, perPage?: number | string): Promise<Pagination<T>>;
|
|
15
|
+
/**
|
|
16
|
+
* Offset pagination without a total `COUNT` (Laravel `simplePaginate`).
|
|
17
|
+
* Uses `page` query param; fetches `perPage + 1` rows to set `has_more`.
|
|
18
|
+
*/
|
|
19
|
+
static simplePaginate<T extends Model>(this: typeof Model & (new (...args: any[]) => T), request: Request, perPage?: number | string): Promise<SimplePagination<T>>;
|
|
20
|
+
/**
|
|
21
|
+
* Keyset / cursor pagination (Laravel `cursorPaginate`).
|
|
22
|
+
* Next page: `?cursor=` from `meta.next_cursor`. Default order is `column` asc.
|
|
23
|
+
*/
|
|
24
|
+
static cursorPaginate<T extends Model>(this: typeof Model & (new (...args: any[]) => T), request: Request, perPage?: number | string, column?: string, direction?: "asc" | "desc"): Promise<CursorPagination<T>>;
|
|
15
25
|
/**
|
|
16
26
|
* Creates a records in the database.
|
|
17
27
|
*/
|
|
18
|
-
static create(data: Record<string, any>): Promise<
|
|
28
|
+
static create<T extends Model>(this: typeof Model & (new (...args: any[]) => T), data: Record<string, any>): Promise<T>;
|
|
29
|
+
/**
|
|
30
|
+
* Find a row matching `search` and update it with `values`, or create one with
|
|
31
|
+
* `{ ...search, ...values }` (Laravel `updateOrCreate`).
|
|
32
|
+
*/
|
|
33
|
+
static updateOrCreate<T extends Model>(this: typeof Model & (new (...args: any[]) => T), search: Record<string, any>, values?: Record<string, any>): Promise<T>;
|
|
34
|
+
/** Alias for {@link updateOrCreate}. */
|
|
35
|
+
static createOrUpdate<T extends Model>(this: typeof Model & (new (...args: any[]) => T), search: Record<string, any>, values?: Record<string, any>): Promise<T>;
|
|
19
36
|
/**
|
|
20
37
|
* Delete records.
|
|
21
38
|
*/
|
|
22
|
-
static delete(id?: string | number): Promise<any>;
|
|
39
|
+
static delete<T extends Model>(this: typeof Model & (new (...args: any[]) => T), id?: string | number): Promise<any>;
|
|
23
40
|
/**
|
|
24
41
|
* Executes the query and loads specified relations.
|
|
25
42
|
*/
|
|
26
|
-
static find(id: string | number): Promise<
|
|
27
|
-
static all(): Promise<
|
|
28
|
-
static hydrate(items: any | any[], eagerLoad?: Record<string, Function | null>): Promise<
|
|
43
|
+
static find<T extends Model>(this: typeof Model & (new (...args: any[]) => T), id: string | number): Promise<T | null>;
|
|
44
|
+
static all<T extends Model>(this: typeof Model & (new (...args: any[]) => T)): Promise<T[]>;
|
|
45
|
+
static hydrate<T extends Model>(this: typeof Model & (new (...args: any[]) => T), items: any | any[], eagerLoad?: Record<string, Function | null>): Promise<T | T[] | null>;
|
|
29
46
|
private fireEventOnInstance;
|
|
30
47
|
update(attributes: Record<string, any>): Promise<this>;
|
|
31
48
|
save(): Promise<this>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Model.d.ts","sourceRoot":"","sources":["../../../../jcc-express-mvc/lib/Jcc-eloquent/lib/Model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAKL,OAAO,EAGR,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAE1E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,
|
|
1
|
+
{"version":3,"file":"Model.d.ts","sourceRoot":"","sources":["../../../../jcc-express-mvc/lib/Jcc-eloquent/lib/Model.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,6 +58,20 @@ class Model extends BaseModel_1.BaseModel {
|
|
|
58
58
|
},
|
|
59
59
|
};
|
|
60
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* Offset pagination without a total `COUNT` (Laravel `simplePaginate`).
|
|
63
|
+
* Uses `page` query param; fetches `perPage + 1` rows to set `has_more`.
|
|
64
|
+
*/
|
|
65
|
+
static async simplePaginate(request, perPage = 15) {
|
|
66
|
+
return this.clone().simplePaginate(request, perPage);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Keyset / cursor pagination (Laravel `cursorPaginate`).
|
|
70
|
+
* Next page: `?cursor=` from `meta.next_cursor`. Default order is `column` asc.
|
|
71
|
+
*/
|
|
72
|
+
static async cursorPaginate(request, perPage = 15, column, direction = "asc") {
|
|
73
|
+
return this.clone().cursorPaginate(request, perPage, column, direction);
|
|
74
|
+
}
|
|
61
75
|
/**
|
|
62
76
|
* Creates a records in the database.
|
|
63
77
|
*/
|
|
@@ -72,7 +86,26 @@ class Model extends BaseModel_1.BaseModel {
|
|
|
72
86
|
.where("id", id)
|
|
73
87
|
.first();
|
|
74
88
|
await this.fireEventOnStaticMethod("created", result || instance);
|
|
75
|
-
return result instanceof Model ? result : instance;
|
|
89
|
+
return (result instanceof Model ? result : instance);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Find a row matching `search` and update it with `values`, or create one with
|
|
93
|
+
* `{ ...search, ...values }` (Laravel `updateOrCreate`).
|
|
94
|
+
*/
|
|
95
|
+
static async updateOrCreate(search, values = {}) {
|
|
96
|
+
if (!search || Object.keys(search).length === 0) {
|
|
97
|
+
return this.create(values);
|
|
98
|
+
}
|
|
99
|
+
const existing = (await this.query().where(search).first());
|
|
100
|
+
if (existing) {
|
|
101
|
+
await existing.update(values);
|
|
102
|
+
return existing;
|
|
103
|
+
}
|
|
104
|
+
return this.create({ ...search, ...values });
|
|
105
|
+
}
|
|
106
|
+
/** Alias for {@link updateOrCreate}. */
|
|
107
|
+
static async createOrUpdate(search, values = {}) {
|
|
108
|
+
return this.updateOrCreate(search, values);
|
|
76
109
|
}
|
|
77
110
|
/**
|
|
78
111
|
* Delete records.
|
|
@@ -80,7 +113,7 @@ class Model extends BaseModel_1.BaseModel {
|
|
|
80
113
|
static async delete(id) {
|
|
81
114
|
let instance;
|
|
82
115
|
if (!this.withoutEvents && id) {
|
|
83
|
-
instance = await this.where("id", id).first();
|
|
116
|
+
instance = (await this.where("id", id).first());
|
|
84
117
|
}
|
|
85
118
|
else {
|
|
86
119
|
instance = new this();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Builder } from "./Builder";
|
|
2
2
|
import { ModelEvent } from "./Event/ModelEvent";
|
|
3
|
-
import { Knex } from "knex";
|
|
3
|
+
import { type Knex } from "knex";
|
|
4
4
|
import { AggregateInput, JoinCallback, SubJoinCallback, WhereInput } from "./Types";
|
|
5
5
|
import { Request } from "express";
|
|
6
6
|
export declare class QueryBuilder extends ModelEvent {
|
|
@@ -370,5 +370,6 @@ export declare class QueryBuilder extends ModelEvent {
|
|
|
370
370
|
static getRaw(): any;
|
|
371
371
|
static firstRaw(): any;
|
|
372
372
|
static paginate(req: Request, perPage?: number | string): Promise<any>;
|
|
373
|
+
static findOrCreate(where: Record<string, any>, data: Record<string, any>): Promise<any>;
|
|
373
374
|
}
|
|
374
375
|
//# sourceMappingURL=QueryBuilder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryBuilder.d.ts","sourceRoot":"","sources":["../../../../jcc-express-mvc/lib/Jcc-eloquent/lib/QueryBuilder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"QueryBuilder.d.ts","sourceRoot":"","sources":["../../../../jcc-express-mvc/lib/Jcc-eloquent/lib/QueryBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -86,7 +86,7 @@ class QueryBuilder extends ModelEvent_1.ModelEvent {
|
|
|
86
86
|
* Add a where exists clause.
|
|
87
87
|
*/
|
|
88
88
|
// public static whereExists(
|
|
89
|
-
// subquery: ((qb: Knex.QueryBuilder) => void) | Knex.QueryBuilder
|
|
89
|
+
// subquery: ((qb: type Knex.QueryBuilder) => void) | type Knex.QueryBuilder
|
|
90
90
|
// ): typeof QueryBuilder {
|
|
91
91
|
// this.query().whereExists(subquery);
|
|
92
92
|
// return this;
|
|
@@ -578,6 +578,15 @@ class QueryBuilder extends ModelEvent_1.ModelEvent {
|
|
|
578
578
|
return this.query().firstRaw();
|
|
579
579
|
}
|
|
580
580
|
static async paginate(req, perPage = 15) { }
|
|
581
|
+
static async findOrCreate(where, data) {
|
|
582
|
+
const result = await this.query().where(where).first();
|
|
583
|
+
if (result) {
|
|
584
|
+
return result;
|
|
585
|
+
}
|
|
586
|
+
else {
|
|
587
|
+
return this.query().insert(data);
|
|
588
|
+
}
|
|
589
|
+
}
|
|
581
590
|
}
|
|
582
591
|
exports.QueryBuilder = QueryBuilder;
|
|
583
592
|
QueryBuilder.softDelete = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rollback.d.ts","sourceRoot":"","sources":["../../../../jcc-express-mvc/lib/Jcc-eloquent/lib/Rollback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"Rollback.d.ts","sourceRoot":"","sources":["../../../../jcc-express-mvc/lib/Jcc-eloquent/lib/Rollback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,qBAAa,QAAS,SAAQ,OAAO;IACnC;;;;;OAKG;IACG,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAQlD,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAO1D;;;;;;;OAOG;IACG,QAAQ,CACZ,KAAK,EAAE,MAAM,YAAI,EACjB,aAAa,EAAE,MAAM,EACrB,GAAG,GAAE,MAAa,GACjB,OAAO,CAAC,GAAG,CAAC;IAwCf,mBAAmB,CAAC,SAAS,EAAE,MAAM;CAOtC;AAED,eAAO,MAAM,QAAQ,UApDV,MAAM,6BACE,MAAM,QAChB,MAAM,KACV,OAAO,CAAC,GAAG,CAiDoD,CAAC"}
|
|
@@ -5,6 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.rollback = exports.Rollback = void 0;
|
|
7
7
|
const Builder_1 = require("./Builder");
|
|
8
|
+
const Schema_1 = require("./Schema");
|
|
9
|
+
const Migration_1 = require("./Migration");
|
|
8
10
|
const colors_1 = __importDefault(require("colors"));
|
|
9
11
|
class Rollback extends Builder_1.Builder {
|
|
10
12
|
/**
|
|
@@ -47,8 +49,13 @@ class Rollback extends Builder_1.Builder {
|
|
|
47
49
|
if (await this.removeMigration(migratedFile.migration)) {
|
|
48
50
|
const { Migration } = this.importMigrationFile(`${migrationPath}/${migratedFile.migration}`);
|
|
49
51
|
const instance = new Migration();
|
|
50
|
-
|
|
51
|
-
const
|
|
52
|
+
Schema_1.Schema.clearLastGeneratedSql();
|
|
53
|
+
const returned = instance.down();
|
|
54
|
+
const statements = (0, Migration_1.getMigrationStatements)(returned);
|
|
55
|
+
let result;
|
|
56
|
+
for (const sql of statements) {
|
|
57
|
+
result = await this.runQuery(sql);
|
|
58
|
+
}
|
|
52
59
|
if (result) {
|
|
53
60
|
logs.push(`${migratedFile.migration} rollback succesfully`);
|
|
54
61
|
console.log(colors_1.default.green(`${migratedFile.migration} rollback succesfully`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../jcc-express-mvc/lib/Jcc-eloquent/lib/Schema/BaseSchemaEntity/index.ts"],"names":[],"mappings":"AAGA,qBAAa,gBAAgB;IAC3B,MAAM,CAAC,UAAU,SAAoD;IACrE,MAAM,CAAC,UAAU,SAC8D;IAC/E,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAM;IACnC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAM;IAEvC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAgC7B;IAEF,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../jcc-express-mvc/lib/Jcc-eloquent/lib/Schema/BaseSchemaEntity/index.ts"],"names":[],"mappings":"AAGA,qBAAa,gBAAgB;IAC3B,MAAM,CAAC,UAAU,SAAoD;IACrE,MAAM,CAAC,UAAU,SAC8D;IAC/E,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAM;IACnC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAM;IAEvC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAgC7B;IAEF,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAoBjC;IAEF;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,GAAE,MAAW,GAAG,MAAM;IAmB5E;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IASzC;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAc7C;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAUxC;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,IAAI;IAK1B;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;CAgD/D"}
|
|
@@ -49,8 +49,9 @@ class BaseSchemaEntity {
|
|
|
49
49
|
if (this.columns.length === 0) {
|
|
50
50
|
throw new Error("No columns available to modify");
|
|
51
51
|
}
|
|
52
|
-
const
|
|
53
|
-
|
|
52
|
+
const lastIndex = this.columns.length - 1;
|
|
53
|
+
const column = this.columns[lastIndex];
|
|
54
|
+
return (this.columns[lastIndex] = `${str} ${column}`);
|
|
54
55
|
}
|
|
55
56
|
/**
|
|
56
57
|
* Resets the schema by clearing the columns and constraints arrays.
|
|
@@ -159,5 +160,4 @@ BaseSchemaEntity.alterKeywords = [
|
|
|
159
160
|
"AUTO_INCREMENT",
|
|
160
161
|
"DISABLE KEYS",
|
|
161
162
|
"ENABLE KEYS",
|
|
162
|
-
"AFTER",
|
|
163
163
|
];
|
|
@@ -163,9 +163,12 @@ export declare class Blueprint {
|
|
|
163
163
|
*/
|
|
164
164
|
first(): this;
|
|
165
165
|
/**
|
|
166
|
-
* Adds an index
|
|
166
|
+
* Adds an index (Laravel-style):
|
|
167
|
+
* - index("email")
|
|
168
|
+
* - index(["email", "status"])
|
|
169
|
+
* - index("email", "idx_users_email")
|
|
167
170
|
*/
|
|
168
|
-
index(
|
|
171
|
+
index(columns?: string | string[], indexName?: string): this;
|
|
169
172
|
/**
|
|
170
173
|
* Adds a TIME column to the schema.
|
|
171
174
|
*/
|
|
@@ -269,6 +272,7 @@ export declare class Blueprint {
|
|
|
269
272
|
autoIncrement(): this;
|
|
270
273
|
/**
|
|
271
274
|
* Makes the column unsigned.
|
|
275
|
+
* MySQL requires TYPE UNSIGNED NOT NULL — not TYPE NOT NULL UNSIGNED (append was invalid).
|
|
272
276
|
*/
|
|
273
277
|
unsigned(): this;
|
|
274
278
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../jcc-express-mvc/lib/Jcc-eloquent/lib/Schema/BluePrint/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../jcc-express-mvc/lib/Jcc-eloquent/lib/Schema/BluePrint/index.ts"],"names":[],"mappings":"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"}
|