@sqrzro/addon-admins 4.0.0-alpha.10
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/LICENSE +5 -0
- package/dist/DEPRECATED_addon/config.d.ts +10 -0
- package/dist/DEPRECATED_addon/config.d.ts.map +1 -0
- package/dist/DEPRECATED_addon/config.js +11 -0
- package/dist/DEPRECATED_addon/defaults.d.ts +6 -0
- package/dist/DEPRECATED_addon/defaults.d.ts.map +1 -0
- package/dist/DEPRECATED_addon/defaults.js +6 -0
- package/dist/DEPRECATED_addon/index.d.ts +6 -0
- package/dist/DEPRECATED_addon/index.d.ts.map +1 -0
- package/dist/DEPRECATED_addon/index.js +9 -0
- package/dist/DEPRECATED_addon/interfaces.d.ts +8 -0
- package/dist/DEPRECATED_addon/interfaces.d.ts.map +1 -0
- package/dist/DEPRECATED_addon/interfaces.js +1 -0
- package/dist/addon/config.d.ts +10 -0
- package/dist/addon/config.d.ts.map +1 -0
- package/dist/addon/config.js +11 -0
- package/dist/addon/defaults.d.ts +6 -0
- package/dist/addon/defaults.d.ts.map +1 -0
- package/dist/addon/defaults.js +6 -0
- package/dist/addon/index.d.ts +6 -0
- package/dist/addon/index.d.ts.map +1 -0
- package/dist/addon/index.js +9 -0
- package/dist/addon/interfaces.d.ts +8 -0
- package/dist/addon/interfaces.d.ts.map +1 -0
- package/dist/addon/interfaces.js +1 -0
- package/dist/addon.d.ts +4 -0
- package/dist/addon.d.ts.map +1 -0
- package/dist/addon.js +4 -0
- package/dist/components/AdminHomeActions/index.d.ts +7 -0
- package/dist/components/AdminHomeActions/index.d.ts.map +1 -0
- package/dist/components/AdminHomeActions/index.js +17 -0
- package/dist/components/AdminHomeActions/server.d.ts +8 -0
- package/dist/components/AdminHomeActions/server.d.ts.map +1 -0
- package/dist/components/AdminHomeActions/server.js +8 -0
- package/dist/components/AdminHomePage/index.d.ts +4 -0
- package/dist/components/AdminHomePage/index.d.ts.map +1 -0
- package/dist/components/AdminHomePage/index.js +11 -0
- package/dist/components/AdminListPage/index.d.ts +4 -0
- package/dist/components/AdminListPage/index.d.ts.map +1 -0
- package/dist/components/AdminListPage/index.js +9 -0
- package/dist/components/AdminPage/index.d.ts +3 -0
- package/dist/components/AdminPage/index.js +5 -0
- package/dist/components/Admins/index.d.ts +4 -0
- package/dist/components/Admins/index.d.ts.map +1 -0
- package/dist/components/Admins/index.js +16 -0
- package/dist/config/index.d.ts +7 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +10 -0
- package/dist/config.d.ts +4 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +10 -0
- package/dist/forms/AdminCreateForm/index.d.ts +3 -0
- package/dist/forms/AdminCreateForm/index.d.ts.map +1 -0
- package/dist/forms/AdminCreateForm/index.js +13 -0
- package/dist/forms/AdminCreateForm/interfaces.d.ts +5 -0
- package/dist/forms/AdminCreateForm/interfaces.d.ts.map +1 -0
- package/dist/forms/AdminCreateForm/interfaces.js +1 -0
- package/dist/forms/AdminCreateForm/server.d.ts +6 -0
- package/dist/forms/AdminCreateForm/server.d.ts.map +1 -0
- package/dist/forms/AdminCreateForm/server.js +22 -0
- package/dist/forms/AdminPersonalForm/index.d.ts +8 -0
- package/dist/forms/AdminPersonalForm/index.d.ts.map +1 -0
- package/dist/forms/AdminPersonalForm/index.js +13 -0
- package/dist/forms/AdminPersonalForm/interfaces.d.ts +7 -0
- package/dist/forms/AdminPersonalForm/interfaces.d.ts.map +1 -0
- package/dist/forms/AdminPersonalForm/interfaces.js +1 -0
- package/dist/forms/AdminPersonalForm/server.d.ts +6 -0
- package/dist/forms/AdminPersonalForm/server.d.ts.map +1 -0
- package/dist/forms/AdminPersonalForm/server.js +22 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/interfaces.d.ts +2 -0
- package/dist/interfaces.d.ts.map +1 -0
- package/dist/interfaces.js +1 -0
- package/dist/lists/AdminList/index.d.ts +4 -0
- package/dist/lists/AdminList/index.d.ts.map +1 -0
- package/dist/lists/AdminList/index.js +21 -0
- package/dist/lists/AdminList/server.d.ts +5 -0
- package/dist/lists/AdminList/server.d.ts.map +1 -0
- package/dist/lists/AdminList/server.js +6 -0
- package/dist/mail/AdminInviteMail.d.ts +6 -0
- package/dist/mail/AdminInviteMail.d.ts.map +1 -0
- package/dist/mail/AdminInviteMail.js +14 -0
- package/dist/register-admins-addon.d.ts +4 -0
- package/dist/register-admins-addon.d.ts.map +1 -0
- package/dist/register-admins-addon.js +5 -0
- package/dist/repositories/AdminRepository.d.ts +114 -0
- package/dist/repositories/AdminRepository.d.ts.map +1 -0
- package/dist/repositories/AdminRepository.js +63 -0
- package/dist/repositories/index.d.ts +147 -0
- package/dist/repositories/index.d.ts.map +1 -0
- package/dist/repositories/index.js +67 -0
- package/dist/repository/index.d.ts +149 -0
- package/dist/repository/index.d.ts.map +1 -0
- package/dist/repository/index.js +80 -0
- package/dist/rules/email.d.ts +4 -0
- package/dist/rules/email.d.ts.map +1 -0
- package/dist/rules/email.js +11 -0
- package/dist/rules/id.d.ts +11 -0
- package/dist/rules/id.d.ts.map +1 -0
- package/dist/rules/id.js +13 -0
- package/dist/schema.d.ts +96 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +11 -0
- package/dist/utility/generate-admins-metadata.d.ts +5 -0
- package/dist/utility/generate-admins-metadata.d.ts.map +1 -0
- package/dist/utility/generate-admins-metadata.js +4 -0
- package/dist/utility/ids.d.ts +3 -0
- package/dist/utility/ids.d.ts.map +1 -0
- package/dist/utility/ids.js +1 -0
- package/dist/utility/interfaces.d.ts +5 -0
- package/dist/utility/interfaces.d.ts.map +1 -0
- package/dist/utility/interfaces.js +1 -0
- package/dist/utility/prepare-seed-admins.d.ts +4 -0
- package/dist/utility/prepare-seed-admins.d.ts.map +1 -0
- package/dist/utility/prepare-seed-admins.js +6 -0
- package/dist/utility/seed-admin.d.ts +10 -0
- package/dist/utility/seed-admin.d.ts.map +1 -0
- package/dist/utility/seed-admin.js +29 -0
- package/package.json +47 -0
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { extendRepository } from '@sqrzro/addons';
|
|
2
|
+
import withAuth from '@sqrzro/addon-auth/repository';
|
|
3
|
+
import withOnboarding from '@sqrzro/addon-onboarding/repository';
|
|
4
|
+
import { db } from '@sqrzro/server/database';
|
|
5
|
+
import { createRepository } from '@sqrzro/server/database';
|
|
6
|
+
import { generateID } from '@sqrzro/server/utility';
|
|
7
|
+
import { pick } from '@sqrzro/utility';
|
|
8
|
+
import { and, count, eq } from 'drizzle-orm';
|
|
9
|
+
import { ADMIN_PREFIX } from '../utility/ids';
|
|
10
|
+
import { adminTable } from '../schema';
|
|
11
|
+
export const ADMIN_ROLE = 100;
|
|
12
|
+
const fillable = ['email', 'name'];
|
|
13
|
+
function createAdminRepository(site) {
|
|
14
|
+
const BaseAdminRepository = createRepository({
|
|
15
|
+
indexes: { email: adminTable.email, id: adminTable.id },
|
|
16
|
+
async makeCountQuery(conditions) {
|
|
17
|
+
const [meta] = await db
|
|
18
|
+
.select({ count: count() })
|
|
19
|
+
.from(adminTable)
|
|
20
|
+
.where(and(...conditions));
|
|
21
|
+
return meta.count;
|
|
22
|
+
},
|
|
23
|
+
async makeQuery(conditions, config) {
|
|
24
|
+
return db
|
|
25
|
+
.select()
|
|
26
|
+
.from(adminTable)
|
|
27
|
+
.where(and(...conditions))
|
|
28
|
+
.limit(config.limit)
|
|
29
|
+
.offset(config.offset);
|
|
30
|
+
},
|
|
31
|
+
async makeDeleteMutation(id) {
|
|
32
|
+
await db.update(adminTable).set({ deletedAt: new Date() }).where(eq(adminTable.id, id));
|
|
33
|
+
},
|
|
34
|
+
async makeUndeleteMutation(id) {
|
|
35
|
+
await db.update(adminTable).set({ deletedAt: null }).where(eq(adminTable.id, id));
|
|
36
|
+
},
|
|
37
|
+
async makeInsertMutation(data) {
|
|
38
|
+
const values = {
|
|
39
|
+
id: generateID(ADMIN_PREFIX),
|
|
40
|
+
...pick(data, fillable),
|
|
41
|
+
};
|
|
42
|
+
const [result] = await db.insert(adminTable).values(values).returning();
|
|
43
|
+
return result;
|
|
44
|
+
},
|
|
45
|
+
async makeUpdateMutation(data) {
|
|
46
|
+
const [result] = await db
|
|
47
|
+
.update(adminTable)
|
|
48
|
+
.set(data)
|
|
49
|
+
.where(eq(adminTable.id, data.id))
|
|
50
|
+
.returning();
|
|
51
|
+
return result;
|
|
52
|
+
},
|
|
53
|
+
paramKey: 'admins[0]',
|
|
54
|
+
prefix: ADMIN_PREFIX,
|
|
55
|
+
});
|
|
56
|
+
const AdminRepository = extendRepository(
|
|
57
|
+
BaseAdminRepository,
|
|
58
|
+
withAuth({ role: ADMIN_ROLE }),
|
|
59
|
+
withOnboarding({
|
|
60
|
+
baseURL: site.url,
|
|
61
|
+
role: ADMIN_ROLE,
|
|
62
|
+
siteName: site.name,
|
|
63
|
+
})
|
|
64
|
+
);
|
|
65
|
+
return {
|
|
66
|
+
...AdminRepository,
|
|
67
|
+
getByEmail: async (email) => AdminRepository.getByIndex('email', email),
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
let repository = null;
|
|
71
|
+
export function setRepository(repo) {
|
|
72
|
+
repository = repo;
|
|
73
|
+
}
|
|
74
|
+
export function getRepository() {
|
|
75
|
+
if (!repository) {
|
|
76
|
+
throw new Error('Admin repository has not been set');
|
|
77
|
+
}
|
|
78
|
+
return repository;
|
|
79
|
+
}
|
|
80
|
+
export default createAdminRepository;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../src/rules/email.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,KAAK,CAAC;AAIpB,iBAAS,iBAAiB,oFAOzB;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createRule, getNotExistsValidator } from '@sqrzro/server/forms';
|
|
2
|
+
import z from 'zod';
|
|
3
|
+
import AdminRepository from '../repositories/AdminRepository';
|
|
4
|
+
function getAdminEmailRule() {
|
|
5
|
+
const validator = z
|
|
6
|
+
.email()
|
|
7
|
+
.nonempty()
|
|
8
|
+
.refine(...getNotExistsValidator(AdminRepository.getByEmail));
|
|
9
|
+
return createRule({ validator });
|
|
10
|
+
}
|
|
11
|
+
export default getAdminEmailRule;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import z from 'zod';
|
|
2
|
+
import { AdminID } from '../utility/ids';
|
|
3
|
+
import type { Admin } from '../utility/interfaces';
|
|
4
|
+
declare function transformer<T extends {
|
|
5
|
+
adminID: AdminID;
|
|
6
|
+
}>(data: T): Promise<T & {
|
|
7
|
+
admin: Admin;
|
|
8
|
+
}>;
|
|
9
|
+
declare function getAdminIDRule(): import("@sqrzro/server/forms").ValidationRule<z.ZodNonOptional<z.ZodTemplateLiteral<`adm_${string}`>>, typeof transformer, undefined>;
|
|
10
|
+
export default getAdminIDRule;
|
|
11
|
+
//# sourceMappingURL=id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../src/rules/id.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAMpB,OAAO,EAAE,OAAO,EAAgB,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,iBAAe,WAAW,CAAC,CAAC,SAAS;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC,CAIjG;AAED,iBAAS,cAAc,0IAGtB;AAED,eAAe,cAAc,CAAC"}
|
package/dist/rules/id.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import z from 'zod';
|
|
2
|
+
import { createRule, getExistsTransformer } from '@sqrzro/server/forms';
|
|
3
|
+
import AdminRepository from '../repositories/AdminRepository';
|
|
4
|
+
import { ADMIN_PREFIX } from '../utility/ids';
|
|
5
|
+
async function transformer(data) {
|
|
6
|
+
const admin = await getExistsTransformer('adminID', data.adminID, AdminRepository.getByID);
|
|
7
|
+
return { ...data, admin };
|
|
8
|
+
}
|
|
9
|
+
function getAdminIDRule() {
|
|
10
|
+
const validator = z.templateLiteral([ADMIN_PREFIX, '_', z.string()]).nonoptional();
|
|
11
|
+
return createRule({ validator, transformer });
|
|
12
|
+
}
|
|
13
|
+
export default getAdminIDRule;
|
package/dist/schema.d.ts
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
export declare const adminTable: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
2
|
+
name: "admins";
|
|
3
|
+
schema: undefined;
|
|
4
|
+
columns: {
|
|
5
|
+
id: import("drizzle-orm/pg-core").PgColumn<{
|
|
6
|
+
name: "id";
|
|
7
|
+
tableName: "admins";
|
|
8
|
+
dataType: "string";
|
|
9
|
+
columnType: "PgText";
|
|
10
|
+
data: `adm_${string}`;
|
|
11
|
+
driverParam: string;
|
|
12
|
+
notNull: true;
|
|
13
|
+
hasDefault: false;
|
|
14
|
+
isPrimaryKey: true;
|
|
15
|
+
isAutoincrement: false;
|
|
16
|
+
hasRuntimeDefault: false;
|
|
17
|
+
enumValues: [string, ...string[]];
|
|
18
|
+
baseColumn: never;
|
|
19
|
+
identity: undefined;
|
|
20
|
+
generated: undefined;
|
|
21
|
+
}, {}, {
|
|
22
|
+
$type: `adm_${string}`;
|
|
23
|
+
}>;
|
|
24
|
+
name: import("drizzle-orm/pg-core").PgColumn<{
|
|
25
|
+
name: "name";
|
|
26
|
+
tableName: "admins";
|
|
27
|
+
dataType: "string";
|
|
28
|
+
columnType: "PgText";
|
|
29
|
+
data: string;
|
|
30
|
+
driverParam: string;
|
|
31
|
+
notNull: true;
|
|
32
|
+
hasDefault: false;
|
|
33
|
+
isPrimaryKey: false;
|
|
34
|
+
isAutoincrement: false;
|
|
35
|
+
hasRuntimeDefault: false;
|
|
36
|
+
enumValues: [string, ...string[]];
|
|
37
|
+
baseColumn: never;
|
|
38
|
+
identity: undefined;
|
|
39
|
+
generated: undefined;
|
|
40
|
+
}, {}, {}>;
|
|
41
|
+
email: import("drizzle-orm/pg-core").PgColumn<{
|
|
42
|
+
name: "email";
|
|
43
|
+
tableName: "admins";
|
|
44
|
+
dataType: "string";
|
|
45
|
+
columnType: "PgText";
|
|
46
|
+
data: string;
|
|
47
|
+
driverParam: string;
|
|
48
|
+
notNull: true;
|
|
49
|
+
hasDefault: false;
|
|
50
|
+
isPrimaryKey: false;
|
|
51
|
+
isAutoincrement: false;
|
|
52
|
+
hasRuntimeDefault: false;
|
|
53
|
+
enumValues: [string, ...string[]];
|
|
54
|
+
baseColumn: never;
|
|
55
|
+
identity: undefined;
|
|
56
|
+
generated: undefined;
|
|
57
|
+
}, {}, {}>;
|
|
58
|
+
createdAt: import("drizzle-orm/pg-core").PgColumn<{
|
|
59
|
+
name: "createdAt";
|
|
60
|
+
tableName: "admins";
|
|
61
|
+
dataType: "date";
|
|
62
|
+
columnType: "PgTimestamp";
|
|
63
|
+
data: Date;
|
|
64
|
+
driverParam: string;
|
|
65
|
+
notNull: true;
|
|
66
|
+
hasDefault: true;
|
|
67
|
+
isPrimaryKey: false;
|
|
68
|
+
isAutoincrement: false;
|
|
69
|
+
hasRuntimeDefault: false;
|
|
70
|
+
enumValues: undefined;
|
|
71
|
+
baseColumn: never;
|
|
72
|
+
identity: undefined;
|
|
73
|
+
generated: undefined;
|
|
74
|
+
}, {}, {}>;
|
|
75
|
+
deletedAt: import("drizzle-orm/pg-core").PgColumn<{
|
|
76
|
+
name: "deletedAt";
|
|
77
|
+
tableName: "admins";
|
|
78
|
+
dataType: "date";
|
|
79
|
+
columnType: "PgTimestamp";
|
|
80
|
+
data: Date;
|
|
81
|
+
driverParam: string;
|
|
82
|
+
notNull: false;
|
|
83
|
+
hasDefault: false;
|
|
84
|
+
isPrimaryKey: false;
|
|
85
|
+
isAutoincrement: false;
|
|
86
|
+
hasRuntimeDefault: false;
|
|
87
|
+
enumValues: undefined;
|
|
88
|
+
baseColumn: never;
|
|
89
|
+
identity: undefined;
|
|
90
|
+
generated: undefined;
|
|
91
|
+
}, {}, {}>;
|
|
92
|
+
};
|
|
93
|
+
dialect: "pg";
|
|
94
|
+
}>;
|
|
95
|
+
export type AdminTable = typeof adminTable.$inferSelect;
|
|
96
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQrB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,YAAY,CAAC"}
|
package/dist/schema.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { sql } from 'drizzle-orm';
|
|
2
|
+
import { pgTable, text, timestamp } from 'drizzle-orm/pg-core';
|
|
3
|
+
export const adminTable = pgTable('admins', {
|
|
4
|
+
id: text('id').$type().primaryKey(),
|
|
5
|
+
name: text('name').notNull(),
|
|
6
|
+
email: text('email').notNull().unique(),
|
|
7
|
+
createdAt: timestamp('createdAt')
|
|
8
|
+
.notNull()
|
|
9
|
+
.default(sql `CURRENT_TIMESTAMP`),
|
|
10
|
+
deletedAt: timestamp('deletedAt'),
|
|
11
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-admins-metadata.d.ts","sourceRoot":"","sources":["../../src/utility/generate-admins-metadata.ts"],"names":[],"mappings":"AAAA,iBAAS,sBAAsB;;EAE9B;AAED,eAAe,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../../src/utility/ids.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,QAAQ,CAAC;AAElC,MAAM,MAAM,OAAO,GAAG,GAAG,OAAO,YAAY,IAAI,MAAM,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const ADMIN_PREFIX = 'adm';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/utility/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC;AAC/B,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,CAAC,CAAC;AACrE,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepare-seed-admins.d.ts","sourceRoot":"","sources":["../../src/utility/prepare-seed-admins.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAI3D,iBAAe,iBAAiB,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAElE;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { NodePgDatabase } from 'drizzle-orm/node-postgres';
|
|
2
|
+
import { Admin } from './interfaces';
|
|
3
|
+
interface AdminSeedData {
|
|
4
|
+
email: string;
|
|
5
|
+
name: string;
|
|
6
|
+
password: string;
|
|
7
|
+
}
|
|
8
|
+
declare function seedAdmin(db: NodePgDatabase, data: AdminSeedData): Promise<Admin>;
|
|
9
|
+
export default seedAdmin;
|
|
10
|
+
//# sourceMappingURL=seed-admin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seed-admin.d.ts","sourceRoot":"","sources":["../../src/utility/seed-admin.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAM3D,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,UAAU,aAAa;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,iBAAe,SAAS,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,CAyBhF;AAED,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { seedUser } from '@sqrzro/addon-auth';
|
|
2
|
+
import { seedOnboarding } from '@sqrzro/addon-onboarding';
|
|
3
|
+
import { generateID } from '@sqrzro/server/utility';
|
|
4
|
+
import { ADMIN_ROLE } from '../repositories/AdminRepository';
|
|
5
|
+
import { adminTable } from '../schema';
|
|
6
|
+
import { ADMIN_PREFIX } from './ids';
|
|
7
|
+
async function seedAdmin(db, data) {
|
|
8
|
+
const id = generateID(ADMIN_PREFIX);
|
|
9
|
+
const [result] = await db
|
|
10
|
+
.insert(adminTable)
|
|
11
|
+
.values({
|
|
12
|
+
email: data.email,
|
|
13
|
+
id,
|
|
14
|
+
name: data.name,
|
|
15
|
+
})
|
|
16
|
+
.returning();
|
|
17
|
+
await seedUser(db, {
|
|
18
|
+
email: data.email,
|
|
19
|
+
id,
|
|
20
|
+
password: data.password,
|
|
21
|
+
role: ADMIN_ROLE,
|
|
22
|
+
});
|
|
23
|
+
await seedOnboarding(db, {
|
|
24
|
+
steps: ['INVITED', 'HAS_PASSWORD'],
|
|
25
|
+
userID: id,
|
|
26
|
+
});
|
|
27
|
+
return result;
|
|
28
|
+
}
|
|
29
|
+
export default seedAdmin;
|
package/package.json
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@sqrzro/addon-admins",
|
|
3
|
+
"type": "module",
|
|
4
|
+
"version": "4.0.0-alpha.10",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"license": "ISC",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"default": "./dist/index.js",
|
|
11
|
+
"types": "./dist/index.d.ts"
|
|
12
|
+
},
|
|
13
|
+
"./schema": {
|
|
14
|
+
"default": "./dist/schema.js",
|
|
15
|
+
"types": "./dist/schema.d.ts"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"files": [
|
|
19
|
+
"dist/**/*"
|
|
20
|
+
],
|
|
21
|
+
"dependencies": {
|
|
22
|
+
"drizzle-orm": "^0.45.1",
|
|
23
|
+
"zod": "^4.3.6",
|
|
24
|
+
"@sqrzro/addon-auth": "^4.0.0-alpha.12",
|
|
25
|
+
"@sqrzro/server": "^4.0.0-alpha.38",
|
|
26
|
+
"@sqrzro/addon-onboarding": "^4.0.0-alpha.14",
|
|
27
|
+
"@sqrzro/addons": "^4.0.0-alpha.9",
|
|
28
|
+
"@sqrzro/admin": "^4.0.0-alpha.22",
|
|
29
|
+
"@sqrzro/ui": "^4.0.0-alpha.52",
|
|
30
|
+
"@sqrzro/utility": "^4.0.0-alpha.19"
|
|
31
|
+
},
|
|
32
|
+
"devDependencies": {
|
|
33
|
+
"@types/react": "^19.2.14",
|
|
34
|
+
"typescript": "^5.9.3",
|
|
35
|
+
"szx": "^4.0.0-alpha.8"
|
|
36
|
+
},
|
|
37
|
+
"peerDependencies": {
|
|
38
|
+
"next": "^16.1.6",
|
|
39
|
+
"react": "^19.2.4"
|
|
40
|
+
},
|
|
41
|
+
"scripts": {
|
|
42
|
+
"build": "tsc",
|
|
43
|
+
"dev": "tsc --watch",
|
|
44
|
+
"start": "pnpm dev",
|
|
45
|
+
"szx": "szx"
|
|
46
|
+
}
|
|
47
|
+
}
|