chore: add pnpm workspace configuration with package definitions and overrides
This commit is contained in:
@@ -0,0 +1,110 @@
|
||||
-- Local testing data for the most recently active organization.
|
||||
-- All seeded accounts use the password: TestAccount123!
|
||||
-- Safe to rerun: stable IDs and upserts prevent duplicate seed records.
|
||||
|
||||
INSERT INTO `user` (
|
||||
`id`, `name`, `email`, `email_verified`, `image`, `created_at`, `updated_at`,
|
||||
`username`, `display_username`, `two_factor_enabled`, `first_name`, `last_name`,
|
||||
`job_title`, `phone`
|
||||
) VALUES
|
||||
('seed-user-priya', 'Priya Sharma', '[email protected]', 1, NULL, CAST(unixepoch('subsecond') * 1000 AS integer) - 7776000000, CAST(unixepoch('subsecond') * 1000 AS integer), 'priya.sharma.seed', 'priya.sharma', 0, 'Priya', 'Sharma', 'Operations manager', '+91 98765 41001'),
|
||||
('seed-user-arjun', 'Arjun Mehta', '[email protected]', 1, NULL, CAST(unixepoch('subsecond') * 1000 AS integer) - 6912000000, CAST(unixepoch('subsecond') * 1000 AS integer), 'arjun.mehta.seed', 'arjun.mehta', 0, 'Arjun', 'Mehta', 'Frontend engineer', '+91 98765 41002'),
|
||||
('seed-user-neha', 'Neha Kapoor', '[email protected]', 1, NULL, CAST(unixepoch('subsecond') * 1000 AS integer) - 6048000000, CAST(unixepoch('subsecond') * 1000 AS integer), 'neha.kapoor.seed', 'neha.kapoor', 0, 'Neha', 'Kapoor', 'Backend engineer', '+91 98765 41003'),
|
||||
('seed-user-rohan', 'Rohan Verma', '[email protected]', 1, NULL, CAST(unixepoch('subsecond') * 1000 AS integer) - 5184000000, CAST(unixepoch('subsecond') * 1000 AS integer), 'rohan.verma.seed', 'rohan.verma', 0, 'Rohan', 'Verma', 'Field technician', '+91 98765 41004'),
|
||||
('seed-user-isha', 'Isha Patel', '[email protected]', 1, NULL, CAST(unixepoch('subsecond') * 1000 AS integer) - 4320000000, CAST(unixepoch('subsecond') * 1000 AS integer), 'isha.patel.seed', 'isha.patel', 0, 'Isha', 'Patel', 'People operations specialist', '+91 98765 41005'),
|
||||
('seed-user-kabir', 'Kabir Singh', '[email protected]', 1, NULL, CAST(unixepoch('subsecond') * 1000 AS integer) - 3456000000, CAST(unixepoch('subsecond') * 1000 AS integer), 'kabir.singh.seed', 'kabir.singh', 0, 'Kabir', 'Singh', 'Support lead', '+91 98765 41006'),
|
||||
('seed-user-meera', 'Meera Nair', '[email protected]', 1, NULL, CAST(unixepoch('subsecond') * 1000 AS integer) - 2592000000, CAST(unixepoch('subsecond') * 1000 AS integer), 'meera.nair.seed', 'meera.nair', 0, 'Meera', 'Nair', 'Product designer', '+91 98765 41007'),
|
||||
('seed-user-vikram', 'Vikram Rao', '[email protected]', 1, NULL, CAST(unixepoch('subsecond') * 1000 AS integer) - 1728000000, CAST(unixepoch('subsecond') * 1000 AS integer), 'vikram.rao.seed', 'vikram.rao', 0, 'Vikram', 'Rao', 'QA engineer', '+91 98765 41008')
|
||||
ON CONFLICT(`id`) DO UPDATE SET
|
||||
`name` = excluded.`name`,
|
||||
`email` = excluded.`email`,
|
||||
`email_verified` = excluded.`email_verified`,
|
||||
`username` = excluded.`username`,
|
||||
`display_username` = excluded.`display_username`,
|
||||
`first_name` = excluded.`first_name`,
|
||||
`last_name` = excluded.`last_name`,
|
||||
`job_title` = excluded.`job_title`,
|
||||
`phone` = excluded.`phone`,
|
||||
`updated_at` = excluded.`updated_at`;
|
||||
|
||||
INSERT INTO `account` (
|
||||
`id`, `account_id`, `provider_id`, `user_id`, `password`, `created_at`, `updated_at`
|
||||
) VALUES
|
||||
('seed-account-priya', 'seed-user-priya', 'credential', 'seed-user-priya', '0357ceae4118d3288653dbcc7155261d:3aeac712b52a1bfe63b2f485cf93b139bfdc8aa5aa51c804ebc22981648c249dda55375b61b9e71214e5b86d138fd1e94ce29c9ac84cec403b093b0eb233757a', CAST(unixepoch('subsecond') * 1000 AS integer) - 7776000000, CAST(unixepoch('subsecond') * 1000 AS integer)),
|
||||
('seed-account-arjun', 'seed-user-arjun', 'credential', 'seed-user-arjun', '0357ceae4118d3288653dbcc7155261d:3aeac712b52a1bfe63b2f485cf93b139bfdc8aa5aa51c804ebc22981648c249dda55375b61b9e71214e5b86d138fd1e94ce29c9ac84cec403b093b0eb233757a', CAST(unixepoch('subsecond') * 1000 AS integer) - 6912000000, CAST(unixepoch('subsecond') * 1000 AS integer)),
|
||||
('seed-account-neha', 'seed-user-neha', 'credential', 'seed-user-neha', '0357ceae4118d3288653dbcc7155261d:3aeac712b52a1bfe63b2f485cf93b139bfdc8aa5aa51c804ebc22981648c249dda55375b61b9e71214e5b86d138fd1e94ce29c9ac84cec403b093b0eb233757a', CAST(unixepoch('subsecond') * 1000 AS integer) - 6048000000, CAST(unixepoch('subsecond') * 1000 AS integer)),
|
||||
('seed-account-rohan', 'seed-user-rohan', 'credential', 'seed-user-rohan', '0357ceae4118d3288653dbcc7155261d:3aeac712b52a1bfe63b2f485cf93b139bfdc8aa5aa51c804ebc22981648c249dda55375b61b9e71214e5b86d138fd1e94ce29c9ac84cec403b093b0eb233757a', CAST(unixepoch('subsecond') * 1000 AS integer) - 5184000000, CAST(unixepoch('subsecond') * 1000 AS integer)),
|
||||
('seed-account-isha', 'seed-user-isha', 'credential', 'seed-user-isha', '0357ceae4118d3288653dbcc7155261d:3aeac712b52a1bfe63b2f485cf93b139bfdc8aa5aa51c804ebc22981648c249dda55375b61b9e71214e5b86d138fd1e94ce29c9ac84cec403b093b0eb233757a', CAST(unixepoch('subsecond') * 1000 AS integer) - 4320000000, CAST(unixepoch('subsecond') * 1000 AS integer)),
|
||||
('seed-account-kabir', 'seed-user-kabir', 'credential', 'seed-user-kabir', '0357ceae4118d3288653dbcc7155261d:3aeac712b52a1bfe63b2f485cf93b139bfdc8aa5aa51c804ebc22981648c249dda55375b61b9e71214e5b86d138fd1e94ce29c9ac84cec403b093b0eb233757a', CAST(unixepoch('subsecond') * 1000 AS integer) - 3456000000, CAST(unixepoch('subsecond') * 1000 AS integer)),
|
||||
('seed-account-meera', 'seed-user-meera', 'credential', 'seed-user-meera', '0357ceae4118d3288653dbcc7155261d:3aeac712b52a1bfe63b2f485cf93b139bfdc8aa5aa51c804ebc22981648c249dda55375b61b9e71214e5b86d138fd1e94ce29c9ac84cec403b093b0eb233757a', CAST(unixepoch('subsecond') * 1000 AS integer) - 2592000000, CAST(unixepoch('subsecond') * 1000 AS integer)),
|
||||
('seed-account-vikram', 'seed-user-vikram', 'credential', 'seed-user-vikram', '0357ceae4118d3288653dbcc7155261d:3aeac712b52a1bfe63b2f485cf93b139bfdc8aa5aa51c804ebc22981648c249dda55375b61b9e71214e5b86d138fd1e94ce29c9ac84cec403b093b0eb233757a', CAST(unixepoch('subsecond') * 1000 AS integer) - 1728000000, CAST(unixepoch('subsecond') * 1000 AS integer))
|
||||
ON CONFLICT(`id`) DO UPDATE SET
|
||||
`password` = excluded.`password`,
|
||||
`updated_at` = excluded.`updated_at`;
|
||||
|
||||
WITH
|
||||
`target_organization` AS (
|
||||
SELECT COALESCE(
|
||||
(SELECT `active_organization_id` FROM `session` WHERE `active_organization_id` IS NOT NULL ORDER BY `updated_at` DESC LIMIT 1),
|
||||
(SELECT `id` FROM `organization` ORDER BY `created_at` LIMIT 1)
|
||||
) AS `id`
|
||||
),
|
||||
`seed_members` (`member_id`, `user_id`, `role`, `created_at`) AS (
|
||||
VALUES
|
||||
('seed-member-priya', 'seed-user-priya', 'admin', CAST(unixepoch('subsecond') * 1000 AS integer) - 7776000000),
|
||||
('seed-member-arjun', 'seed-user-arjun', 'member', CAST(unixepoch('subsecond') * 1000 AS integer) - 6912000000),
|
||||
('seed-member-neha', 'seed-user-neha', 'member', CAST(unixepoch('subsecond') * 1000 AS integer) - 6048000000),
|
||||
('seed-member-rohan', 'seed-user-rohan', 'member', CAST(unixepoch('subsecond') * 1000 AS integer) - 5184000000),
|
||||
('seed-member-isha', 'seed-user-isha', 'member', CAST(unixepoch('subsecond') * 1000 AS integer) - 4320000000),
|
||||
('seed-member-kabir', 'seed-user-kabir', 'member', CAST(unixepoch('subsecond') * 1000 AS integer) - 3456000000),
|
||||
('seed-member-meera', 'seed-user-meera', 'member', CAST(unixepoch('subsecond') * 1000 AS integer) - 2592000000),
|
||||
('seed-member-vikram', 'seed-user-vikram', 'member', CAST(unixepoch('subsecond') * 1000 AS integer) - 1728000000)
|
||||
)
|
||||
INSERT INTO `member` (`id`, `organization_id`, `user_id`, `role`, `created_at`)
|
||||
SELECT `seed_members`.`member_id`, `target_organization`.`id`, `seed_members`.`user_id`, `seed_members`.`role`, `seed_members`.`created_at`
|
||||
FROM `seed_members` CROSS JOIN `target_organization`
|
||||
WHERE `target_organization`.`id` IS NOT NULL
|
||||
ON CONFLICT(`id`) DO UPDATE SET
|
||||
`organization_id` = excluded.`organization_id`,
|
||||
`user_id` = excluded.`user_id`,
|
||||
`role` = excluded.`role`;
|
||||
|
||||
WITH
|
||||
`target_organization` AS (
|
||||
SELECT COALESCE(
|
||||
(SELECT `active_organization_id` FROM `session` WHERE `active_organization_id` IS NOT NULL ORDER BY `updated_at` DESC LIMIT 1),
|
||||
(SELECT `id` FROM `organization` ORDER BY `created_at` LIMIT 1)
|
||||
) AS `id`
|
||||
),
|
||||
`seed_teams` (`team_id`, `name`, `created_at`, `description`) AS (
|
||||
VALUES
|
||||
('seed-team-operations', 'Operations', CAST(unixepoch('subsecond') * 1000 AS integer) - 1209600000, 'Coordinates daily attendance operations and reporting.'),
|
||||
('seed-team-engineering', 'Engineering', CAST(unixepoch('subsecond') * 1000 AS integer) - 1036800000, 'Builds and maintains the attendance platform.'),
|
||||
('seed-team-field-support', 'Field support', CAST(unixepoch('subsecond') * 1000 AS integer) - 864000000, 'Installs and supports cameras and on-site devices.'),
|
||||
('seed-team-people', 'People & culture', CAST(unixepoch('subsecond') * 1000 AS integer) - 691200000, 'Supports onboarding, policy, and employee experience.')
|
||||
)
|
||||
INSERT INTO `team` (`id`, `name`, `organization_id`, `created_at`, `updated_at`, `description`)
|
||||
SELECT `seed_teams`.`team_id`, `seed_teams`.`name`, `target_organization`.`id`, `seed_teams`.`created_at`, CAST(unixepoch('subsecond') * 1000 AS integer), `seed_teams`.`description`
|
||||
FROM `seed_teams` CROSS JOIN `target_organization`
|
||||
WHERE `target_organization`.`id` IS NOT NULL
|
||||
ON CONFLICT(`id`) DO UPDATE SET
|
||||
`name` = excluded.`name`,
|
||||
`organization_id` = excluded.`organization_id`,
|
||||
`updated_at` = excluded.`updated_at`,
|
||||
`description` = excluded.`description`;
|
||||
|
||||
INSERT INTO `team_member` (`id`, `team_id`, `user_id`, `created_at`) VALUES
|
||||
('seed-team-member-operations-priya', 'seed-team-operations', 'seed-user-priya', CAST(unixepoch('subsecond') * 1000 AS integer) - 1209600000),
|
||||
('seed-team-member-operations-kabir', 'seed-team-operations', 'seed-user-kabir', CAST(unixepoch('subsecond') * 1000 AS integer) - 1123200000),
|
||||
('seed-team-member-engineering-arjun', 'seed-team-engineering', 'seed-user-arjun', CAST(unixepoch('subsecond') * 1000 AS integer) - 1036800000),
|
||||
('seed-team-member-engineering-neha', 'seed-team-engineering', 'seed-user-neha', CAST(unixepoch('subsecond') * 1000 AS integer) - 950400000),
|
||||
('seed-team-member-engineering-meera', 'seed-team-engineering', 'seed-user-meera', CAST(unixepoch('subsecond') * 1000 AS integer) - 864000000),
|
||||
('seed-team-member-engineering-vikram', 'seed-team-engineering', 'seed-user-vikram', CAST(unixepoch('subsecond') * 1000 AS integer) - 777600000),
|
||||
('seed-team-member-field-rohan', 'seed-team-field-support', 'seed-user-rohan', CAST(unixepoch('subsecond') * 1000 AS integer) - 864000000),
|
||||
('seed-team-member-field-kabir', 'seed-team-field-support', 'seed-user-kabir', CAST(unixepoch('subsecond') * 1000 AS integer) - 777600000),
|
||||
('seed-team-member-people-isha', 'seed-team-people', 'seed-user-isha', CAST(unixepoch('subsecond') * 1000 AS integer) - 691200000),
|
||||
('seed-team-member-people-priya', 'seed-team-people', 'seed-user-priya', CAST(unixepoch('subsecond') * 1000 AS integer) - 604800000)
|
||||
ON CONFLICT(`id`) DO UPDATE SET
|
||||
`team_id` = excluded.`team_id`,
|
||||
`user_id` = excluded.`user_id`,
|
||||
`created_at` = excluded.`created_at`;
|
||||
Reference in New Issue
Block a user